exponenta event banner

cheby2

Конструкция фильтра типа II Чебышева

Описание

пример

[b,a] = cheby2(n,Rs,Ws) возвращает коэффициенты передаточной функции nцифровой фильтр Чебышева II низкого порядка с нормированной граничной частотой полосы стоп-сигналов Ws и Rs децибелы затухания полосы останова от пикового значения полосы пропускания.

пример

[b,a] = cheby2(n,Rs,Ws,ftype) проектирует низкочастотный, высокоскоростной, полосовой или полосовой фильтр Чебышева типа II, в зависимости от значения ftype и число элементов Ws. Полученные схемы полосы пропускания и полосы пропускания имеют порядок 2n.

Примечание.См   . раздел Ограничения для получения информации о числовых проблемах, влияющих на формирование передаточной функции.

пример

[z,p,k] = cheby2(___) создает низкочастотный, высокоскоростной, полосовой или полосовой цифровой фильтр Чебышева типа II и возвращает его нули, полюса и коэффициент усиления. Этот синтаксис может включать любой из входных аргументов в предыдущих синтаксисах.

пример

[A,B,C,D] = cheby2(___) создает низкочастотный, высокоскоростной, полосовой или полосовой цифровой фильтр типа II Чебышева и возвращает матрицы, которые задают его представление состояния-пространства.

пример

[___] = cheby2(___,'s') конструирует низкочастотный, высокоскоростной, полосовой или полосовой аналоговый фильтр Чебышева типа II с угловой частотой края стоп-полосы Ws и Rs децибелы затухания полосы останова.

Примеры

свернуть все

Сконструировать фильтр 6-го порядка нижних частот Чебышева типа II с 40 дБ затухания стоп-полосы и частотой края стоп-полосы 300 Гц, что для данных, дискретизированных на частоте 1000 Гц, соответствует 0,6δ рад/выборка. Постройте график его величины и фазовых откликов. Используйте его для фильтрации случайного сигнала с 1000 выборками.

[b,a] = cheby2(6,40,0.6);
freqz(b,a)

Figure contains 2 axes. Axes 1 contains an object of type line. Axes 2 contains an object of type line.

dataIn = randn(1000,1);
dataOut = filter(b,a,dataIn);

Сконструировать полосовой фильтр типа II Чебышева 6-го порядка с нормированными граничными частотами 0,2δ и 0,6δ рад/образец и 50 дБ затухания полосы останова. Постройте график его величины и фазовых откликов. Используйте его для фильтрации случайных данных.

[b,a] = cheby2(3,50,[0.2 0.6],'stop');
freqz(b,a)

Figure contains 2 axes. Axes 1 contains an object of type line. Axes 2 contains an object of type line.

dataIn = randn(1000,1);
dataOut = filter(b,a,dataIn);

Спроектируйте фильтр типа II хай-пасса 9-го порядка с 20 дБ затухания стоп-полосы и частотой края стоп-полосы 300 Гц, что для данных, отобранных на частоте 1000 Гц, соответствует 0,6δ рад/выборка. Постройте график величин и фазовых откликов. Преобразование нулей, полюсов и усиления в сечения второго порядка для использования fvtool.

[z,p,k] = cheby2(9,20,300/500,'high');
sos = zp2sos(z,p,k);
fvtool(sos,'Analysis','freq')

Figure Filter Visualization Tool - Magnitude Response (dB) and Phase Response contains an axes and other objects of type uitoolbar, uimenu. The axes with title Magnitude Response (dB) and Phase Response contains an object of type line.

Проектирование полосового фильтра типа II 20-го порядка Чебышева с более низкой частотой стоп-полосы 500 Гц и более высокой частотой стоп-полосы 560 Гц. Задайте затухание полосы останова 40 дБ и частоту дискретизации 1500 Гц. Используйте представление state-space. Проектирование идентичного фильтра с использованием designfilt.

[A,B,C,D] = cheby2(10,40,[500 560]/750);
d = designfilt('bandpassiir','FilterOrder',20, ...
    'StopbandFrequency1',500,'StopbandFrequency2',560, ...
    'StopbandAttenuation',40,'SampleRate',1500);

Преобразование представления состояния-пространства в сечения второго порядка. Визуализация частотных характеристик с помощью fvtool.

sos = ss2sos(A,B,C,D);
fvt = fvtool(sos,d,'Fs',1500);
legend(fvt,'cheby2','designfilt')

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 cheby2, designfilt.

