Полиномиальный преобразователь частоты дискретизации с произвольным коэффициентом преобразования
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