Lowpass конечной импульсной характеристики Создания фильтра

В этом примере показано, как спроектировать lowpass конечная импульсная характеристика с помощью fdesign. Идеальный lowpass требует бесконечной импульсной характеристики. Обрезка или оконная обработка импульсной характеристики, результатов в так называемом оконном методе конечной импульсной характеристики создания фильтра.

Lowpass конечной импульсной характеристики Создания фильтра с использованием различных окон

Конечная импульсная характеристика широко используются из-за мощных алгоритмов проекта, которые существуют для них, их неотъемлемой устойчивости при реализации в нерекурсивной форме, легкости, с которой можно достичь линейной фазы, их простой расширяемости для мультирейта случаев и достаточной аппаратной поддержки, которая существует по ним среди других причин. Этот пример демонстрирует функциональность в DSP System Toolbox™ для проекта низкочастотных конечных импульсных характеристик фильтров с различными характеристиками. Многие из представленных здесь концепций могут быть распространены на другие ответы, такие как highpass, bandpass и т.д.

Рассмотрим простой проект lowpass с частотой среза 0,4 * pi радиан на выборку:

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

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

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.

Минимальный Lowpass заказа Создания фильтра

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

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. Это станет точкой, в которой коэффициент усиления lowpass равен половине коэффициента усиления полосы пропускания (или точке, в которой фильтр достигает 6 дБ ослабления).

Оптимальные проекты минимальных порядков

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

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.

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

См. также

| | |

Похожие темы