exponenta event banner

buttord

Порядок и частота отсечки фильтра бабочки

Описание

пример

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

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

Примеры

свернуть все

Для данных, отобранных на частоте 1000 Гц, сконструировать фильтр нижних частот, имеющий не более 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 возвращает порядок и частоту отсечения фильтра нижних частот. Полоса останова фильтра находится в диапазоне от 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

Примечание

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

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

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

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

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

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

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

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

свернуть все

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

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

Алгоритмы

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

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

Ссылки

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

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

.

См. также

| | | |

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