Полифаза фильтров и быстрое преобразование Фурье - оптимизировано для генерации HDL-кода
The dsp.HDLChannelizer
Система object™ разделяет широкополосный входной сигнал на несколько узкополосных выходных сигналов. Он обеспечивает аппаратную скорость и оптимизацию площади для потоковых приложений данных. Объект принимает скаляр или векторный вход реальных или комплексных данных, обеспечивает аппаратно удобные сигналы управления и имеет опциональные выходные сигналы управления системой координат. Можно достичь пропускной способности Giga-sample-per-second (GSPS) при помощи векторного входа. Объект реализует полифазный фильтр с одним подфильтром на входной векторный элемент. Аппаратная реализация чередует подфильтры, что приводит к совместному использованию каждого множителя фильтра (FFT Length/ Input Size). Объект реализует тот же конвейерный алгоритм Radix 2 ^ 2 БПФ, что и dsp.HDLFFT
Системный объект.
Для каналообразования входных данных:
Создайте dsp.HDLChannelizer
Объекту и установите его свойства.
Вызывайте объект с аргументами, как будто это функция.
Дополнительные сведения о работе системных объектов см. в разделе «Что такое системные объекты?».
возвращает Системный объект, channelizer
= dsp.HDLChannelizerchannelizer
, который реализует фильтр приподнятого косинуса и БПФ с 8 точками.
устанавливает свойства с помощью одной или нескольких пар "имя-значение". Заключайте каждое имя свойства в одинарные кавычки.channelizer
= dsp.HDLChannelizer(Name,Value
)
[
фильтрует и вычисляет быстрое преобразование Фурье, и возвращает частотные каналы, dataOut
,validOut
]
= channelizer(dataIn
,validIn
)dataOut
, обнаруженный в входном сигнале, dataIn
, когда validIn
является 1
Правда. The validIn
и validOut
аргументы являются логическими скалярами, которые указывают на валидность входного и выходного сигналов, соответственно.
[
возвращает частотные каналы, dataOut
,validOut
]
= channelizer(dataIn
,validIn
,reset
)dataOut
, обнаруженный в входном сигнале, dataIn
, когда validIn
является 1
(true) и reset
является 0
(false). Когда reset
является 1
(true), объект останавливает текущее вычисление и очищает все внутреннее состояние.
Чтобы использовать этот синтаксис, задайте значение свойства ResetInportPort true
. Для примера:
channelizer = dsp.HDLChannelizer(...,'ResetInputPort',true); ... [dataOut,validOut] = channelizer(dataIn,validIn,reset)
[
возвращает частотные каналы, dataOut
,startOut
,endOut
,validOut
]
= channelizer(___)dataOut
, вычисленный из входных параметров любого из предыдущих синтаксисов. startOut
является 1
(true) для первой выборки системы координат выходных данных. endOut
является 1
(true) для последней выборки системы координат выходных данных.
Чтобы использовать этот синтаксис, задайте свойства StartOutputPort и EndOutputPort равными true
. Для примера:
channelizer = dsp.HDLChannelizer(...,'StartOutputPort',true,'EndOutputPort',true); ... [dataOut,startOut,endOut,validOut] = channelizer(dataIn,validIn)
Чтобы использовать функцию объекта, задайте системный объект в качестве первого входного параметра. Например, чтобы освободить системные ресурсы системного объекта с именем obj
, используйте следующий синтаксис:
release(obj)