Создание многополосного КИХ-фильтра наименьших квадратов с ограничениями
b = fircls(n,f,amp,up,lo)
fircls(n,f,amp,up,lo,'design_flag
')
b = fircls(n,f,amp,up,lo)
генерирует n+1 длины
КИХ-фильтр линейной фазы b
. Характеристики частота-амплитуда этого фильтра совпадают с характеристиками, заданными векторами f
и amp
:
f
является вектором переходных частот в области значений от 0 до 1, где 1 соответствует частоте Найквиста. Первая точка f
должен быть 0
и последняя точка 1
. Частотные точки должны быть в порядке возрастания.
amp
- вектор, описывающий кусочно-постоянную желаемую амплитуду частотной характеристики. Длина amp
равен количеству полос в отклике и должен быть равен length(f)-1
.
up
и lo
являются векторами с той же длиной, что и amp
. Они определяют верхнюю и нижнюю границы для частотной характеристики в каждой полосе.
fircls
всегда использует четный порядок фильтра для строений с полосой пропускания на частоте Nyquist (то есть фильтры highpass и bandstop). Это потому, что для нечетных порядков частотная характеристика на частоте Найквиста обязательно равна 0. Если вы задаете нечетное n
, fircls
увеличивает его на 1.
fircls(n,f,amp,up,lo,'
позволяет контролировать создание фильтра, где design_flag
')'
design_flag
'
может быть
'trace'
, для текстового отображения ошибки проектирования на каждом шаге итерации.
'plots'
для набора графиков, показывающих полнополосную величину характеристику фильтра и увеличенное представление величины характеристики в каждой поддиапазоне. Все графики обновляются на каждом шаге итерации. O на графике являются предполагаемыми экстремалами новой итерации, а X являются предполагаемыми экстремалами предыдущей итерации, где экстремалы являются peaks (максимальными и минимальными) пульсаций фильтра. Только рябь, которая имеет соответствующие O и X, сделаны равными.
'both'
, как для текстового отображения, так и для графиков.
Примечание
Обычно меньшее значение в полосе остановки будет задано как отрицательное. Путем настройки lo
равно 0
в стоповых полосах может быть получена неотрицательная амплитуда частотной характеристики. Такие фильтры могут быть спектрально факторизованы, чтобы получить минимальные фазовые фильтры.
fircls
использует итерационный алгоритм наименьших квадратов, чтобы получить ответ equiripple. Алгоритм является алгоритмом множественного обмена, который использует множители Лагранжа и условия Куна-Такера на каждой итерации.
[1] Selesnick, I. W., M. Lang, and C. S. Burrus. «Ограниченный Проект методом наименьших квадратов из конечной импульсной характеристики фильтров без заданных Полос перехода». Материалы Международной конференции по акустике, речи и обработке сигналов 1995 года. Том 2, 1995, стр. 1260-1263.
[2] Selesnick, I. W., M. Lang, and C. S. Burrus. «Ограниченный Проект методом наименьших квадратов из конечной импульсной характеристики фильтров без заданных Полос перехода». IEEE® Транзакции по обработке сигналов. Том 44, № 8, 1996, стр. 1879-1892.