CIC Decimation HDL Optimized

Десятикратно уменьшите сигнал с помощью каскадного интегрально-гребенчатого фильтра, оптимизированного для генерации HDL-кода

  • Библиотека:
  • Поддержка HDL DSP System Toolbox / фильтрация

  • CIC Decimation HDL Optimized block

Описание

Блок CIC Decimation HDL Optimized десятикратно уменьшает входной сигнал при помощи децимирующего фильтра каскадной расчески интегратора (CIC). Децимирующие фильтры CIC являются классом КИХ-фильтров линейной фазы, состоящих из части расчески и части интегратора. Структура децимирующего фильтра CIC состоит из разделов N каскадных интеграторов, фактора изменения уровня R и разделов N каскадных гребенчатых фильтров. Для получения дополнительной информации о децимирующих фильтрах CIC, см. Алгоритмы.

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

Блок обеспечивает архитектуру, подходящую для аппаратного развертывания и генерации HDL-кода.

Порты

Входной параметр

развернуть все

Задайте входные данные как скаляр или вектор-столбец длины 1 - 64. Входные данные должны быть целым числом со знаком или подписанной фиксированной точкой с размером слова, меньше чем или равным 32. параметр Decimation factor (R) должен быть целочисленным кратным размер входного кадра.

Типы данных: int8 | int16 | int32 | fixed point
Поддержка комплексного числа: Да

Этот порт является управляющим сигналом, который указывает, допустимы ли входные данные. Когда этим значением является 1, блок получает значения от входного порта data. Когда этим значением является 0, блок игнорирует значения от входного порта data.

Типы данных: Boolean

Используйте этот порт, чтобы динамически задать переменный уровень децимации в течение времени выполнения.

Это значение должно иметь тип данных ufix12 и целое число в диапазоне от 2 до значения параметров Decimation factor (R).

Зависимости

Чтобы включить этот порт, выберите параметр Variable decimation.

Типы данных: fixdt(0,12,0)

Когда этим значением является 1, блок останавливает текущее вычисление и очищает все внутренние состояния. Когда этим значением является 0 и портом входа valid является 1, блок запускает новую операцию фильтрации.

Зависимости

Чтобы включить этот порт, выберите параметр Enable reset input port.

Типы данных: Boolean

Вывод

развернуть все

Можно задать тип данных этого выхода путем установки параметра Output data type.

Типы данных: int8 | int16 | int32 | fixed point
Поддержка комплексного числа: Да

Этот порт является управляющим сигналом, который указывает, допустимы ли данные из выходного порта data. Когда этим значением является 1, блок возвращает допустимые данные по выходному порту data. Когда этим значением является 0, значения на выходном порте data не допустимы.

Типы данных: Boolean

Параметры

развернуть все

  • Выберите этот параметр, чтобы управлять блоком с переменным уровнем децимации, заданным от входного порта decimFactor.

  • Очистите этот параметр, чтобы управлять блоком с фиксируемой ставкой децимации, заданной от параметра Decimation factor (R).

Примечание

Для векторных входных параметров блок не поддерживает переменную децимацию.

Задайте уровень фактора децимации, с которым вы хотите десятикратно уменьшить вход.

Когда вы выбираете параметр Variable decimation, наборы параметров Decimation factor (R) верхняя граница области значений допустимых значений для входного порта decimFactor.

Задайте дифференциальную задержку части расчески блока.

Задайте количество разделов или в части расчески или в части интегратора блока.

Выберите тип данных для выходных данных.

  • Full precision — Тип выходных данных перебрасывается парой слов длина, равная входному размеру слова плюс биты усиления.

  • Same word length as input — Тип выходных данных перебрасывается парой слов длина, равная входному размеру слова.

  • Minimum section word lengths — Тип выходных данных использует размер слова, который вы задаете в параметре Output word length. Когда вы выбираете эту опцию, блок применяет алгоритм Сокращения. Для получения дополнительной информации об алгоритме Сокращения, см. [1]. Эта опция не поддерживается, когда вы выбираете параметр Variable decimation.

Задайте размер слова выхода.

Примечание

Когда этим значением является 2, 3, 4, 5, или 6, блок может переполнить выходных данных.

Зависимости

Чтобы включить этот параметр, установите параметр Output data type на Minimum section word lengths.

Выберите этот параметр, чтобы компенсировать выходное усиление блока.

В зависимости от типа входа децимация вы задаете, и значение этого параметра, задержка изменений блока. Здесь, N означает количество разделов, и vecLen означает длину вектора.

Для скалярного входа с фиксированной децимацией (параметр Variable decimation очищен):

  • Когда вы очищаете этот параметр, задержка блока равняется 3 + такты N.

  • Когда вы выбираете этот параметр, задержка блока равняется 3 + N + 9 тактов.

Для скалярного входа с переменной децимацией (параметр Variable decimation выбран):

  • Когда вы очищаете этот параметр, задержка блока равняется 4 + такты N.

  • Когда вы выбираете этот параметр, задержка блока равняется 4 + N + 9 тактов.

Для векторного входа с фиксированной децимацией (параметр Variable decimation очищен):

  • Когда вы очищаете этот параметр, задержкой блока является floor((vecLen – 1) * (N/vecLen)) + 1 + N + (2 + (vecLen + 1) * такты N.

  • Когда вы выбираете этот параметр, задержкой блока является floor((vecLen – 1) * (N/vecLen)) + 1 + N + (2 + (vecLen + 1) * N) + 9 тактов.

Примечание

Для векторных входных параметров блок не поддерживает переменную децимацию.

Выберите этот параметр, чтобы включить входной порт reset.

Алгоритмы

развернуть все

Ссылки

[1] Hogenauer, E. “Экономичный Класс Цифровых фильтров для Децимации и Интерполяции”. Транзакции IEEE на Акустике, Речи и Обработке сигналов 29, № 2 (апрель 1981): 155–62. https://doi.org/10.1109/TASSP.1981.1163535.

Расширенные возможности

Введенный в R2019b