Многоскоростные неоплодотворенные конвертеры частоты дискретизации

Генерация кода для многоскоростных неоплодотворенных конвертеров частоты дискретизации

Кодер поддерживает генерацию кода для многоскоростных конвертеров частоты дискретизации Фэрроу (dsp.FarrowRateConverter). dsp.FarrowRateConverter структура многоскоростного фильтра, которая реализует конвертер частоты дискретизации с произвольным коэффициентом преобразования, определенным его факторами интерполяции и децимации.

В отличие от односкоростного фильтра Фэрроу (см. Односкоростные Фильтры Фэрроу), многоскоростной конвертер частоты дискретизации Фэрроу не имеет дробной задержки входа. Для получения общей информации об этой структуре фильтра смотрите dsp.FarrowRateConverter страница с описанием в документации DSP System Toolbox™.

Генерация Кода для dsp. Фильтры FarrowRateConverter в Командной строке

Можно сгенерировать 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);
Затем интерполируйте промежуточный сигнал на 32 кГц получить частоту дискретизации разработчика 44,1 кГц. dsp.FarrowRateConverter Система object™ вычисляет кусочно-полиномиальное сглаживание с помощью Лагранжевых коэффициентов интерполяции.
N = 3;  % Polynomial Order
hfar = dsp.FarrowRateConverter(32,44.1,'PolynomialOrder',N) 
Получите полный фильтр путем расположения каскадом фаз FIR с этапом Фэрроу. 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)

Смотрите также

|

Похожие темы