dsp.HDLFIRDecimation

Конечная импульсная характеристика (КИХ) децимирующего фильтра - оптимизирована для генерации HDL-кода

Описание

The dsp.HDLFIRDecimation System object™ реализует полифазу конечной импульсной характеристики децимирующий фильтр, который оптимизирован для генерации HDL-кода. Он обеспечивает аппаратный интерфейс с входными и выходными сигналами управления. Чтобы обеспечить точное по циклу симуляцию сгенерированного HDL-кода, объект моделирует архитектурную задержку, включая регистры трубопроводов и совместное использование ресурсов.

Объект принимает скаляр или векторный вход. Когда вы используете векторный вход, коэффициент десятикратного уменьшения должен быть целым числом, кратным размеру вектора. Объект использует реализацию с одной скоростью. Значение выхода скаляром, и допустимый сигнал указывает, какие выборки действительны после десятикратного уменьшения. Форма волны показывает вектор входа из четырех выборок и десятикратного уменьшения коэффициент восемь. Выходная выборка действительна каждый второй цикл.

Объект предоставляет две структуры фильтра. Системная архитектура прямой формы обеспечивает полностью параллельную реализацию, которая эффективно использует Intel® и Xilinx® Блоки DSP. Транспонированная архитектура прямой формы является полностью параллельной реализацией, которая подходит для приложений FPGA и ASIC. Для реализации фильтра, который совпадает с множителями, регистрами трубопроводов и предварительными добавками к строению DSP вашего поставщика FPGA, укажите целевое устройство, когда вы генерируете HDL-код.

Объект реализует один фильтр для каждой выборки в векторе входа. Затем объект разделяет этот фильтр между полифазными подфильтрами путем чередования коэффициентов подфильтра во времени.

Чтобы фильтровать и децимировать входные данные с помощью HDL-оптимизированного алгоритма:

  1. Создайте dsp.HDLFIRDecimation Объекту и установите его свойства.

  2. Вызывайте объект с аргументами, как будто это функция.

Дополнительные сведения о работе системных объектов см. в разделе «Что такое системные объекты?».

Создание

Описание

firDecim = dsp.HDLFIRDecimation создает HDL-оптимизированный фильтр конечной импульсной характеристики децимирования по умолчанию Системного объекта.

firDecim = dsp.HDLFIRDecimation(dec,num) устанавливает DecimationFactor свойство к dec и Numerator свойство к num.

firDecim = dsp.HDLFIRDecimator(___,Name,Value) устанавливает свойства с помощью одной или нескольких пар "имя-значение" в дополнение к любой комбинации входных аргументов из предыдущих синтаксисов. Заключайте каждое имя свойства в кавычки. Для примера, 'FilterStructure','Direct form transposed' задает архитектуру фильтра как полностью параллельную реализацию, которая подходит для приложений FPGA и ASIC.

Свойства

расширить все

Если не указано иное, свойства являются нетронутыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируются, когда вы вызываете их, и release функция разблокирует их.

Если свойство настраивается, можно изменить его значение в любой момент.

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Использование Системных объектов.

Главный

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

Пример: firpm(30,[0 0.1 0.2 0.5]*2,[1 1 0 0]) задает коэффициенты, используя функцию создания линейно-фазового фильтра.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Архитектура HDL-фильтра, заданная как одна из следующих структур:

  • 'Direct form systolic' - Эта архитектура обеспечивает полностью параллельную реализацию фильтра, которая позволяет эффективно использовать блоки Intel и Xilinx DSP.

  • 'Direct form transposed' - Эта архитектура является полностью параллельной реализацией, которая подходит для приложений FPGA и ASIC.

Обе реализации совместно используют ресурсы путем чередования коэффициентов подфильтера в одной реализации фильтра для каждой выборки в векторе входа.

Объект реализует полифазный фильтр разложения, используя dsp.HDLFIRFilter Системные объекты. Для получения дополнительной информации об архитектуре см. разделы «Полностью параллельная систематическая архитектура» и «Полностью параллельная транспонированная архитектура» на Discrete FIR Filter HDL Optimized блока страницы с описанием.

Десятикратное уменьшение, заданный как целое число, больше двух. Когда вы используете векторный вход, коэффициент десятикратного уменьшения должен быть целым числом, кратным размеру вектора.

Типы данных

Метод округления для литья типа на выходе, заданный как 'Floor', 'Ceiling', 'Convergent', 'Nearest', 'Round', или 'Zero'. Объект использует это свойство при приведении выхода к типу данных, заданному OutputDataType свойство. Когда тип входных данных имеет плавающую точку, объект игнорирует это свойство. Для получения дополнительной информации см. Раздел «Режимы округления»

Обработка переполнения для приведения типа к выходу, заданная как 'Wrap' или 'Saturate'. Объект использует это свойство при приведении выхода к типу данных, заданному OutputDataType свойство. Когда тип входных данных имеет плавающую точку, объект игнорирует это свойство. Для получения дополнительной информации см. раздел «Обработка переполнения».

Тип данных коэффициентов фильтра, заданный как 'Same word length as input' или a numerictype (Fixed-Point Designer) объект. Как задать numerictype объект, вызов numerictype(s,w,f), где:

  • s 1 для подписанных и 0 для неподписанных.

  • w - размер слова в битах.

  • f - количество дробных бит.

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

Тип данных выходного сигнала фильтра, заданный как 'Same word length as input', 'Full precision', или numerictype (Fixed-Point Designer) объект. Как задать numerictype объект, вызов numerictype(s,w,f), где:

  • s 1 для подписанных и 0 для неподписанных.

  • w - размер слова в битах.

  • f - количество дробных бит.

