dsp.HDLFIRDecimation

Децимирующий фильтр конечной импульсной характеристики (FIR) — оптимизированный для генерации HDL-кода

Описание

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

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

Объект обеспечивает две структуры фильтра. Систолическая архитектура прямой формы обеспечивает полностью параллельную реализацию, которая делает эффективное использование блоков Xilinx® DSP и Intel®. Транспонированная архитектура прямой формы является полностью параллельной реализацией, которая подходит для приложений ASIC и FPGA. Для реализации фильтра, которая совпадает со множителями, конвейерные регистры и предварительные сумматоры к настройке 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' задает архитектуру фильтра как полностью параллельную реализацию, которая подходит для приложений ASIC и FPGA.

Свойства

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

Если в противном случае не обозначено, свойства являются ненастраиваемыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируют, когда вы вызываете их, и 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' — Эта архитектура обеспечивает полностью параллельную реализацию фильтра, которая делает эффективное использование блоков DSP Intel и Xilinx.

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

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

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

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

Типы данных

Округление метода для преобразования типа выхода в виде 'Floor', 'Ceiling', 'Convergent'самый близкийвокруг, или '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', или a 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
Поддержка комплексного числа: Да

Валидность входных данных в виде логического скаляра. dataIn аргумент допустим только, когда этим аргументом является 1 TRUE).

Типы данных: логический

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

Зависимости

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

Типы данных: логический

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

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

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

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

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

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

Типы данных: логический

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

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

release(obj)

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

getLatencyЗадержка КИХ-децимирующего фильтра
stepЗапустите алгоритм Системного объекта
releaseВысвободите средства и позвольте изменения в значениях свойств Системного объекта и введите характеристики
resetСбросьте внутренние состояния Системного объекта

Советы

Сбросьте поведение

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

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

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

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

Алгоритмы

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

Примечание

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

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

Введенный в R2020b