upfirdn
функция изменяет частоту дискретизации сигнала целочисленным отношением P/Q. Это вычисляет результат каскада трех систем, который выполняет следующие задачи:
Повышающая дискретизация (обнуляют вставку) целочисленным коэффициентом p
Фильтрация по КИХ фильтрует h
Субдискретизация целочисленным коэффициентом q
Например, чтобы изменить частоту дискретизации сигнала с 44,1 кГц до 48 кГц, мы сначала находим самое маленькое целочисленное отношение преобразования p/q
Набор
d = gcd(48000,44100); p = 48000/d; q = 44100/d;
В этом примере, p
= 160 and
q
= 147 . Преобразование частоты дискретизации затем выполняется путем ввода
y = upfirdn(x,h,p,q)
Этот каскад операций реализован эффективным способом с помощью многофазных методов фильтрации, и это - центральная концепция многоскоростной фильтрации. Обратите внимание на то, что качество результата передискретизации использует качество КИХ-фильтра h
.
Наборы фильтров могут быть реализованы с помощью upfirdn
путем разрешения фильтру h
быть матрицей, с одним КИХ-фильтром для каждого столбца. Сигнальный вектор передается независимо через каждый КИХ-фильтр, приводящий к матрице выходных сигналов.
Другие функции, которые выполняют многоскоростную фильтрацию (с фиксированным фильтром) включают resample
, interp
, и decimate
.