Оцінка порядку фільтра


9

Припустимо деяку невідому, але невелику і кінцеву кількість полюсів і нулів у складної площині Z, всі зі складними кон'югатами, що дають деяку реакцію. Суворо з абсолютного значення набору рівновіддалених точок навколо одиничного кола, скажімо, більше 2X кількість полюсів і нулів цієї відповіді, чи можна оцінити чи обчислити кількість полюсів і нулів, що виробили цю вибіркову величину відповідь?

Додано: Чи потрібно більше 2X балів для визначення кількості полюсів і нулів? (якщо врахувати, що загальна сума менше X).

Додано: Якщо рішення більше, ніж одне, чи можна знайти чи оцінити мінімальне рішення (як у мінімальній кількості загальних полюсів і нулів)?


Це набагато легша проблема, коли немає полюсів. Це по суті стало б алгоритмом у команді matlab / octave firls.
Марк Боргердінг

Цікаво, чи можна було б проаналізувати чисельник та знаменник частотного відгуку з точки зору узагальненої задачі про власне значення. Вам, напевно, потрібно буде припустити фазу (лінійну для початківців)
Марк Боргердінг

Я думаю, що фільтри allpass виключаються! Якщо полюси і нулі «досить близькі», я думаю, у вас виникнуть проблеми, коли вибірки відповіді будуть однаково розташовані. Так чи інакше, скажімо, у вас відповідь рівна, за винятком невеликого удару десь не надто низької частоти. Залежно від ваших уподобань ви зможете моделювати біквад (2 нулі та 2 полюси), або замість цього можна моделювати 4 - 6 нулів. Питання, пов'язане з цим: заданий набір полюсів і нулів, яка мінімальна кількість точок відповіді на величину, необхідна для точного обчислення кількості полюсів і нулів.
niaren

1
Я думаю, що проблема, як заявлено, не вирішується. Ви можете взяти будь-яку довільну систему і каскадувати її одним або декількома фільтрами allpass; це не вплине на його величину відгуку, але це змінить кількість полюсів / нулів у каскаді. Тоді для заданої величини відповідь буде нескінченно багато число відповідних полюсів і нулів. Це може бути інша історія, якби у вас був доступ до фазової реакції системи. Якщо цього не зробити, ви могли б точно оцінити системний порядок (використовуючи деяку не визначену схему). Приємна проблема подумати.
Джейсон R

Виправлено питання про видалення з рішення нескінченного зоопарку фільтрів allpass.
hotpaw2

Відповіді:


1

Теоретично це можна зробити, хоча це часто не буде практично.

Розглянемо це в поліноміальному просторі. Для фільтра порядку N ви маєте 2 * N + 1 незалежних змінних (N для знаменника та N + 1 для чисельника). Подивимось довільну точкуzк в площині z і скажімо, що значення функції передачі в цій точці дорівнює H (zк). Зв'язок між передавальною функцією та всіма коефіцієнтами фільтра може бути записаний у вигляді рівняння, лінійного для всіх коефіцієнтів фільтра, таким чином:

н=02Nбнzк-н-Н(zк)н=12Nанzк-н=Н(zк)
Тож якщо ви вибираєте М різних частот zкви закінчите набір M складних лінійних рівнянь або 2 * M реальних рівнянь. Оскільки ваша кількість невідомих непарна (2 * N + 1), ви, ймовірно, завжди хочете вибрати одну частоту, де z справжнє, тобто z = 1 абоω = 0.

Якщо M більший за N, то система рівнянь лінійно залежить. Ви можете знайти порядок фільтрування, починаючи з N = 1 і збільшуючи N, поки система рівнянь не стане лінійно залежною. Найбільший N, при якому система лінійно незалежна, - це фактичний порядок фільтру. Для такого підходу навіть не має значення, яку частоту ви виберете. Поки вони різні, будь-який набір частот буде працювати.

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

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