Полиномиальный преобразователь частоты дискретизации с произвольным коэффициентом преобразования
The dsp.FarrowRateConverter
Система object™ реализует фильтр преобразования аппроксимации полиномом выборки скорости с помощью структуры Farrow. Можно использовать этот объект для преобразования частоты дискретизации сигнала вверх или вниз произвольным фактором. Этот объект поддерживает операции с фиксированной точкой.
Чтобы преобразовать частоту дискретизации сигнала:
Создайте dsp.FarrowRateConverter
Объекту и установите его свойства.
Вызывайте объект с аргументами, как будто это функция.
Дополнительные сведения о работе системных объектов см. в разделе «Что такое системные объекты?».
создает полином на основе фильтра преобразователь частоты дискретизации Системный объект, frc
= dsp.FarrowRateConverterfrc
. Для каждого канала входного сигнала frc
преобразует входную частоту выборки в выходную частоту выборки.
устанавливает свойства с помощью одной или нескольких пар "имя-значение". Заключайте каждое имя свойства в одинарные кавычки. frc
= dsp.FarrowRateConverter(Name,Value
)
frc = dsp.FarrowRateConverter('Specification','Coefficients','Coefficients',[1 2; 3 4])
возвращает фильтр, который преобразуется из 44,1 кГц в 48 кГц с помощью пользовательских коэффициентов, которые реализуют полином фильтр второго порядка.
возвращает преобразователь частоты дискретизации Системный объект, frc
= dsp.FarrowRateConverter(fsIn
,fsOut
,tol
,np
)frc
, с InputSampleRate набора свойств для fsIn
, OutputSampleRate набора свойств для fsOut
, OutputRateTolerance набора свойств для tol
, и PolynomialOrder набора свойств для np
.
Чтобы использовать функцию объекта, задайте системный объект в качестве первого входного параметра. Например, чтобы освободить системные ресурсы системного объекта с именем obj
, используйте следующий синтаксис:
release(obj)
Фильтры Фэрроу реализуют кусочный полином интерполяцию, используя правило Хорнера, чтобы вычислить выборки из полинома. Полиномиальные коэффициенты, используемые для подгонки входа отсчетов, соответствуют коэффициентам интерполяции Лагранжа.
Когда полином подгоняется к входным данным, значение полинома может быть вычислено в любой точке. Поэтому полиномиальный фильтр позволяет интерполяцию в произвольных местоположениях между входными выборками.
Можно использовать полином любого порядка, чтобы соответствовать существующим выборкам. Однако, поскольку полиномы большого порядка часто колеблются, полиномы порядок 1 , 2 , 3 или 4 используются на практике.
Блок вычисляет интерполированные значения в требуемых местоположениях, изменяя только дробную задержку Это значение является интервалом между предыдущей входной выборкой и текущей выходной выборкой. Все коэффициенты фильтра остаются постоянными.
Входные выборки фильтруются с помощью M + 1 КИХ-фильтров, где M является полиномиальным порядком.
Выходы этих фильтров умножаются на дробную задержку
Выходы являются суммой результатов умножения.
[1] Hentschel, T., and G. Fettweis. «Цифровые фильтры непрерывного времени для преобразования частоты дискретизации в реконфигурируемых радиотерминалах». Частицы. Том 55, № 5-6, 2001, стр. 185-188.
cost
| freqz
| fvtool
| generatehdl
| getActualOutputRate
| getPolynomialCoefficients
| getRateChangeFactors
| info