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)