Спроектируйте аналоговый фильтр нижних частот Баттерворта 5-го порядка с частотой отсечки 2 ГГц. Умножьте на , чтобы преобразовать частоту в радианы в секунду. Вычислите частотную характеристику фильтра в 4096 точках.

n = 5;
f = 2e9;

[zb,pb,kb] = butter(n,2*pi*f,'s');
[bb,ab] = zp2tf(zb,pb,kb);
[hb,wb] = freqs(bb,ab,4096);

Спроектируйте фильтр 5-го порядка Чебышева типа I с той же частотой кромки и 3 дБ пульсации полосы пропускания. Вычислите его частотную характеристику.

[z1,p1,k1] = cheby1(n,3,2*pi*f,'s');
[b1,a1] = zp2tf(z1,p1,k1);
[h1,w1] = freqs(b1,a1,4096);

Проектирование фильтра 5-го порядка Чебышева типа II с той же частотой фронта и 30 дБ затухания полосы останова. Вычислите его частотную характеристику.

[z2,p2,k2] = cheby2(n,30,2*pi*f,'s');
[b2,a2] = zp2tf(z2,p2,k2);
[h2,w2] = freqs(b2,a2,4096);

Сконструируйте эллиптический фильтр 5-го порядка с той же частотой краев, 3 дБ пульсации полосы пропускания и 30 дБ затухания полосы останова. Вычислите его частотную характеристику.

[ze,pe,ke] = ellip(n,3,30,2*pi*f,'s');
[be,ae] = zp2tf(ze,pe,ke);
[he,we] = freqs(be,ae,4096);

Постройте график затухания в децибелах. Выражайте частоту в гигагерцах. Сравните фильтры.

plot(wb/(2e9*pi),mag2db(abs(hb)))
hold on
plot(w1/(2e9*pi),mag2db(abs(h1)))
plot(w2/(2e9*pi),mag2db(abs(h2)))
plot(we/(2e9*pi),mag2db(abs(he)))
axis([0 4 -40 5])
grid
xlabel('Frequency (GHz)')
ylabel('Attenuation (dB)')
legend('butter','cheby1','cheby2','ellip')

Figure contains an axes. The axes contains 4 objects of type line. These objects represent butter, cheby1, cheby2, ellip.

Фильтры Баттерворта и Чебышева типа II имеют плоские полосы пропускания и широкие переходные полосы. Фильтры Чебышева I типа и эллиптические фильтры быстрее скатываются, но имеют пульсацию полосы пропускания. Частотный вход функции проектирования типа II Чебышева задает начало полосы останова, а не конец полосы пропускания.

Входные аргументы

свернуть все

Порядок фильтра, заданный как целочисленный скаляр. Для бандпасных и бандпостовых конструкций, n представляет половину порядка фильтра.

Типы данных: double

Затухание полосы останова от пикового значения полосы пропускания, заданного как положительный скаляр, выраженный в децибелах.

Если спецификация ℓ находится в линейных единицах, ее можно преобразовать в децибелы с помощью Rs =  -20 log10 .

Типы данных: double

Частота краев стоп-полосы, заданная как скаляр или двухэлементный вектор. Граничная частота стоп-полосы - это частота, на которой отклик на величину фильтра равен -Rs децибелы. Большие значения затухания полосы останова, Rs, что приводит к более широким переходным полосам.

  • Если Ws является скаляром, то cheby2 создает фильтр нижних или верхних частот с граничной частотой Ws.

    Если Ws - двухэлементный вектор [w1 w2], где w1 < w2, то cheby2 конструирует полосовой или полосовой фильтр с нижней граничной частотой w1 и более высокая граничная частота w2.

  • Для цифровых фильтров граничные частоты стоп-полосы должны лежать между 0 и 1, где 1 соответствует скорости Найквиста - половине частоты дискретизации или δ рад/выборка.

    Для аналоговых фильтров граничные частоты стоп-полосы должны быть выражены в радианах в секунду и могут принимать любое положительное значение.

Типы данных: double

Тип фильтра, указанный как один из следующих:

  • 'low' задает фильтр нижних частот с частотой края полосы останова Ws. 'low' является значением по умолчанию для скаляра Ws.

  • 'high' задает фильтр верхних частот с частотой края полосы стоп-сигналов Ws.

  • 'bandpass' задает полосовой фильтр порядка 2n если Ws является двухэлементным вектором. 'bandpass' является значением по умолчанию, когда Ws имеет два элемента.

  • 'stop' задает полосовой фильтр порядка 2n если Ws является двухэлементным вектором.

