Разложение в гармоники

Поздно вечером Аня сидит в маленькой студии и сводит запись скрипки. На экране перед ней дрожит звуковая волна: неровная, живая, с острыми гребнями и мягкими провалами. В наушниках звук кажется чуть мутным. Аня тянет вниз один фейдер эквалайзера — низ уходит, скрипка становится легче. Поднимает другой — появляется яркость, почти металлическая кромка. Сложный звук вдруг ведёт себя так, будто внутри него спрятан набор отдельных струн, и каждую можно сделать громче или тише.

Ряды Фурье описывают именно эту идею, только строго математически. Они говорят: периодический сигнал можно представить как сумму простых волн — синусов и косинусов. Не просто «похоже на слух» или «примерно совпало на картинке», а с контролируемой точностью: чем больше гармоник мы берём, тем точнее собираем исходную форму.

Звукорежиссёр за микшерным пультом как метафора разложения сигнала на гармоники.

Главная идея: сложная волна как аккорд

Представьте, что функция $f(x)$ повторяется снова и снова, как луп в музыкальном редакторе. Для простоты возьмём период $2\pi$: сдвинулись на $2\pi$ — и тот же рисунок начался заново. Тогда классическая форма ряда Фурье записывается так:

$$f(x) \sim \frac{a_0}{2}+\sum_{n=1}^{\infty}\left(a_n\cos(nx)+b_n\sin(nx)\right).$$

В этой записи $\cos(x)$ и $\sin(x)$ — основная гармоника, $\cos(2x)$ и $\sin(2x)$ — вторая, $\cos(3x)$ и $\sin(3x)$ — третья, и так далее. Числа $a_n$ и $b_n$ — как фейдеры на пульте: они показывают, сколько каждой гармоники надо добавить, чтобы собрать нужную волну.

Если Аня слышит, что звук «завален» или слишком резкий, она ищет, какие частоты в нём лишние или, наоборот, провалены. Математик, глядя на периодическую функцию, задаёт тот же вопрос на своём языке: какие $a_n$ и $b_n$ в ней сидят?

flowchart LR A["Периодическая функция"] --> B["Сравниваем с синусами и косинусами"] B --> C["Получаем коэффициенты гармоник"] C --> D["Складываем частичную сумму"] D --> E["Приближаем исходную форму"]
flowchart LR
A["Периодическая функция"] --> B["Сравниваем с синусами и косинусами"]
B --> C["Получаем коэффициенты гармоник"]
C --> D["Складываем частичную сумму"]
D --> E["Приближаем исходную форму"]
Общий маршрут ряда Фурье: от периодической функции к набору гармоник и обратно к приближению.

Как найти эти ручки громкости

У гармоник есть удобное свойство: за полный период они работают как дисциплинированный ансамбль. Когда мы «слушаем» одну частоту, остальные в среднем взаимно гасятся. Поэтому нужные коэффициенты можно вытащить интегралами:

$$a_n=\frac{1}{\pi}\int_{-\pi}^{\pi} f(x)\cos(nx)\,dx,$$
$$b_n=\frac{1}{\pi}\int_{-\pi}^{\pi} f(x)\sin(nx)\,dx.$$

Для $a_0$ используется та же идея усреднения:

$$a_0=\frac{1}{\pi}\int_{-\pi}^{\pi} f(x)\,dx.$$

Интуитивно это похоже на проверку резонанса. Аня подносит к записи «камертон» частоты $n$: сначала косинусный, потом синусный. Если форма функции хорошо совпадает с этой волной, коэффициент получается большим. Если одна часть совпала, а другая всё компенсировала, коэффициент выходит близким к нулю.

Наложение функции на пробную синусоиду показывает, почему совпадающая частота даёт большой коэффициент.

Пример: прямоугольная волна

Теперь у Ани не скрипка, а старый синтезатор. Он выдаёт прямоугольную волну: половину периода сигнал держится на уровне $1$, половину — на уровне $-1$. На графике это выглядит резко и почти грубо: скачок вверх, ровная полка, скачок вниз.

Определим её так:

$$f(x)=\begin{cases} 1, & 0<x<\pi,\\ -1, & -\pi<x<0. \end{cases}$$

