Явление Гиббса: выброс ряда Фурье у разрыва

Явление Гиббса (или эффект Гиббса) - это устойчивый «выброс» частичной суммы ряда Фурье вблизи точки разрыва функции: как бы много гармоник мы ни взяли, около скачка сумма всегда перелетает истинное значение примерно на 9 % величины скачка. Самое неожиданное здесь то, что выброс не уменьшается с ростом числа слагаемых - он лишь сужается, прижимаясь к разрыву, но держит свою высоту. Ниже разберём, откуда берётся этот выброс при разложении прямоугольного сигнала, чему он равен, почему не исчезает и как его величину получить точно через интегральный синус. А пока покрути интерактив - добавляй гармоники сам и следи, как кривая прижимается к прямоугольному сигналу, но «ушко» у разрыва сужается, не опускаясь.
Что такое явление Гиббса
Если функция гладкая, её ряд Фурье сходится к ней равномерно, и частичные суммы повсюду приближаются к графику аккуратно. Но как только у функции появляется разрыв первого рода - скачок, как у прямоугольного импульса или пилообразного сигнала, - поведение сумм у этой точки меняется. Около скачка частичная сумма не просто «не успевает» повторить вертикальную ступеньку: она сначала перелетает её сверху, затем ныряет снизу, и так колеблется затухающими волнами в обе стороны от разрыва.
Эти осцилляции и есть проявление явления Гиббса. Ключевая его особенность: самый высокий «горб» у разрыва не становится ниже, когда мы добавляем гармоники. Он становится только уже и придвигается к точке скачка, но его высота стремится к фиксированной величине, а не к нулю. Именно поэтому говорят, что ряд Фурье сходится к разрывной функции поточечно, но не равномерно в окрестности разрыва.
Откуда берётся выброс: ряд Фурье прямоугольного сигнала
Возьмём канонический пример - нечётный прямоугольный сигнал (меандр), равный при и при . В точке у него скачок величиной (от к ). Его ряд Фурье содержит только нечётные синусы:
Частичная сумма - это та же формула, но оборванная на первых гармониках. Каждая синусоида по отдельности гладкая и ограниченная, но их сумма пытается воспроизвести вертикальную ступеньку. Чем больше слагаемых, тем круче «стенка» суммы у нуля - и тем заметнее, что перед самой стенкой кривая выпрыгивает выше уровня . Этот первый горб и есть выброс Гиббса.
Удобно представлять каждую гармонику как вектор, вращающийся со своей частотой: первая делает один оборот за период, третья - три, пятая - пять и так далее. Если выстроить эти векторы в цепочку, их общий конец вычерчивает частичную сумму - именно так гармоники «складываются» в прямоугольный сигнал.
Чему равен выброс Гиббса
Посчитаем высоту горба в пределе. Максимум частичной суммы около разрыва при стремится не к , а к большему числу:
где - значение интегрального синуса в точке . Поскольку истинный уровень сигнала справа от разрыва равен , сумма перелетает его на
по абсолютной величине. Удобнее измерять выброс в долях полного скачка : тогда перерегулирование составляет
Отсюда и берётся знаменитое «около 9 %». Эта доля универсальна: она не зависит ни от величины скачка, ни от конкретной функции - для любого разрыва первого рода частичная сумма перелетает его примерно на 8,95 % высоты скачка с каждой стороны.

