ellipord

Минимальный порядок для эллиптических фильтров

Синтаксис

[n,Wp] = ellipord(Wp,Ws,Rp,Rs)
[n,Wp] = ellipord(Wp,Ws,Rp,Rs,'s')

Описание

ellipord вычисляет минимальный порядок цифрового или аналогового эллиптического фильтра, требуемого соответствовать набору спецификаций создания фильтра.

Цифровая область

[n,Wp] = ellipord(Wp,Ws,Rp,Rs) возвращает самое низкоуровневое, n, из эллиптического фильтра, который теряет не больше, чем Rp дБ в полосе пропускания и имеет, по крайней мере, Rs дБ затухания в полосе задерживания. Скаляр (или вектор) соответствующих частот среза Wp, также возвращен. Используйте выходные аргументы n и Wp в ellip.

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

Описание параметров фильтра полосы задерживания и полосы пропускания

Параметр

Описание

Wp

Угловая частота полосы пропускания Wp, частота среза, скаляр или двухэлементный вектор со значениями между 0 и 1, с 1 соответствием нормированной частоте Найквиста, π радианы на выборку.

Ws

Угловая частота полосы задерживания Ws, скаляр или двухэлементный вектор со значениями между 0 и 1, с 1 соответствием нормированной частоте Найквиста.

Rp

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

Rs

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

Используйте следующее руководство, чтобы задать фильтры различных типов.

Отфильтруйте спецификации полосы задерживания и полосы пропускания типа

Отфильтруйте тип

Полоса задерживания и условия полосы пропускания

Полоса задерживания

Полоса пропускания

Lowpass

Wp <Ws, оба скаляра

(Ws,1)

(0,Wp)

Highpass

Wp > Ws, оба скаляра

(0,Ws)

(Wp,1)

Полоса пропускания

Интервал задан Ws содержит тот, заданный Wp (Ws(1) < Wp(1) < Wp(2) < Ws(2)).

(0,Ws(1)) и (Ws(2),1)

(Wp(1),Wp(2))

Bandstop

Интервал задан Wp содержит тот, заданный Ws (Wp(1) < Ws(1) < Ws(2) < Wp(2)).

(0,Wp(1)) и (Wp(2),1)

(Ws(1),Ws(2))

Если ваши спецификации фильтра призывают к полосовому или заграждающему фильтру с неравной пульсацией в каждой из полос пропускания или полос задерживания, проектируют отдельный lowpass и фильтры highpass согласно спецификациям в этой таблице, и располагают каскадом два фильтра вместе.

Аналоговая область

[n,Wp] = ellipord(Wp,Ws,Rp,Rs,'s') находит минимальный порядок n и частоты среза Wp для аналогового фильтра. Вы задаете частоты Wp и Ws похожий на описанных в Описании приведенной выше таблицы Параметров Фильтра Полосы задерживания и Полосы пропускания, только в этом случае вы задаете частоту в радианах в секунду, и полоса пропускания или полоса задерживания могут быть бесконечными.

Используйте ellipord для lowpass, highpass, полосы пропускания и заграждающих фильтров как описано в приведенной выше таблице Спецификаций Полосы задерживания и Полосы пропускания Типа Фильтра.

Примеры

свернуть все

Для данных на 1 000 Гц спроектируйте фильтр lowpass меньше чем с 3 дБ пульсации в полосе пропускания, заданной от 0 до 40 Гц и по крайней мере 60 дБ пульсации в полосе задерживания, заданной от 150 Гц до частоты Найквиста, 500 Гц. Найдите порядка фильтра и частоту среза.

Wp = 40/500;
Ws = 150/500;
Rp = 3;
Rs = 60;
[n,Wp] = ellipord(Wp,Ws,Rp,Rs)
n = 4
Wp = 0.0800

Задайте фильтр в терминах секций второго порядка и постройте частотную характеристику.

[z,p,k] = ellip(n,Rp,Rs,Wp);
sos = zp2sos(z,p,k);
freqz(sos,512,1000)
title(sprintf('n = %d Elliptic Lowpass Filter',n))

Спроектируйте полосовой фильтр с полосой пропускания от 60 Гц до 200 Гц с самое большее 3 дБ пульсации и затухания на по крайней мере 40 дБ в полосах задерживания. Задайте уровень выборки 1 кГц. Имейте полосы задерживания быть 50 Гц шириной с обеих сторон полосы пропускания. Найдите порядка фильтра и частоты среза.

Wp = [60 200]/500;
Ws = [50 250]/500;
Rp = 3;
Rs = 40;

[n,Wp] = ellipord(Wp,Ws,Rp,Rs)
n = 5
Wp = 1×2

    0.1200    0.4000

Задайте фильтр в терминах секций второго порядка и постройте частотную характеристику.

[z,p,k] = ellip(n,Rp,Rs,Wp);
sos = zp2sos(z,p,k);

freqz(sos,512,1000)
title(sprintf('n = %d Elliptic Bandpass Filter',n))

Алгоритмы

ellipord использует эллиптическую формулу прогноза порядка фильтра lowpass, описанную в [1]. Функция выполняет свои вычисления в аналоговой области и для аналоговых и для цифровых случаев. Для цифрового случая это преобразует параметры частоты в s-область прежде, чем оценить порядок и собственные частоты, и затем преобразует их назад в z-область.

ellipord первоначально разрабатывает прототип фильтра lowpass путем преобразования частот полосы пропускания желаемого фильтра к 1 рад/с (для низкого - и фильтров highpass) и к-1 и 1 рад/с (для полосовых и заграждающих фильтров). Это затем вычисляет минимальный порядок, требуемый для фильтра lowpass соответствовать спецификации полосы задерживания.

Ссылки

[1] Rabiner, Лоуренс Р. и B. Золото. Теория и приложение цифровой обработки сигналов. Englewood Cliffs, NJ: Prentice Hall, 1975.

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

Смотрите также

| | |

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

Для просмотра документации необходимо авторизоваться на сайте