Выходные аргументы

свернуть все

Коэффициенты передаточной функции фильтра, возвращаемые в виде векторов строк длины n + 1 для фильтров нижних и верхних частот и 2n + 1 для полосовых и полосовых фильтров.

  • Для цифровых фильтров передаточная функция выражается в терминах b и a как

    H (z) = B (z) A (z) = b (1) + b (2) z−1+⋯+b (n + 1) z na (1) + a (2) z−1+⋯+a (n + 1) z − n.

  • Для аналоговых фильтров передаточная функция выражается в терминах b и a как

    H (s) = B (s) A (s) = b (1) sn + b (2) sn−1+⋯+b (n + 1) a (1) sn + a (2) sn−1+⋯+a (n + 1).

Типы данных: double

Нули, полюса и коэффициент усиления фильтра, возвращаемые в виде двух векторов-столбцов длины n (2n для полосовых и полосовых конструкций) и скаляр.

  • Для цифровых фильтров передаточная функция выражается в терминах z, p, и k как

    H (z) = k (1 z (1) z − 1) (1 z (2) z 1) (1 z (n) z − 1) (1 p (1) z 1) (1 − p (2) z − 1) ⋯ (1 − p (n) z − 1).

  • Для аналоговых фильтров передаточная функция выражается в терминах z, p, и k как

    H (s) = k (s z (1)) (s z (2)) (s z (n)) (s p (1)) (s − p (2)) ⋯ (s − p (n)).

Типы данных: double

Представление фильтра в пространстве состояний, возвращаемое в виде матриц. Если m = n для конструкций нижних и верхних частот и m = 2n для полосовых и полосовых фильтров, то A m  × m, B m  × 1, C равно 1 × m, и D равен 1 × 1.

  • Для цифровых фильтров матрицы состояния-пространства связывают вектор состояния x, вход u и выход y через

    x (k + 1) = A x (k) + B u (k) y (k) = C x (k) + D u (k).

  • Для аналоговых фильтров матрицы состояния-пространства связывают вектор состояния x, вход u и выход y через

    x˙=A x + B uy = C x + D u.

Типы данных: double

Подробнее

свернуть все

Ограничения

Числовая нестабильность синтаксиса передаточной функции

В общем, используйте [z,p,k] синтаксис для разработки фильтров IIR. Для анализа или внедрения фильтра можно использовать [z,p,k] выходные данные с zp2sos. При проектировании фильтра с помощью [b,a] синтаксис, вы можете столкнуться с числовыми проблемами. Эти проблемы связаны с ошибками округления и могут возникнуть для n всего 4. Следующий пример иллюстрирует это ограничение.

n = 6; 
Rs = 80; 
Wn = [2.5e6 29e6]/500e6;
ftype = 'bandpass';

% Transfer function design
[b,a] = cheby2(n,Rs,Wn,ftype);      % This filter is unstable

% Zero-pole-gain design
[z,p,k] = cheby2(n,Rs,Wn,ftype);
sos = zp2sos(z,p,k);

% Plot and compare the results
hfvt = fvtool(b,a,sos,'FrequencyScale','log');
legend(hfvt,'TF Design','ZPK Design')

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 TF Design, ZPK Design.

Алгоритмы

 Фильтры типа II Чебышева монотонны в полосе пропускания и равноудалены в полосе останова. Фильтры типа II не скатываются так быстро, как фильтры типа I, но свободны от пульсации полосы пропускания.

cheby2 использует пятишаговый алгоритм:

  1. Он находит низкочастотные аналоговые прототипы полюсов, нулей и усиления с помощью функции cheb2ap.

  2. Он преобразует полюса, нули и усиление в форму state-space.

  3. При необходимости он использует преобразование в пространство состояний для преобразования фильтра нижних частот в полосовой, полосовой или полосовой фильтр с требуемыми ограничениями частоты.

  4. Для проектирования цифровых фильтров используется bilinear преобразование аналогового фильтра в цифровой фильтр посредством билинейного преобразования с превалированием частоты. Тщательная регулировка частоты аналоговых и цифровых фильтров с одинаковой амплитудой частотной характеристики при Ws или w1 и w2.

  5. При необходимости он преобразует фильтр состояния-пространства обратно в передаточную функцию или форму усиления нулевого полюса.

Расширенные возможности

.
Представлен до R2006a