Discrete FIR Filter HDL
Фильтр с конечной импульсной характеристикой.
Тип: HDLDiscreteFIRFilter
Путь в библиотеке:
|
Описание
Блок Discrete FIR Filter HDL моделирует архитектуры фильтров с конечно-импульсной характеристикой, оптимизированные для генерации HDL-кода. Блок принимает скалярный или фреймовый ввод данных, поддерживает мультканальный ввод. Блок обеспечивает удобный для аппаратного обеспечения интерфейс с входными и выходными управляющими сигналами.
Блок предоставляет полностью параллельную реализацию фильтрации, подходящую для приложений FPGA и ASIC (режим Direct form transposed).
Порты
Вход
#
data
—
входные данные
скаляр | вектор-столбец | вектор-строка
Details
Входные данные, заданные как скаляр, вектора-столбец или вектора-строка вещественных или комплексных значений.
Можно использовать вектор-строку [c1 c2 c3] для представления входных выборок для нескольких каналов в одном цикле, или можно предоставить скалярные мультканальные данные с чередованием каналов: выборка данных c1 в цикле 1, выборка данных c2 в цикле 2, выборка данных c3 в цикле 3. Каналы могут иметь независимые коэффициенты фильтра.
Фреймовый ввод (векторов-столбец) не поддерживается для мультканальных коэффициентов. Для реализации высокопроизводительного мультканального фильтра можно использовать блок Повторение для каждого, чтобы реализовать высокопроизводительный фильтр для каждого канала.
Размер вектора-строки или вектора-столбца должен быть меньше или равен 64 элементам. Чтобы реализовать мультканальный фильтр с более чем 64 каналами, необходимо использовать скалярный ввод с чередованием.
Если входные данные имеют целочисленный тип или тип с фиксированной точкой, блок использует арифметику с фиксированной точкой для внутренних вычислений и предоставляет параметры на вкладке Data Types для настройки типов данных. Если входные данные имеют тип с плавающей точкой, блок использует данный тип входных данных с плавающей точкой для внутренних вычислений и выходных данных.
Программное обеспечение поддерживает типы данных Float64 и Float32 для моделирования, но не для генерации HDL-кода.
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
#
valid
—
указывает на корректность входных данных
скаляр
Details
Управляющий сигнал, указывающий на корректность входных данных. Если значение порта valid равно 1 (true), блок получает значения из порта входных данных data. Если значение порта valid равно 0 (false), блок игнорирует значения из порта data.
| Типы данных |
|
| Поддержка комплексных чисел |
Нет |
Выход
#
data
—
отфильтрованные выходные данные
скаляр | вектор-столбец | вектор-строка
Details
Отфильтрованные выходные данные, возвращаемые в виде скаляра, вектора-столбца или вектора-строки вещественных или комплексных значений. Размеры выходных данных соответствуют размерам входных данных. Если входные данные имеют тип с плавающей точкой, выходные данные наследуют тип входных данных. Если входные данные имеют целочисленный тип или тип с фиксированной точкой, параметр Output на вкладке Data Types управляет типом выходных данных.
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
#
valid
—
указывает на корректность выходных данных
скаляр
Details
Управляющий сигнал, указывающий на корректность выходных данных порта data. Если значение порта valid равно 1 (true), блок возвращает корректные данные из выходного порта data. Если значение порта valid равно 0 (false), значения из выходного порта data некорректны.
| Типы данных |
|
| Поддержка комплексных чисел |
Нет |
Параметры
Filter parameters
#
Coefficient source —
источник коэффициентов фильтра
Property
Details
Вы можете установить постоянные коэффициенты фильтра в виде параметра (скаляр, вектор или матрица чисел).
| Значения |
|
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Нет |
# Coefficients — коэффициенты дискретного КИХ-фильтра
Details
Коэффициенты дискретного КИХ-фильтра, заданные как вектор-строка вещественных или комплексных значений. Мультканальные коэффициенты можно задать с помощью матрицы размером на вещественных или комплексных значений, где — количество каналов, а — длина фильтра. Для оптимизации симметрии, характеристики симметрии всех каналов должны быть согласованы. Например, если один канал имеет четную симметрию, все каналы должны быть четно-симметричными.
Вы также можете указать коэффициенты как переменную рабочей области или как вызов функции проектирования фильтра. Если типом входных данных является число с плавающей точкой, блок приводит коэффициенты к тому же типу данных, что и входные данные. Если типом входных данных является целое число или число с фиксированной точкой, тип данных для коэффициентов можно задать на вкладке Data Types.
Зависимости
Чтобы использовать этот параметр, установите для параметра Coefficient source значение Property.
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Да |
#
Filter structure —
архитектура HDL-фильтра
Direct form transposed
Details
Укажите архитектуру HDL-фильтра как одну из следующих структур:
-
Direct form transposed— эта архитектура представляет собой полностью параллельную реализацию, подходящую для приложений FPGA и ASIC. При указании мультканальных коэффициентов в этой архитектуре (с чередующимися входными выборками) блок чередует коэффициенты каналов с помощью одного параллельного фильтра.
Если какой-либо фильтр симметричен, архитектура использует множители для согласования коэффициентов, поэтому фактически становится равным . Для оптимизации симметрии мультканальных фильтров, характеристики симметрии всех каналов должны быть согласованы.
| Значения |
|
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Нет |
Fixed-point operational parameters
#
Rounding mode —
режим округления для приведения выходных данных к выбранному типу данных
Zero
Details
Режим округления для приведения выходных данных к типу данных, указанному в параметре Output. Если входные данные имеют тип с плавающей точкой, блок игнорирует этот параметр. Вы можете выбрать:
-
Zero— округляет число в сторону нуля.
| Значения |
|
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Нет |
Floating-point inheritance takes precedence over the data type settings in this section. When the block input is floating point, all block data types match the input.
#
Coefficients —
тип данных коэффициентов дискретного КИХ-фильтра
Same word length as input | Fixed-point
Details
Если входные данные имеют тип с фиксированной точкой или целочисленный тип, блок преобразует коэффициенты фильтра, используя правило или тип данных, заданные в этом параметре. Квантование округляется до ближайшего представимого значения и достигает насыщения при переполнении. Если входные данные имеют тип с плавающей точкой, блок игнорирует этот параметр, и все внутренние арифметические операции используют тот же тип данных, что и входные данные.
Рекомендуемое значение для этого параметра: Same word length as input.
Зависимости
Чтобы использовать этот параметр, установите для параметра Coefficient source значение Property.
| Значения |
|
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Нет |
#
Coefficients type —
тип данных коэффициентов
Тип данных
Details
Укажите тип данных коэффициентов для этого блока.
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Да |
#
Output —
тип выходных данных фильтра
Inherit via internal rule | Same word length as input | Fixed-point
Details
Если входные данные имеют тип с фиксированной точкой или целочисленный тип, блок преобразует выходные данные фильтра, используя правило или тип данных, заданные в этом параметре. Квантование осуществляется с использованием настроек параметра Rounding mode. Если входные данные имеют тип с плавающей точкой, блок игнорирует этот параметр и возвращает выходные данные того же типа, что и входные.
Блок увеличивает длину слова для достижения полной точности внутри каждого фильтра и приводит конечный результат к указанному типу. Максимальный конечный внутренний тип данных ( ) зависит от типа входных данных ( ), типа данных коэффициентов ( ) и количества коэффициентов ( ) и определяется формулой
При указании фиксированного набора коэффициентов фактическая внутренняя длина слова с полной точностью обычно меньше, чем , поскольку значения коэффициентов ограничивают потенциальный рост.
При использовании программируемых коэффициентов блок не может вычислить динамический диапазон, и внутренний тип данных всегда равен .
| Значения |
|
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Нет |
#
Output type —
тип выходных данных
Тип данных
Details
Укажите тип выходных данных для этого блока.
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Да |