Эта функция нечётная: левая половина повторяет правую с противоположным знаком. Значит, косинусные коэффициенты исчезают: $a_n=0$. Остаются только синусы:

$$f(x) \sim \frac{4}{\pi}\left(\sin(x)+\frac{1}{3}\sin(3x)+\frac{1}{5}\sin(5x)+\frac{1}{7}\sin(7x)+\cdots\right).$$

И тут видно главное чудо метода: прямоугольник собирается из гладких волн. Первая гармоника даёт мягкую дугу, ещё совсем далёкую от резкого сигнала. Третья поджимает её к полкам. Пятая делает края жёстче. Следующие нечётные гармоники всё настойчивее вытягивают сумму в форму исходного прямоугольного сигнала.

Первые нечетные гармоники всё резче собирают прямоугольную форму; рядом со скачками заметны колебания.

Но возле скачка Аня заметит характерный «перелёт» — небольшой выброс над полкой. Он не исчезает полностью даже при большом числе гармоник, хотя сжимается всё ближе к точке разрыва. Это явление называют эффектом Гиббса. В самой точке скачка ряд сходится не к верхнему и не к нижнему значению, а к среднему между односторонними пределами. В нашем примере это $0$.

Выброс около скачка помогает увидеть эффект Гиббса как локальный перелёт частичной суммы.

Симметрия экономит работу

Перед тем как считать интегралы, полезно просто посмотреть на форму волны. Если функция чётная, то есть $f(-x)=f(x)$, в её ряде остаются только косинусы. Если функция нечётная, то есть $f(-x)=-f(x)$, остаются только синусы.

Это не трюк и не удачное совпадение. На симметричном промежутке $[-\pi,\pi]$ нечётная часть даёт интеграл $0$: положительный вклад с одной стороны компенсируется отрицательным с другой. Поэтому опытный человек сначала ищет симметрию, а уже потом берётся за вычисления.

Где обычно ошибаются

Первая ошибка — забыть про период. Формулы выше написаны для периода $2\pi$. Если функция повторяется с другим периодом, аргументы синусов и косинусов надо масштабировать. Иначе вы будете раскладывать не тот сигнал, как если бы Аня настраивала эквалайзер под чужую дорожку.

Вторая ошибка — думать, что знак $\sim$ здесь всегда означает обычное равенство в каждой точке. На гладких участках всё ведёт себя хорошо, но в точках скачка ряд Фурье возвращает среднее значение между левым и правым пределами.

Третья ошибка — ждать, что больше гармоник всегда сделает график визуально аккуратнее. Обычно точность растёт, но около разрывов частичные суммы начинают звенеть: появляются колебания и выбросы. Это не поломка метода, а цена попытки собрать резкий угол из бесконечно гладких волн.

Четвёртая ошибка — механически вычислять все коэффициенты подряд. Иногда половина из них равна $0$ из-за симметрии. Иногда среднее значение $a_0$ видно сразу: если положительная и отрицательная части уравновешены, постоянная составляющая исчезает.

Fourier Series - Видео MIT OpenCourseWare с Гилбертом Стрэнгом полезно посмотреть после статьи: оно показывает тот же смысл рядов Фурье в более академической подаче.

Мини-проверка

Что сделать руками

Возьмите любую простую периодическую форму: треугольную волну, пилу или прямоугольник. Сначала не считайте. Посмотрите на неё так, как Аня смотрит на дорожку в редакторе: где начинается повтор, симметрична ли форма, есть ли среднее смещение вверх или вниз?

Потом выпишите только нужные коэффициенты. Если функция нечётная — начинайте с $b_n$. Если чётная — с $a_n$. Соберите частичную сумму из первых трёх ненулевых гармоник и посмотрите, что она уже поймала: общий наклон, полку, скачок, остроту вершины.

Ряд Фурье полезен не потому, что превращает всё в красивую формулу. Он полезен потому, что даёт новый слух: за сложной кривой вы начинаете различать отдельные гармоники. А когда слышите их отдельно, можете анализировать, фильтровать и собирать сигнал обратно — уже осознанно.

Quick recall
Зачем ряд Фурье разбивает сложную периодическую волну на синусы и косинусы?

Sources

  1. MIT OpenCourseWare: Lecture 28 Fourier Series (part 1)
  2. YouTube: Fourier Series