Почему выброс не исчезает с ростом числа гармоник
Интуиция подсказывает: добавим больше гармоник - приближение станет лучше, и выброс уйдёт. Но это не так, и понять почему - самое важное в теме. С ростом происходят две вещи одновременно. Во-первых, положение первого горба сдвигается к разрыву: пик находится примерно при , то есть подбирается к нулю всё ближе. Во-вторых, высота этого горба меняется очень мало и стремится к фиксированному уровню .
Получается, что «ушко» не сглаживается, а сжимается по горизонтали, оставаясь почти неизменным по вертикали. В любой фиксированной точке сумма в итоге сходится к правильному значению (поэтому сходимость поточечная), но точка максимального выброса всё время убегает к разрыву, унося с собой свои 9 %. Площадь под горбом стремится к нулю, и в смысле среднеквадратичного приближения ряд сходится - энергия ошибки убывает, что согласуется с неравенством Бесселя для коэффициентов Фурье. Но поточечной близости у самого скачка добиться нельзя: равномерной сходимости здесь нет.
Как вычислить предел через интегральный синус
Чтобы получить значение строго, частичную сумму удобно записать через ядро Дирихле и перейти к интегралу. Максимум достигается вблизи первого нуля производной, и при больших сумма у горба ведёт себя как интегральная сумма для функции :
Интеграл не берётся в элементарных функциях - это и есть определение интегрального синуса . Численно , откуда и получается множитель . Подробный вывод через ядро Дирихле опирается на оценку частичной суммы как функции, сходимость которой в среднем гарантирует тот же аппарат ортогональных разложений, что стоит за признаком Дирихле для рядов.
Где встречается на практике и как с ним борются
Явление Гиббса - это не только теоретический курьёз. Оно проявляется везде, где разрывный сигнал восстанавливают из конечного числа частот:
- Обработка изображений. При сжатии (например, JPEG) резкие границы объектов раскладываются по косинусам, и около контрастных краёв появляется «звон» (ringing) - светлые и тёмные каёмки. Это прямой аналог выброса Гиббса.
- Цифровая фильтрация звука. Идеальный фильтр с резким срезом частот даёт переходную характеристику с осцилляциями у фронта - те же горбы.
- Численное решение уравнений. Спектральные методы для задач с разрывами дают паразитные колебания у скачков.
Полностью убрать выброс, оставаясь в рамках обычной частичной суммы, нельзя. Но его можно подавить, если суммировать ряд «мягче». Самый известный приём - суммирование по Фейеру: вместо обрезанной суммы берут среднее арифметическое частичных сумм (суммы Чезаро), и тогда приближение становится равномерным, а выброс пропадает. Похожую роль играют оконные функции и сигма-аппроксимация Ланцоша: они домножают коэффициенты на плавно затухающие веса, сглаживая осцилляции ценой небольшого «размытия» самого скачка.
Частые ошибки
- Считать, что выброс уходит при . Не уходит. К нулю стремится ширина горба, а не его высота: перерегулирование остаётся около 9 % скачка при любом конечном .
- Путать поточечную и равномерную сходимость. Ряд Фурье меандра сходится к нему в каждой точке непрерывности, но не равномерно около разрыва - именно из-за выброса.
- Брать долю 9 % от уровня сигнала, а не от скачка. Перерегулирование считается от величины скачка . Для меандра , поэтому абсолютный перелёт , а не .
- Ожидать выброс там, где функция непрерывна. Явление Гиббса возникает только у разрывов первого рода. Для гладкой функции сходимость равномерная, и горбов нет.
- Считать, что в самой точке разрыва сумма «выбрасывается». В точке ряд сходится к среднему односторонних пределов, то есть к . Выброс наблюдается не в самой точке, а рядом с ней.
FAQ
Чему равен выброс Гиббса в процентах? Около 8,95 % величины скачка с каждой стороны разрыва. Точное значение даётся пределом для максимума суммы при единичном уровне сигнала, что соответствует перелёту на при скачке .
Исчезает ли явление Гиббса при бесконечном числе гармоник? Нет. Высота выброса стремится к фиксированной величине, а к нулю стремится только его ширина. Поэтому при любом конечном числе гармоник около разрыва остаётся горб высотой примерно 9 % скачка.
Как убрать выброс Гиббса? Сменить способ суммирования ряда: суммирование по Фейеру (средние Чезаро), оконные функции или сигма-аппроксимация Ланцоша сглаживают осцилляции и дают равномерное приближение ценой небольшого размытия скачка.
Почему выброс называется именно явлением Гиббса? По имени физика Джозайи Уилларда Гиббса, который в 1899 году объяснил эти осцилляции; ранее их наблюдал Генри Уилбрэхем, поэтому эффект иногда называют явлением Гиббса - Уилбрэхема.
Коротко
Явление Гиббса - устойчивый выброс частичной суммы ряда Фурье у разрыва первого рода: сумма перелетает скачок примерно на 8,95 % его величины. Этот выброс не исчезает с ростом числа гармоник - он лишь сужается к разрыву, сохраняя высоту, потому что ряд сходится поточечно, но не равномерно. Точное значение перелёта даёт предел через интегральный синус. На практике тот же эффект виден как «звон» у краёв на сжатых изображениях и у фронтов фильтрованных сигналов, а подавляют его мягким суммированием ряда - по Фейеру или через оконные функции.
Читайте также

Разложение в ряд Фурье по синусам: формула и пример
Разложение в ряд Фурье по синусам на отрезке: почему остаются только синусы, как через нечётное продолжение вывести формулу коэффициентов bn, разбор примера f(x) = x и типичные ошибки.

Ряд Фурье функции x на отрезке: формула и пример
Ряд Фурье функции x на отрезке: как выбор интервала и продолжения (нечётное, чётное, полный период) меняет ответ, вывод коэффициентов через интеграл, разбор примера и сумма ряда 1/n2.

Абстрактный класс и интерфейс: в чём отличие
Абстрактный класс и интерфейс: чем отличаются в ООП, когда наследовать поведение, а когда задавать контракт, как выбрать на примерах Java, C# и Python.