КИХ линейной фазы наименьших квадратов фильтрует проект
b = firls(n,f,a)
b = firls(n,f,a,w)
b = firls(n,f,a,'ftype'
)
b = firls(n,f,a,w,'ftype'
)
firls
разрабатывает КИХ-фильтр линейной фазы, который минимизирует взвешенную, интегрированную квадратичную невязку между идеальной кусочной линейной функцией и ответом значения фильтра по набору желаемых диапазонов частот.
b = firls(n,f,a)
возвращает вектор - строку b
, содержащий коэффициенты n+1
порядка КИХ-фильтр n
, амплитудные частотой характеристики которого приблизительно совпадают с данными векторами f
и a
. Выходные коэффициенты фильтра или “касания”, в b
повинуются отношению симметрии.
Это тип I (нечетный n
) и тип II (n
даже) фильтры линейной фазы. Векторы f
и a
задают амплитудные частотой характеристики фильтра:
f
является вектором пар точек частоты, заданных в области значений между 0 и 1, где 1 соответствует частоте Найквиста. Частоты должны быть в увеличивающемся порядке. Дублирующиеся точки частоты позволены и, на самом деле, могут использоваться, чтобы разработать фильтр точно то же самое как возвращенные fir1
и функциями fir2
с прямоугольным окном (rectwin
).
a
является вектором, содержащим желаемую амплитуду в точках, заданных в f
.
Желаемая амплитудная функция на частотах между парами точек (f (k), f (k +1)) для нечетного k является линейным сегментом, соединяющим точки (f (k), a (k)) и (f (k +1), a (k +1)).
Желаемая амплитудная функция на частотах между парами точек (f (k), f (k +1)) для k даже не задана. Это переход, или “не заботятся” об областях.
f
и a
являются той же длиной. Эта длина должна быть четным числом.
firls
всегда использует даже порядок фильтра для настроек с полосой пропускания на частоте Найквиста. Это вызвано тем, что для нечетных порядков, частотная характеристика на частоте Найквиста обязательно 0. Если вы задаете n
с нечетным знаком, firls
постепенно увеличивает его 1.
Фигура ниже иллюстрирует отношение между f
и векторами a
в определении желаемого амплитудного ответа.
b = firls(n,f,a,w)
использует веса в векторном w
, чтобы взвесить подгонку в каждом диапазоне частот. Длина w
является половиной длины f
и a
, таким образом, существует точно один вес на полосу.
b = firls(n,f,a,
и'ftype'
)
b = firls(n,f,a,w,
задайте тип фильтра, где 'ftype'
)'ftype'
:
'hilbert'
для линейной фазы фильтрует с нечетной симметрией (тип III и IV типа). Выходные коэффициенты в b
повинуются отношению
Этот класс фильтров включает Гильбертов преобразователь, который имеет желаемую амплитуду 1 через целую полосу.
'differentiator'
для типа III и фильтров IV типа, с помощью специального метода взвешивания. Для ненулевых амплитудных полос интегрированная квадратичная невязка имеет вес (1/f) 2 так, чтобы ошибка в низких частотах была намного меньше, чем в высоких частотах. Для КИХ-дифференциаторов, которые имеют амплитудную характеристику, пропорциональную частоте, фильтры минимизируют интегрированную квадратичную невязку родственника (интеграл квадрата отношения ошибки к желаемой амплитуде).
Одно из следующих диагностических сообщений отображено, когда неправильный аргумент используется:
F must be even length. F and A must be equal lengths. Requires symmetry to be 'hilbert' or 'differentiator'. Requires one weight per band. Frequencies in F must be nondecreasing. Frequencies in F must be in range [0,1].
Более серьезное предупреждающее сообщение
Warning: Matrix is close to singular or badly scaled.
Это имеет тенденцию происходить, когда продукт длины фильтра и ширины перехода становится большим. В этом случае коэффициенты фильтра b не могут представлять желаемый фильтр. Можно проверять фильтр путем рассмотрения его частотной характеристики.
Ссылка [1] описывает теоретический подход позади firls
. Функция решает систему линейных уравнений, включающих матрицу скалярного произведения размера примерно n/2
с помощью оператора MATLAB® \
.
Эта функция разрабатывает тип I, II, III и фильтры линейной фазы IV. Тип I и II является значениями по умолчанию для n, четного и нечетного соответственно, в то время как 'hilbert'
и флаги 'differentiator'
производят тип III (n даже) и IV (n нечетный) фильтры. Различные типы фильтра имеют различные симметрии и ограничения на их частотные характеристики (см. [2] для деталей).
Линейный тип фильтра фазы | Отфильтруйте порядок | Симметрия коэффициентов | Ответ H (f), f = 0 | Ответ H (f), f = 1 (Найквист) |
---|---|---|---|---|
Тип I | Даже | Никакое ограничение | Никакое ограничение | |
Тип II | Нечетный | Никакое ограничение | H (1) = 0 | |
Тип III | Даже | H (0) = 0 | H (1) = 0 | |
Введите IV | Нечетный | H (0) = 0 | Никакое ограничение |
[1] Парки, Томас В. и К. Сидни Беррус. Создание цифровых фильтров. Нью-Йорк: John Wiley & Sons, 1987, стр 54–83.
[2] Оппенхейм, Алан V, Рональд В. Шафер и Джон Р. Бак. Обработка сигналов дискретного времени. Верхний Сэддл-Ривер, NJ: Prentice Hall, 1999.
fir1
| fir2
| firpm
| rcosdesign