exponenta event banner

Оптимизированная децимация ЛПВП ЦВК

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

  • Библиотека:
  • Системная панель инструментов DSP Поддержка HDL/Фильтрация

  • CIC Decimation HDL Optimized block

Описание

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

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

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

Порты

Вход

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

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

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

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

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

Этот порт используется для динамического задания переменной скорости прореживания во время выполнения.

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

Зависимости

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

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

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

Зависимости

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

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

Продукция

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

Тип данных этого вывода можно определить путем установки параметра Тип данных вывода.

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

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

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

Параметры

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

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

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

Примечание

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

Укажите коэффициент прореживания, с которым требуется прореживать входные данные.

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

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

Укажите количество сечений в гребенчатой или интеграторной части блока.

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

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

  • Same word length as input - Выходной тип данных имеет длину слова, равную длине входного слова.

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

Укажите длину слова вывода.

Примечание

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

Зависимости

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

Выберите этот параметр для компенсации коэффициента усиления на выходе блока.

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

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

  • При сбросе этого параметра задержка блока составляет 3 + N тактовых циклов.

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

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

  • При сбросе этого параметра задержка блока составляет 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 тактовых циклов.

Примечание

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

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

Алгоритмы

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

Ссылки

[1] Хогенауэр, Е. «Экономичный класс цифровых фильтров для децимации и интерполяции». Транзакции IEEE по акустике, речи и обработке сигналов 29, № 2 (апрель 1981): 155-62. https://doi.org/10.1109/TASSP.1981.1163535.

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

.
Представлен в R2019b