Управление Проекта спецификациями в Lowpass конечной импульсной характеристики Проекта

Этот пример показывает, как управлять порядком фильтра, неравномерностью в полосе пропускания, затуханием в полосе задерживания и шириной переходной области lowpass конечной импульсной характеристики.

Управление порядком фильтра, а также Неравномерностями в полосе пропускания и Затуханием в полосе задерживания

При нацеливании на пользовательское оборудование обычно можно найти случаи, когда количество коэффициентов ограничено заданным числом. В этих случаях проекты минимального порядка не полезны, потому что нет контроля над полученным порядком фильтра. В качестве примера предположим, что можно использовать только 101 коэффициент и спецификации неравномерность в полосе пропускания/ затуханием в полосе задерживания должны быть выполнены. Мы все еще можем использовать проекты equiripple для этих спецификаций. Однако мы теряем контроль над шириной перехода, которая будет увеличиваться. Это цена для оплаты за уменьшение порядка при сохранении спецификаций неравномерность в полосе пропускания/ затухание в полосе задерживания.

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

  Ap = 0.06;
  Ast = 60;
  Fp = 0.38;
  Fst = 0.42;
  Hf=fdesign.lowpass('Fp,Fst,Ap,Ast',Fp,Fst,Ap,Ast);

Проектируйте фильтр равновесия:

  Hd1 = design(Hf,'equiripple','systemobject',true);

Установите количество коэффициентов равное 101, что означает установку порядка равного 100:

  N = 100;   
  Fc = 0.4;
  setspecs(Hf,'N,Fc,Ap,Ast',N,Fc,Ap,Ast);

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

  Hd2 = design(Hf,'equiripple','systemobject',true);

Измерьте переменные фильтра второго фильтра equiripple и сравните графики первого и второго фильтров:

  measure(Hd2)
ans = 
Sample Rate      : N/A (normalized frequency)
Passband Edge    : 0.37316                   
3-dB Point       : 0.39285                   
6-dB Point       : 0.4                       
Stopband Edge    : 0.43134                   
Passband Ripple  : 0.06 dB                   
Stopband Atten.  : 60 dB                     
Transition Width : 0.058177                  
 
  hfvt = fvtool(Hd1,Hd2,'Color','White');
  legend(hfvt,'Equiripple design, 146 coefficients', ...
        'Equiripple design, 101 coefficients')

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 Equiripple design, 146 coefficients, Equiripple design, 101 coefficients.

Переход увеличился почти на 50%. Это неудивительно, учитывая почти 50% различия между 101 коэффициентом и 146 коэффициентами.

Управление шириной переходной области

Другой опцией, когда задано количество коэффициентов, является поддержание ширины перехода за счет контроля над неравномерность в полосе пропускания/ затухание в полосе задерживания .

  setspecs(Hf,'N,Fp,Fst',N,Fp,Fst);
  Hd3 = design(Hf,'equiripple','systemobject',true);
  measure(Hd3)
ans = 
Sample Rate      : N/A (normalized frequency)
Passband Edge    : 0.38                      
3-dB Point       : 0.39407                   
6-dB Point       : 0.4                       
Stopband Edge    : 0.42                      
Passband Ripple  : 0.1651 dB                 
Stopband Atten.  : 40.4369 dB                
Transition Width : 0.04                      
 
  hfvt2 = fvtool(Hd1,Hd3,'Color','White');
  legend(hfvt2,'Equiripple design, 146 coefficients',...
        'Equiripple design, 101 coefficients')

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 Equiripple design, 146 coefficients, Equiripple design, 101 coefficients.

Различия между использованием 146 коэффициентов и использованием 101 коэффициентов отражены в большей неравномерности в полосе пропускания и меньшем затухании в полосе задерживания.

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

  Hd4 = design(Hf,'equiripple','Wstop',5,'systemobject',true);
  measure(Hd4)
ans = 
Sample Rate      : N/A (normalized frequency)
Passband Edge    : 0.38                      
3-dB Point       : 0.39143                   
6-dB Point       : 0.39722                   
Stopband Edge    : 0.42                      
Passband Ripple  : 0.34529 dB                
Stopband Atten.  : 48.0068 dB                
Transition Width : 0.04                      
 
  hfvt3 = fvtool(Hd3,Hd4,'Color','White');
  legend(hfvt3,'Passband weight = 1, Stopband weight = 1',...
        'Passband weight = 1, Stopband weight = 5')

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 Passband weight = 1, Stopband weight = 1, Passband weight = 1, Stopband weight = 5.

Другой возможностью является указание точного затухания в полосе задерживания желаемого и потеря контроля над неравномерностью в полосе пропускания. Это мощная и очень желательная спецификация. Один имеет контроль над большинством интересующих параметров.

  setspecs(Hf,'N,Fp,Fst,Ast',N,Fp,Fst,Ast);
  Hd5 = design(Hf,'equiripple','systemobject',true);
  hfvt4 = fvtool(Hd4,Hd5,'Color','White');
  legend(hfvt4,'Equiripple design using weights',...
        'Equiripple design constraining the stopband')

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 Equiripple design using weights, Equiripple design constraining the stopband.