Спроектируйте, визуализируйте и исследуйте Обратный Чебышевский фильтр - 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 and another object of type uitoolbar. The axes 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 +      1082.39220029239i
                          0 -      1082.39220029239i
                          0 +      2613.12592975275i
                          0 -      2613.12592975275i

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

          -171.158733950657 +      476.096694464131i
          -171.158733950657 -      476.096694464131i
          -504.530434776367 +      240.786480832184i
          -504.530434776367 -      240.786480832184i

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

                         1                         0          1171572.87525381
       0.00999950003749688                         0          68280.8572899443

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

                         1          342.317467901314          255963.374687264
                         1          1009.06086955273          312529.088967178

В качестве альтернативы используйте |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.

Похожие темы