Спроектируйте, визуализируйте и исследуйте обратный чебышевский фильтр - II

В этом примере показано, как спроектировать инверсию четвертого порядка Чебышев фильтр lowpass с частотой полосы задерживания 10 000 рад/секунда и эпсилоном 0,01 (смотрите ссылочный раздел), использование rffilter. Этот rffilter мог использоваться в circuit или в rfbudget объект.

rffilter объект используется, чтобы спроектировать фильтр RF. Фильтр требует, чтобы минимальный набор для параметров полностью задал его.

Параметры, чтобы спроектировать обратный Чебышевский фильтр могут быть одним из следующего:

  • Порядок фильтра, частота Полосы пропускания, Полоса пропускания и Затухание в полосе задерживания

  • Полоса пропускания и частоты Полосы задерживания, Полоса пропускания и Затухание в полосе задерживания

  • Порядок фильтра, частота Полосы задерживания, Затухание в полосе задерживания

Спроектируйте фильтр

N           = 4;                                    % Filter order
Fs          = 1000/(2*pi);                          % Stopband frequency
epsilon     = 0.01;             
Rs          = 10*log10((1+epsilon^2)/epsilon^2);    % Stopband attenuation

Используйте первый набор параметров, чтобы задать фильтр.

r = rffilter('FilterType','InverseChebyshev','ResponseType','Lowpass',  ...
    'Implementation','Transfer function','FilterOrder',N,               ...
    'PassbandFrequency',Fs,'PassbandAttenuation',Rs,                    ...
    'StopbandAttenuation',Rs);

Примечание: Альтернатива, можно также использовать третий набор параметров, чтобы спроектировать тот же фильтр:

r = rffilter('FilterType','InverseChebyshev','ResponseType','Lowpass',  ...
'Implementation','Transfer function','FilterOrder',N,                   ...
'StopbandFrequency',Fs,'StopbandAttenuation',Rs);

Ограничение этого набора параметров - то, что он принимает затухание полосы пропускания, которое будет зафиксировано в 10*log10 (2) дБ.

Визуализируйте ответ величины, фазовый отклик и задержку фазы фильтра

frequencies = linspace(0,2*Fs,1001);
rfplot(r, frequencies);

Figure S-Parameters 21 contains an axes object and another object of type uitoolbar. The axes object with title s21 vs. Frequency contains an object of type line.

Опционально, можно также использовать Signal Processing Toolbox, чтобы визуализировать аналоговое использование фильтра:

freqs(numerator{2,1},denominator)

Найдите нули, полюса и усиление

[z,p,k] = zpk(r);

Можно получить нули, полюса и усиление Передаточной функции (S21):

format long g
zeros_21 = z{2,1}
zeros_21 = 4×1 complex

   0.0000 + 1.0824i
   0.0000 - 1.0824i
   0.0000 + 2.6131i
   0.0000 - 2.6131i

poles_21 = p                % Same denominator for S11, S12, S21 and S22
poles_21 = 4×1 complex

  -1.7116 + 4.7610i
  -1.7116 - 4.7610i
  -5.0453 + 2.4079i
  -5.0453 - 2.4079i

k_21     = k{2,1}
k_21 = 
       0.00999950003749688

Просмотрите передаточную функцию в разложенной на множители форме

Просмотрите эти, фактор формируется непосредственно из фильтра r.

disp('Numerator of Transfer function as factors:');
Numerator of Transfer function as factors:
r.DesignData.Numerator21
ans = 2×3

    0.0000         0    1.1716
    0.0000         0    0.0683

disp('Denominator of Transfer function as factors:');
Denominator of Transfer function as factors:
r.DesignData.Denominator
ans = 2×3

    0.0000    0.0034    2.5596
    0.0000    0.0101    3.1253

В качестве альтернативы используйте |zpk | от Control System Toolbox, чтобы просмотреть передаточную функцию в разложенной на множители форме.

G_s = zpk(zeros_21,poles_21,k_21)
G_s =
 
     0.0099995 (s^2 + 1.172e06) (s^2 + 6.828e06)
  -------------------------------------------------
  (s^2 + 1009s + 3.125e05) (s^2 + 342.3s + 2.56e05)
 
Continuous-time zero/pole/gain model.

Ссылки

[1] Парманн, L. D. Проект и анализ аналоговых фильтров: перспектива обработки сигналов. SECS 617. Бостон: Kluwer академические издатели, 2001.

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте