exponenta event banner

Конструкция фильтра ПИХ нижних частот

В этом примере показано, как проектировать фильтр FIR нижних частот с помощью fdesign. Идеальный фильтр нижних частот требует бесконечной импульсной характеристики. Усечение или окнирование импульсной характеристики приводит к так называемому оконному методу конструкции КИХ-фильтра.

Конструкция фильтра FIR нижних частот с использованием различных окон

Фильтры FIR широко используются благодаря мощным алгоритмам проектирования, которые существуют для них, присущей им стабильности при реализации в нерекурсивной форме, легкости, с которой можно достичь линейной фазы, их простой расширяемости до многоскоростных случаев, и широкой аппаратной поддержке, которая существует для них среди других причин. В этом примере показаны функциональные возможности системы DSP, Toolbox™ для проектирования фильтров ПИХ нижних частот с различными характеристиками. Многие из представленных здесь концепций могут быть расширены на другие ответы, такие как высокий канал, полосовой канал и т.д.

Рассмотрим простую конструкцию фильтра нижних частот с частотой отсечки 0,4 * пи радиан на образец:

Fc = 0.4;
N = 100;
Hf = fdesign.lowpass('N,Fc',N,Fc);

Мы можем разработать этот фильтр нижних частот с помощью метода окна. Например, можно использовать окно Хэмминга или окно Дольфа-Чебышева:

Hd1 = design(Hf,'window','window',@hamming,'systemobject',true);
Hd2 = design(Hf,'window','window',{@chebwin,50}, ...
            'systemobject',true);
hfvt = fvtool(Hd1,Hd2,'Color','White');
legend(hfvt,'Hamming window design', ...
       'Dolph-Chebyshev window design')

Figure Filter Visualization Tool - Magnitude Response (dB) contains an axes and other objects of type uitoolbar, uimenu. The axes with title Magnitude Response (dB) contains 3 objects of type line. These objects represent Hamming window design, Dolph-Chebyshev window design.

Выбор фильтра был произвольным. Поскольку в идеале порядок должен быть бесконечным, в общем случае больший порядок приводит к лучшему приближению к идеалу за счет более дорогостоящей реализации. Например, с помощью окна Дольфа-Чебышева можно уменьшить область перехода, увеличив порядок фильтрации:

Hf.FilterOrder = 200;
Hd3 = design(Hf,'window','window',{@chebwin,50},...
            'systemobject',true);
hfvt2 = fvtool(Hd2,Hd3,'Color','White');
legend(hfvt2,'Dolph-Chebyshev window design. Order = 100',...
    'Dolph-Chebyshev window design. Order = 200')

Figure Filter Visualization Tool - Magnitude Response (dB) contains an axes and other objects of type uitoolbar, uimenu. The axes with title Magnitude Response (dB) contains 2 objects of type line. These objects represent Dolph-Chebyshev window design. Order = 100, Dolph-Chebyshev window design. Order = 200.

Конструкция фильтра нижних частот минимального порядка

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

Fp = 0.38;
Fst = 0.42;
Ap = 0.06;
Ast = 60;
setspecs(Hf,'Fp,Fst,Ap,Ast',Fp,Fst,Ap,Ast);

Мы по-прежнему можем использовать метод окна вместе с окном Кайзера для проектирования фильтра нижних частот.

Hd4 = design(Hf,'kaiserwin','systemobject',true);
measure(Hd4)
ans = 
Sample Rate      : N/A (normalized frequency)
Passband Edge    : 0.38                      
3-dB Point       : 0.39539                   
6-dB Point       : 0.4                       
Stopband Edge    : 0.42                      
Passband Ripple  : 0.016058 dB               
Stopband Atten.  : 60.092 dB                 
Transition Width : 0.04                      
 
ans =
Sampling Frequency : N/A (normalized frequency)
Passband Edge      : 0.38                      
3-dB Point         : 0.39539                   
6-dB Point         : 0.4                       
Stopband Edge      : 0.42                      
Passband Ripple    : 0.016058 dB               
Stopband Atten.    : 60.092 dB                 
Transition Width   : 0.04      

Следует отметить, что ширина перехода, как указано, центрирована вокруг частоты отсечки 0,4 pi. Это станет точкой, в которой коэффициент усиления фильтра нижних частот равен половине коэффициента усиления полосы пропускания (или точкой, в которой фильтр достигает 6 дБ ослабления).

Оптимальные модели минимального заказа

Конструкция окна Kaiser не является оптимальной, и в результате порядок фильтрации, необходимый для соответствия спецификациям с помощью этого метода, превышает необходимый. Конструкция Equiripple приводит к тому, что фильтр нижних частот имеет наименьший возможный порядок для соответствия набору спецификаций.

Hd5 = design(Hf,'equiripple','systemobject',true);
hfvt3 = fvtool(Hd4,Hd5,'Color','White');
legend(hfvt3,'Kaiser window design','Equiripple design')

Figure Filter Visualization Tool - Magnitude Response (dB) contains an axes and other objects of type uitoolbar, uimenu. The axes with title Magnitude Response (dB) contains 3 objects of type line. These objects represent Kaiser window design, Equiripple design.

В этом случае 146 коэффициентов необходимы для эквириптной конструкции, в то время как 183 необходимы для оконной конструкции Кайзера.

См. также

| | |

Связанные темы