Документация Engee

ellip

Страница в процессе разработки.

Расчет эллиптического фильтра.

Библиотека

EngeeDSP

Синтаксис

Вызов функции

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

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

    При проектировании БИХ-фильтров с передаточной функцией вплоть до 4-го порядка можно столкнуться с численной нестабильностью. Дополнительную информацию о численных проблемах, влияющих на формирование передаточной функции, см. в разделе [transfer-functions-and-ctf].
  • z, p, k = ellip(___) — проектирует цифровой эллиптический фильтр и возвращает его нули, полюса и коэффициент усиления. Данный синтаксис может включать любые входные аргументы из предыдущих вариантов.

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

  • ___ = ellip(___, "s") — проектирует аналоговый эллиптический фильтр, используя любой из входных или выходных аргументов в предыдущих синтаксисах.

Аргументы

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

# n — порядок фильтра
скаляр

Details

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

Типы данных

Float64

# Rp — размер пульсаций в полосе пропускания в дБ
положительный скаляр

Details

Размер пульсаций в полосе пропускания, заданный как положительный скаляр в дБ.

Если значение выражено в линейных единицах, вы можете перевести его в дБ, используя формулу Rp .

Типы данных

Float64

# Rs — затухание в полосе задерживания в дБ
положительный скаляр

Details

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

Если значение выражено в линейных единицах, вы можете перевести его в дБ, используя формулу Rs .

Типы данных

Float64

# Wp — граничная частота полосы пропускания
скаляр | двухэлементный вектор

Details

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

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

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

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

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

Типы данных

Float64

# ftype — тип фильтра
"low" | "bandpass" | "high" | "stop"

Details

Тип фильтра, задается как:

  • "low" — фильтр низких частот с граничной частотой полосы пропускания Wp. Это значение используется по умолчанию для скалярного Wp;

  • "high" — фильтр высоких частот с граничной частотой полосы пропускания Wp;

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

  • "stop" — режекторный (заграждающий) фильтр 2n порядка, если Wp — двухэлементный вектор.

Типы данных

String

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

# b, a — коэффициенты передаточной функции
векторы-строки

Details

Коэффициенты передаточной функции фильтра возвращаются в виде векторов-строк. При заданном порядке фильтра n функция возвращает b и a с r отсчетами, где r=n+1 для фильтров нижних и верхних частот и r=2*n+1 для полосовых и режекторных фильтров.

Передаточная функция выражается через и :

  • для цифровых фильтров

  • для аналоговых фильтров

Типы данных

Float64

# z, p, k — нули, полюса и усиление
векторы-столбцы и скаляр

Details

Нули, полюса и коэффициент усиления фильтра возвращаются в виде двух векторов-столбцов и скаляра. При заданном порядке фильтра n функция возвращает z и p с r отсчетами, где r=n для фильтров нижних и верхних частот и r=2*n для полосовых и режекторных фильтров.

Передаточная функция выражается через , и :

  • для цифровых фильтров

  • для аналоговых фильтров

Типы данных

Float64

# A, B, C, D — представление фильтра в пространстве состояний
матрицы

Details

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

Матрицы пространства состояний связывают вектор состояния , вход и выход посредством систем уравнений:

  • для цифровых фильтров

  • для аналоговых фильтров

Типы данных

Float64

Алгоритмы

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

Эллиптический фильтр ellip использует пятиэтапный алгоритм:

  • Находит полюса, нули и коэффициент усиления аналогового прототипа нижних частот.

  • Преобразует полюса, нули и коэффициент усиления в пространство состояний.

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

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

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

Литература

  1. Lyons, Richard G. Understanding Digital Signal Processing. Upper Saddle River, NJ: Prentice Hall, 2004.