У мене виникають труднощі з розумінням того, що "нескінченне" в IIR означає на практиці .. У теорії імпульсна відповідь використовується для зворотного зв'язку ... Якщо цей зворотний зв'язок ніколи не закінчується, як генерується вихід?
У мене виникають труднощі з розумінням того, що "нескінченне" в IIR означає на практиці .. У теорії імпульсна відповідь використовується для зворотного зв'язку ... Якщо цей зворотний зв'язок ніколи не закінчується, як генерується вихід?
Відповіді:
Щоб відповісти на це запитання, ви повинні знати, що означають "Імпульс" та "Відповідь" ...
"Імпульс" - це простий імпульс. Цифрово це буде вибірка з максимальним значенням, тоді як всі інші зразки до і після цього будуть нульовими. Якби ви послухали це, то почули б щось на кшталт естради чи петарди.
«Відповідь» - це вихід фільтра (або чогось іншого), заданий імпульс.
Наприклад, ви можете прослухати "імпульсну відповідь кімнати", зайшовши в кімнату, зробивши простий хлопання в руці і прослухавши відлуння. Знадобиться певна практика, щоб хлопчик був максимально "різким". Отримати імпульсну характеристику фільтра можна таким же чином, але замість ручного плескання ви використовуєте простий імпульс, а замість кімнати у вас є фільтр.
Якщо ви подивитеся на імпульсну характеристику фільтра чи кімнати, ви побачите вихідний хитання деякий час після імпульсу (а іноді він і хитається раніше). У кімнаті ви почули це хитання, як відлуння. У фільтрі це хитання безпосередньо пов'язане з частотою та фазовою характеристикою фільтра. У кімнаті кількість часу, коли ви чуєте відлуння, називається "час реверберації" - для фільтра немає відповідного терміна, але це частина імпульсної відповіді.
Тепер фільтр FIR (Кінцева імпульсна реакція) є кінцевим, оскільки час відгуку імпульсу обмежений математикою. Математично неможливо, щоб час відгуку імпульсу перевищувало кількість дотиків у фільтрі - тому це кінцево .
Фільтр IIR, з іншого боку, не має цього математичного обмеження у часі відгуку імпульсу. Якщо йому надається нескінченна математична точність, фільтр IIR може вічно вимикати виходи. Звичайно, в практичному сенсі це ніколи не триває назавжди, оскільки в якийсь момент хитання стає меншим за точність використовуваної математики і так відходить.
З іншого боку, фільтри FIR FIR мають лінійний шлях від введення до виходу. Після N зразків вхідний сигнал (як імпульс Дірака) буде зміщений і на цьому закінчився.
Фільтри FIR по суті є стабільними, тоді як IIR-фільтри не обов'язково.
Існує два широких класи цифрових фільтрів, нескінченна імпульсна характеристика (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 секунд демістифікує це досить, щоб відповісти на ваше запитання.
Ще не зазначений момент - це те, що фільтри IIR можуть бути додатково підрозділені на два стилі: той, де етапи можуть бути ранжировані, такий, що кожен етап повністю залежить від його власних попередніх значень і попередніх етапів, і тих, де етапи не можуть бути класифіковані (оскільки два або більше етапів залежать один від одного). Етапи у фільтрі FIR можуть посилатися на попередні результати інших етапів, за умови, що вони можуть бути класифіковані як у попередньому стилі IIR, і жоден етап не посилається на його власний попередній вихід.
Якщо етапи у фільтрі IIR можна класифікувати і якщо загальна величина коефіцієнтів само зворотного зв'язку для даної стадії менша за одиницю, фільтр IIR гарантовано стабільний. Наприклад, якщо етап включає деяку кількість сигналу з попередніх етапів, плюс половину попереднього значення цього етапу і 1/4 значення до цього, мінус 1/8 значення до цього, загальну величину само- зворотний зв'язок становитиме 7/8, тому при відсутності подальших введень на нижчих стадіях величина внеску від само зворотного зв'язку зменшиться на 12,5% за кожну ітерацію.
FIR, робить свою математику на кінцевій кількості елементів, дозволяє сказати 32 або 12 або якесь число, але це те, що робить математика, візьміть кінцеву кількість елементів і виконайте фільтр лише на тих.
IIR робить свою математику на всіх зразках, якими ви його годуєте. Якщо ви годуєте його 10 зразками і зупиняєте його, то він працював на 10 зразках, якщо ви годуєте його 1 000 000 000 проб, тоді математика працювала на 1 000 000 000 зразків. І якщо ви залишите річ працює нескінченно, наближаючись до нескінченності (нехай вона працює назавжди), то кількість елементів також невизначена, що наближається до нескінченності. Оскільки слово скінченне чітко стосується іншої моделі, а модель IIR призначена не мати кінцевої кількості зразків, слово нескінченне як протилежне кінцевому просто звучить краще, ніж невизначене або якесь інше таке слово.