Конечный импульсный фильтр ответа — оптимизированный для генерации HDL-кода
Система dsp.HDLFIRFilter
object™ архитектура фильтра ответа конечного импульса моделей оптимизирована для генерации HDL-кода. Объект принимает входную выборку того за один раз и предоставляет возможность для программируемых коэффициентов. Это обеспечивает благоприятный для оборудования интерфейс с управляющими сигналами ввода и вывода. Обеспечить точную циклом симуляцию сгенерированного HDL-кода, объектные модели архитектурная задержка включая конвейерные регистры и разделение ресурсов.
Объект обеспечивает три структуры фильтра. Систолическая архитектура прямой формы обеспечивает полностью параллельную реализацию, которая делает эффективное использование блоков Xilinx® DSP и Intel®. Прямая форма транспонировала архитектуру, полностью параллельная реализация и подходит для приложений ASIC и FPGA. Частично последовательная систолическая архитектура обеспечивает конфигурируемую последовательную реализацию, которая делает эффективное использование блоков DSP FPGA. Для реализации фильтра, которая совпадает со множителями, конвейерные регистры и предварительные сумматоры к настройке DSP вашего поставщика FPGA, задают ваше целевое устройство, когда вы генерируете HDL-код.
Все три структуры оптимизируют аппаратные ресурсы путем совместного использования множителей для симметричных или антисимметричных фильтров. Параллельные реализации также удаляют множители для коэффициентов с нулевым знаком такой как в полуленточных фильтрах, и Гильберт преобразовывает.
Задержка между допустимыми входными данными и соответствующими допустимыми выходными данными зависит от структуры фильтра, опций сериализации, количества коэффициентов и обеспечивают ли содействующие значения возможности оптимизации.
Для КИХ-фильтра с комплексными коэффициентами или с многоканальными или основанными на кадре входными параметрами, используйте Системный объект dsp.FIRFilter
вместо этого Системного объекта.
Отфильтровать входные данные с оптимизированным HDL КИХ-фильтром:
Создайте объект dsp.HDLFIRFilter
и установите его свойства.
Вызовите объект с аргументами, как будто это была функция.
Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.
firFilt = dsp.HDLFIRFilter
firFilt = dsp.HDLFIRFilter(num)
firFilt = dsp.HDLFIRFilter(___,Name,Value)
создает оптимизированный HDL дискретный КИХ-Системный объект фильтра, firFilt
= dsp.HDLFIRFilterfirFilt
, со свойствами по умолчанию.
firFilt = dsp.HDLFIRFilter(num)
создает фильтр с набором свойств Numerator
к num
.
свойства наборов с помощью одной или нескольких пар "имя-значение". Заключите каждое имя свойства в одинарные кавычки.firFilt
= dsp.HDLFIRFilter(___,Name,Value
)
Например:
Numerator = firpm(10,[0,0.1,0.5,1],[1,1,0,0]); fir = dsp.HDLFIRFilter(Numerator,'FilterStructure','Direct form transposed'); ... [dataOut,validOut] = fir(dataIn,validIn);
[dataOut,validOut]
= firFilt(dataIn,validIn)
[dataOut,validOut,ready]
= firFilt(dataIn,validIn)
[dataOut,validOut]
= firFilt(dataIn,validIn,coeff)
[dataOut,validOut]
= firFilt(dataIn,validIn,reset)
[
возвращает набор dataOut
,validOut
,ready
]
= firFilt(dataIn
,validIn
)ready
в true
, когда объект готов принять новые входные данные на следующем вызове.
Объект возвращает аргумент ready
только, когда вы устанавливаете свойство FilterStructure
на 'Partly serial systolic'
. Например:
firFilt = dsp.HDLFIRFilter(Numerator,... 'FilterStructure','Partly serial systolic',... 'SerializationOption','Minimum number of cycles between valid input samples',... 'NumberOfCycles',8) ... for k=1:length(dataIn) [dataOut,validOut,ready] = firFilt(dataIn(k),validIn(k));
[
данные о фильтрах с помощью коэффициентов, dataOut
,validOut
]
= firFilt(dataIn
,validIn
,coeff
)coeff
. Объект ожидает аргумент coeff
только, когда вы установите свойство NumeratorSource
на 'Input port (Parallel interface)'
. Например:
firFilt = dsp.HDLFIRFilter(NumeratorSource,'Input Port (Parallel interface)') ... for k=1:length(dataIn) Numerator = myGetNumerator(); %calculate coefficients [dataOut,validOut] = firFilt(dataIn(k),validIn(k),Numerator);
[
данные о фильтрах, когда dataOut
,validOut
]
= firFilt(dataIn
,validIn
,reset
)reset
является false
. Когда reset
является true
, объект сбрасывает регистры фильтра. Объект ожидает аргумент reset
только, когда вы установите свойство ResetInputPort
на true
. Например:
firFilt = dsp.HDLFIRFilter(Numerator,'ResetInputPort',true) ... % reset the filter firFilt(0,false,true); for k=1:length(dataIn) [dataOut,validOut] = firFilt(dataIn(k),validIn(k),false);
Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj
, используйте этот синтаксис:
release(obj)
Сбросьте поведение
По умолчанию объект dsp.HDLFIRFilter
соединяет сгенерированный глобальный сброс HDL, чтобы только управлять регистрами пути. Два свойства сброса, ResetInputPort и HDLGlobalReset, соединяют сигнал сброса с регистрами информационного канала. Сброс регистров информационного канала может уменьшать производительность синтеза из-за дополнительной маршрутизации и загрузки на сигнал сброса.
Свойство ResetInputPort
включает аргумент reset
, когда вы вызываете объект. Сигнал сброса реализует локальный синхронный сброс регистров информационного канала. Для оптимального использования ресурсов FPGA эта опция не соединяет сигнал сброса с регистрами, предназначенными к блокам DSP FPGA.
Свойство HDLGlobalReset
соединяет сгенерированный глобальный сигнал сброса HDL с регистрами информационного канала. Это свойство не изменяет аргументы объекта или изменяет поведение симуляции в MATLAB. Сгенерированный глобальный сброс HDL может быть синхронным или асинхронным в зависимости от ваших настроек генерации HDL-кода. В зависимости от вашего устройства, с помощью глобального сброса может переместить регистры из блоков DSP и увеличить использование ресурса.
Когда вы устанавливаете обоих свойства ResetInputPort
и HDLGlobalReset
на true
, и глобальная переменная и локальные сигналы сброса очищают регистры информационного канала и управление.
Этот Системный объект реализует алгоритмы, описанные на странице с описанием блока Discrete FIR Filter HDL Optimized.