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

Объект повышает амплитуду целочисленным коэффициентом L, применяет конечная импульсная характеристика и понижает амплитуду целочисленным коэффициентом M. Объект принимает и возвращает аргументы сигнала управления для ускорения потока выборок. Для получения дополнительной информации об интерфейсе управления потоком смотрите Управление потоком.
Для повторной выборки и фильтрации входных данных:
Создайте dsp.HDLFIRRateConverter Объекту и установите его свойства.
Вызывайте объект с аргументами, как будто это функция.
Дополнительные сведения о работе системных объектов см. в разделе «Что такое системные объекты?».
возвращает Системный объект, HDLFIRRC = dsp.HDLFIRRateConverterHDLFIRRC, который повторяет каждый канал входа. Объект повышает амплитуду целочисленным коэффициентом L, применяет конечная импульсная характеристика и понижает амплитуду целочисленным коэффициентом M. Значение по умолчанию L/M 3/2.
устанавливает HDLFIRRC = dsp.HDLFIRRateConverter(L,M,num)InterpolationFactor свойство к L, а DecimationFactor свойство к M, и Numerator свойство к num.
устанавливает свойства с помощью одной или нескольких пар "имя-значение". Заключайте каждое имя свойства в одинарные кавычки. Для примера:HDLFIRRC = dsp.HDLFIRRateConverter(___,Name,Value)
HDLFIRRC = dsp.HDLFIRRateConverter(L,M,Num,'ReadyPort',true,'RequestPort',true);
[ производит повторную выборку dataOut,validOut]
= HDLFIRRC(dataIn,validIn)dataIn согласно свойствам InterpolationFactor (L) и DecimationFactor (M). Чтобы избежать отброшенных выборок при использовании этого синтаксиса, примените новые допустимые входные выборки с validIn установлено на true, только каждый ceil(L/M) вызовы объекта. Объект устанавливает validOut на true когда dataOut - новая допустимая выборка.
[ выполняет повторную выборку входных данных и возвращает dataOut,ready,validOut]
= HDLFIRRC(dataIn,validIn)ready чтобы указать, может ли объект принять новую выборку при следующем вызове.
Этот синтаксис применяется, когда вы задаете значение свойства ReadyPort true. Для примера:
HDLFIRRC = dsp.HDLFIRRateConverter(...,'ReadyPort',true); ... [dataOut,validOut,ready] = rateConverter(dataIn,validIn);
[ выполняет повторную выборку входных данных, указывает, может ли объект принять новую выборку, и, если dataOut,ready,validOut]
= HDLFIRRC(dataIn,validIn,request)request является true, возвращает следующую доступную выборку.
Этот синтаксис применяется, когда вы задаете значение свойства RequestPort true. Для примера:
HDLFIRRC = dsp.HDLFIRRateConverter(...,'RequestPort',true); ... [dataOut,validOut] = rateConverter(dataIn,validIn,request);
Можно подключить ready выход нисходящего объекта в request вход вышестоящего объекта.
Чтобы использовать функцию объекта, задайте системный объект в качестве первого входного параметра. Например, чтобы освободить системные ресурсы системного объекта с именем obj, используйте следующий синтаксис:
release(obj)