Toolyard

Ряды Фурье: как собрать волну из синусоид

Идея

Любой сигнал, повторяющийся с периодом T, можно записать суммой синусоид и косинусоид, частоты которых — целые кратные основной частоты f = 1 ÷ T:

f(t) = a0 ÷ 2 + Σ (an cos nωt + bn sin nωt), где ω = 2πf

Слагаемые — это гармоники: n = 1 — основная, n = 2 — вторая гармоника с удвоенной частотой и так далее. Коэффициенты находят, умножая сигнал на каждую синусоиду или косинусоиду и усредняя за период: bn = (2 ÷ T) ∫ f(t) sin(nωt) dt. Жозеф Фурье ввёл эту идею в 1807 году, чтобы решить уравнение теплопроводности; сейчас на ней основаны сжатие звука и изображений, радио, спектроскопия и анализ всего, что колеблется.

Три стандартные волны

Для волн, колеблющихся от −1 до +1 и нечётных (нужны только синусы):

  • Прямоугольная волна: bn = 4 ÷ (nπ) для нечётных n, ноль для чётных. Амплитуды 1,273, 0,424, 0,255, 0,182, …
  • Пилообразная: bn = −2 ÷ (nπ) для всех n (возрастающая пила). Все гармоники, убывающие как 1 ÷ n.
  • Треугольная: bn = 8(−1)(n−1)/2 ÷ (n²π²) для нечётных n. Убывают как 1 ÷ n², гораздо быстрее.

Правило за этим: у сигнала со скачками коэффициенты убывают как 1 ÷ n; у непрерывного, но с изломами — как 1 ÷ n²; у ещё более гладкого — быстрее. Гладким сигналам нужно мало слагаемых, резким — много.

Разобранный пример

Сложим первые три ненулевых слагаемых прямоугольной волны в её середине, ωt = π ÷ 2, где волна равна +1:

  1. sin(π ÷ 2) = 1, sin(3π ÷ 2) = −1, sin(5π ÷ 2) = 1.
  2. 1,273 × 1 + 0,424 × (−1) + 0,255 × 1 = 1,104.

Пять слагаемых дают 1,273 − 0,424 + 0,255 − 0,182 + 0,141 = 1,063; частичные суммы колеблются вокруг 1 и медленно приближаются, как и предсказывают коэффициенты 1 ÷ n.

Явление Гиббса

Около скачка частичные суммы дают выброс, и он не уменьшается при добавлении слагаемых. Он стремится примерно к 8,95% скачка с каждой стороны: прямоугольная волна, прыгающая от −1 до +1 (скачок 2), достигает примерно 1,18 при любом числе гармоник. Рябь становится уже и прижимается к скачку, так что средняя за период ошибка всё же стремится к нулю, а максимальная — нет. На практике это важно: отсечение высоких частот (фильтр нижних частот или сжатие JPEG) даёт звон рядом с резкими краями.

Мощность: теорема Парсеваля

Среднее f2 за период равно сумме мощностей гармоник: среднее(f2) = Σ bn2 ÷ 2 (для ряда только из синусов). Для прямоугольной волны среднее(f2) = 1, и одна основная гармоника содержит (4 ÷ π)2 ÷ 2 = 81% от этого; первые пять нечётных гармоник — 96%. Поэтому прямоугольная волна звучит на высоте своей основной гармоники с ярким жужжащим тембром: верхние гармоники несут оставшиеся несколько процентов.

Эпициклы и дискретное преобразование Фурье

Каждое слагаемое c einωt — точка, движущаяся по окружности радиусом |c| со скоростью n оборотов за период. Сложение слагаемых одно за другим — это цепочка окружностей, каждая крутится со своей скоростью: эпициклы, тот же приём, которым Птолемей описывал планеты. Для замкнутого контура на плоскости запишите его точки как комплексные числа z = x + iy, возьмите M равномерно расположенных точек и сделайте дискретное преобразование Фурье:

ck = (1 ÷ M) Σj zj e−2πijk/M

Каждое ck — одна окружность; со всеми M окружностями цепочка точно повторяет контур, а с несколькими самыми большими рисует сглаженную версию. Углы и мелкие детали живут в маленьких быстрых окружностях.

Как пользоваться симуляцией

