主要内容

非均匀采样信号的重采样与滤波

一个人在闰年2012年记录了自己的体重。这个人没有每天记录他们的体重,所以数据是不均匀的。使用信号分析仪应用程序预处理和研究记录的重量。该应用程序允许您通过将信号插值到统一的网格中来填充缺失的数据点。(如果信号只有很小的间隙,这个过程会得到最好的结果。)

加载数据并将测量值转换为千克。数据文件将缺失的读数设置为.有27个数据点缺失,其中大部分是在8月份的两周内。

Wt = datetime(2012,1,1:366)';负载weight2012.datWGT = weight2012(:,2)/2.20462;Validpoints = ~isnan(wgt);Missing = wt(~validpoints);失踪(15:26)
ans =12 x1 datetime2012年8月9日-2012年8月10日-2012年8月11日-2012年8月15日-2012年8月16日-2012年8月17日-2012年8月18日-2012年8月19日-2012年8月20日-2012年8月22日-2012年8月23日

将数据存储在MATLAB®时间表。去掉缺失的部分。删除DC值以集中于波动。将时间信息转换为a持续时间数组减去第一个时间点。详情请参见信号分析仪支持的数据类金宝app型

WGT = WGT (validpoints);WGT = WGT - mean(WGT);Wt = Wt (validpoints);Wt = Wt - Wt (1);Wg =时间表(wt,wgt);

开放信号分析仪并将时间表拖到显示器上。在显示选项卡上,单击光谱打开频谱视图。在时间选项卡上,选择显示标记.属性来放大缺失的区域时间限制到200天和250天。

右键单击signal表中的信号并选择重复的.将副本重命名为预处理双击的名字列的信号表。离开预处理选择信号。在分析仪选项卡上,选择重新取样预处理画廊。在重新取样选项卡显示,输入采样率为1周期/天并选择保形立方方法。点击重新取样.通过选择其名称旁边的复选框,将重新采样的信号覆盖在显示器上。

缩小显示全年的数据。在光谱选项卡,将泄漏设置为最大值。原始信号和重采样信号的光谱在大多数频率上都很一致。光谱显示了两个明显的峰值,一个在0.14个周期/天左右,另一个在非常低的频率。为了更好地定位峰,在显示选项卡上,单击数据游标并选择两个.将游标放在峰值上。将鼠标悬停在每个游标的频率场上,以获得其位置的更精确值。

  • 中频峰值为0.143 = 1/7个周期/天,对应一周周期。

  • 低频峰值为0.005个周期/天,对应于210天的周期。

控件删除游标数据游标按钮。从显示器上移除原始信号。过滤预处理信号,以消除周期的影响。

  1. 为了去除低频循环,对信号进行高通滤波。在分析仪选项卡上,选择高通滤波预处理画廊。在高通滤波选项卡出现时,输入的通频带频率0.05周期/天.其他参数保持默认值。点击高通滤波

  2. 要去除每周循环,对信号进行带阻滤波。在分析仪选项卡上,选择Bandstop预处理画廊。在Bandstop选项卡,用于替换高通滤波选项卡,输入较低的通频带频率0.135周期/天和更高的通频带频率0.15周期/天.其他参数保持默认值。点击Bandstop

预处理后的信号波动比原始信号小。信号的形状表明,人的体重在夏季的变化比冬季小,但这可能是重新采样的人为因素。上的图标信息的Signal表项中的列预处理信号,以查看对其执行的预处理步骤。

要查看预处理步骤的完整摘要,包括所选的所有设置,请单击生成函数分析仪选项卡。生成的函数出现在MATLAB®编辑器中。

函数[y,ty] =预处理(x,tx)预处理输入x这个函数需要一个输入向量x和一个时间值向量tx是一个以秒为单位的数字向量。遵循时间表文档(在中输入“doc时间表”)%命令行),学习如何索引到表变量及其时间%值,以便将它们传递到这个函数中。由MATLAB(R) 9.13和信号处理工具箱9.0生成。%生成时间:03-01-2022 15:47:27targetSampleRate = 1.1574074074074073e-05;[y,ty] = resample(x,tx,targetSampleRate,“pchip”);Fs = 1/mean(diff(ty));平均抽样率y = highpass(y,5.787e-07,Fs,陡峭的, 0.85,“StopbandAttenuation”、60);y = bandstop(y,[1.5625e-06 1.7361111111111e -06],Fs,陡峭的, 0.85,“StopbandAttenuation”、60);结束

另请参阅

应用程序

功能

相关的例子

更多关于