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

intfilt

Страница в процессе разработки.

Расчет интерполяционного КИХ-фильтра.

Библиотека

EngeeDSP

Синтаксис

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

  • b = intfilt(l, p, alpha) — проектирует КИХ-фильтр с линейной фазовой характеристикой, который выполняет идеальную интерполяцию с ограниченной полосой пропускания, используя ближайшие p ненулевых отсчетов в последовательности, перемежаемой l последовательными нулями каждые l отсчетов, предполагая, что исходная полоса ограничена величиной alpha, умноженной на частоту Найквиста. Возвращаемый фильтр b идентичен фильтру, используемому в interp.

  • b = intfilt(l, n, "Lagrange") — проектирует КИХ-фильтр, который выполняет интерполяцию полиномом Лагранжа n-го порядка для последовательности, перемежаемой l последовательными нулями каждые l отсчетов.

Аргументы

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

# l — количество отсчетов
вещественное число

Details

Количество отсчетов, заданное как целочисленный положительный скаляр. Функция intfilt проектирует КИХ-фильтр с линейной фазовой характеристикой, используя последовательность, перемежаемую с l последовательными нулями каждые l отсчетов.

Типы данных

Real

# p — количество ненулевых отсчетов
вещественное число

Details

Количество ненулевых отсчетов, заданное как целочисленный положительный скаляр. Функция intfilt проектирует КИХ-фильтр с линейной фазовой характеристикой, который выполняет интерполяцию в пределах полосы пропускания, используя ближайшие p ненулевых отсчетов.

Типы данных

Real

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

Details

Обратная величина ширины полосы пропускания перехода, заданная как скаляр. Значение alpha обратно пропорциональна полосе пропускания фильтра и также влияет на пропускную способность не представляющих интереса областей в полосе затухания. Значение alpha позволяет указать, сколько интервала Найквиста входного сигнала занимает, какую часть интервала Найквиста занимает входной сигнал. Это полезно для интерполяции сигналов, поскольку позволяет увеличить полосу пропускания перехода, не влияя на интерполяцию, и приводит к лучшему затуханию в полосе задержания для заданных l и p. Если вы установите значение alpha равным 1, то предполагается, что сигнал занимает весь интервал Найквиста. Установка для alpha значения меньше 1 допускает наличие не представляющих интереса областей в полосе задерживания. Например, если входной сигнал занимает половину интервала Найквиста, то можно установить для alpha значение 0.5.

Типы данных

Real

# n — порядок полинома Лагранжа
вещественное число

Details

Порядок полинома Лагранжа, заданный как целый положительный скаляр. КИХ-фильтр выполняет интерполяцию полиномом Лагранжа n-го порядка для последовательности, перемежаемой l последовательными нулями каждые l отсчетов. Если n и l четные, то разработанный фильтр не обладает линейной фазовой характеристикой.

Типы данных

Real

# "Lagrange" — интерполяция полиномом Лагранжа
строка

Details

Опция, означающая интерполяцию полиномом Лагранжа.

Типы данных

String

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

# b — коэффициенты фильтра
вектор

Details

Коэффициенты фильтра, возвращаемые в виде вектора. Элементы вектора b являются коэффициентами КИХ-фильтра. Если указано значение alpha, то предполагается, исходная полоса ограничена величиной alpha, умноженной на частоту Найквиста. Длина вектора b равна l p .

При интерполяции полиномом Лагранжа n-го порядка, вектор b имеет длину n l, если n четное, и длину n l , если n нечетное.

Типы данных

Float64

Дополнительно

Алгоритмы

Details

Метод с ограниченной полосой пропускания использует firls для построения интерполяционного КИХ-фильтра. Полиномиальный метод использует формулу интерполяции полиномов Лагранжа для равноотстоящих отсчетов для построения подходящего фильтра. Оба типа фильтров, по сути, являются фильтрами нижних частот с коэффициентом усиления l в полосе пропускания.

Литература

  1. Lyons, Richard G. Understanding Digital Signal Processing. Upper Saddle River, NJ: Prentice Hall, 2004.