Я погоджуюсь, що метод проектування фільтрів віконних виробів вже не є одним з найважливіших методів проектування, і, справді, це може бути так, що він є надмірно представленим у традиційних підручниках, ймовірно, з історичних причин.
Однак я вважаю, що його використання може бути виправданим у певних ситуаціях. Я не згоден, що обчислювальна складність вже не є проблемою. Це залежить від платформи. Сидячи за нашим настільним комп’ютером і проектуючи фільтр, нам справді не потрібно турбуватися про складність. Однак на конкретних платформах і в ситуаціях, коли дизайн потрібно робити в квазі-реальному часі, обчислювальна складність є проблемою, і проста технологія неоптимального проектування буде віддавати перевагу оптимальній техніці, яка набагато складніша. Як приклад, я колись працював над системою для формування променів, де фільтр (формуючий промінь) потрібно було б переробити на льоту, і тому обчислювальна складність справді була проблемою.
Я також переконаний, що у багатьох практичних ситуаціях нам не потрібно турбуватися про різницю між оптимальним та неоптимальним дизайном. Це стає ще більш вірним, якщо нам потрібно використовувати арифметику з фіксованою точкою з квантованими коефіцієнтами та квантованими результатами арифметичних операцій.
Інше питання - чисельна стійкість оптимальних методів проектування фільтрів та їх реалізація. Я натрапив на кілька випадків, коли алгоритм Паркс-МакКлеллан (я повинен сказати, реалізація, яку я використав) просто не збігався. Це станеться, якщо специфікація не має великого сенсу, але це може трапитися і з цілком розумними характеристиками. Те ж саме стосується методу проектування найменших квадратів, коли потрібно вирішити систему лінійних рівнянь, що може стати проблемою, що не обумовлена. За цих обставин метод вікон ніколи вас не підведе.
Зауваження про ваше порівняння між методом вікон та дизайном найменших квадратів: я не думаю, що це порівняння показує якусь загальну перевагу методу найменших квадратів над методом вікон. По-перше, вам здається, що ви дивитесь на загасання смуги зупинки, що не є метою проектування жодного з двох методів. Метод вікон в будь-якому сенсі не є оптимальним, а дизайн з найменшими квадратами мінімізує енергію стоп-діапазону і зовсім не переймається розміром пульсацій смуги зупинки. Що можна помітити, це те, що край смуги проходу конструкції вікна більший, ніж один з найменших дизайнів квадратів, тоді як край смуги зупинки менший. Отже, ширина смуги переходу фільтра, розробленого за допомогою вікон, менша, що призведе до більш високих пульсацій смуги зупинки. Різниця в ширині смуги переходу може бути невеликою, але властивості фільтра дуже чутливі до цього параметра. Немає сумнівів, що фільтр з найменшими квадратами перевершує інший фільтр, коли справа доходить до зупинки енергії смуги, але це не так просто зрозуміти, як розмір пульсацій. І залишається питання, чи ця різниця насправді змінить практичне застосування.
Дозвольте мені показати, що такі порівняння часто можна зробити так, щоб вони виглядали так, як хотілося б. На малюнку нижче я порівнюю оптимальний фільтр низьких частот з мінімальними квадратами, розроблений за допомогою функції Matlab / Octave firls.m
(синій), та фільтр низьких частот, розроблений методом вікон за допомогою вікна Kaiser (червоний).
З рисунка можна навіть зробити висновок, що фільтр, розроблений вікном, трохи кращий, ніж фільтр з найменшими квадратами. Це, звичайно, не має сенсу, оскільки ми навіть не визначили «краще», а фільтр найменших квадратів повинен мати меншу середню помилку наближення у квадраті. Однак цього ви не бачите прямо на малюнку. У будь-якому випадку, це лише на підтвердження мого твердження, що треба бути дуже обережним і чітким при проведенні таких порівнянь.
Підсумовуючи, крім того, що корисно вчитися студентам ДСП з чисто дидактичних причин, я вважаю, що, незважаючи на технологічний прогрес з 1970-х років, використання методу вікна може бути виправданим у певних практичних сценаріях, і я не думаю, що це буде зміниться дуже скоро.
firpm()
та tofirls()
.