MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем

Обработка сигналов и изображений\Signal Processing Toolbox

Список функций Signal Processing Toolbox: Функции синтеза фильтров

В оглавление \ К следующему разделу \ К предыдущему разделу

ELLIP
Синтез эллиптического фильтра (фильтра Кауэра)

Синтаксис

[b,a] = ellip(n,Rp,Rs,Wn)
[b,a] = ellip(n,Rp,Rs,Wn,'ftype')
[b,a] = ellip(n,Rp,Rs,Wn,'s')
[b,a] = ellip(n,Rp,Rs,Wn,'ftype','s')
[z,p,k] = ellip(...)
[A,B,C,D] = ellip(...)

Описание

Функция ellip позволяет синтезировать аналоговые и дискретные эллиптические фильтры нижних частот, верхних частот, полосовые и режекторные. Эллиптические фильтры обеспечивают более крутой (по сравнению с фильтрами Баттерворта и Чебышева) спад АЧХ в переходной зоне между полосами пропускания и задерживания. Платой за это является наличие равномерных пульсаций АЧХ как в полосе пропускания, так и в полосе задерживания. Как правило, эллиптические фильтры позволяют выполнить требования, предъявляемые к АЧХ, при минимальном порядке фильтра (опять-таки, по сравнению с фильтрами Баттерворта и Чебышева).

Синтез дискретных фильтров

[b,a] = ellip(n,Rp,Rs,Wn)

Производит синтез дискретного эллиптического фильтра n-го порядка, имеющего АЧХ фильтра нижних частот, нормированную частоту среза Wn, величину пульсаций АЧХ в полосе пропускания, равную Rp дБ, и обеспечивающего подавление сигнала в полосе задерживания, равное Rs дБ. Функция возвращает описание фильтра в виде векторов-строк b и a, имеющих длину n+1 и содержащих коэффициенты полиномов числителя и знаменателя функции передачи в порядке убывания степеней переменной z:

Частотой среза эллиптического фильтра называется частота, на которой модуль коэффициента передачи равен -Rp дБ. Функция ellip использует значение частоты среза Wn, нормированное к частоте Найквиста ( радиан на отсчет). Таким образом, нормированное значение частоты среза Wn должно лежать в пределах от 0 до 1, при этом 1 соответствует частоте Найквиста (то есть половине частоты дискретизации). При уменьшении пульсаций АЧХ в полосе пропускания Rp, так же как и при увеличении подавления сигнала в полосе задерживания Rs, происходит расширение переходных зон между полосами пропускания и задерживания (то есть уменьшается крутизна спада АЧХ).

Если параметр Wn является двухэлементным вектором, Wn = [w1 w2], функция ellip производит синтез дискретного полосового фильтра порядка 2*n, полоса пропускания которого лежит в пределах от w1 до w2.

[b,a] = ellip(n,Rp,Rs,Wn,'ftype')

Производит синтез фильтра верхних частот или режекторного фильтра, в зависимости от значения строкового параметра 'ftype'. Возможны следующие варианты:

  • 'high' - для синтеза дискретного фильтра верхних частот с нормированной частотой среза Wn;
  • 'stop' - для синтеза дискретного режекторного фильтра порядка 2*n. В этом случае входной параметр Wn должен быть двухэлементным вектором, Wn = [w1 w2]. Полоса задерживания синтезированного фильтра лежит в пределах от w1 до w2.

Функция ellip может представлять синтезированный дискретный фильтр различными способами, в зависимости от числа указанных при вызове функции выходных параметров. Чтобы получить описание синтезированного фильтра в виде коэффициента усиления и наборов нулей и полюсов (zero-pole-gain form), используйте три выходных параметра, как показано ниже:

[z,p,k] = ellip(n,Rp,Rs,Wn)

или

[z,p,k] = ellip(n,Rp,Rs,Wn,'ftype')

Возвращает нули и полюсы функции передачи фильтра в виде векторов-столбцов z и p длины n (или 2*n, в зависимости от типа фильтра), а коэффициент усиления - в виде скаляра k.

Чтобы получить описание синтезированного фильтра в виде параметров пространства состояния (state-space form), используйте четыре выходных параметра, как показано ниже:

[A,B,C,D] = ellip(n,Rp,Rs,Wn)

или

[A,B,C,D] = ellip(n,Rp,Rs,Wn,'ftype')

Возвращает параметры пространства состояния A, B, C и D, описывающие фильтр следующим образом:

Здесь u - входной сигнал, x - вектор состояния, y - выходной сигнал.

Синтез аналоговых фильтров

[b,a] = ellip(n,Rp,Rs,Wn,'s')

