主要内容

本页采用了机器翻译。点击此处可查看英文原文。

resample

(不建议)通过降采样或插值对存储在 iddata 对象中的时域数据进行重采样(需要 Signal Processing Toolbox 软件)

不推荐使用 resample。请改用 idresamp 来对时间表、数值矩阵和 iddata 对象形式的估计数据进行重采样,无论是否使用 Signal Processing Toolbox™。有关详细信息,请参阅版本历史记录

说明

datar = resample(data,P,Q)data 中的数据进行重采样,使得 data 先按因子 P 进行插值,然后按因子 Q 进行降采样。例如,命令 resample(z,1,Q) 会导致以因子 Q 进行降采样。

示例

datar = resample(data,P,Q,order) 通过在插值和降采样之前应用指定的 order 滤波器来对数据进行滤波。

示例

全部折叠

提高数据的采样率,并比较重采样后的数据信号与原始数据信号。

使用 idinput 生成一个输入信号 u,该信号包含 2 个周期(每个周期包含 20 个采样点)的 5 个正弦波之和信号。

u = idinput([20 1 2],'sine',[],[],[5 10 1]);
plot(u)

Figure contains an axes object. The axes object contains an object of type line.

u 重新打包为 iddata 对象 ui。将开始时间设置为 0。正弦波和信号是带限的,因此将 'intersample' 设为 'bl'

ui = iddata([],u,1,'tstart',0,'intersample','bl');

分别以 25 和 3 为因子,对 PQ 的数据进行重采样。这些值导致采样率提高了约 8.3 倍。

ur = resample(ui,25,3);
plot(ui,ur)
legend('ui','ur')

MATLAB figure

重采样后的信号比原始信号更平滑。

输入参数

全部折叠

原始数据,指定为一个 iddata,其中包含输入/输出数据或时间序列数据。data 必须包含均匀的时间采样点。

重采样因子项,指定为整数,表示插值和降采样因子。重采样后,新的采样时间是原始采样时间的 Q/P 倍。

设置 (Q/P)>1 将导致降采样,而设置 (Q/P)<1 将导致插值。

resample 在插值和降采样之前应用的 FIR 滤波器的阶数,指定为一个正整数。

输出参量

全部折叠

重采样后的数据,以 iddata 的形式返回,其数据类型与 data 相同。datar 中数据的长度等于 P/Q 乘以 data 中数据的长度。

算法

resample 在 Signal Processing Toolbox 中调用了 resample (Signal Processing Toolbox) 函数。该算法考虑了由 data.InterSample 属性所描述的输入信号的采样间特性。

如果您没有 Signal Processing Toolbox 的许可证,请使用 idresamp 进行重采样。

版本历史记录

在 R2006a 之前推出

全部展开

另请参阅

|