Создание многополосного КИХ-фильтра наименьших квадратов с ограничениями
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
и, &
:
f
вектор из частот перехода в диапазоне от 0 до 1, где 1 соответствует частоте Найквиста. Первая точка f
должен быть 0
и последняя точка 1
. Точки частоты должны быть в увеличивающемся порядке.
amp
вектор, описывающий кусочно-постоянную желаемую амплитуду частотной характеристики. Длина amp
равно количеству полос в ответе и должен быть равен length(f)-1
.
up
и lo
векторы с той же длиной как amp
. Они задают верхние и нижние границы для частотной характеристики в каждой полосе.
fircls
всегда использует ровного порядка фильтра для настроек с полосой пропускания на частоте Найквиста (то есть, highpass и заграждающие фильтры). Это вызвано тем, что для нечетных порядков, частотная характеристика на частоте Найквиста обязательно 0. Если вы задаете n
с нечетным знаком,
fircls
шаг это 1.
fircls(n,f,amp,up,lo,'
позволяет вам контролировать создание фильтра, где design_flag
')'
design_flag
'
может быть
'trace'
, для текстового отображения ошибки проектирования на каждом шаге итерации.
'plots'
, для набора графиков, показывающих ответ величины полной полосы фильтра и масштабируемое представление ответа величины в каждом поддиапазоне. Все графики обновляются на каждом шаге итерации. О на графике является предполагаемым extremals новой итерации, и X предполагаемый extremals предыдущей итерации, где extremals являются peaks (максимум и минимум) пульсаций фильтра. Только пульсации, которые имеют соответствующий O и X, сделаны равными.
'both'
, и для текстового отображения и для графиков.
Примечание
Обычно, нижнее значение в полосе задерживания будет задано как отрицательное. Установкой lo
равняйтесь 0
в полосах задерживания может быть получена неотрицательная амплитуда частотной характеристики. Такие фильтры могут быть спектрально учтены, чтобы получить минимальные фильтры фазы.
fircls
использует итеративный алгоритм наименьших квадратов, чтобы получить equiripple ответ. Алгоритм является кратным обменный алгоритм, который использует множители Лагранжа и условия Куна-Такера на каждой итерации.
[1] Selesnick, я. W. М. Ленг и К. С. Беррус. “Ограниченный Проект Наименьшего квадрата КИХ-Фильтров без Заданных Полос Перехода”. Продолжения 1 995 Международных конференций по вопросам Акустики, Речи и Обработки сигналов. Издание 2, 1995, стр 1260–1263.
[2] Selesnick, я. W. М. Ленг и К. С. Беррус. “Ограниченный проект наименьшего квадрата КИХ-фильтров без заданных полос перехода”. IEEE® Транзакции на Обработке сигналов. Издание 44, Номер 8, 1996, стр 1879–1892.