Сверхдискретизируйте, отфильтруйте и проредите — оптимизированный для генерации HDL-кода
dsp.HDLFIRRateConverter
Система object™ сверхдискретизировала, фильтрует и прореживает входные сигналы. Это оптимизировано для генерации HDL-кода и работает с одной выборкой каждого канала за один раз. Объект реализует эффективную многофазную архитектуру, чтобы избежать ненужных арифметических операций и высоких промежуточных частот дискретизации.
Объект сверхдискретизировал целочисленным коэффициентом L, применяет КИХ-фильтр и прореживает целочисленным коэффициентом M. Объект принимает и возвращает аргументы управляющего сигнала для того, чтобы следовать по потоку выборок. Для детали интерфейса управления потоками смотрите Управление потоками.
Передискретизировать и отфильтровать входные данные:
Создайте dsp.HDLFIRRateConverter
объект и набор его свойства.
Вызовите объект с аргументами, как будто это была функция.
Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.
возвращает Системный объект, 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)