Объект приводит выход фильтра к указанному типу данных. Квантование использует настройки RoundingMethod и OverflowAction свойства. Когда тип входных данных имеет плавающую точку, объект игнорирует это свойство.

Объект увеличивает размер слова для полной точности внутри каждого отвода фильтра и приводит конечный выход к указанному типу. Максимальный окончательный тип внутренних данных (WF) зависит от типа входных данных (WI), типа данных коэффициента (WC) и количества коэффициентов (L) и задается как

WF = WI + WC + ceil(log2(L)).

Поскольку значения коэффициентов ограничивают потенциальный рост, обычно фактическая полная точность внутреннего размера слова меньше WF.

Управляющие аргументы

Опция для включения сброса входного параметра, заданная как true или false. Когда вы устанавливаете это свойство на trueобъект ожидает значения для reset входной параметр. Сигнал сброса реализует локальный синхронный сброс регистров пути данных.

Дополнительные факторы сброса см. в разделе Подсказки.

Опция для подключения регистров пути данных к сгенерированному сигналу глобального сброса HDL, заданная как true или false. Установите это свойство на true для подключения сгенерированного сигнала глобального сброса HDL к регистрам пути данных. Это свойство не изменяет аргументы объекта или изменяет поведение симуляции в MATLAB®. Когда вы устанавливаете это свойство на falseсгенерированный глобальный сброс HDL очищает только регистры пути управления. Сгенерированный глобальный сброс HDL может быть синхронным или асинхронным в зависимости от настроек генерации HDL-кода.

Дополнительные факторы сброса см. в разделе Подсказки.

Использование

Описание

[dataOut,validOut] = firDecim(dataIn,validIn) фильтрует входные данные только при validIn является true.

[dataOut,validOut] = firDecim(dataIn,validIn,reset) фильтрует данные при reset является false. Когда reset является trueобъект сбрасывает регистры фильтров. Объект ожидает reset аргумент только при установке ResetInputPort свойство к true. Дополнительные факторы сброса см. в разделе Подсказки.

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

расширить все

Входные данные, заданные как реал или комплексный скаляр или вектор. Когда вы используете векторный вход, коэффициент десятикратного уменьшения должен быть целым числом, кратным размеру вектора. Размер вектора должен быть меньше или равен 64.

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

double и single типы данных поддерживаются для симуляции, но не для генерации HDL-кода.

Типы данных: fi | single | double | int8 | int16 | int32 | uint8 | uint16 | uint32
Поддержка комплексного числа: Да

Валидность входных данных, заданная как логический скаляр. The dataIn аргумент действителен только, когда этот аргумент 1 (true).

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

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

Зависимости

Чтобы включить этот аргумент, установите ResetInputPort свойство к true.

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

Выходные аргументы

расширить все

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

Область выхода valid сигнал указывает, какие выборки действительны после десятикратного уменьшения.

Типы данных: fi | single | double
Поддержка комплексного числа: Да

Валидность выходных данных, возвращенная как логический скаляр. Объект устанавливает этот аргумент равным 1 (true) с каждыми действительными выходными данными в dataOut аргумент.

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

Функции объекта

Чтобы использовать функцию объекта, задайте системный объект в качестве первого входного параметра. Например, чтобы освободить системные ресурсы системного объекта с именем obj, используйте следующий синтаксис:

release(obj)

расширить все

getLatencyЗадержка конечная импульсная характеристика фильтра
stepЗапуск алгоритма системного объекта
releaseОтпустите ресурсы и допустите изменения в значениях свойств системного объекта и входных характеристиках
resetСброс внутренних состояний Системного объекта

Совет

Сброс поведения

  • По умолчанию в dsp.HDLFIRFilter объект соединяет сгенерированный глобальный сброс HDL только с регистрами пути управления. Два свойства сброса, ResetInputPort и HDLGlobalReset, соединяют сигнал сброса с регистрами пути данных. Из-за дополнительной маршрутизации и загрузки сигнала сброса сброс регистров пути данных может снизить эффективность синтеза.

  • The ResetInputPort свойство включает reset аргумент объекта. Сигнал сброса реализует локальный синхронный сброс регистров пути данных. Для оптимального использования ресурсов FPGA эта опция не соединяет сигнал сброса с регистрами, нацеленными на блоки DSP FPGA.

  • The HDLGlobalReset свойство соединяет сгенерированный сигнал глобального сброса HDL с регистрами пути данных. Это свойство не изменяет аргументы объекта и не изменяет поведение симуляции в MATLAB. Сгенерированный глобальный сброс HDL может быть синхронным или асинхронным в зависимости от настроек генерации HDL-кода. В зависимости от вашего устройства, использование глобального сброса может переместить регистры из блоков DSP и увеличить использование ресурсов.

  • Когда вы устанавливаете оба ResetInputPort и HDLGlobalReset свойства для trueглобальные и локальные сигналы сброса очищают регистры управления и пути данных.

Алгоритмы

Этот Системный объект реализует алгоритмы, описанные на FIR Decimation HDL Optimized блочных страниц с описанием.

Примечание

Выходные выходы dsp. Объект HDLFIRDecimation не совпадает с выходами dsp.FIRDecimation выборка объекта для выборки. Это различие в основном связано с фазой, когда выборки применяются через подфильтры. Чтобы соответствовать dsp.FIRDecimation объект, применить DecimationFactor - 1 нули в dsp. Объект HDLFIRDecimation в начале потока данных.

dsp. Объект HDLFIRDecimation также использует немного различные типы данных для полноточных вычислений. Различные типы данных также могут вводить различия в выходных значениях, если значения переполняют внутренние типы данных.

Введенный в R2020b