designMultirateFIR

Многоскоростное КИХ-создание фильтра

Описание

пример

B = designMultirateFIR(L,M) проектирует многоскоростной КИХ-фильтр с коэффициентом интерполяции L и фактор децимации M. Выход B вектор спроектированных КИХ-коэффициентов. Чтобы спроектировать чистый интерполятор, установите M на 1. Чтобы спроектировать чистый decimator, установите L на 1.

пример

B = designMultirateFIR(L,M,P) проектирует многоскоростной КИХ-фильтр с полумногофазной длиной P. По умолчанию полумногофазной длиной является 12.

пример

B = designMultirateFIR(L,M,P,Astop) проектирует многоскоростной КИХ-фильтр с затуханием в полосе задерживания Astop. По умолчанию затухание в полосе задерживания составляет 80 дБ.

Примеры

свернуть все

Спроектировать КИХ-Интерполятор с помощью designMultirateFIR функция, необходимо задать коэффициент интерполяции интереса (обычно больше, чем 1) и фактор децимации, равный 1. Можно использовать полумногофазную длину по умолчанию 12 и затухание в полосе задерживания по умолчанию 80 дБ. Поочередно, можно также задать полумногофазную длину и значения затухания в полосе задерживания.

Спроектируйте КИХ-интерполятор с набором коэффициента интерполяции к 5. Используйте полумногофазную длину по умолчанию 12 и затухание в полосе задерживания по умолчанию 80 дБ.

b = designMultirateFIR(5,1);
fvtool(b,'impulse')

Спроектировать КИХ Decimator использование designMultirateFIR функция, необходимо задать фактор децимации интереса (обычно больше, чем 1) и коэффициент интерполяции, равный 1. Можно использовать полумногофазную длину по умолчанию 12 и затухание в полосе задерживания по умолчанию 80 дБ. Поочередно, можно также задать полумногофазную длину и значения затухания в полосе задерживания. Спроектируйте КИХ decimator с набором фактора децимации к 3 и полумногофазным набором длины к 14. Используйте затухание в полосе задерживания по умолчанию 80 дБ.

b = designMultirateFIR(1,3,14);
fvtool(b,'impulse');

Спроектировать КИХ-Конвертер Уровня с помощью designMultirateFIR функция, необходимо задать коэффициент интерполяции и фактор децимации интереса (обычно больше, чем 1). Можно использовать полумногофазную длину по умолчанию 12 и затухание в полосе задерживания по умолчанию 80 дБ. Поочередно, можно также задать полумногофазную длину и значения затухания в полосе задерживания.

Спроектируйте КИХ-конвертер уровня с набором коэффициента интерполяции к 3, набором фактора децимации к 4, полумногофазным набором длины к 14 и набором затухания в полосе задерживания к 90 дБ.

b = designMultirateFIR(3,4,14,90);
fvtool(b,'impulse');

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

свернуть все

Коэффициент интерполяции, заданный как положительное скалярное целое число. Чтобы спроектировать decimator только, установите L на 1.

Пример 2

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

Фактор децимации, заданный как положительное скалярное целое число. Чтобы спроектировать интерполятор только, установите M на 1.

Пример 2

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

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

Пример: 12

Пример: 20

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

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

Пример: 0.0

Пример: 80.5

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

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

свернуть все

Многоскоростные КИХ-коэффициенты фильтра, возвращенные как N с действительным знаком - вектор длины.

Если и L и M равны 1, то N равняется 1.

Если max(L,M) > 1, затем N = 2*P*R, где P является полумногофазной длиной и R, задан следующими уравнениями:

  • Если L> 1, R = L.

  • Если L = 1, R = M.

Для получения дополнительной информации смотрите раздел Algorithms.

Алгоритмы

designMultirateFIR проектирует (N – 1) th порядок, R th полоса КИХ-фильтр Найквиста с помощью N - вектор окна Кайзера длины к окну усеченная импульсная характеристика КИХ-фильтра.

Отфильтруйте длину, N задан как N = 2*P*R, и R задан, как объяснено в B.

Усеченная импульсная характеристика d (n) задерживается выборками N/2, чтобы сделать его причинным. Усеченной и задержанной импульсной характеристикой дают:

d(nN/2)=sin(wc(nN/2))π(nN/2),n=0,,N2,,N

где wc=π/R.

Для каждого R th полоса, импульсная характеристика фильтров Найквиста является точно нулевой. Из-за этого свойства, когда фильтры Найквиста используются в чистой интерполяции, входные выборки остаются неизменными после интерполяции.

Окно Кайзера используется из-за его почти оптимальной производительности при обеспечении устойчивого способа спроектировать фильтр Найквиста. Окно зависит от двух параметров: длина N + 1 и параметр формы β.

Окно Кайзера задано:

w(n)=I0(β1(nN/2N/2)2)I0(β),  0nN,

то, где I0 является нулевым порядком, изменило Функцию Бесселя первого вида.

Параметр формы β вычисляется от:

β={0.1102(Astop8.7)если Astop500.5842(Astop  21)0.4+0.07886(Astop  21)если 21<Astop<500если Astop21,

где Astop является затуханием в полосе задерживания в дБ.

Оконной импульсной характеристикой дают

h(n)=w(n)d(nN/2)=w(n)sin(wc(nN/2))π(nN/2),n=0,,N2,,N

h (n) для n = 0.., N/2... N являются коэффициентами многоскоростного фильтра. Эти коэффициенты заданы коэффициентом интерполяции, L, и фактором децимации, M.

Ссылки

[1] Orfanidis, Софокл Дж. Введение в обработку сигналов. Верхний Сэддл-Ривер, NJ: Prentice Hall, 1996.

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

Введенный в R2016a