Почему я вижу звон на выходе цифрового фильтра с узкой полосой перехода?

12

Я делаю "экстремальный" эквалайзер для эффектов спектрального искажения со звуком. Я использую фильтры для кирпичной стены и очень узкие полосовые и отбраковывающие фильтры (vst plugins), и я хотел бы знать, могу ли я что-нибудь сделать с предварительным / последующим «кольцом» с линейными фазовыми / минимальными фазовыми фильтрами, которые я использую , К сожалению, я должен использовать крутые эквалайзеры. Я готов использовать минимальную фазу, поскольку это позволяет избежать предварительного вызова.

В частности, мне интересно:

  1. Что именно вызывает колебания в импульсной характеристике сразу после входа в минимальный фазовый фильтр?

  2. Являются ли эти осцилляции причиной слышимого звука до и после звонка, который добавляется в полосу пропускания с фильтрацией крутого наклона?

  3. Являются ли колебания и, следовательно, частота звонка всегда одной и той же частотой, или частота звонка каким-то образом зависит от входного сигнала?

Большое спасибо за ваш опыт. Я с нетерпением жду каких-либо ответов. Дол.

Дейл Ньютон
источник
Я объединил ваши аккаунты, так что вы сможете комментировать ответы здесь. Я также добавил ваше последнее сообщение в качестве редактирования. Пожалуйста, удалите его части, которые на самом деле являются комментариями для некоторых из ответчиков, и комментируйте соответственно (теперь, когда вы можете это сделать)
Lorem Ipsum

Ответы:

8

Отредактировано в ответ на пересмотренный вопрос и дополнительные комментарии ОП.

Я не согласен с утверждением @ JasonR о том, что звон фильтра связан с явлением Гиббса .

Как описано в статье в Википедии, связанной с ответом Джейсона, феномен Гиббса является наблюдением об асимптотическом поведении усеченной суммы (первых членов) ряда Фурье периодического, но прерывистого сигнала, такого как прямоугольная волна или пилообразная волна. Статья в Википедии иллюстрирует пример прямоугольной волны, показывающей, что по мере того, как берется все больше и больше членов ( становится большим), усеченная сумма Фурье становится все ближе и ближе к прямоугольной волне. Есть колебания, которые происходят вокруг моментов переключения, когда прямоугольная волна переходит от высокой к низкой или наоборот, но они становятся все меньше и меньше приn n n nnnстановится большим. Как правильно отмечает Джейсон, амплитуда колебаний становится меньше, частота увеличивается, и (наблюдаемая) длительность также становится меньше. В целом, похоже, что усеченная сумма Фурье сходится к прямоугольной волне в пределе как .n

Феномен Гиббса - это наблюдение того, что даже в пределе, когда переходит в ,n сумма рядов Фурье не сходится к высокому или низкому значению в моменты переключения, когда прямоугольная волна резко меняет значение. (Конвергенция же происходит во всех других моментов времени). Это не имеет ничего общего с фильтрацией как таковой, за исключением того, что усеченную сумму Фурье можно рассматривать как выходной сигнал идеального фильтра нижних частот с кирпичной стенкой с прямоугольным входным сигналом. Если отсечка фильтра такова, что первое n nnгармоники пропускаются без изменений, а высшие гармоники блокируются, на выходе получается усеченная сумма Фурье первых членов. Но в пределе, когда происходит явление Гиббса, нет фильтра: все гармоники передаются на выход без каких-либо изменений. По этой причине я не согласен с тем, что звон фильтра обусловлен явлением Гиббса.n

Так почему же происходит звон? Все(нетривиальные) фильтры звонят независимо от того, являются ли они кирпичными или нет, независимо от формы входного сигнала и независимо от того, является ли вход непрерывным или имеет резкие переходы. Причина в том, что если на входе есть энергия в полосах частот, которые остановлены (полностью или в значительной части), эта энергия эффективно сохраняется внутри фильтра и медленно высвобождается в виде внутриполосной энергии с течением времени. Большую часть времени этот выпуск не замечен очень, потому что он заглушен ответом на присутствующий внутриполосный сигнал. Однако, если внутриполосный сигнал изменяется (или прекращается) относительно внезапно, эта энергия, сохраненная с предыдущих времен, все еще должна высвобождаться, и это - сигнал, который наблюдается после исчезновения внутриполосного сигнала. С точки зрения DSP, буфер FIR-фильтра продолжает очищаться даже после окончания сигнала, поэтому выходной сигнал продолжается даже после окончания сигнала. Поскольку фильтры с резкой обрезкой имеют длинные буферы (если хотите, много биквад-секций), это опустошение занимает много времени и намного более заметно, чем с более легким фильтром, который очищается довольно быстро.

