buttord

Порядок фильтра Баттерворта и частота отключения

Описание

пример

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

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

Примеры

свернуть все

Для данных, отобранных с частотой дискретизации 1000 Гц, спроектируйте lowpass, имеющий не более 3 дБ пульсации в полосе пропускания от 0 до 40 Гц и не менее 60 дБ ослабления в полосе пропускания. Найдите порядок фильтра и частоту отключения.

Wp = 40/500;
Ws = 150/500;

[n,Wn] = buttord(Wp,Ws,3,60)
n = 5
Wn = 0.0810

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

[z,p,k] = butter(n,Wn);
sos = zp2sos(z,p,k);

freqz(sos,512,1000)
title(sprintf('n = %d Butterworth Lowpass Filter',n))

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

Проектируйте полосно-пропускающий фильтр с полосой пропускания от 100 до 200 Гц с самое большее 3 дБ неравномерности в полосе пропускания и по меньшей мере 40 дБ ослабления в полосах остановки. Задайте частоту дискретизации 1 кГц. Установите ширину полосы стопора равную 50 Гц с обеих сторон полосы пропускания. Найдите порядок фильтра и частоты отключения.

Wp = [100 200]/500;
Ws = [50 250]/500;
Rp = 3;
Rs = 40;
[n,Wn] = buttord(Wp,Ws,Rp,Rs)
n = 8
Wn = 1×2

    0.1951    0.4080

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

[z,p,k] = butter(n,Wn);
sos = zp2sos(z,p,k);

freqz(sos,128,1000)
title(sprintf('n = %d Butterworth Bandpass Filter',n))

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

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

свернуть все

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

  • Если Wp и Ws являются и скалярами, и Wp <Ws, затем buttord возвращает порядок и частоту отключения lowpass. Диапазон остановок фильтра колеблется от Ws до 1, и ширина полосы пропускания колеблется от 0 до Wp.

  • Если Wp и Ws являются и скалярами, и Wp > Ws, затем buttord возвращает порядок и частоту отключения высокочастотного фильтра. Диапазон остановок фильтра колеблется от 0 до Ws ширина полосы пропускания варьируется от Wp по 1.

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

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

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

Примечание

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

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

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

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

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

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

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

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

свернуть все

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

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

Алгоритмы

buttordформула предсказания порядка действует в аналоговой области как для аналоговых, так и для цифровых случаев. Для цифрового случая он преобразует частотные параметры в s -область перед оценкой порядка и естественной частоты. Затем функция преобразуется назад в z -область.

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

Ссылки

[1] Рабинер, Лоуренс Р. и Бернард Голд. Теория и применение цифровой обработки сигналов. Englewood Cliffs, Нью-Джерси: Prentice Hall, 1975.

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

.

См. также

| | | |

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