В Симулятор рядов Фурье выберите волну и число слагаемых. Цепочка окружностей вращается, высота пера — частичная сумма, а кривая прокручивается вправо поверх точной волны зелёного цвета; график — это спектр. Попробуйте:

  • Прямоугольная волна, 1 слагаемое, затем 2, 5, 20 и 100: выброс у скачка остаётся около 9%, а рябь сужается.
  • Треугольная с 3 слагаемыми: уже очень близко, потому что её коэффициенты убывают как 1 ÷ n².
  • Включите звук и добавляйте слагаемые к прямоугольной волне: высота тона остаётся той же, а тембр меняется от чистой синусоиды, похожей на флейту, до гнусавого жужжания.
  • Нарисуйте свою фигуру, затем уменьшите число слагаемых до 3–4: рисунок расплывается в петлю, похожую на эллипс.

Что предполагает модель

  • Идеальные, строго периодические волны амплитуды 1 с точными коэффициентами; для волн ничего не измеряется и не дискретизируется.
  • Ряды только из синусов для трёх волн, выбранных нечётными функциями; сдвинутой волне понадобились бы и косинусы.
  • Фигуры пересэмплируются в 256 равномерно расположенных точек вдоль контура перед преобразованием и замыкаются соединением последней точки с первой.
  • Звук из тех же коэффициентов через периодическую волну Web Audio в браузере, которая нормирует громкость; он играет на заданной высоте, а гармоники выше примерно 20 кГц не слышны.

Крайние случаи

  • Одно слагаемое: любая волна становится чистой синусоидой амплитуды b1; у прямоугольной она 4 ÷ π = 1,27, выше самой волны.
  • В самой точке скачка каждая частичная сумма прямоугольной волны ровно 0 — среднее двух сторон.
  • Рисунок, пересекающий сам себя или с разрывом, всё равно считается одной замкнутой петлёй; преобразование подгоняет любой путь, который образуют точки.
  • Очень высокие гармоники в звуке: при 880 Гц сотая гармоника была бы 88 кГц, далеко за пределами слуха и возможностей звукового оборудования; браузер их отбрасывает.

Где это перестаёт быть верным

  • У неповторяющихся сигналов нет ряда Фурье; им нужно преобразование Фурье — непрерывный набор частот. Короткие звуковые импульсы имеют размытый спектр, поэтому у щелчка нет высоты тона.
  • Дискретные данные. Реальный сигнал, измеренный с конечной частотой, не может представить частоты выше половины этой частоты (предел Найквиста); более высокие складываются обратно в ложные низкие частоты (алиасинг).
  • Настоящие инструменты — не идеальные волны: их гармоники не точно целые кратные (струны фортепиано жёсткие), они меняются в течение ноты, а атака несёт большую часть характера, как показывает Тюнер для инструментов, когда слушает настоящую ноту.
  • Патологические функции. Существуют непрерывные функции, ряды Фурье которых расходятся в некоторых точках; для всего нарисованного или записанного это на практике никогда не важно.

Связанные инструменты

Симулятор стоячих волн показывает гармоники, которые может удерживать струна или труба, а Генератор тона играет синусоидальную, прямоугольную, пилообразную и треугольную волны любой частоты, чтобы сравнить их на слух.

Инструменты из этого руководства

Другие руководства

Закон Снеллиуса, преломление и полное внутреннее отражениеАтомные орбитали: s, p, d и fКак работает гель-электрофорез и как читать гель с ДНКФазы Луны, приливы и затменияБиномиальное распределение, колоколообразная кривая и доска ГальтонаПоследовательные и параллельные цепиКак работают буферы: уравнение Хендерсона — Хассельбаха и буферная ёмкостьМитоз и мейоз: фазы, кроссинговер и нерасхождениеКак работает парниковый эффектЗакон Бернулли: неразрывность, расходомеры Вентури и трение в трубахКак работает электромагнитная индукция: закон Фарадея, правило Ленца, генераторы и трансформаторыКак работает хроматография: Rf, колонки и разрешениеЗакон Бугера — Ламберта — Бера: оптическая плотность, спектрофотометры и калибровочные кривыеКак идёт синтез белка: транскрипция, трансляция и мутацииФотосинтез и лимитирующие факторы: свет, углекислый газ и температураЦиклы хищников и жертв: уравнения Лотки — ВольтеррыЭпидемические модели SIR и SEIR: R₀, коллективный иммунитет и сглаживание кривойЖизненный цикл звезды и диаграмма Герцшпрунга — РасселаКристаллические решётки, элементарные ячейки и рентгеновская дифракция