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 в радианах в секунду. Полоса пропускания или полоса задерживания могут быть бесконечными.

Примеры

свернуть все

Для данных, произведенных на уровне 1 000 Гц, спроектируйте фильтр 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 objects. Axes object 1 with title n = 5 Butterworth Lowpass Filter contains an object of type line. Axes object 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 objects. Axes object 1 with title n = 8 Butterworth Bandpass Filter contains an object of type line. Axes object 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 возвращает порядок и частоту среза фильтра highpass. Полоса задерживания фильтра лежит в диапазоне от 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 выполнить спецификации полосы задерживания.

Ссылки

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

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

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

| | | |

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