Ряды Фурье 🌊
В прошлом уроке ты раскладывал функцию в сумму степеней $x$ — степенной ряд собирал сложную функцию из «кирпичиков» вида $x^n$. Сегодня мы возьмём принципиально другой набор кирпичиков: синусы и косинусы разных частот. Идея на первый взгляд кажется странной — зачем раскладывать функцию по волнообразным функциям, если многочлены уже прекрасно справлялись со своей работой? Но у периодических функций (а звук, электрический ток, сердечный ритм, годовые колебания температуры — всё это периодические процессы) степенной ряд работает плохо: степени $x$ не периодичны сами по себе, и заставить их изображать что-то повторяющееся — задача неблагодарная. А вот синус и косинус периодичны по своей природе, и именно поэтому они оказываются идеальным базисом для разложения периодических сигналов.
Представь, что ты держишь в руках звукозапись одной секунды сложного аккорда, взятого на пианино. На слух ты воспринимаешь это как единый сложный звук, но физически это давление воздуха, колеблющееся во времени по какому-то замысловатому графику. Ряд Фурье — это математический инструмент, который говорит: этот замысловатый график на самом деле есть сумма отдельных «чистых» синусоидальных колебаний — по одной на каждую ноту аккорда (и ещё бесконечно много более тихих обертонов). Раскладывая сигнал в ряд Фурье, ты буквально «разбираешь аккорд по нотам» — получаешь список частот и их громкостей (амплитуд), из которых состоит исходный сложный сигнал.
Именно на этой идее держится вся классическая обработка сигналов и звука, с которой ты неизбежно столкнёшься в задачах машинного обучения. Когда модель распознавания речи получает на вход аудиозапись, сырую последовательность отсчётов давления воздуха почти никогда не скармливают нейросети напрямую — вместо этого строят спектрограмму: разбивают запись на короткие окна и для каждого окна вычисляют коэффициенты, аналогичные коэффициентам Фурье, получая распределение энергии сигнала по частотам во времени. Именно спектрограмма, а не исходная волна, обычно становится входом для сверточных или трансформерных архитектур в задачах распознавания речи, музыкальной классификации и звукового синтеза. Без понимания того, что вообще означают эти коэффициенты и откуда они берутся, спектрограмма так и останется загадочной цветной картинкой.
Но есть и вторая, куда менее очевидная связь. В архитектуре трансформера, о которой ты наверняка слышал в контексте больших языковых моделей, есть механизм позиционного кодирования — способ подсказать модели, на каком месте в последовательности стоит каждый токен, поскольку сам по себе механизм внимания не различает порядок слов. И придумали это кодирование не случайно: оно строится буквально из синусов и косинусов разных частот, — тех же самых базисных функций, которые ты сегодня изучишь. Совпадение это не случайное, а прямое наследие идей Фурье: синусы и косинусы разных частот образуют богатый, легко комбинируемый набор «строительных блоков», по которому легко восстанавливать взаимные сдвиги — то самое свойство, которое делает такое кодирование удобным для нейросети. К концу этого урока ты увидишь эту связь во всех деталях.
История: откуда это взялось?
В начале XIX века французский математик и физик Жан-Батист Жозеф Фурье занимался, казалось бы, сугубо инженерной задачей: как тепло распространяется внутри твёрдого тела — например, металлического стержня или, как гласит распространённая легенда, ствола пушки. Уравнение теплопроводности, которое он вывел, оказалось дифференциальным уравнением в частных производных, и чтобы его решить, Фурье нужно было представить начальное распределение температуры вдоль стержня в виде суммы более простых, «управляемых» функций, для каждой из которых уравнение решается элементарно. В своей работе «Аналитическая теория тепла», представленной Парижской академии наук в 1807 году и полностью опубликованной в 1822 году, Фурье выдвинул по-настоящему дерзкое по меркам своего времени утверждение: практически любую периодическую функцию, в том числе с изломами и разрывами, можно представить в виде бесконечной суммы синусов и косинусов кратных частот.
Реакция современников была далека от восторга. Такие авторитеты, как Жозеф Луи Лагранж, отнеслись к идее Фурье с глубоким скептицизмом: казалось абсурдным, что сумма бесконечного числа идеально гладких, бесконечно дифференцируемых функций (синусов и косинусов) способна точно воспроизвести функцию с углами и разрывами — например, обычный прямоугольный сигнал. Строгого доказательства сходимости таких рядов у самого Фурье не было — он в основном опирался на физическую интуицию и удачные вычисления в конкретных примерах. Тем не менее математический аппарат оказался настолько мощным и полезным, что работу приняли к рассмотрению, а сама идея дала толчок к развитию целой области анализа.
Строгую теоретическую базу под интуицию Фурье подвели уже следующие поколения математиков. Именно Петер Густав Лежён Дирихле в 1829 году сформулировал первые точные условия, при которых ряд Фурье функции действительно сходится к самой функции, — эти условия (о которых пойдёт речь чуть ниже) до сих пор носят его имя. Позже вопросами сходимости занимались Бернхард Риман (переосмысливший само понятие интеграла отчасти именно ради нужд теории рядов Фурье) и множество других математиков вплоть до XX века, когда выяснилось, что теория рядов Фурье устроена куда тоньше и богаче, чем казалось изначально — существуют, например, непрерывные функции, ряд Фурье которых расходится в отдельных точках. Но для широкого класса функций, с которыми ты будешь встречаться на практике, теория работает безупречно ясно, и именно с неё мы сегодня начнём.
Идея разложения на гармоники
Интуиция: эквалайзер для функций
Давай разберёмся, что вообще значит «разложить функцию на гармоники». Представь музыкальный эквалайзер — устройство (или программу), которое берёт звуковую дорожку и показывает ползунки для разных диапазонов частот: низкие басы, средние частоты, высокие. Когда ты двигаешь ползунок на конкретной частоте, ты меняешь громкость именно этой составляющей звука, не трогая остальные. Чтобы такой эквалайзер вообще мог существовать, необходимо, чтобы любой сложный звук можно было представить как сумму отдельных «чистых тонов» разной частоты и громкости, каждый из которых можно регулировать независимо. Ряд Фурье — это математически строгая версия именно этой идеи.
Базовая гармоника — это гармоника с частотой, равной частоте самого периода: если функция повторяется каждые $2\pi$, то первая гармоника — это $\cos x$ и $\sin x$, каждая из которых тоже делает ровно один полный оборот за $2\pi$. Вторая гармоника — $\cos 2x$ и $\sin 2x$ — колеблется вдвое быстрее, делая два полных оборота за тот же промежуток. Третья гармоника ещё быстрее, и так далее. Ряд Фурье утверждает: почти любую периодическую функцию можно собрать, сложив базовую гармонику с определённой громкостью, вторую гармонику со своей громкостью, третью — со своей, и так до бесконечности. Чем более «угловатая» и резкая функция, тем больше высоких гармоник понадобится, чтобы приблизить её изломы, — точно так же, как для точного воспроизведения резкого щелчка на аудиозаписи эквалайзеру нужны и высокие частоты, а не только басы.
Определение
Определение (тригонометрический ряд Фурье). Пусть функция $f(x)$ имеет период $2\pi$ и интегрируема на отрезке $[-\pi,\pi]$ (вместе с квадратом, чтобы обеспечить сходимость в разумном смысле). Тригонометрическим рядом Фурье функции $f$ называется ряд
$$f(x) \sim \frac{a_0}{2} + \sum_{n=1}^{\infty}\bigl(a_n\cos nx + b_n\sin nx\bigr)$$где числа $a_0, a_1, a_2,\dots$ и $b_1, b_2,\dots$ называются коэффициентами Фурье функции $f$. Знак «$\sim$» (а не «$=$») подчёркивает, что на данном этапе мы лишь сопоставляем функции формальный ряд, ещё не утверждая, что он сходится именно к $f(x)$ — вопросом сходимости мы займёмся отдельно, в разделе про явление Гиббса.
Слагаемое $\dfrac{a_n}{2}$ (при $n=0$ удобно писать половину $a_0$, а не сам $a_0$ — так формула для $a_n$ ниже становится единой для всех $n\ge0$, без отдельного случая) называют постоянной составляющей — это среднее значение функции по периоду. Слагаемые с номером $n$ называют $n$-й гармоникой.
Разбор примеров
Пример 1 (лёгкий, распознавание готового ряда). Функция задана явно как $f(x) = 5\cos x - 3\sin 2x + \cos 3x$. Найти её ряд Фурье, не вычисляя ни одного интеграла.
Функция уже представлена как конечная сумма гармоник — это частный (вырожденный) случай ряда Фурье, в котором все коэффициенты, кроме явно выписанных, равны нулю. Сравнивая с общей формой $\frac{a_0}2+\sum(a_n\cos nx+b_n\sin nx)$, сразу читаем: $a_0=0$ (свободного члена нет), $a_1=5$, $b_2=-3$, $a_3=1$, а все остальные коэффициенты — нулевые.
Ответ: ряд Фурье этой функции — она сама: $a_1=5$, $b_2=-3$, $a_3=1$, остальные коэффициенты нулевые. Умение сразу «прочитать» коэффициенты из явной суммы гармоник — базовый навык, который понадобится тебе в разделе про формулы, чтобы проверять результаты вычислений на разумность.
Пример 2 (средний, ортогональность гармоник). Проверить, что $\displaystyle\int_{-\pi}^{\pi}\cos(2x)\cos(3x)\,dx = 0$, — то есть что вторая и третья гармоники «не мешают друг другу».
Используем формулу произведения косинусов: $\cos\alpha\cos\beta=\frac12[\cos(\alpha-\beta)+\cos(\alpha+\beta)]$. При $\alpha=2x$, $\beta=3x$:
$$\cos(2x)\cos(3x) = \frac12\bigl[\cos(-x)+\cos(5x)\bigr] = \frac12\cos x + \frac12\cos 5x$$Интегрируем каждое слагаемое по симметричному отрезку $[-\pi,\pi]$: $\displaystyle\int_{-\pi}^\pi\cos x\,dx=[\sin x]_{-\pi}^\pi=\sin\pi-\sin(-\pi)=0$, и аналогично $\displaystyle\int_{-\pi}^\pi\cos5x\,dx=\frac15[\sin5x]_{-\pi}^\pi=0$ (поскольку $\sin(5\pi)=\sin(-5\pi)=0$).
Ответ: интеграл действительно равен нулю. Этот факт — не случайное совпадение для чисел $2$ и $3$, а общее свойство: любые две различные гармоники (косинус с косинусом, синус с синусом или синус с косинусом при любых номерах) дают нулевой интеграл произведения по периоду — именно это свойство, которое называется ортогональностью, и лежит в основе формул для коэффициентов Фурье в следующем разделе.
Пример 3 (сложный, машинное обучение). Аналоговый звуковой сигнал микрофона оцифровывается — превращается в последовательность чисел (отсчётов), взятых через равные промежутки времени. Объяснить, почему идея «разложения на гармоники», сформулированная здесь для непрерывной функции, вообще применима к такому дискретному, конечному набору чисел, и как называется соответствующий дискретный аналог.
Непрерывный ряд Фурье раскладывает функцию, заданную на всём отрезке периода, по бесконечному набору гармоник. Когда сигнал оцифрован — доступен только в конечном числе точек (отсчётов), — прямой аналог этой конструкции называется дискретным преобразованием Фурье (ДПФ): вместо интеграла по непрерывной переменной используется сумма по конечному набору отсчётов, а вместо бесконечного числа гармоник — ровно столько гармоник, сколько есть отсчётов (или чуть меньше, с учётом симметрии для вещественных сигналов). Идея остаётся точно той же самой — представить сложный сигнал как сумму (в дискретном случае — конечную) простых колебаний разных частот, — просто интеграл заменяется суммой, а бесконечный ряд — конечной суммой.
Ответ: дискретное преобразование Фурье (и его быстрый вычислительный вариант, быстрое преобразование Фурье, БПФ) — это именно та дискретная версия сегодняшней идеи, которая реально используется в аудиопроцессорах, речевых моделях и системах сжатия звука; в одном из практических заданий этого урока ты вычислишь его вручную для маленького сигнала.
Почему это важно
Идея представления сложного объекта как суммы простых, взаимно «неперекрывающихся» (ортогональных) составляющих — это не изолированный трюк для периодических функций, а один из центральных принципов прикладной математики и машинного обучения в целом. Как только ты научишься видеть в спектрограмме, в позиционном кодировании трансформера или в разложении по собственным векторам матрицы один и тот же приём — «разбить сложное на простые несмешивающиеся куски», — многие внешне разрозненные темы курса начнут восприниматься как вариации одной и той же идеи. Осталось разобраться, как именно вычислять «громкость» каждой гармоники, — этим мы и займёмся дальше.
Коэффициенты Фурье: вывод формул через ортогональность
Интуиция: проекция на ортогональные оси
Давай разберёмся, откуда вообще берутся формулы для коэффициентов $a_n$ и $b_n$, а не просто запомним их как готовый рецепт. Вспомни, как в обычном трёхмерном пространстве находят координаты вектора вдоль осей $x$, $y$, $z$: берут скалярное произведение вектора с каждым единичным ортом отдельно. Это работает именно потому, что орты взаимно перпендикулярны (ортогональны) — скалярное произведение разных ортов равно нулю, поэтому «вклад» вектора вдоль оси $x$ никак не путается со вкладом вдоль оси $y$.
С гармониками $1, \cos x, \sin x, \cos 2x, \sin 2x,\dots$ происходит ровно то же самое, только вместо обычного скалярного произведения векторов используется скалярное произведение функций, определённое как интеграл от их произведения по периоду: $\langle f, g\rangle = \displaystyle\int_{-\pi}^{\pi} f(x)g(x)\,dx$. Оказывается (и в этом суть ортогональности гармоник, которую ты уже проверил в примере выше на конкретном случае), что любые две разные гармоники «перпендикулярны» друг другу в этом смысле — их скалярное произведение равно нулю. А значит, чтобы найти «координату» функции $f$ вдоль конкретной гармоники, можно поступить точно так же, как с обычными векторами: взять скалярное произведение $f$ с этой гармоникой и поделить на «длину» самой гармоники (квадрат её нормы).
Вывод формулы
Зафиксируем номер $n\ge1$ и вычислим скалярное произведение обеих частей формального равенства $f(x)=\frac{a_0}2+\sum_{k=1}^\infty(a_k\cos kx+b_k\sin kx)$ с функцией $\cos nx$, то есть умножим обе части на $\cos nx$ и проинтегрируем по $[-\pi,\pi]$, почленно (это законно, если ряд сходится достаточно хорошо, что мы примем как рабочее допущение):
$$\int_{-\pi}^{\pi} f(x)\cos nx\,dx = \frac{a_0}{2}\int_{-\pi}^{\pi}\cos nx\,dx + \sum_{k=1}^\infty\left(a_k\int_{-\pi}^{\pi}\cos kx\cos nx\,dx + b_k\int_{-\pi}^{\pi}\sin kx\cos nx\,dx\right)$$Ключевой факт ортогональности (который проверяется точно так же, как в примере выше, через формулы произведения тригонометрических функций) состоит в следующем:
-
$\displaystyle\int_{-\pi}^{\pi}\cos kx\cos nx\,dx = 0$ при $k\ne n$, и равен $\pi$ при $k=n\ge1$;
-
$\displaystyle\int_{-\pi}^{\pi}\sin kx\cos nx\,dx = 0$ при любых $k,n$ (произведение чётной функции $\cos nx$ на нечётную $\sin kx$ — нечётная функция, а интеграл нечётной функции по симметричному отрезку равен нулю);
-
$\displaystyle\int_{-\pi}^{\pi}\cos nx\,dx = 0$ при $n\ge1$.
Значит, в правой части суммы выживает ровно одно слагаемое — то, где $k=n$, и всё остальное обнуляется:
$$\int_{-\pi}^{\pi} f(x)\cos nx\,dx = a_n\cdot\pi \quad\Longrightarrow\quad a_n = \frac1\pi\int_{-\pi}^{\pi} f(x)\cos nx\,dx$$Совершенно аналогично, умножая обе части на $\sin nx$ и используя, что $\displaystyle\int_{-\pi}^\pi\sin kx\sin nx\,dx=0$ при $k\ne n$ и равен $\pi$ при $k=n$, получаем формулу для $b_n$. А формула для $a_0$ получается умножением на константу $1$ (то есть просто интегрированием обеих частей без домножения) — тогда выживает только слагаемое $\frac{a_0}2\cdot2\pi$.
Теорема (формулы Эйлера-Фурье). Коэффициенты ряда Фурье функции $f$ с периодом $2\pi$ вычисляются по формулам
$$a_0 = \frac1\pi\int_{-\pi}^{\pi} f(x)\,dx, \qquad a_n = \frac1\pi\int_{-\pi}^{\pi} f(x)\cos nx\,dx, \qquad b_n = \frac1\pi\int_{-\pi}^{\pi} f(x)\sin nx\,dx$$для $n=1,2,3,\dots$. Величина $\dfrac{a_0}2$ равна среднему значению функции $f$ по периоду.
Условия Дирихле (достаточные условия сходимости). Если на периоде функция $f$ кусочно непрерывна и кусочно монотонна (то есть отрезок периода можно разбить на конечное число частей, на каждой из которых $f$ непрерывна и монотонна), то её ряд Фурье сходится в каждой точке $x$: к значению $f(x)$ в точках непрерывности, и к среднему арифметическому одностороннних пределов $\dfrac{f(x^-)+f(x^+)}2$ в точках разрыва.
Условия Дирихле стоит воспринимать не как страшное техническое требование, а как формализацию здравого смысла: функция не должна вести себя патологически (бесконечно часто колебаться на конечном отрезке) — а любая функция, с которой реально работают в инженерных и прикладных задачах (сигналы, температуры, прямоугольные импульсы, пилообразные волны), этим условиям удовлетворяет без проблем.
Разбор примеров
Пример 1 (лёгкий, полное разложение пилообразной функции). Разложить в ряд Фурье функцию $f(x)=x$ на интервале $(-\pi,\pi)$, продолженную периодически с периодом $2\pi$ (классическая «пилообразная волна»).
Функция нечётная ($f(-x)=-x=-f(x)$), поэтому интуитивно ожидаем, что косинусные коэффициенты обнулятся (это будет строго обосновано в следующем разделе), но пока проверим прямым вычислением. Поскольку $x\cos nx$ — произведение нечётной функции на чётную, то есть нечётная функция, а интеграл нечётной функции по симметричному отрезку равен нулю, получаем сразу $a_0=0$, $a_n=0$ для всех $n$.
Вычисляем $b_n$ интегрированием по частям, $u=x$, $dv=\sin nx\,dx$, $du=dx$, $v=-\dfrac{\cos nx}{n}$:
$$b_n = \frac1\pi\int_{-\pi}^{\pi} x\sin nx\,dx = \frac2\pi\int_0^{\pi} x\sin nx\,dx \quad\text{(подынтегральная функция чётная)}$$$$\int_0^\pi x\sin nx\,dx = \left[-\frac{x\cos nx}{n}\right]_0^\pi + \frac1n\int_0^\pi \cos nx\,dx = -\frac{\pi\cos n\pi}{n} + \frac{1}{n^2}\bigl[\sin nx\bigr]_0^\pi = -\frac{\pi(-1)^n}{n}$$(последнее слагаемое обнулилось, так как $\sin n\pi=0$ для любого целого $n$). Значит
$$b_n = \frac2\pi\cdot\left(-\frac{\pi(-1)^n}{n}\right) = \frac{2(-1)^{n+1}}{n}$$Ответ: $x \sim \displaystyle\sum_{n=1}^\infty \frac{2(-1)^{n+1}}{n}\sin nx = 2\left(\sin x - \frac{\sin2x}2 + \frac{\sin3x}3 - \dots\right)$. Это одно из самых известных разложений в теории рядов Фурье — оно нам ещё пригодится для вычисления сумм числовых рядов дальше в практике.
Пример 2 (средний, полное разложение с проверкой известной суммы). Разложить в ряд Фурье функцию $f(x)=x^2$ на $(-\pi,\pi)$ и, подставив $x=\pi$, вывести значение суммы $\displaystyle\sum_{n=1}^\infty\frac1{n^2}$.
Функция чётная, значит ожидаем $b_n=0$ для всех $n$ (обоснуем строго дальше), и проверим это только для $a_0$, $a_n$. Так как $x^2$ чётная,
$$a_0 = \frac1\pi\int_{-\pi}^\pi x^2\,dx = \frac2\pi\int_0^\pi x^2\,dx = \frac2\pi\cdot\frac{\pi^3}3 = \frac{2\pi^2}3$$Для $a_n$ интегрируем по частям дважды (можно переиспользовать результат из примера 1, поскольку на промежуточном шаге появляется ровно тот же интеграл $\int_0^\pi x\sin nx\,dx=-\pi(-1)^n/n$):
$$\int_0^\pi x^2\cos nx\,dx = \left[\frac{x^2\sin nx}{n}\right]_0^\pi - \frac2n\int_0^\pi x\sin nx\,dx = 0 - \frac2n\cdot\left(-\frac{\pi(-1)^n}n\right) = \frac{2\pi(-1)^n}{n^2}$$$$a_n = \frac2\pi\cdot\frac{2\pi(-1)^n}{n^2} = \frac{4(-1)^n}{n^2}$$Значит $x^2 \sim \dfrac{\pi^2}3 + \displaystyle\sum_{n=1}^\infty\frac{4(-1)^n}{n^2}\cos nx$. Функция $x^2$ непрерывна всюду, включая точку $x=\pi$ (её периодическое продолжение там тоже непрерывно, поскольку значения на обоих концах интервала совпадают: $(-\pi)^2=\pi^2$), поэтому ряд в этой точке сходится к самому значению функции $f(\pi)=\pi^2$. Подставляем $x=\pi$, учитывая $\cos n\pi=(-1)^n$:
$$\pi^2 = \frac{\pi^2}3 + \sum_{n=1}^\infty \frac{4(-1)^n}{n^2}\cdot(-1)^n = \frac{\pi^2}3 + 4\sum_{n=1}^\infty\frac1{n^2}$$$$\sum_{n=1}^\infty\frac1{n^2} = \frac{\pi^2-\pi^2/3}{4} = \frac{2\pi^2/3}{4} = \frac{\pi^2}6$$Ответ: $x^2 \sim \dfrac{\pi^2}3+\displaystyle\sum_{n=1}^\infty\dfrac{4(-1)^n}{n^2}\cos nx$, и попутно получена знаменитая формула Эйлера $\displaystyle\sum_{n=1}^\infty\dfrac1{n^2}=\dfrac{\pi^2}6$ — результат, который сам Эйлер получил совершенно другим (гораздо более хитрым) способом ещё в 1735 году, а с помощью рядов Фурье он выводится буквально в несколько строк.
Пример 3 (сложный, машинное обучение — дискретный аналог). Дан короткий цифровой сигнал из четырёх отсчётов $x_0=1,\ x_1=0,\ x_2=-1,\ x_3=0$. Вычислить дискретное преобразование Фурье этого сигнала по формуле $X_k=\displaystyle\sum_{n=0}^{3} x_n\,e^{-i2\pi kn/4}$ для $k=0,1,2,3$ и определить, на какой частоте сосредоточена вся энергия сигнала.
Заметим, что слагаемые с $n=1$ и $n=3$ обнуляются сразу, поскольку $x_1=x_3=0$. Остаются только $n=0$ и $n=2$:
$$X_k = x_0\cdot e^0 + x_2\cdot e^{-i2\pi k\cdot2/4} = 1 - e^{-i\pi k} = 1-(-1)^k$$(здесь использовано, что $e^{-i\pi k}=\cos(\pi k)-i\sin(\pi k)=(-1)^k$ для целого $k$, поскольку $\sin(\pi k)=0$). Подставляем по очереди:
$$X_0=1-1=0,\quad X_1=1-(-1)=2,\quad X_2=1-1=0,\quad X_3=1-(-1)=2$$Ответ: $X=(0,\,2,\,0,\,2)$. Вся энергия сигнала сосредоточена на частотных индексах $k=1$ и $k=3$, а не размазана по всем четырём — и это полностью согласуется с интуицией: сигнал $1,0,-1,0$ — это в точности дискретизированная одна-единственная косинусоида с периодом ровно $4$ отсчёта (проверь: $\cos(2\pi n/4)$ даёт значения $1,0,-1,0$ при $n=0,1,2,3$), а $k=1$ и $k=3$ для вещественного сигнала — это одна и та же физическая частота, представленная в ДПФ как пара «зеркальных» индексов.
Почему это важно
Формулы Эйлера-Фурье превращают абстрактную идею «разложить функцию на гармоники» в конкретный вычислительный рецепт: для любой достаточно приличной периодической функции ты всегда можешь явно вычислить, сколько именно каждой гармоники в ней содержится. А условия Дирихле дают уверенность, что для широкого, практически значимого класса функций этот ряд действительно сходится к исходной функции почти всюду — не только формально, «на бумаге», но и в смысле реального численного совпадения значений.
Ряд Фурье для чётных и нечётных функций
Интуиция: зеркало отбрасывает половину работы
Давай разберёмся, почему в примерах выше для чётной функции $x^2$ сразу обнулились все $b_n$, а для нечётной функции $x$ — все $a_n$, причём это можно было предсказать заранее, ещё до вычисления единственного интеграла. Представь зеркало, поставленное вдоль вертикальной оси $x=0$. Косинус — это функция, симметричная относительно этого зеркала ($\cos(-x)=\cos x$), а синус — наоборот, антисимметричная, меняющая знак при отражении ($\sin(-x)=-\sin x$). Если раскладываемая функция сама симметрична относительно зеркала (чётная), то в неё попросту неоткуда взяться антисимметричным «синусным» кирпичикам — их вклад обязан быть нулевым, иначе сумма перестала бы быть симметричной. Аналогично для нечётной функции — в ней не может быть симметричных «косинусных» кирпичиков, кроме уже исключённого случая постоянной составляющей.
Практическая ценность этого наблюдения огромна: если ты заранее видишь, что функция чётная или нечётная, объём вычислений сокращается ровно вдвое — нужно искать только один тип коэффициентов, а не оба.
Определение
Утверждение (упрощение для чётных и нечётных функций). Пусть $f$ — периодическая функция с периодом $2\pi$, интегрируемая на $[-\pi,\pi]$.
Если $f$ чётная ($f(-x)=f(x)$), то все коэффициенты $b_n=0$, а ряд Фурье содержит только косинусы (разложение по косинусам):
$$f(x) \sim \frac{a_0}2+\sum_{n=1}^\infty a_n\cos nx, \qquad a_n = \frac2\pi\int_0^\pi f(x)\cos nx\,dx$$Если $f$ нечётная ($f(-x)=-f(x)$), то все коэффициенты $a_n=0$ (включая $a_0$), а ряд Фурье содержит только синусы (разложение по синусам):
$$f(x) \sim \sum_{n=1}^\infty b_n\sin nx, \qquad b_n = \frac2\pi\int_0^\pi f(x)\sin nx\,dx$$В обоих случаях удвоение коэффициента и интегрирование только по половине отрезка $[0,\pi]$ — не приближение, а точное равенство: подынтегральное произведение (чётная функция на чётную гармонику, или нечётная на нечётную) само оказывается чётным, а интеграл чётной функции по симметричному отрезку в точности равен удвоенному интегралу по его правой половине.
Разбор примеров
Пример 1 (лёгкий, чётная функция). Не вычисляя интегралов явно, определить, какие коэффициенты будут ненулевыми у функции $f(x)=x^4-\pi^2x^2$ на $(-\pi,\pi)$, а какие обязаны обратиться в ноль.
Проверяем чётность: $f(-x)=(-x)^4-\pi^2(-x)^2=x^4-\pi^2x^2=f(x)$ — функция чётная (сумма двух чётных степеней $x$ всегда чётна). Значит по утверждению выше все $b_n=0$ для любого $n$, а в ряде могут быть ненулевыми только $a_0$ и $a_n$ при $n\ge1$.
Ответ: $b_n=0$ для всех $n$; ряд состоит только из свободного члена и косинусов. Это заключение получено вообще без единого интеграла — чистым структурным рассуждением о симметрии функции.
Пример 2 (средний, нечётная функция, разложение $x^3$). Разложить в ряд Фурье функцию $f(x)=x^3$ на $(-\pi,\pi)$.
Функция нечётная, поэтому сразу $a_0=0$, $a_n=0$ для всех $n$, и нужно вычислить только $b_n=\dfrac2\pi\displaystyle\int_0^\pi x^3\sin nx\,dx$. Интегрируем по частям дважды подряд, используя уже найденный в примере из предыдущего раздела результат $\int_0^\pi x^2\cos nx\,dx=\dfrac{2\pi(-1)^n}{n^2}$:
$$\int_0^\pi x^3\sin nx\,dx = \left[-\frac{x^3\cos nx}n\right]_0^\pi + \frac3n\int_0^\pi x^2\cos nx\,dx = -\frac{\pi^3(-1)^n}n + \frac3n\cdot\frac{2\pi(-1)^n}{n^2}$$$$= (-1)^n\left(\frac{6\pi}{n^3}-\frac{\pi^3}n\right)$$$$b_n = \frac2\pi\cdot(-1)^n\left(\frac{6\pi}{n^3}-\frac{\pi^3}n\right) = 2(-1)^n\left(\frac6{n^3}-\frac{\pi^2}n\right) = 2(-1)^{n+1}\left(\frac{\pi^2}n-\frac6{n^3}\right)$$Ответ: $x^3 \sim \displaystyle\sum_{n=1}^\infty 2(-1)^{n+1}\left(\dfrac{\pi^2}n-\dfrac6{n^3}\right)\sin nx$. Проверка на правдоподобие: при малых $n$ (скажем, $n=1$) слагаемое $\pi^2-6\approx3{,}87$ положительно и довольно велико — это согласуется с тем, что $x^3$ быстро растёт и первая гармоника должна нести значительную часть «энергии» разложения.
Пример 3 (сложный, машинное обучение — позиционное кодирование). В архитектуре трансформера позиционное кодирование для позиции $\mathrm{pos}$ и пары координат $(2i,2i+1)$ вектора эмбеддинга задаётся как $PE(\mathrm{pos},2i)=\sin(\omega\,\mathrm{pos})$, $PE(\mathrm{pos},2i+1)=\cos(\omega\,\mathrm{pos})$, где $\omega=1/10000^{2i/d}$ — фиксированная частота, зависящая от индекса координаты $i$. Показать, что кодирование позиции $\mathrm{pos}+k$ можно выразить как линейную комбинацию кодирований позиции $\mathrm{pos}$ с коэффициентами, зависящими только от сдвига $k$, но не от самого $\mathrm{pos}$.
Это прямое следствие формул синуса и косинуса суммы — тех же самых формул, которые обеспечивают ортогональность гармоник в теории рядов Фурье. Распишем:
$$PE(\mathrm{pos}+k,2i) = \sin(\omega(\mathrm{pos}+k)) = \sin(\omega\,\mathrm{pos})\cos(\omega k) + \cos(\omega\,\mathrm{pos})\sin(\omega k)$$$$= \cos(\omega k)\cdot PE(\mathrm{pos},2i) + \sin(\omega k)\cdot PE(\mathrm{pos},2i+1)$$Аналогично для косинусной координаты:
$$PE(\mathrm{pos}+k,2i+1) = \cos(\omega(\mathrm{pos}+k)) = \cos(\omega\,\mathrm{pos})\cos(\omega k) - \sin(\omega\,\mathrm{pos})\sin(\omega k)$$$$= \cos(\omega k)\cdot PE(\mathrm{pos},2i+1) - \sin(\omega k)\cdot PE(\mathrm{pos},2i)$$В обеих формулах коэффициенты $\cos(\omega k)$ и $\sin(\omega k)$ зависят только от сдвига $k$ и частоты $\omega$, но не от конкретной позиции $\mathrm{pos}$.
Ответ: позиционное кодирование сдвинутой позиции $\mathrm{pos}+k$ получается из кодирования позиции $\mathrm{pos}$ линейным преобразованием (поворотом), коэффициенты которого зависят только от величины сдвига $k$. Именно ради этого свойства авторы архитектуры трансформера выбрали для позиционного кодирования именно пары синус-косинус одной и той же частоты — точно так же, как в ряде Фурье синус и косинус одной гармоники вместе образуют полный «ортогональный базис» для этой частоты, не сводимый ни к одной из двух функций по отдельности. Обрати внимание на прямую параллель с сегодняшней темой: у чисто чётной функции остаются только косинусы, у чисто нечётной — только синусы, а позиционное кодирование специально использует и то и другое вместе, чтобы кодировать не «чётность» относительно нуля, а произвольный сдвиг позиции.
Почему это важно
Проверка чётности или нечётности функции перед вычислением коэффициентов — это не формальность «для галочки», а способ вдвое сократить объём вычислений и заодно застраховаться от арифметических ошибок: если ты по невнимательности получил ненулевой $b_n$ для заведомо чётной функции, это верный сигнал, что где-то в вычислениях закралась ошибка. А связь с позиционным кодированием трансформеров показывает, что идея «симметричная и антисимметричная составляющие вместе образуют богатый набор строительных блоков» простирается далеко за пределы учебного курса математического анализа — вплоть до самого сердца современных языковых моделей.
Явление Гиббса: разложение меандра
Интуиция: гладкими волнами нельзя точно повторить острый угол
Давай разберёмся с самым эффектным (и самым обманчивым на интуитивном уровне) явлением в теории рядов Фурье. Возьмём меандр — простейший периодический прямоугольный сигнал, который резко «прыгает» между двумя значениями, без всякого плавного перехода. Представь, что ты пытаешься сложить из гладких, плавных волн (синусоид) нечто с острым, мгновенным скачком. Интуитивно кажется, что с ростом числа гармоник приближение должно становиться всё ровнее и ровнее возле точки скачка. И действительно, ряд Фурье меандра сходится к самой функции почти всюду — но не равномерно: возле самой точки разрыва частичные суммы ряда всегда «перелетают» истинное значение функции на определённую фиксированную долю величины скачка, сколько бы гармоник ты ни добавлял. Этот эффект «выброса» и называется явлением Гиббса.
Определение
Определение (меандр). Меандром (прямоугольным сигналом) называется периодическая с периодом $2\pi$ функция
$$f(x) = \begin{cases} -1, & -\pi < x < 0 \\ \phantom{-}1, & 0 < x < \pi \end{cases}$$Явление Гиббса. Вблизи точки разрыва функции частичные суммы её ряда Фурье не сходятся к функции равномерно: максимум частичной суммы вблизи скачка превышает истинное предельное значение функции на величину, составляющую приблизительно $9\%$ от полной величины скачка, независимо от того, сколько членов ряда взято. С ростом числа гармоник область этого «перелёта» сужается и придвигается всё ближе к самой точке разрыва, но его относительная величина не уменьшается.
Вывод разложения меандра
Функция нечётная, значит $a_0=0$, $a_n=0$ для всех $n$, и нужно вычислить только
$$b_n = \frac2\pi\int_0^\pi 1\cdot\sin nx\,dx = \frac2\pi\left[-\frac{\cos nx}n\right]_0^\pi = \frac{2}{\pi n}\bigl(1-\cos n\pi\bigr) = \frac{2}{\pi n}\bigl(1-(-1)^n\bigr)$$Если $n$ чётное, то $1-(-1)^n=0$, и $b_n=0$. Если $n$ нечётное, то $1-(-1)^n=2$, и $b_n=\dfrac4{\pi n}$. Значит
$$f(x) \sim \frac4\pi\sum_{k=0}^\infty \frac{\sin\bigl((2k+1)x\bigr)}{2k+1} = \frac4\pi\left(\sin x+\frac{\sin3x}3+\frac{\sin5x}5+\dots\right)$$В ряде участвуют только нечётные гармоники, и их амплитуды убывают довольно медленно, как $1/n$, — именно это медленное убывание и является математической причиной того, что резкий скачок так трудно «сгладить» конечной суммой.
Разбор примеров
Пример 1 (лёгкий, проверка через ряд Лейбница). Подставить $x=\pi/2$ в разложение меандра и проверить полученную числовую сумму.
В точке $x=\pi/2$ функция непрерывна (это внутренняя точка интервала $(0,\pi)$, где $f\equiv1$), значит ряд сходится к $f(\pi/2)=1$. Вычисляем значения синусов: $\sin(\pi/2)=1$, $\sin(3\pi/2)=-1$, $\sin(5\pi/2)=1$, $\sin(7\pi/2)=-1,\dots$ — знаки чередуются.
$$1 = \frac4\pi\left(1-\frac13+\frac15-\frac17+\dots\right) \quad\Longrightarrow\quad 1-\frac13+\frac15-\frac17+\dots=\frac\pi4$$Ответ: получен знаменитый ряд Лейбница для $\pi/4$ — ещё одно подтверждение того, насколько тесно ряды Фурье связаны с классическими числовыми рядами, которые ты изучал раньше в этом курсе.
Пример 2 (средний, количественная оценка выброса Гиббса). Известно, что максимум частичной суммы ряда Фурье меандра вблизи точки разрыва стремится к значению $\dfrac2\pi\mathrm{Si}(\pi)\approx1{,}1790$, где $\mathrm{Si}$ — интегральный синус, а истинное предельное значение функции справа от разрыва равно $1$. Найти абсолютную величину «перелёта» и выразить её в процентах от полной величины скачка функции (от $-1$ до $1$, то есть $2$).
Абсолютный перелёт: $1{,}1790-1=0{,}1790$. Полная величина скачка функции: $1-(-1)=2$. Доля перелёта от величины скачка:
$$\frac{0{,}1790}{2}\approx0{,}0895 = 8{,}95\%\approx9\%$$Ответ: выброс составляет приблизительно $9\%$ от полной величины скачка — это и есть классическая количественная формулировка явления Гиббса, которая справедлива не только для меандра, а для любой кусочно-гладкой функции с разрывом первого рода: величина относительного перелёта неизменно близка к $9\%$ и не зависит от конкретной функции, а определяется только самой природой приближения разрывной функции гладкими гармониками.
Пример 3 (сложный, машинное обучение — артефакты при обработке сигнала). При цифровой обработке звука иногда применяют резкую обрезку высоких частот (например, чтобы уменьшить размер файла или убрать шум) — попросту обнуляют все коэффициенты Фурье выше определённого номера гармоники. Объяснить, почему такая резкая обрезка спектра может привести к заметным на слух звуковым артефактам в виде «звона» возле резких переходов сигнала (например, в моменты начала ударных звуков), и как это связано с явлением Гиббса.
Резкое обнуление всех гармоник выше некоторого номера — это математически то же самое, что взять частичную сумму ряда Фурье (только оборванную не постепенно, а строго на конкретном номере) и использовать её вместо исходного сигнала. Если в исходном сигнале были резкие, почти скачкообразные переходы (что типично для ударных звуков — барабанов, щелчков, согласных звуков речи), то около каждого такого перехода частичная сумма неизбежно обнаруживает эффект, аналогичный явлению Гиббса на примере меандра: заметные колебания-«звон» вблизи точки резкого перехода, которые не исчезают, а лишь сужаются по ширине при увеличении числа оставленных гармоник.
Ответ: явление Гиббса — это не только теоретическая иллюстрация для меандра, а вполне реальный источник слышимых искажений при обрезке частотного спектра цифрового сигнала. Именно поэтому в инженерной практике резкую обрезку по номеру гармоники обычно избегают, заменяя её более плавным (постепенным) уменьшением амплитуд высоких частот — использованием так называемых оконных функций, которые сглаживают переход и заметно уменьшают величину выброса Гиббса, хотя и не убирают его полностью.
Почему это важно
Явление Гиббса — прекрасная иллюстрация того, что сходимость ряда Фурье, гарантированная условиями Дирихле, «почти всюду» — это не то же самое, что равномерная сходимость «одинаково хорошо везде». Понимание этой тонкости напрямую переносится в практику обработки сигналов: любое усечение ряда Фурье конечным числом гармоник (а на практике ты всегда работаешь с конечным числом, будь то сжатие звука или спектрограмма для нейросети) неизбежно вносит характерные искажения возле резких переходов сигнала, и знание природы этих искажений позволяет выбирать более удачные методы усечения.
Практика: 30 заданий
Базовые задания (1–10)
Задание 1: Вычислить коэффициент $a_0$ ряда Фурье функции $f(x)=5$ (константа) на $(-\pi,\pi)$.
Задание 2: Определить чётность функции $f(x)=x^4-2x^2$ на $(-\pi,\pi)$ и сделать вывод о структуре её ряда Фурье, не вычисляя интегралов.
Задание 3: Дан ряд Фурье $f(x) \sim 4 + 3\cos x - 2\sin x + \cos3x$. Найти $a_0$, $a_1$, $b_1$, $a_3$.
Задание 4: Вычислить $\displaystyle\int_{-\pi}^{\pi}\cos(4x)\sin(4x)\,dx$.
Задание 5: Вычислить $\displaystyle\int_{-\pi}^{\pi}\cos^2(5x)\,dx$.
Задание 6: Функция задана рядом $f(x) \sim \sin(3x)+\cos(7x)$. Указать, какие гармоники (номера $n$) присутствуют в разложении, и какого типа (синус или косинус).
Задание 7: Функция задана рядом $f(x) \sim 2\cos x + 2\cos2x$. Указать частоты и амплитуды входящих в неё гармоник.
Задание 8: Определить, будут ли коэффициенты $b_n$ обязательно нулевыми для функции $f(x)=x\sin x$ на $(-\pi,\pi)$.
Задание 9: Вычислить коэффициент $a_0$ для меандра $f(x)=-1$ при $x\in(-\pi,0)$, $f(x)=1$ при $x\in(0,\pi)$.
Задание 10: Используя разложение меандра $\dfrac4\pi\left(\sin x+\dfrac{\sin3x}3+\dfrac{\sin5x}5+\dots\right)$, вычислить сумму ряда в точке $x=\pi/2$ и сравнить со значением функции.
Средние задания (11–20)
Задание 11: Найти коэффициенты $a_0$ и $a_1$ ряда Фурье функции $f(x)=|x|$ на $(-\pi,\pi)$.
Задание 12: Общая формула для функции $|x|$ на $(-\pi,\pi)$: $a_n=-\dfrac4{\pi n^2}$ для нечётных $n$, $a_n=0$ для чётных. Подставив $x=0$ в разложение $|x|\sim\dfrac\pi2-\dfrac4\pi\displaystyle\sum_{k=0}^\infty\dfrac{\cos((2k+1)x)}{(2k+1)^2}$, найти сумму $\displaystyle\sum_{k=0}^\infty\frac1{(2k+1)^2}$.
Задание 13: Используя разложение $x^2\sim\dfrac{\pi^2}3+\displaystyle\sum_{n=1}^\infty\dfrac{4(-1)^n}{n^2}\cos nx$ при $x=0$, найти сумму $\displaystyle\sum_{n=1}^\infty\dfrac{(-1)^n}{n^2}$.
Задание 14: Найти коэффициенты $b_n$ ряда Фурье функции $f(x)=x$ на интервале $(-2,2)$ (период $2L=4$, $L=2$), используя формулу $b_n=\dfrac2L\displaystyle\int_0^L x\sin\dfrac{n\pi x}{L}\,dx$.
Задание 15 (машинное обучение): Дискретный сигнал из четырёх отсчётов $x=[1,0,-1,0]$ уже был разложен в разделе теории через ДПФ, получив $X=(0,2,0,2)$. Проверить, что формула Парсеваля для дискретного случая (сумма квадратов отсчётов сигнала, умноженная на $N$, равна сумме квадратов модулей спектра) выполняется: $N\sum_n|x_n|^2 = \sum_k|X_k|^2$, где $N=4$.
Задание 16: Найти ряд Фурье функции $f(x)=\pi^2-x^2$ на $(-\pi,\pi)$, используя линейность коэффициентов Фурье и уже найденное разложение $x^2\sim\dfrac{\pi^2}3+\displaystyle\sum\dfrac{4(-1)^n}{n^2}\cos nx$.
Задание 17: Функция задана как $f(x)=3\sin x - 4\sin x\cos x$. Упростить с помощью тригонометрического тождества и выписать её ряд Фурье в явном виде.
Задание 18 (машинное обучение): Сигнал имеет коэффициенты Фурье $a_n=0$, $b_n=\dfrac1{n^2}$ для всех $n\ge1$. Определить, сходится ли суммарная «энергия» гармоник $\displaystyle\sum_{n=1}^\infty b_n^2$, и объяснить, что это означает для физической реализуемости такого сигнала.
Задание 19: Прямым вычислением подтвердить, что $b_2=0$ для меандра $f(x)=1$ на $(0,\pi)$, $f(x)=-1$ на $(-\pi,0)$ (согласно общей формуле все чётные гармоники должны обнуляться).
Задание 20 (машинное обучение): Используя формулы позиционного кодирования трансформера $PE(\mathrm{pos},2i)=\sin(\mathrm{pos}/10000^{2i/d})$, $PE(\mathrm{pos},2i+1)=\cos(\mathrm{pos}/10000^{2i/d})$, вычислить значения $PE(0,2i)$ и $PE(0,2i+1)$ для произвольных $i$ и $d$.
Продвинутые задания (21–30)
Задание 21: Используя выведенную в теории формулу $b_n=2(-1)^{n+1}\left(\dfrac{\pi^2}n-\dfrac6{n^3}\right)$ для разложения $x^3$ на $(-\pi,\pi)$, вычислить коэффициент $b_1$ численно (с точностью до сотых).
Задание 22: Используя оценку максимума частичной суммы ряда Фурье меандра вблизи разрыва $\dfrac2\pi\mathrm{Si}(\pi)\approx1{,}1790$, вычислить абсолютную величину выброса Гиббса и выразить её в процентах от полной величины скачка функции (от $-1$ до $1$).
Задание 23: Комплексная форма коэффициентов Фурье связана с вещественными по формулам $c_n=\dfrac{a_n-ib_n}2$ ($n>0$), $c_0=\dfrac{a_0}2$, $c_{-n}=\overline{c_n}$. Найти $c_1$ и $c_{-1}$ для меандра, у которого $a_1=0$, $b_1=4/\pi$.
Задание 24 (машинное обучение): Прямое вычисление дискретного преобразования Фурье сигнала длиной $N$ требует порядка $N^2$ операций, а быстрое преобразование Фурье (БПФ) — порядка $N\log_2N$. Оценить, во сколько раз быстрее БПФ прямого метода для аудиофрейма длиной $N=1024$ отсчёта (типичная длина окна анализа в задачах распознавания речи).
Задание 25 (машинное обучение): Показать, что позиционное кодирование трансформера $PE(\mathrm{pos}+k,2i)$ выражается как линейная комбинация $PE(\mathrm{pos},2i)$ и $PE(\mathrm{pos},2i+1)$ с коэффициентами, зависящими только от сдвига $k$, и указать эти коэффициенты явно через $\omega=1/10000^{2i/d}$.
Задание 26: Найти $a_0$, $a_2$ и $b_1$ ряда Фурье функции $f(x)=2x^2-3x$ на $(-\pi,\pi)$, используя линейность коэффициентов Фурье и уже найденные разложения $x$ ($b_n=2(-1)^{n+1}/n$) и $x^2$ ($a_0=2\pi^2/3$, $a_n=4(-1)^n/n^2$).
Задание 27: Проверить равенство Парсеваля $\displaystyle\sum_{n=1}^\infty b_n^2 = \frac1\pi\int_{-\pi}^\pi f^2(x)\,dx$ для меандра ($b_n=4/(n\pi)$ для нечётных $n$, $0$ для чётных; $a_0=a_n=0$), используя результат задания 12 ($\sum1/(2k+1)^2=\pi^2/8$).
Задание 28 (машинное обучение): Сигнал имеет спектральный профиль амплитуд $a_n=0$, $b_n=1/n$ для всех $n\ge1$ (типичный «гармонический спад» амплитуд). Определить, сходится ли суммарная энергия сигнала $\sum b_n^2$, и отдельно, обеспечивает ли убывание $b_n\to0$ поточечную сходимость самого ряда.
Задание 29: Ряд Фурье функции задан коэффициентами $a_0=2$, $a_n=0$ при $n\ge1$, $b_n=\dfrac{(-1)^{n+1}}n$. Определить исходную функцию, сравнив с уже известным разложением $x\sim\sum2(-1)^{n+1}\sin(nx)/n$ на $(-\pi,\pi)$.
Задание 30 (машинное обучение): В задачах распознавания речи окно анализа спектрограммы длиной $N$ отсчётов при частоте дискретизации $f_s$ даёт частотное разрешение $\Delta f=f_s/N$. Для $f_s=16000$ Гц и $N=512$ отсчётов найти $\Delta f$ и определить, сколько независимых частотных бинов укладывается в диапазон от $0$ до частоты Найквиста $f_s/2=8000$ Гц.
Частые ошибки
Разберём типичные ошибки, которые встречаются почти у каждого, кто только осваивает ряды Фурье.
-
Забывать проверять чётность или нечётность функции перед вычислением обоих типов коэффициентов. Если функция заведомо чётная, вычислять $b_n$ явным интегрированием — не ошибка сама по себе (результат честно даст ноль), но лишняя трата времени и дополнительный источник арифметических ошибок; всегда быстрее и надёжнее сначала проверить симметрию.
-
Путать значение ряда Фурье в точке разрыва со значением самой функции. В точке разрыва (например, на границе периода у меандра или пилообразной функции) ряд сходится не к $f(x)$, а к среднему арифметическому односторонних пределов $\dfrac{f(x^-)+f(x^+)}2$ — подстановка такой точки в ряд без поправки на разрыв даёт неверный результат.
-
Забывать множитель $\dfrac12$ перед $a_0$ в общей формуле ряда. Формула коэффициента $a_0=\dfrac1\pi\int f\,dx$ даёт удвоенное среднее значение функции, и в сам ряд оно входит именно как $\dfrac{a_0}2$, а не как $a_0$ — пропуск этого деления вдвое завышает постоянную составляющую.
-
Считать, что явление Гиббса исчезает с ростом числа гармоник. Ширина области «перелёта» действительно сужается и стягивается к самой точке разрыва, но относительная величина выброса (примерно $9\%$ от скачка) остаётся неизменной при любом конечном числе взятых гармоник — это не численная погрешность, которую можно устранить, а фундаментальное свойство разложения разрывных функций непрерывными.
-
Применять формулы коэффициентов для периода $2\pi$ к функции с другим периодом без пересчёта. Если период функции равен $2L\ne2\pi$, формулы для $a_n$, $b_n$ обязательно содержат множитель $\dfrac1L$ и аргумент $\dfrac{n\pi x}{L}$ внутри синуса и косинуса, а не просто $nx$ — механическое использование формул для $2\pi$ на функции с другим периодом даёт неверные коэффициенты.
-
Забывать, что «$\sim$» между функцией и её рядом Фурье не всегда можно заменить на «$=$». Равенство гарантировано только в точках, удовлетворяющих условиям Дирихле, причём в точках непрерывности — точное равенство значению функции, а в точках разрыва — равенство среднему одностороннних пределов; для более патологических функций сходимость вообще может нарушаться в отдельных точках.
Главное запомнить
-
Ряд Фурье раскладывает периодическую функцию в сумму синусов и косинусов кратных частот (гармоник): $f(x)\sim\dfrac{a_0}2+\sum_{n=1}^\infty(a_n\cos nx+b_n\sin nx)$.
-
Коэффициенты вычисляются по формулам Эйлера-Фурье $a_n=\dfrac1\pi\int_{-\pi}^\pi f(x)\cos nx\,dx$, $b_n=\dfrac1\pi\int_{-\pi}^\pi f(x)\sin nx\,dx$ — они выводятся из ортогональности разных гармоник, то есть равенства нулю интеграла произведения любых двух различных гармоник по периоду.
-
Условия Дирихле (кусочная непрерывность и кусочная монотонность на периоде) гарантируют сходимость ряда к самой функции в точках непрерывности и к среднему односторонних пределов в точках разрыва.
-
Для чётной функции ряд Фурье содержит только косинусы ($b_n=0$ для всех $n$), для нечётной — только синусы ($a_n=0$ для всех $n$, включая $a_0$); проверка симметрии сокращает вычисления вдвое.
-
Явление Гиббса — устойчивый выброс частичной суммы ряда примерно на $9\%$ от величины скачка вблизи точки разрыва функции, не исчезающий при добавлении сколь угодно большого (но конечного) числа гармоник.
-
Дискретное преобразование Фурье — прямой аналог непрерывного ряда Фурье для конечных последовательностей отсчётов; на практике оно вычисляется быстрым алгоритмом (БПФ) за $O(N\log N)$ операций вместо $O(N^2)$.
-
Спектрограмма аудиосигнала, используемая как вход для моделей распознавания речи и других задач обработки звука, — это, по сути, серия коэффициентов Фурье (точнее, их дискретного аналога), вычисленных для последовательных коротких окон сигнала.
-
Позиционное кодирование в архитектуре трансформера строится из пар синус-косинус разных частот именно потому, что такая конструкция позволяет линейно выражать кодирование сдвинутой позиции через кодирование исходной, с коэффициентами, зависящими только от величины сдвига.
-
Равенство Парсеваля связывает энергию сигнала во временно́й (или пространственной) области с суммой квадратов его коэффициентов Фурье в частотной области — обе величины совпадают.
-
Разложение функции в ряд Фурье не зависит от способа его получения: линейность коэффициентов позволяет складывать уже известные разложения простых функций, получая разложения их линейных комбинаций без новых вычислений интегралов.
Связь с другими темами курса
Этот урок прямо продолжает идею, с которой ты познакомился в теме степенных рядов: там сложная функция раскладывалась в сумму простых слагаемых $x^n$, а вопрос области применимости такого разложения решался через радиус сходимости. Сегодня роль простых слагаемых взяли на себя синусы и косинусы, а вопрос области применимости трансформировался в условия Дирихле и вопрос о точечной сходимости в разрывных точках. Общий принцип — «представь сложный объект как сумму (возможно, бесконечную) простых, легко анализируемых составляющих, а затем строго разберись, где именно это представление работает» — остался неизменным, изменился лишь конкретный набор «кирпичиков» и техника доказательства сходимости.
Из темы знакопеременных и числовых рядов сюда напрямую перешла техника вычисления числовых сумм: подставляя конкретное значение $x$ в уже найденное разложение (как в примерах с $\pi^2/6$, $\pi^2/8$ и рядом Лейбница для $\pi/4$), ты получаешь точное значение суммы совершенно нетривиального числового ряда почти бесплатно — без всякой отдельной техники суммирования, которая потребовалась бы, если бы ты пытался вычислить эти суммы напрямую. Признак Лейбница из темы знакопеременных рядов также прямо пригодился при анализе условий Дирихле и поведения ряда в отдельных примерах. А техника интегрирования по частям, которую ты интенсивно использовал для вычисления коэффициентов Фурье многочленов, — это тот же самый инструмент, что применялся в теме рядов Тейлора для получения остаточного члена в интегральной форме.
Интересные факты
-
Позиционное кодирование трансформера — не единственное место в современном машинном обучении, где используется прямая идея рядов Фурье. В компьютерном зрении существует техника фурье-признаков: вместо того чтобы подавать координаты пикселя напрямую в нейросеть, их предварительно пропускают через набор синусов и косинусов разных частот — точно так же, как позиционное кодирование в трансформере, — и это резко улучшает способность сетей восстанавливать мелкие детали изображений в задачах нейронного рендеринга трёхмерных сцен.
-
Сам Жозеф Фурье не дожил до строгого доказательства сходимости своих рядов — оно появилось только спустя два десятилетия после публикации его работы, в трудах Дирихле. При этом сам Фурье, судя по его текстам, относился к вопросу строгости куда менее трепетно, чем последующие поколения математиков: он полагался в основном на убедительность конкретных числовых примеров, что по меркам современной математики совершенно недостаточно, но исторически оказалось абсолютно правильной догадкой.
-
Существуют непрерывные (то есть без единого разрыва) функции, ряд Фурье которых тем не менее расходится в отдельных точках, — этот на первый взгляд парадоксальный факт был обнаружен Полем дю Буа-Реймоном в 1873 году и надолго поколебал наивную веру в то, что «непрерывность» автоматически гарантирует хорошее поведение ряда Фурье в каждой отдельной точке.
-
Явление Гиббса было замечено экспериментально ещё раньше, чем получило строгое математическое объяснение: американский физик Альберт Майкельсон, построив механический прибор для суммирования рядов Фурье (гармонический анализатор), обратил внимание на устойчивый «выброс» вблизи разрывов и предположил, что это ошибка его механизма, — и лишь физик Джозайя Уиллард Гиббс в 1899 году объяснил, что это неустранимое математическое свойство самого ряда, а не погрешность прибора.
Лайфхаки и полезные трюки
-
Прежде чем вычислять оба типа коэффициентов, всегда проверяй функцию на чётность и нечётность — если симметрия есть, ты автоматически знаешь заранее, что половина коэффициентов равна нулю, и экономишь время на вычислении заведомо нулевых интегралов.
-
Если функция задана как сумма или произведение известных тригонометрических выражений (например, $\sin x\cos x$, $\cos^2 x$), сначала упрости её с помощью тригонометрических тождеств (формулы двойного угла, произведения в сумму) — часто после упрощения ряд Фурье читается сразу, без единого интеграла.
-
Держи под рукой несколько уже выведенных «эталонных» разложений — для $x$, $x^2$, $|x|$ и меандра — и используй линейность коэффициентов Фурье, чтобы строить разложения новых функций как комбинации уже известных, вместо того чтобы каждый раз пересчитывать интегралы с нуля.
-
Подставляя конкретное значение $x$ в уже найденное разложение, выбирай точки с максимально простыми значениями синусов и косинусов — $0$, $\pi/2$, $\pi$ — так получаемые числовые суммы (вроде $\pi^2/6$ или ряда Лейбница) считаются в одну строчку.
-
Проверяй свои вычисления коэффициентов равенством Парсеваля, когда это возможно: если сумма квадратов найденных коэффициентов не совпадает со средним квадратом функции по периоду, значит где-то в вычислениях закралась ошибка, — это универсальная и быстрая проверка, применимая к любому разложению.
-
Если функция задана на интервале, отличном от $(-\pi,\pi)$, не пытайся сразу подгонять её под стандартные формулы — явно распиши формулу коэффициентов для своего периода $2L$ с множителем $1/L$ и аргументом $n\pi x/L$, это исключает ошибки при переносе шаблонных формул.
Ряды Фурье — это ровно тот момент курса математического анализа, где абстрактная теория рядов напрямую превращается в работающий инженерный инструмент: от сжатия звука и изображений до архитектуры современных языковых моделей, идея «разложи сложное на простые, взаимно независимые гармоники» оказывается на удивление универсальной. Освоив сегодняшний материал, ты обладаешь теперь не только очередной техникой вычисления интегралов, но и правильной интуицией для чтения спектрограмм, понимания артефактов сжатия и даже разбора формул позиционного кодирования трансформеров — а это уже прямой мост в практику машинного обучения. В следующем уроке мы сделаем ещё один шаг в сторону от одномерного анализа — к функциям нескольких переменных, где вместо одной переменной $x$ появится целый вектор аргументов, а вместо обычной производной — частные производные и градиент.
Понял тему? Закрепи в боте! 🚀
Попрактикуйся на задачах и получи персональные рекомендации от AI
💪 Начать тренировку