Кодер поддерживает генерацию кода для многоскоростных конвертеров частоты дискретизации Фэрроу (dsp.FarrowRateConverter
). dsp.FarrowRateConverter
структура многоскоростного фильтра, которая реализует конвертер частоты дискретизации с произвольным коэффициентом преобразования, определенным его факторами интерполяции и децимации.
В отличие от односкоростного фильтра Фэрроу (см. Односкоростные Фильтры Фэрроу), многоскоростной конвертер частоты дискретизации Фэрроу не имеет дробной задержки входа. Для получения общей информации об этой структуре фильтра смотрите dsp.FarrowRateConverter
страница с описанием в документации DSP System Toolbox™.
Можно сгенерировать HDL-код для любого автономный dsp.FarrowRateConverter
объект или каскад, который включает dsp.FarrowRateConverter
объект. Этот раздел обеспечивает простые примеры для каждого случая.
Следующий пример инстанцирует автономной фиксированной точки конвертер частоты дискретизации Фэрроу. Объект преобразует между двумя стандартными аудиочастотами от 44,1 кГц до 48 кГц. Пример генерирует и код VHDL и испытательный стенд VHDL.
Hm = dsp.FarrowRateConverter(48,44.1); generatehdl(Hm,'InputDataType',numerictype(1,16,15),... 'GenerateHDLTestbench','on')
Следующий пример генерирует HDL-код для каскада, который включает dsp.FarrowRateConverter
фильтр. Кодер требует что dsp.FarrowRateConverter
фильтр находится в последней позиции каскада.
Во-первых, интерполируйте сигнал на оригинал 8 кГц четыре, с помощью каскада фильтров полуполосы FIR.
Astop = 50; % Minimum stopband attenuation TW = .125; % Transition Width f2 = fdesign.interpolator(4,'Nyquist',4,'TW,Ast',TW,Astop); hfir = design(f2,'multistage','HalfbandDesignMethod','equiripple','Systemobject',true);
dsp.FarrowRateConverter
Система object™ вычисляет кусочно-полиномиальное сглаживание с помощью Лагранжевых коэффициентов интерполяции. N = 3; % Polynomial Order hfar = dsp.FarrowRateConverter(32,44.1,'PolynomialOrder',N)
dsp.FarrowRateConverter
фильтр в конце каскада.interp_cascade.addStage(hfar); generatehdl(interp_cascade,'InputDataType',numerictype(1,16,15),... 'GenerateHDLTestbench','on');
dsp.FarrowRateConverter
Просачивается пользовательский интерфейсfilterDesigner
и filterBuilder
в настоящее время не поддерживайте dsp.FarrowRateConverter
фильтры. Сгенерировать код для dsp.FarrowRateConverter
просочитесь генерация HDL-кода пользовательский интерфейс, используйте fdhdltool
команда, как в следующем примере:
m = dsp.FarrowRateConverter(48,44.1); fdhdltool(m,numerictype(1,16,15));
fdhdltool
открывает диалоговое окно Generate HDL для dsp.FarrowRateConverter
отфильтруйте как показано в следующем рисунке.
Следующие опции генерации кода не поддерживаются для dsp.FarrowRateConverter
фильтры и отключены в пользовательском интерфейсе:
Использование конвейерных регистров (AddPipelineRegisters
)
Распределенная Арифметическая архитектура (DARadix
и (DALUTPartition
))
Полностью или частично последовательные архитектуры (SerialPartition
и ReuseAccum
)
Несколько входных параметров часов (ClockInputs
)