Дилип Сарватэ
источник
1
Спасибо, Дилип. Я не могу понять, что вы не согласны с постом Джейсона Р. Насколько я понимаю, вы оба сказали, что феномен Гиббса вызывает звон. Вы не согласны с относительной важностью / вкладом феномена Гиббса как причины звонка по сравнению с другими причинами звонка?
Дейл Ньютон
Смотрите мой исправленный ответ.
Дилип Сарватэ
1
Дилип прав в том, что вы можете получить сигнал от фильтра из других источников, кроме явления Гиббса. Если вы усекаете спектр периодической прерывистой функции, колебания во временной области результирующего сигнала являются явлением Гиббса. Большинство фильтров нижних частот дадут аналогичный эффект, потому что их импульсная характеристика часто напоминает функцию синуса, которая имеет ту же форму, что и колебания явления Гиббса. Когда вы сворачиваете сигнал с импульсным откликом, который выглядит как синусоида, вы часто можете видеть звон из-за боковых лепестков импульсного отклика.
Джейсон Р
@Dilip: Я не уверен, что скажу, что все нетривиальные фильтры звонят. Да, все нетривиальные фильтры будут иметь импульсный отклик, который шире, чем импульсный, поэтому со временем произойдет некоторое распространение энергии от входного сигнала. Однако это не означает, что вы увидите колебания на выходе; возьмем гауссовский фильтр нижних частот в качестве примера.
Джейсон Р
1
@Dilip: я не думаю, что я не согласен с вами относительно части Гиббса в этом вопросе. Я согласен, что ваш ответ является более точным в отношении вопроса ОП. И я только слышал термин «звон», используемый в контексте колебаний, аналогично эффекту Гиббса. Я бы назвал не колебательные эффекты просто «перерегулированием», «перескоком» или «фильтрацией переходных процессов». Это просто номенклатура, хотя; Я не думаю, что одна интерпретация объективно верна.
Джейсон Р
8

Ваши наблюдения являются примером феномена Гиббса . Когда вы применяете фильтр с очень резкой полосой перехода, вы будете наблюдать колебания на выходе фильтра (или «звон») вблизи любых резких переходов во входном сигнале (например, границы импульсных сигналов). Кажущаяся «частота» колебаний зависит от полосы пропускания фильтра; при увеличении частоты среза фильтра колебания становятся более локализованными во времени (т. е. «выше по частоте»), но превышение пика не меняется. В статье Википедии связана выше , имеет хорошее объяснение на полпути через или около того .

Джейсон Р
источник
8
  1. Как указал Джейсон, существует основной «принцип неопределенности»: все, что очень узко по частоте, широко по времени и наоборот.
  2. Если вы используете минимальные фильтры, не должно быть предварительного звонка, только после звонка. Предварительный звонок происходит только для линейных фазовых фильтров. Предварительный звонок гораздо более слышен, чем пост-звонок, поэтому минимальные фильтры, как правило, являются лучшим выбором здесь. Это может выглядеть плохо при измерении, но, если оно не экстремальное, постзвук не очень слышен из-за некоторых маскирующих свойств слуховой системы человека.
  3. Они обычно звонят именно на угловых частотах вашего фильтра. Т.е. низкочастотный фильтр 2 кГц будет вызывать сигнал 2 кГц, поэтому частота является функцией фильтра, а не содержимого. Содержание будет возбуждать это по-другому, хотя. Если контент невелик или не имеет 2 кГц, это не сильно возбуждает звон.
Hilmar
источник
3

Полосовой фильтр с крутыми переходами и плоской полосой пропускания приближается к прямоугольной форме.

Прямоугольник в одном домене FT является функцией Sinc в другом домене. Это верно для прямоугольного окна во временной области, создающего спектральную «утечку» в частотной области. Или для прямоугольного окна в частотной области, создающего спиральный пакет во временной области. Чем уже прямоугольник (полоса пропускания), тем шире синк. (И функция Синка «звонит» с обеих сторон). Для заданной ширины в одной области единственный способ получить что-то более узкое по энергетической протяженности, чем Sinc в другой области, состоит в том, чтобы использовать что-то, что выглядит ближе к гауссову, чем прямоугольник, например, без крутых ребер.

Теперь рассмотрим смещение этого прямоугольника в одной области (например, изменение частоты полосы пропускания полосового фильтра). Круговой сдвиг в одной области DFT является линейным поворотом фазы в другой области. Суммируйте со сложным сопряжением, чтобы получить реальный ответ, и два противоположно и быстро вращающихся сложных экспоненциальных спиральных пакета становятся звонящим откликом во временной области. Скорость звонка будет зависеть от центральной частоты полосы пропускания, а длина звонка будет зависеть от узости полосы пропускания и крутизны перехода. Если спираль вращается более чем на половину оборота до того, как конверт исчезнет, ​​то будет звон. Чтобы ускорить этот конверт в одном домене, нужно использовать более широкую функцию округления в другом домене.

Часть 2:

Если вы используете Remez или Parks-McClellen для создания ваших фильтров, вы получите равный ответ. Синусоида в одном домене FT является импульсом в другом. Поэтому равновероятность в частотной области будет импульсом, или «тиковым» во временной области. Этот «тик» будет смещен от центра импульсного отклика на «частоту» пульсации в частотной области. Чем более плоский фильтр, разработанный Remez, тем быстрее становится пульсация, тем больше «галочка» смещается от импульсной характеристики. Это часть предварительного вызова. Используйте менее агрессивную методологию проектирования фильтров, чтобы избежать этого.

hotpaw2
источник
Спасибо Hotpaw. Я понимаю ваше объяснение только на очень верном уровне, так как мое понимание DSP на данный момент является очень базовым. Я не знаю об инструментах и ​​наборах для создания цифровых фильтров, и я заблудился относительно спиральных пакетов и комплексных конъюгатов, поскольку у меня еще нет математических навыков.
Дейл Ньютон
Я хотел бы спросить, хотя: Вы говорите, что скорость звонка связана с центральной частотой фильтра. Означает ли это, что вы не согласны с утверждением Хилмарса о том, что звон происходит на угловых частотах? Или звонит на обеих этих частотах?
Дейл Ньютон
Углы прямоугольника также могут быть определены в терминах центра и ширины прямоугольника.
hotpaw2