Дві родини, одна задача: змінити спектр
Цифровий фільтр приймає послідовність вибірок і створює нову послідовність, частотний вміст якої було змінений – пригнічуючи деякі частоти та пропускаючи інші. Кожен лінійний часонезалежний цифровий фільтр належить до однієї з двох родин: FIR (Finite Impulse Response) та IIR (Infinite Impulse Response). Фільтри FIR обчислюють кожен вихідний примірник як зважене сума від минулих вхідних даних, що мають фіксовану кількість:
y[n] = b0·x[n] + b1·x[n-1] + ... + bM·x[n-M] // FIR: тільки попередня передача демонстрація в реальному часі · сигнал, Bode величина/фаза та графік полю-нуль оновлюються в реальному часі● РЕАЛЬНИЙ ЧАС IIR (Infinite Impulse Response) фільтри використовують зворотний зв’язок – кожен вихід також залежить від минулих виходів:
y[n] = b0·x[n] + b1·x[n-1] + ... - a1·y[n-1] - a2·y[n-2] - ... // IIR: зворотний зв’язок Цей термін зворотного зв'язку є мініатюрою всієї торгової умов. IIR фільтр може досягти різкого частотного відгуку з невеликою кількістю коефіцієнтів, оскільки зворотний зв'язок дозволяє короткій історії вхідних даних створити відповідь, яка, в принципі, ніколи повністю не згасає – отже, ‘нескінченна’ імпульсна відповідь. Фільтр FIR потребує набагато більшої кількості кроків для досягнення такої ж різкості, але в обмін на це він є безумовно стабільним (кінцева сума кінцевих чисел не може розійтися) і може бути точно лінійним за фазою, що загалом неможливо для IIR фільтра з зворотним зв’язком.
y[n] = b0·x[n] + b1·x[n-1] + ... + bM·x[n-M] // FIR: feedforward only
Чому лінійна фаза має значення
Фільтр має лінійну фазу, коли фазове зсув прямо пропорційний частоті, що еквівалентно тому, що кожний компонент частоти затримується на однакову кількість часу. Відхилення від цього – фазова спотворення – розмиває сигнал із різкими краями (наприклад, імпульс, музичний перехід або символ QAM), оскільки його різні частотні компоненти прибувають у трохи різні моменти часу і більше не сумуються назад до початкової форми, навіть якщо відгук на частоту бездоганний. FIR-фільтри досягають абсолютної лінійної фази безкоштовно, роблячи послідовність коефіцієнтів симетричною (b_k = b_(M-k)); IIR-фільтри не можуть цього зробити в цілому, оскільки відгук петлі робить фазовий відгук нелінійною функцією частоти за конструкцією.
Класичні IIR проєкти: Боттсворт, Чебишев, еліптичні
Теоретична основа аналогових фільтрів безпосередньо відображається на проєктуванні IIR фільтрів за допомогою білінійної трансформації. Фільтри Боттсворта є ‘максимально рівномірними’ у пропуску – без ослаблюючих хвиль, але це досягається завдяки відносно плавному спаду для заданого порядку. Фільтри Чебишева обмінюють деяке ослаблення в пропускаючій або пригніченій смузі (Тип I або Тип II) на більш крутий перехід на тому ж порядку. Еліптичні (Кауєра) фільтри дозволяють ослаблювати обидві смуги та досягають максимально можливого спаду для заданого порядку – найвужчу смугу переходу на один полюс, але з найгіршою фазовою характеристикою та найбільш чутливими коефіцієнтами.
Полюси, нулі та інтерпретація діаграми Боде
Поведінка фільтра повністю визначається його передатним співвідношенням H(z), яке є відношенням многочленів у змінній z. Корені цих многочленів є полюсами (корінь чисельника, де відповідь стає рівною нулю) та нулями (корінь знаменника, де відповідь стане нескінченною). Полюси повинні знаходитися строго всередині одиничного кола на площині z для забезпечення стабільності фільтра – перебування полюса на або за межами цього кола означає неконтрольований, розріджений вихід для обмеженого входу. FIR-фільтри, які не мають знаменника, не мають жодних полюсів (всі полюси розташовані на початку координат), що є структурною причиною їхньої неможливості бути нестабільними. Амплітудна та фазова характеристика, яку ви бачите на діаграмі Боде, точно відповідає H(z), обчисленій навколо одиничного кола, z = e^(jω): чим ближче полюс розташований до одиничного кола під певним кутом, тим різкішою буде резонансна пічка, яку показує частотна характеристика в цій точці частоти.
H(z) = ( b0 + b1·z⁻¹ + ... + bM·z⁻ᴹ ) / ( 1 + a1·z⁻¹ + ... + aN·z⁻ᴺ ) zeros: roots of numerator poles: roots of denominator stable ⇔ all poles satisfy |z| < 1
Вікнове sinc: швидкий спосіб проектування FIR-фільтрів
Ідеальний фільтр типу ‘брилок’ (low-pass filter) має імпульсну характеристику у вигляді нескінченної функції sinc, sin(πn·fc)/(πn) — що неможливо реалізувати безпосередньо, оскільки вона є одночасно нескінченною та некореляційною. Метод вікнового sinc обрізає цю функцію sinc до кінцевої довжини та множить її на згладжувальне вікно (Гамінга, Ханна, Блекмана) для придушення перегуків (феномену підвищення), які виникають внаслідок різкого обрізання. Вікно – це пряма компромісна угода: ширша основна розмитість (гірша крутизна переходу) забезпечує нижчі бічні розмиття (краще придушення перешкод у частотному діапазоні) — вікна Гамінга та Блекмана знаходяться на різних точках цього компромісу, що пояснює, чому вибір вікна є власною дизайнерською рішенням, а не наслідком.
Frequently asked questions
Чому я б вибрав FIR замість IIR, якщо IIR потребує менше коефіцієнтів?
Оскільки FIR-фільтри є безумовно стабільними та можуть бути точно лінійними за фазою, що має значення, коли збереження форми сигналу в часовій області (аудіо, символи зв’язку, біомедичні хвилі) важливіше за його частотний відгук. IIR-фільтри є кращим вибором, коли більш важлива обчислювальна вартість або затримка, ніж точність фази, оскільки вони досягають певної різкості з набагато меншою кількістю кроків.
Що означає для фільтра нестабільність?
Це означає, що принаймні один полюс функції передачі лежить або поза межами одиничного кола на площині Z, тому зворотний зв’язок у диференціальній рівнянні може розмножуватися без обмежень — обмежений вхід може дати нескінченно зростаючий вихід, який зрештою переповнить числові значення. FIR-фільтри не мають жодного шляху зворотного зв’язку, тому ця помилка структурно не може статися для них.
Яка практична відмінність між фільтром Баттерворта та фільтром Чебишева?
Фільтр Баттерворта має ідеально рівну смугу пропускання, але поступово спадає; фільтр Чебишева допускає невеликий розлад у смузі пропускання в обмін на значно крутіший перехід при тій самій порядку фільтра. Обирайте Баттерворта, коли найважливіша точність смуги пропускання, а Чебишева, коли вам потрібен максимально різкий відсік та ви можете терпіти невеликий розлад.
Спробуйте наживо
Усе, що вище, працює прямо у вашому браузері — відкрийте Digital Filter (FIR/IIR) і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.
▶ Відкрити симуляцію Digital Filter (FIR/IIR)