IIR фільтри, що означає нескінченність?


11

У мене виникають труднощі з розумінням того, що "нескінченне" в IIR означає на практиці .. У теорії імпульсна відповідь використовується для зворотного зв'язку ... Якщо цей зворотний зв'язок ніколи не закінчується, як генерується вихід?

Відповіді:


18

Щоб відповісти на це запитання, ви повинні знати, що означають "Імпульс" та "Відповідь" ...

"Імпульс" - це простий імпульс. Цифрово це буде вибірка з максимальним значенням, тоді як всі інші зразки до і після цього будуть нульовими. Якби ви послухали це, то почули б щось на кшталт естради чи петарди.

«Відповідь» - це вихід фільтра (або чогось іншого), заданий імпульс.

Наприклад, ви можете прослухати "імпульсну відповідь кімнати", зайшовши в кімнату, зробивши простий хлопання в руці і прослухавши відлуння. Знадобиться певна практика, щоб хлопчик був максимально "різким". Отримати імпульсну характеристику фільтра можна таким же чином, але замість ручного плескання ви використовуєте простий імпульс, а замість кімнати у вас є фільтр.

Якщо ви подивитеся на імпульсну характеристику фільтра чи кімнати, ви побачите вихідний хитання деякий час після імпульсу (а іноді він і хитається раніше). У кімнаті ви почули це хитання, як відлуння. У фільтрі це хитання безпосередньо пов'язане з частотою та фазовою характеристикою фільтра. У кімнаті кількість часу, коли ви чуєте відлуння, називається "час реверберації" - для фільтра немає відповідного терміна, але це частина імпульсної відповіді.

Тепер фільтр FIR (Кінцева імпульсна реакція) є кінцевим, оскільки час відгуку імпульсу обмежений математикою. Математично неможливо, щоб час відгуку імпульсу перевищувало кількість дотиків у фільтрі - тому це кінцево .

Фільтр IIR, з іншого боку, не має цього математичного обмеження у часі відгуку імпульсу. Якщо йому надається нескінченна математична точність, фільтр IIR може вічно вимикати виходи. Звичайно, в практичному сенсі це ніколи не триває назавжди, оскільки в якийсь момент хитання стає меншим за точність використовуваної математики і так відходить.


дякую за приємне пояснення! Де відбувається зворотний зв'язок в IIR?
GorillaApe

2
@Parhs: зворотний зв'язок має місце тому, що поточний вихід походить від попередніх значень вводу та виходу , тоді як для фільтра FIR вихід виводиться лише з попередніх вхідних значень.
Пол Р

1
@ Відгук Парха - це побічний ефект топології. І під топологією я маю на увазі щось на зразок блок-схеми або "схематичного" перегляду фільтра. В основному результати математичної операції на одному етапі живлять іншу операцію на попередньому етапі. Ось який відгук. Більшість людей вважають FIR простішим у використанні, оскільки вони не мають такого відгуку. Цей зворотний зв'язок складно зробити правильно, але він має велику ефективність.

Система IIR має внутрішній стан, який "запам'ятовує" попередній вхід за весь час. Спосіб моделювання цього полягає в тому, щоб або подати попередні виходи назад у поточний вихід, наприклад, цей прямий двоквартирний формуляр 1 , або еквівалентно цикл зворотного зв'язку на вході, такий як ця пряма канонічна двоквадра форма 2 .
Ерік Вс

11


б0уб0z-1б1б1бi


z-1

введіть тут опис зображення


З іншого боку, фільтри FIR FIR мають лінійний шлях від введення до виходу. Після N зразків вхідний сигнал (як імпульс Дірака) буде зміщений і на цьому закінчився.
Фільтри FIR по суті є стабільними, тоді як IIR-фільтри не обов'язково.

введіть тут опис зображення


1
що петельне сингл не може бути небезпечним, даючи небажані результати в деяких випадках?
GorillaApe

2
Це однозначно можна. Використовуйте неправильні шляхи зворотного зв’язку або посилення, і ви можете створити нестабільний фільтр або той, який назавжди вимкне синусоїду. Це, як правило, не те, що ви хочете робити «фільтром», тому є методи аналізу стабільності та уникнення нестабільності.
Олін Летроп

Чи повинна сума за всіма умовами зворотного зв’язку повертатися до початку ланцюжка зворотного зв’язку, чи можна виводити результати з пізніших термінів у вхід до пізніших термінів? Хоча я би сподівався, що будь-який фільтр, який може бути реалізований останнім способом, може перетворитись у форму, яку ви проілюстрували, я б заперечив, що існує корисний підклас фільтрів IIR, який може бути сформований із каскадних фільтрів першого порядку (де кожен вихід кожного правостороннього терміна може прогодувати себе, але ніхто з його попередників)
supercat

1
-а1-а2

@stevenvh: Як я зазначив у своїй відповіді, є корисний підмножина фільтрів IIR, де етап може повертатися до себе, але до попереднього етапу; Я не знаю, що я прочитав термін для опису таких фільтрів, але їх набагато простіше охарактеризувати, ніж узагальнені фільтри IIR. Хоча вони могли б мати правильні коефіцієнти, викладені у формі вище, важче було б розпізнати такий фільтр (чи є для них термін?) У цій формі.
supercat

4

Існує два широких класи цифрових фільтрів, нескінченна імпульсна характеристика (IIR) і кінцева імпульсна відповідь (FIR). Зрештою, фільтри IIR базуються на рівняннях, а фільтри FIR - на основі таблиці.

