КИХ линейной фазы наименьших квадратов фильтрует проект
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