exponenta event banner

ellip

Конструкция эллиптического фильтра

Описание

пример

[b,a] = ellip(n,Rp,Rs,Wp) возвращает коэффициенты передаточной функции nЦифровой эллиптический фильтр нижних частот с нормированной граничной частотой полосы пропускания Wp. Результирующий фильтр имеет Rp децибелы пиковой пульсации полосы пропускания и Rs децибелы затухания полосы останова от пикового значения полосы пропускания.

пример

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

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

пример

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

пример

[A,B,C,D] = ellip(___) создает цифровой эллиптический фильтр нижних частот, верхних частот, полос пропускания или полос частот и возвращает матрицы, которые задают его представление состояния-пространства.

пример

[___] = ellip(___,'s') конструирует низкочастотный, высокоскоростной, полосовой или полосовой аналоговый эллиптический фильтр с угловой частотой края полосы пропускания Wp, Rp децибелы пульсации полосы пропускания, и Rs децибелы затухания полосы останова.

Примеры

свернуть все

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

[b,a] = ellip(6,5,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);

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

[b,a] = ellip(3,5,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);

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

[z,p,k] = ellip(6,3,50,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.

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

[A,B,C,D] = ellip(10,3,40,[500 560]/750);
d = designfilt('bandpassiir','FilterOrder',20, ...
    'PassbandFrequency1',500,'PassbandFrequency2',560, ...
    'PassbandRipple',3, ...
    'StopbandAttenuation1',40,'StopbandAttenuation2',40, ...
    'SampleRate',1500);

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

sos = ss2sos(A,B,C,D);
fvt = fvtool(sos,d,'Fs',1500);
legend(fvt,'ellip','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 ellip, 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

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

Если спецификация ℓ находится в линейных единицах, ее можно преобразовать в децибелы с помощью Rp = 40 log10 ((1+ℓ )/( 1-ℓ)).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

Коэффициенты передаточной функции фильтра, возвращаемые в виде векторов строк длины 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; 
Rp = 0.1;
Rs = 80;
Wn = [2.5e6 29e6]/500e6; 
ftype = 'bandpass'; 

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

% Zero-Pole-Gain design 
[z,p,k] = ellip(n,Rp,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.

Алгоритмы

Эллиптические фильтры имеют более крутые характеристики отката, чем фильтры Баттерворта или Чебышева, но равноудалены как в полосе пропускания, так и в полосе останова. Как правило, эллиптические фильтры соответствуют заданным характеристикам с наименьшим порядком любого типа фильтров.

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

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

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

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

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

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

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

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