Спроектируйте, визуализируйте и исследуйте Обратный Чебышевский фильтр - 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);

Опционально, можно также использовать 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.