Кодер поддерживает генерацию кода для многоскоростных конвертеров частоты дискретизации Фэрроу (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)