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

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

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

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

|

Похожие темы