Мы можем легко спроектировать интерполяционные фильтры, которые подчиняются определенным ограничениям частотной области, используя алгоритм Паркс-Макклеллан . Однако не сразу понятно, как применять ограничения во временной области; в частности, я заинтересован в создании фильтров Найквиста. Так что, если я передискретизирую с коэффициентом N
, я хочу, чтобы фильтр имел пересечения нуля при kN
ненулевом целом числе k
(это гарантирует, что входные выборки для моего интерполятора появятся в выходной последовательности).
Я видел, как Харрис 1 говорил о методике создания полуполосных фильтров, то есть о частном случае, когда N=2
. Есть ли общее решение для этого? (Я знаю, что мы можем легко проектировать фильтры с помощью метода окна, но это не дает нам такой же контроль.)
[1] Многоскоростная обработка сигналов для систем связи , с. 208-209.
источник
N=2
видеть мой ответ: FIR дизайн фильтра: Окно против Parks-McClellan и наименьших квадратов .Ответы:
Один метод проектирования, хотя и ограниченный степенями двух, должен начинаться с одного полуполосного фильтра, вставлять нули друг в друга (создает спектральную реплику), а затем объединять его со вторым полуполосным фильтром, имеющим более широкую полосу перехода. Повторяйте процесс, пока не получите необходимую мощность 2.
Вот пример, который создает фильтр нижних частот с Fc = fs / 8 и пересечением нуля каждые 4 выборки:
источник
Один из способов получить желаемое пересечение нуля - создать гибридный дизайн.
Начните с использования полуполосного фильтра Паркс-МакЛеллана / Ремеза с равным весом полосы пропускания и полосы останова. Поскольку это полуполосный фильтр , он будет иметь нули на альтернативных выборках. Затем вы можете интерполировать временную область по sin (x) / x путем заполнения нулями в частотной области.
Пример: создание фильтра низких частот fs / 12 с пересечением нуля каждые 6 выборок.
Результирующий фильтр близок, но не так хорош, как прототип, с точки зрения пульсации полосы пропускания / полосы пропускания. Интерполяция sin (x) / x вводит некоторые низкоуровневые сигналы. Возможно, вам придется немного изменить дизайн фильтра-прототипа, чтобы получить требуемый уровень ослабления в интерполированном фильтре.
источник