CIC Interpolation
Интерполяция сигнала с помощью каскадного интегрально-гребенчатого фильтра.
Описание
Блок CIC Interpolation выполняет увеличение частоты дискретизации (интерполяцию) входного сигнала на целочисленный коэффициент. Каскадные интеграторно-гребенчатые КИХ-фильтры – это класс КИХ-фильтров с линейной фазой, состоящих из каскадно включенных гребенчатых фильтров и интеграторов.
Порты
Выход
#
OUT_1
—
интерполированный выходной сигнал
вектор
| матрица
Details
Интерполированный CIC-фильтром выходной сигнал, возвращаемый в виде вектора или матрицы. Тип данных на выходе определяется настройками параметров блока. Комплексность выходных данных соответствует комплексности входных.
Количество строк вывода равно ✕ , где – коэффициент интерполяции, а – количество строк ввода.
Типы данных |
|
Поддержка комплексных чисел |
Да |
Вход
#
IN_1
—
входной сигнал
вектор
| матрица
Details
Входной сигнал, заданный в виде вектора или матрицы.
Типы данных |
|
Поддержка комплексных чисел |
Да |
Параметры
Main
#
Coefficient source —
источник информации о фильтре
Dialog parameters
Details
Источник информации о фильтре, указанный как:
-
Dialog parameters
– ввод информации о фильтре в диалоговом окне блока через параметры Interpolation factor (R), Differential delay (M) и Number of sections (N).
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
# Interpolation factor (R) — коэффициент интерполяции
Details
Коэффициент интерполяции фильтра, заданный в виде целого числа больше 1
.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
# Differential delay (M) — дифференциальная задержка
Details
Дифференциальная задержка гребенчатых фильтров CIC-фильтра, , указанная как целое положительное число.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
# Number of sections (N) — количество секций фильтра
Details
Укажите количество секций фильтра. Указанное число определяет как количество секций в гребенчатом фильтре, так и количество интеграторов, но не эти значения вместе взятые.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
#
Data type specification mode —
метод задания длины слова и длины дробной части чисел с фиксированной точкой для секций фильтра и входного сигнала
Full precision
Details
Способ задания длины слова и длины дробной части чисел с фиксированной точкой для секций фильтра и/или выхода, указанный как:
-
Full precision
– длины слов и дробей секций фильтра и выхода выбираются автоматически. Длины слов выходного сигнала и последней секции (WL) устанавливаются как:
где
-
– длина слова входного сигнала;
-
– дифференциальная задержка;
-
– количество секций;
-
– коэффициент интерполяции.
Длины слов других секций устанавливаются с учетом роста битов, как описано в работе Хогенауэра. Длины всех дробный частей устанавливаются равной длине входной дроби.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
#
Input processing —
метод обработки входных данных
Columns as channels (frame based)
Details
Метод обработки входных данных, указанный как:
-
Columns as channels (frame based)
– блок рассматривает каждый столбец входного сигнала как отдельный канал. В этом режиме блок всегда выполняет односкоростную обработку.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
#
Rate options —
режим обработки сигнала
Enforce single-rate processing
Details
Режим обработки входного сигнала, указанный как:
-
Enforce single-rate processing
– блок сохраняет частоту дискретизации входного сигнала.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Дополнительно
CIC-фильтр
CIC-фильтры – это оптимизированный класс КИХ-фильтров с линейной фазой, состоящих из каскадно включенных гребенчатых фильтров и интеграторов.
Концептуально интерполяционный CIC-фильтр представляет собой элемент повышения частоты дискретизации, за которым следует CIC-фильтр, , который представляет собой реконструкционный фильтр низких частот и выполняет фильтрацию без изменения частоты дискретизации. Интерполяционный CIC-фильтр увеличивает частоту дискретизации входного сигнала на целочисленный коэффициент с помощью каскадного интеграторно-гребенчатого фильтра (CIC).
В более эффективной реализации CIC-фильтр, работающий без изменения частоты дискретизации , разлагается на множители таким образом:
где
-
– передаточная функция секций каскада гребенчатых фильтров, каждый из которых имеет ширину ;
-
– передаточная функция каскада из интеграторов;
-
– количество секций. Количество секций в CIC-фильтре определяется как количество секций в гребенчатом фильтре, так и количество интеграторов, но не эти значения вместе взятые. Это значение не отражает общее количество секций во всем фильтре;
-
– коэффициент интерполяции;
-
– дифференциальная задержка.
В алгоритме, обеспечивающем полную многоскоростную фильтрацию, учитываются два замечательных тождества для интерполяции, которые позволяют переместить операцию изменения частоты дискретизации R за каскад из N гребенчатых фильтров без искажения результата операции.
Передаточная функция результирующего фильтра задается следующим уравнением:
Блок-схему, показывающую многоскоростную реализацию, смотрите в разделе Алгоритмы.
Алгоритмы
Интерполяционный CIC-фильтр
Интерполяционный CIC-фильтр реализован в виде каскада из гребенчатых фильтров, за которыми следует элемент повышения частоты дискретизации сигнала в R раз, а затем каскад из N интеграторов.
На этой схеме показан каскад гребенчатых фильтров с двумя секциями и каскад интеграторов с двумя секциями. Единичная задержка в интеграторах CIC-фильтра может быть расположена как в цепи прямой, так и обратной связи. Эти две конфигурации обеспечивают идентичные частотные характеристики фильтра. Однако фактические числовые последовательности на выходе для этих двух вариантов конфигурации будут различными из-за влияния задержки. В этом алгоритме единичная задержка размещается в тракте прямой линии интегратора, поскольку такая конфигурация предпочтительна для HDL-реализации.
Ссылки
-
Hogenauer, E.B. "An Economical Class of Digital Filters for Decimation and Interpolation" IEEE Transactions on Acoustics, Speech and Signal Processing. Vol. 29, Number 2, 1981, pp. 155–162, 1981.
-
Meyer-Baese, U. "Digital Signal Processing with Field Programmable Gate Arrays." New York: Springer Verlag, 2001.
-
Harris, Fredric J., "Multirate Signal Processing for Communication Systems." Upper Saddle River, NJ: Prentice Hall PTR, 2004.