Main Content

重采样

Signal Processing Toolbox™ 提供了多个函数用于以较高或较低采样率对信号进行重采样。

操作

函数

应用带重采样的 FIR 滤波器

upfirdn

三次样条插值

spline

抽取

decimate

插值

interp

其他一维插值

interp1

以新采样率重采样

resample

有关示例,请参阅

resample 函数

resample 函数将序列的采样率更改为与原始采样率成一定比例的采样率,该比例由两个整数的比值确定。resample 的基本语法是

y = resample(x,p,q)

该函数以原始采样率的 p/q 倍对序列 x 重采样。结果 y 的长度是 x 的长度的 p/q 倍。

重采样的一种应用是将数字化音频信号从一个采样率转换为另一个采样率,例如从 48 kHz(数字音频磁带标准)转换为 44.1 kHz(光盘标准)。有关示例,请参阅Convert from DAT Rate to CD Sample Rate

resample 对输入序列应用低通滤波器,以防止在重采样期间出现混叠。该函数使用 firls 函数和凯塞窗设计此滤波器。您可以控制滤波器长度和凯塞窗的 beta 参数。您也可以使用函数 intfilt 来设计插值滤波器。

decimateinterp 函数

decimateinterp 函数分别等效于 p = 1q = 1 时的 resample。这些函数提供不同的抗混叠滤波选项,并且会因为滤波导致轻微的信号延迟。

upfirdn 函数

工具箱还包含函数 upfirdn,该函数将 FIR 滤波器应用于输入序列,并以不同于原始序列的采样率输出滤波后的序列。请参阅Multirate Filter Bank Implementation

spline 函数

标准 MATLAB® 环境包含函数 spline,用于处理非固定间隔数据。函数 interp1 使用包括线性和三次插值在内的各种方法执行插值或表查找。

另请参阅

App

函数