函数 > 信号处理 > 数字滤波 > 插值和重新采样
  
插值和重新采样
multirate(v, n, m, [f]) - 使用可选自变量 f 作为低通插值滤波器,返回由因子 n/m 重新采样的多通道信号 v 的一种形式。
resample(v, m, n) - 返回 v 经过 n 次插值然后对每个第 m 点采样所获得的矢量。输入数据必须为实数。
upsample(v, n) - 返回矢量 v 的插值的形式,其中插值点数为 v 点数的 n 倍。
自变量
v 是表示信号样本的实数或复数矢量或矩阵。如果 v 是矩阵,则每列将单独进行处理。
对于函数 multirateresample,如果矢量 v 包含单位,则返回的矢量的元素将包含相同的单位。
n 是一个整数,表示增采样/插值因子。对于 upsampleresamplen ≥ 2
m 是一个整数,表示缩减采样/抽取因子。对于 resamplem ≥ 2
f (可选) 是在增采样和缩减采样间使用的 FIR 低通滤波器系数的矢量。默认滤波器的长度为 32,增益为 n,使用汉宁锥度进行窗口化,截断频率为:
附加信息
这些函数会返回重新采样的信号。
对于 multirateresample,返回矢量的长度约为原始数据长度的 n/m 倍。
upsample 会返回偶数个点,为输入长度的 n 倍或输入长度的 n 倍加 1。
建议使用 multirate,因为该函数适用于大多数常见情况,并且可以避免对信号进行缩减采样时出现混淆效果。
multirate 在时域中进行滤波,且只要求信号频带受限。upsampleresample 会采用信号的周期,并在进行 FFT 之后在频域中执行操作。
multirate 使用线性相位 FIR 滤波器的组延迟来估计初始输出瞬态结束及截断的位置。对于滤波器长度 L,组延迟为 L/2,因此 multirate 会跳过信号输出的前 L/2m 个样本。要观察瞬态,请对信号补零。如果提供的滤波器没有线性相位,则开头的某些数据可能会丢失,因此在这种情况下也同样建议对信号补零。
通过滤波器系数的多相表示来执行 multirate 滤波。