Создание КИХ-фильтра линейной фазы наименьших квадратов с ограничениями lowpass и highpass
b = fircls1(n,wo,dp,ds)
b = fircls1(n,wo,dp,ds,'high')
b = fircls1(n,wo,dp,ds,wt)
b = fircls1(n,wo,dp,ds,wt,'high')
b = fircls1(n,wo,dp,ds,wp,ws,k)
b = fircls1(n,wo,dp,ds,wp,ws,k,'high')
b = fircls1(n,wo,dp,ds,...,'design_flag
')
b = fircls1(n,wo,dp,ds)
генерирует КИХ-фильтр lowpass b
, где n+1
длина фильтра, wo
нормированная частота среза в области значений между 0 и 1 (где 1 соответствует частоте Найквиста), dp
максимальное отклонение полосы пропускания от 1 (неравномерность в полосе пропускания) и ds
максимальное отклонение полосы задерживания от 0 (пульсация полосы задерживания).
b = fircls1(n,wo,dp,ds,'high')
генерирует highpass КИХ-фильтр b
. fircls1
всегда использует ровного порядка фильтра для highpass настройки. Это вызвано тем, что для нечетных порядков, частотная характеристика на частоте Найквиста обязательно 0. Если вы задаете n
с нечетным знаком,
fircls1
шаг это 1.
b = fircls1(n,wo,dp,ds,wt)
и
b = fircls1(n,wo,dp,ds,wt,'high')
задает частоту wt
выше которого (для wt
> wo
) или ниже который (для wt
< wo
) фильтр, как гарантируют, будет соответствовать данному критерию полосы. Это поможет вам спроектировать фильтр, который соответствует полосе пропускания или требованию ребра полосы задерживания. Существует четыре случая:
Lowpass:
0 <
wt
< wo
< 1 : амплитуда фильтра в
dp
из 1 по частотному диапазону 0
< ω < wt
.
0 <
wo
< wt
< 1 : амплитуда фильтра в
ds
из 0 по частотному диапазону wt
< ω < 1 .
Highpass:
0 <
wt
< wo
< 1 : амплитуда фильтра в
ds
из 0 по частотному диапазону 0
< ω < wt
.
0 <
wo
< wt
< 1 : амплитуда фильтра в
dp
из 1 по частотному диапазону wt
< ω < 1 .
b = fircls1(n,wo,dp,ds,wp,ws,k)
генерирует КИХ-фильтр lowpass b
со взвешенной функцией, где n+1
длина фильтра, wo
нормированная частота среза, dp
максимальное отклонение полосы пропускания от 1 (неравномерность в полосе пропускания) и ds
максимальное отклонение полосы задерживания от 0 (пульсация полосы задерживания). wp
ребро полосы пропускания функции веса L2 и ws
ребро полосы задерживания функции веса L2, где wp
< wo
< ws
K
отношение (полоса пропускания ошибка L2) / (полоса задерживания ошибка L2)
b = fircls1(n,wo,dp,ds,wp,ws,k,'high')
генерирует highpass КИХ-фильтр b
со взвешенной функцией, где ws
< wo
< wp
.
b = fircls1(n,wo,dp,ds,...,'
позволяет вам контролировать создание фильтра, где design_flag
')'
design_flag
'
может быть
'trace'
, для текстового отображения таблицы проекта, используемой в проекте
'plots'
, для графиков величины фильтра, групповой задержки, и нулей и полюсов. Все графики обновляются на каждом шаге итерации. О на графике является предполагаемым extremals новой итерации, и X предполагаемый extremals предыдущей итерации, где extremals являются peaks (максимум и минимум) пульсаций фильтра. Только пульсации, которые имеют соответствующий O и X, сделаны равными.
'both'
, и для текстового отображения и для графиков
Примечание
В проекте очень узкой полосы фильтрует с маленьким dp
и ds
, там может не существовать фильтр данной длины, которая выполняет техническим требованиям.
fircls1
использует итеративный алгоритм наименьших квадратов, чтобы получить equiripple ответ. Алгоритм является кратным обменный алгоритм, который использует множители Лагранжа и условия Куна-Такера на каждой итерации.
[1] Selesnick, я. W. М. Ленг и К. С. Беррус. “Ограниченный Проект Наименьшего квадрата КИХ-Фильтров без Заданных Полос Перехода”. Продолжения 1 995 Международных конференций по вопросам Акустики, Речи и Обработки сигналов. Издание 2, 1995, стр 1260–1263.
[2] Selesnick, я. W. М. Ленг и К. С. Беррус. “Ограниченный проект наименьшего квадрата КИХ-фильтров без заданных полос перехода”. IEEE® Транзакции на Обработке сигналов. Издание 44, Номер 8, 1996, стр 1879–1892.