Фильтр Фарроу цифровой передискретизации сигналов на основе сплайн-интерполяции
![]() DSPL-2.0 — свободная библиотека алгоритмов цифровой обработки сигналов Распространяется под лицензией LGPL v3
Страница проекта на SourceForge
|
В предыдущем разделе мы рассмотрели цифровые передискретизаторы на основе кусочно-полиномиальной интерполяции Лагранжа. Было получено выражение для коэффициентов полинома в виде:




В результате минимизации умножителей были получены выражения
для коэффициентов кубического полинома :


на основе кусочно-кубической полиномиальной интерполяции
Данная структура позволяет рассчитывает коэффициенты интерполяционного
полинома Лагранжа с использованием всего одного умножителя
на и двух тривиальных
умножителей на
.
Также мы детально рассмотрели примеры использования фильтра Фарроу для задач цифровой передискретизации сигналов, включая цифровую компенсацию дробной задержки и интерполяции сигналов.
При рассмотрении примеров мы упомянули,
что импульсная характеристика
фильтра Фарроу при цифровой интерполяции
сигналов
не имеет непрерывной производной в узлах интерполяции.
Как следствие, уровень подавления в полосе заграждения
полученного фильтра составляет всего 29 дБ,
как это показано на рисунке 2.

Помимо интерполяции Лагранжа существуют и другие методы кусочно-полиномиальной интерполяции, например сплайн-интерполяция [1, стр. 126], которая обеспечивает непрерывные производные в узлах интерполяции, в отличие от полиномиальной интерполяции Лагранжа.
В данном разделе мы рассмотрим построение фильтра Фарроу на основе сплайнов Эрмита [1].
При построении кубического полинома Лагранжа используется
четыре отсчета сигнала и полученный
интерполяционный полином
проходит через эти узлы,
как это показано на рисунке 3а.

а — кубический полином Лагранжа
б — кубический сплайн Эрмита
Однако такое построение полинома не накладывает ограничений
на значения производных в крайних точках и
.
В результате возникают разрывы производной импульсной
характеристики фильтра интерполятора, как это показано на рисунке 2.
Для обеспечения непрерывности производной при «стыковке»
кубических полиномов мы будем использовать кубический сплайн Эрмита,
который строится в интервале ,
как это показано на рисунке 3б.
Расчет коэффициентов сплайна Эрмита мы будем вести путем решения системы линейных уравнений. Из рисунка 3б следует два уравнения системы:

Необходимо добавить еще два уравнения в систему (3).
Для этого потребуем, чтобы производные сплайна Эрмита
в узлах
и
были равны производным входного сигнала
в этих точках, т.е.







Таким образом, мы получили выражения для коэффициентов
кубического сплайна Эрмита.
При этом коэффициенты зависят от значений производных сигнала и
, которые мы должны оценить исходя из отсчетов входного сигнала.
Задача численного дифференцирования дискретно заданных сигналов решается при использовании аппроксимации производной сигнала конечными разностями [2]. Наиболее простой аппроксимацией производной является конечная разность вида:


Более точными методами оценки производной является метод центральной разности:



При этом центральная разность (10) требует дополнительного умножения на , которое можно реализовать
в целочисленной арифметике как сдвиг на один разряд вправо.
Таким образом, мы можем использовать оценку производной (10) в выражении (8) для расчета коэффициентов сплайна Эрмита и обеспечить непрерывность производной на выходе фильтра цифровой передискретизации.
Подставим (10) в (8) и получим выражения для коэффициентов сплайна Эрмита в виде:










Структурная схема оптимизированного фильтра цифровой передискретизации на основе кубических сплайнов Эрмита показана на рисунке 4.

Сравнивая рисунки 1 и 4, можно заметить, что оптимизированный фильтр
цифровой передискретизации на основе кубических сплайнов Эрмита требует
всего лишь одного тривиального умножения на
(умножение на 2 можно заменить одним сумматором),
в то время как фильтр на основе полиномиальной интерполяции Лагранжа
требует два тривиальных умножения на
и один умножитель
на
.
Общее количество сумматоров, требуемых для расчета коэффициентов,
также меньше при использовании кубических сплайнов Эрмита.
В данном разделе рассмотрена структура фильтра Фарроу цифровой передискретизации сигналов на основе кубических сплайнов Эрмита. Также рассмотрен вопрос оценки значений производной входного сигнала для обеспечения непрерывной производной при использовании кубических сплайнов Эрмита.
Полученный фильтр цифровой передискретизации требует
только одного умножения на ,
которое можно считать тривиальным.
Общее количество сумматоров, требуемых для расчета
коэффициентов полинома, также меньше при использовании
кубических сплайнов Эрмита по сравнению
с полиномиальной интерполяцией Лагранжа.
В следующем разделе мы рассмотрим примеры использования фильтра Фарроу цифровой передискретизации сигналов на основе кубических сплайнов Эрмита и сравним результаты использования с фильтром передискретизации сигналов на основе полиномиальной интерполяции Лагранжа.