upfirdn функция изменяет частоту дискретизации сигнала на целое отношение P/Q. Он вычисляет результат каскада из трех систем, которые выполняют следующие задачи:
Повышающая дискретизация (вставка нуля) по целочисленному коэффициенту p
Фильтрация по фильтру FIR h
Понижение дискретизации на целочисленный коэффициент q

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