Производит синтез аналогового эллиптического фильтра n-го порядка, имеющего АЧХ фильтра нижних частот, круговую частоту среза, равную Wn рад/с, величину пульсаций АЧХ в полосе пропускания, равную Rp дБ, и обеспечивающего подавление сигнала в полосе задерживания, равное Rs дБ. Функция возвращает описание фильтра в виде векторов-строк b и a, имеющих длину n+1 и содержащих коэффициенты полиномов числителя и знаменателя функции передачи в порядке убывания степеней переменной s:

Частотой среза эллиптического фильтра называется частота, на которой модуль коэффициента передачи равен -Rp дБ. Значение круговой частоты среза Wn должно быть положительным. Если параметр Wn является двухэлементным вектором, Wn = [w1 w2], вызов функции ellip(n,Rp,Rs,Wn,'s') производит синтез аналогового полосового фильтра порядка 2*n, полоса пропускания которого лежит в пределах от w1 до w2.

[b,a] = ellip(n,Rp,Rs,Wn,'ftype','s')

Производит синтез аналогового фильтра верхних частот или режекторного фильтра, в зависимости от значения строкового параметра 'ftype'. Возможные значения этого параметра такие же, как и при расчете дискретных фильтров (см. выше).

Функция ellip может представлять синтезированный аналоговый фильтр различными способами, в зависимости от числа указанных при вызове функции выходных параметров. Чтобы получить описание синтезированного фильтра в виде коэффициента усиления и наборов нулей и полюсов (zero-pole-gain form), используйте три выходных параметра, как показано ниже:

[z,p,k] = ellip(n,Rp,Rs,Wn,'s')

или

[z,p,k] = ellip(n,Rp,Rs,Wn,'ftype','s')

Возвращает нули и полюсы функции передачи фильтра в виде векторов-столбцов z и p длины n (или 2*n, в зависимости от типа фильтра), а коэффициент усиления - в виде скаляра k.

Чтобы получить описание синтезированного фильтра в виде параметров пространства состояния (state-space form), используйте четыре выходных параметра, как показано ниже:

[A,B,C,D] = ellip(n,Rp,Rs,Wn,'s')

или

[A,B,C,D] = ellip(n,Rp,Rs,Wn,'ftype','s')

Возвращает параметры пространства состояния A, B, C и D, описывающие фильтр следующим образом:

Здесь u - входной сигнал, x - вектор состояния, y - выходной сигнал.

Примеры

Пример 1

Пусть частота дискретизации равна 1000 Гц. Синтезируем дискретный эллиптический фильтр нижних частот шестого порядка с частотой среза, равной 300 Гц (что соответствует нормированному значению 0.6), пульсациями АЧХ в полосе пропускания, равными 3 дБ, и подавлением сигнала в полосе задерживания, равным 50 дБ:

[b,a] = ellip(6,3,50,300/500);

Построим графики АЧХ и ФЧХ синтезированного фильтра:

freqz(b,a,512,1000) title('n=6 Lowpass Elliptic Filter')

Пример 2
Синтезируем полосовой дискретный эллиптический фильтр 20-го порядка с полосой пропускания, простирающейся от 100 до 200 Гц, и построим график его импульсной характеристики:

n = 10;
Rp = 0.5;
Rs = 20;
Wn = [100 200]/500;
[b,a] = ellip(n,Rp,Rs,Wn);
[y,t] = impz(b,a,101); stem(t,y)
title('Impulse Response of n=10 Elliptic Filter')

Ограничения

Для фильтров высокого порядка наибольшая численная точность достигается при использовании представления в пространстве состояний. Следующей по степени точности идет форма представления в виде нулей и полюсов. Представление фильтра в виде коэффициентов полиномов функции передачи является наименее точным; проблемы могут возникать уже для фильтров 15-го порядка.

Алгоритм

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

  1. Производится расчет нулей, полюсов и коэффициента усиления фильтра-прототипа с помощью функции ellipap.
  2. Полученное описание фильтра трансформируется в параметры пространства состояний.
  3. В пространстве состояний производится трансформация фильтра нижних частот в фильтр верхних частот, полосовой или режекторный фильтр с требуемыми частотами среза (согласно параметрам, указанным при вызове функции).
  4. При синтезе дискретных фильтров функция ellip использует билинейное преобразование (функция bilinear) для дискретизации аналогового фильтра. При этом используется предыскажение частот среза, гарантирующее совпадение коэффициентов передачи аналогового и дискретного фильтров на этих частотах.
  5. Если при вызове функции указано два или три выходных параметра, производится преобразование описания фильтра из параметров пространства состояний в коэффициенты полиномов функции передачи или в наборы нулей и полюсов.

Сопутствующие функции: besself, butter, cheby1, cheby2, ellipap, ellipord

В оглавление \ К следующему разделу \ К предыдущему разделу


Поиск по сайту:

Система Orphus

Яндекс.Метрика