Скільки кранів потрібен фільтр FIR?


20

Я хочу розробити набір фільтрів FIR для реалізації фільтра низьких частот. Я також намагаюся зменшити затримку сигналу через фільтр, тому мені цікаво, якою може бути мінімальна кількість кранів, якими я можу скористатися.

Я знаю, що більше натискань може призвести до більш різкого відключення частоти та кращого відхилення смуги та ін. Однак те, що мене цікавить, є більш фундаментальним - якщо я хочу застосувати фільтр низьких частот із відсіканням при fs100 скаже, це означає, що мені потрібно принаймні 100 кранів, щоб послабити сигнали нижчої частоти? Або я можу піти з меншими натисканнями, і якщо так, є якась теоретична нижня межа?

Відповіді:


24

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

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

N23log10[110δ1δ2]fsΔf

з

fs the sampling rateΔf the transition width, ie. the difference between end of pass band and start of stop bandδ1 the ripple in passband, ie. "how much of the original amplitude can you afford to vary"δ2 the suppresion in the stop band.

Давайте підключимо кілька цифр! Ви вказали частоту відсічення fs100 , тож я просто заздалегідь запевняю, що ваша ширина переходу не буде більше половини, томуΔf=fs200 .

Виходячи з технології SDR / RF, 60 дБ придушення, як правило, цілком достатньо - апаратне забезпечення, без шалених витрат, не стане кращим для збереження небажаних сигналів від вашого входу, так що, нехай не витрачати процесор на фантастичний фільтр, який краще ніж те, що може зробити ваше обладнання. Отже, δ2=60 dB=103 .

Скажімо, ви можете жити з різницею амплітуди 0,1% в смузі пропускання (якщо ви можете жити з більшою кількістю, також розглядайте вимоги до придушення менш суворими). Це δ1=104 .

Отже, підключіть це до:

NTommy's filter23log10[110δ1δ2]fsΔf=23log10[110104103]fsfs200=23log10[110107]200=23log10[1106]200=23(log10106)200=236200=800 .

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

Зауважте, що це не повинно бути проблемою - насамперед, фільтр на 800 кранів - це страшно, але, чесно кажучи, лише на перший погляд:

  • Як я перевіряв у цій відповіді на StackOverflow : процесор сьогодні є швидким , якщо ви використовуєте чиюсь оптимізовану процесором реалізацію FIR. Наприклад, я використав FFT-FIR-реалізацію GNU Radio з точно вказаними вище специфікаціями фільтра. Я отримав 141 мільйон проб в секунду - що може вам або не вистачить. Ось ось наш тестовий випадок, що стосується конкретного питання (на що знадобилося кілька секунд):FFT FIR фільтрування на базі радіошвидкість результатів: rate_avg = 1,40982e + 08
  • MMM=50120050=24
  • 96kSsridiculously141MSs
  • 1100

3
Озеро DSP робили 256000 фільтр-кран FIR в режимі реального часу в середині-початку 1990-х. 1200 кранів? Phfffft! ;-)
Пітер К.

2
@PeterK. Це дух! Глибока повага до цього 256kT FIR - чисельна точність, яку вони створили, повинна бути такою ж захоплюючою, як і розмір дизайну. Будучи занадто молодим, щоб технологічно їм насолоджуватися, початок 90-х, мабуть, був цікавим часом. Нещодавно розмовляв з інженером, який повернув ІС DFT у ті часи; потреба в специфічних для додатків ASIC ASSP просто здавалася високою, оскільки люди зрозуміли, що можливо DSP-сумісно з обчислювальними платформами насправді обробляти отримані потоки даних, але немає «багатоцільових» акселераторів навколо (на відміну від сьогоднішніх).
Маркус Мюллер

@PeterK., Так, але вони, як насправді, завжди тягнуть нашу ногу.
Роберт Брістоу-Джонсон

@ robertbristow-johnson oy matey, який інсайдерський жарт відбувається тут: D?
Маркус Мюллер

2
@ MarcusMüller, хоча, схоже, зросла популярність ASIC тоді ще порівняно з зараз (і я думаю, це тому, що всі, хто був специфікатором / дизайнером ASIC, а тепер просто використовує FPGA), були "багатоцільові" DSP ще на початку 90-ті. що LakeDSP річ була зроблена в 6 DSP56001.
Роберт Брістоу-Джонсон

14

Для швидкої та дуже практичної оцінки мені подобається правило Фріда Гарріса:

Ntaps=Atten22BT

де:

Atten - бажане ослаблення в дБ,

BTBT=FstopFpassFs

FstopFpass

Fs

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

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

FsFpassFstop

Ntaps=60222/100=137

Граючи з цими числами, також може продемонструвати важливість скорочення обробки, використовуючи підходи до децимації.


7

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

Одне з джерел дизайну Беллангера: Про складність обчислень у цифрових фільтрах, 1981, Proc. Євро. Конф. Дизайн теорії ланцюга, М. Беллангер. Добути її досить складно, але це можливо . Цікаво, що він також визначає формули для оцінки кількості бітів на коефіцієнт, які слід враховувати при кінцево-арифметичній реалізації. Більш доступною версією французької мови є: Оцінка de la complexité des filtres numériques , 1982.

Кілька інших формул зібрано у дизайні фільтрів кінцевих імпульсних характеристик , Підручник з цифрової обробки сигналів, 1993, Т. Самамакі.

З недавніх пір ви можете прочитати Точне оцінювання мінімальної довжини фільтра для оптимальних цифрових фільтрів FIR , 2000 р., К. Ichige та ін.

Нарешті, у статті " Ефективне проектування фільтрів FIR з мінімальними замовленнями фільтрів з використанням оптимізації l0-норми" у 2014 році заявлено про дизайн, де порядок поступово зменшується.


4

мінімізувати макс(|Н(ω)|)для усіх ω у зупинці
на тему1δ|Н(ω)|δ для усіх ω в прохідній смузі

Головними практичними проблемами, які я можу придумати, буде кількість вибірок частоти, що використовуються при оптимізації, оскільки міжчастотна поведінка вибірки може викликати небажані наслідки. Наскільки хорошим може стати пристосування, залежить, звичайно, від кількості відводів. Я думаю, ви можете сказати, що мінімальна кількість кранів - це коли проблема стає нездійсненною. Таким чином, одним із рішень було б вирішення проблеми техніко-економічного обґрунтування.

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