ellipord

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

Описание

пример

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

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

Примеры

свернуть все

Для данных на 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))

Figure contains 2 axes. Axes 1 with title n = 4 Elliptic Lowpass Filter contains an object of type line. Axes 2 contains an object of type line.

Спроектируйте полосовой фильтр с полосой пропускания от 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))

Figure contains 2 axes. Axes 1 with title n = 5 Elliptic Bandpass Filter contains an object of type line. Axes 2 contains an object of type line.

Входные параметры

свернуть все

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

  • Если Wp и Ws оба скаляры и Wp <Wsто ellipord возвращает порядок и частоту среза фильтра lowpass. Полоса задерживания фильтра лежит в диапазоне от Ws к 1 и полоса пропускания лежит в диапазоне от 0 до Wp.

  • Если Wp и Ws оба скаляры и Wp > Wsто ellipord возвращает порядок и частоту среза фильтра highpass. Полоса задерживания фильтра лежит в диапазоне от 0 до Ws и полоса пропускания лежит в диапазоне от Wp к 1.

  • Если Wp и Ws оба векторы и интервал, заданный Ws содержит тот, заданный Wp (Ws(1) <Wp(1) <Wp(2) <Ws(2)то ellipord возвращает порядок и частоты среза полосового фильтра. Полоса задерживания фильтра лежит в диапазоне от 0 до Ws(1) и от Ws(2) к 1. Полоса пропускания лежит в диапазоне от Wp(1) к Wp(2).

  • Если Wp и Ws оба векторы и интервал, заданный Wp содержит тот, заданный Ws (Wp(1) <Ws(1) <Ws(2) <Wp(2)то ellipord возвращает порядок и частоты среза заграждающего фильтра. Полоса задерживания фильтра лежит в диапазоне от Ws(1) к Ws(2). Полоса пропускания лежит в диапазоне от 0 до Wp(1) и от Wp(2) к 1.

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

Примечание

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

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

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

Неравномерность в полосе пропускания в виде скаляра описывается в дБ.

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

Затухание в полосе задерживания в виде скаляра описывается в дБ.

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

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

свернуть все

Самый низкий порядок фильтра, возвращенный как целочисленный скаляр.

Частоты среза, возвращенные как скаляр или вектор.

Алгоритмы

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

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

Ссылки

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

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

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

| | |

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