Документация Engee

firpmord

Оценка оптимального порядка КИХ-фильтра методом Паркса-Макклеллана.

Библиотека

EngeeDSP

Синтаксис

Вызов функции

  • n, fo, ao, w = firpmord(f, a, dev) — возвращает приблизительный порядок n, нормированные границы полосы частот fo, амплитуды полосы частот ao и весовые коэффициенты w, которые соответствуют входным аргументам f, a, dev.

  • ___ = firpmord(___, fs) — также задается частота дискретизации fs. Значение fs по умолчанию равно 2 Гц, что соответствует частоте Найквиста 1 Гц. Вы можете указать границы полосы, масштабированные в соответствии с частотой дискретизации конкретного приложения. Этот синтаксис можно использовать с любым из предыдущих вариантов входных данных.

  • c = firpmord(___, "cell") — возвращает массив ячеек c, элементы которого являются параметрами функции firpm.

Аргументы

Входные аргументы

# f — границы частотного диапазона
вектор вещественных чисел

Details

Границы частотного диапазона, заданные как вектор вещественных чисел. Аргумент должен находиться в диапазоне , где — частота Найквиста. Количество элементов вектора всегда кратно 2. Частоты должны быть расположены в порядке возрастания.

# a — требуемые значения амплитуд
вектор

Details

Требуемые значения амплитуд в точках, содержащихся в f, заданные как вектор. Вектора f и a должны удовлетворять условию length(f)=2lenth(a)-2. Искомая функция является кусочно-постоянной.

# dev — максимально допустимое отклонение
вектор

Details

Максимально допустимое отклонение, заданное в виде вектора. Вектор dev имеет тот же размер, что и a. Он определяет максимально допустимое отклонение или пульсации между частотной характеристикой и требуемой амплитудой выходного фильтра для каждой полосы.

# fs — частота дискретизации
2 Hz (по умолчанию) | вещественный скаляр

Details

Частота дискретизации, заданная как вещественный скаляр.

Выходные аргументы

# n — порядок фильтра
положительное целое число

Details

Порядок фильтра, возвращаемый как положительное целое число.

# fo — нормированные значения частоты
вектор вещественных чисел

Details

Нормированные значения частоты, возвращаемые как вектор вещественных чисел. Аргумент должен находиться в диапазоне [0, 1], где 1 соответствует частоте Найквиста. Количество элементов вектора всегда кратно 2. Частоты должны быть расположены в порядке возрастания.

# ao — амплитудная характеристика
вектор вещественных чисел

Details

Амплитудная характеристика, возвращаемая как вектор вещественных чисел.

# w — весовые коэффициенты
вектор вещественных чисел

Details

Весовые коэффициенты, используемые для настройки аппроксимации в каждой полосе частот, возвращаемые как вектор вещественных чисел. Длина вектора w составляет половину длины f и a, поэтому на каждую полосу приходится ровно одно значение весового коэффициента.

# c — параметры КИХ-фильтра
массив ячеек

Details

Параметры КИХ-фильтра, возвращаемые как массив ячеек.

Алгоритмы

Функция firpmord использует алгоритм, предложенный в [1]. Эта функция дает неточные результаты для значений границ полосы, близких либо к 0, либо к частоте Найквиста, fs/2.

В некоторых случаях firpmord занижает или завышает порядок n. Если фильтр не соответствует требованиям, попробуйте более высокий порядок, например, n+1 или n+2.

Литература

  1. Rabiner, Lawrence R., and Otto Herrmann. “The Predictability of Certain Optimum Finite-Impulse-Response Digital Filters.” IEEE® Transactions on Circuit Theory. Vol. 20, Number 4, 1973, pp. 401–408.

  2. Rabiner, Lawrence R., and Bernard Gold. Theory and Application of Digital Signal Processing. Englewood Cliffs, NJ: Prentice-Hall, 1975, pp. 156–157.