Функция 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
.