IIR-фільтри більше схожі на реальні аналогові фільтри. Наприклад, розгляньте простий експоненціальний розпад, як ви отримаєте від аналогового фільтра низьких частот RC. Вихідна відповідь на кроковий вхід - це експоненція, яка стає все ближче до входу. Зауважте, що ця експоненція ніколи насправді не потрапляє на вихід, лише достатньо близько, щоб ми не хвилювались або не могли виміряти помилку. У цьому сенсі такий фільтр є нескінченним. IIR фільтр має ті ж характеристики.

Дуже поширений однополюсний низькопрохідний фільтр IIR може бути виражений як:

FILT <- FILT + FF (NEW - FILT)

Це означає, що кожна ітерація виводить, якщо переміщується фіксований дріб (FF, "фільтрована фракція") відстані до входу. Це легко уявити, коли FF = 1/2. Якщо все дорівнює 0, а вхід раптово переходить на 1 і залишається там (крок одиниці), то вихід буде 1/2, 3/4, 7/8, 15/16 і т. Д. Це нескінченний ряд. Врешті-решт значення наблизиться до 1, що воно виразиться як 1, оскільки цифрові значення в комп'ютері не мають нескінченної точності.

Фільтри FIR працюють за зовсім іншим принципом. Кінцевий недавній фрагмент вхідного сигналу зберігається, і кожне із збережених значень множиться на інший коефіцієнт, а потім додаються всі результати, щоб зробити фільтр для цього ітерації. Наступною ітерацією найстаріше збережене значення відкидається, інші зміщуються на один слот старше, а новий введення вводиться у звільнений слот. Новий збережений фрагмент потім множиться на коефіцієнти тощо. Цей процес відомий як "згортка", а таблицю коефіцієнтів часто називають ядром фільтра. Деякі фантазійні та корисні речі можна зробити за допомогою цього фільтра, поцікавившись коефіцієнтами. Це ціла тема сама по собі, в яку я зараз не заходжу. Однак, оскільки кінцевий фрагмент вводу зберігається в пам'яті, будь-яка частина вхідного сигналу може впливати на вихід лише протягом визначеного часу. Як тільки вхідний зразок зміщується з кінця збереженого фрагмента, він пропав і більше не впливає на вихід.

Про ці речі написано цілі книги, і ви можете провести кілька семестрів курсів коледжу, заглибившись у цю глибшу. Сподіваюсь, мій огляд за 30 секунд демістифікує це досить, щоб відповісти на ваше запитання.


1

Ще не зазначений момент - це те, що фільтри IIR можуть бути додатково підрозділені на два стилі: той, де етапи можуть бути ранжировані, такий, що кожен етап повністю залежить від його власних попередніх значень і попередніх етапів, і тих, де етапи не можуть бути класифіковані (оскільки два або більше етапів залежать один від одного). Етапи у фільтрі FIR можуть посилатися на попередні результати інших етапів, за умови, що вони можуть бути класифіковані як у попередньому стилі IIR, і жоден етап не посилається на його власний попередній вихід.

Якщо етапи у фільтрі IIR можна класифікувати і якщо загальна величина коефіцієнтів само зворотного зв'язку для даної стадії менша за одиницю, фільтр IIR гарантовано стабільний. Наприклад, якщо етап включає деяку кількість сигналу з попередніх етапів, плюс половину попереднього значення цього етапу і 1/4 значення до цього, мінус 1/8 значення до цього, загальну величину само- зворотний зв'язок становитиме 7/8, тому при відсутності подальших введень на нижчих стадіях величина внеску від само зворотного зв'язку зменшиться на 12,5% за кожну ітерацію.


0

FIR, робить свою математику на кінцевій кількості елементів, дозволяє сказати 32 або 12 або якесь число, але це те, що робить математика, візьміть кінцеву кількість елементів і виконайте фільтр лише на тих.

IIR робить свою математику на всіх зразках, якими ви його годуєте. Якщо ви годуєте його 10 зразками і зупиняєте його, то він працював на 10 зразках, якщо ви годуєте його 1 000 000 000 проб, тоді математика працювала на 1 000 000 000 зразків. І якщо ви залишите річ працює нескінченно, наближаючись до нескінченності (нехай вона працює назавжди), то кількість елементів також невизначена, що наближається до нескінченності. Оскільки слово скінченне чітко стосується іншої моделі, а модель IIR призначена не мати кінцевої кількості зразків, слово нескінченне як протилежне кінцевому просто звучить краще, ніж невизначене або якесь інше таке слово.


"оперували 1 000 000 000 проб". Ну не безпосередньо. Оскільки частина результату використовується для розрахунку для наступної вибірки, завжди будуть сліди попередніх вибірок. Фільтр завжди буде містити дуже обмежену кількість зразків. І це не "невизначено"; це детерміновано, навіть якщо воно може бути нестабільним.
stevenvh

це те, що я мав на увазі, що кожен зразок має деякі, але малі ефекти від усіх зразків, які його попередньо, для IIR.
old_timer

Нескінченна та кінцева кількість елементів у розрахунку не є різницею між IIR та FIR. Найпростіший IIR працює лише на 2 елементах даних: 1 із вхідних даних, 1 із вихідних.
radagast

Нескінченне не від кількості входів, а від кількості накопичених циклів, кінцеве приймає лише N кількість зразків на один вхід з математики, нескінченно ефективно працює на кожному циклі. Кінцева кількість циклів проти нескінченної кількості циклів за один вхід.
old_timer
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.