Проектирование, визуализация и исследования обратного чебышевского фильтра - II

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

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

Параметрами для разработки обратного фильтра Чебышева может быть один из следующих:

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

  • Частоты Passband и Stop Band, Passband и Затухания в полосе задерживания

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

Проект фильтра

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] Паарманн, Л. Д. Проект и анализ аналоговых фильтров: перспектива обработки сигналов. SECS 617. Boston: Kluwer Academic Publishers, 2001.

Похожие темы