主要内容

对非均匀采样信号进行重新采样和滤波

一个人在2012年的闰年记录了自己的体重(磅)。这个人并没有每天记录他们的体重,所以数据是不统一的。使用信号分析仪应用程序对记录的重量进行预处理和研究。这个应用程序可以让你通过将信号插值到一个统一的网格中来填补缺失的数据点。(如果信号只有很小的间隙,这个程序会给出最好的结果。)

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

wt = datetime(2012、1、1:366)”;负载weight2012.dat重量= weight2012 (:, 2) / 2.20462;validpoints = ~ isnan(重量);失踪= wt (~ validpoints);失踪(15:26)
ans =12 x1 datetime12- 8- 2012 15- 8- 2012 16- 8- 2012 17- 8- 2012 18- 8- 2012 19- 8- 2012 20- 8- 2012 22- 8- 2012 23- 8- 2012

将数据存储在MATLAB®时间表中。去掉缺失的点。去除直流值,集中于波动。将时间信息转换为持续时间数组减去第一个时间点。有关详细信息,请参见信号分析器支持的数据类万博1manbetx型

重量=重量(validpoints);WGT = WGT -均值(WGT);wt = wt (validpoints);Wt = Wt - Wt (1);wg =时间表(wt、重量);

开放信号分析仪并将时间表拖到显示器上。在显示选项卡上,单击光谱打开光谱视图。在时间选项卡上,选择显示标记.放大到缺失的一段通过设置时间限制到200到250天。

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

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

  • 中频峰值为0.142857 = 1/7 cycles/day,对应一周周期。

  • 低频峰值为0.004762 cycles/day,对应的周期为210天。

单击。删除光标数据游标图标。从显示器上移除原始信号。过滤预处理信号消除循环的影响。

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

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

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

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

函数(y, ty) =预处理(x, tx)预处理输入x这个函数需要一个输入向量x和一个时间值向量tx. tx是一个以秒为单位的数字向量。%按照时间表文件(键入“doc时间表”)%命令行),学习如何索引到表变量和它的时间%的值,以便将它们传递给这个函数。%由MATLAB(R) 9.5和信号处理工具箱8.1生成。%生成日期:08-Jun-2018 14:35:38targetSampleRate = 1.1574074074074073 e-05;(y, ty) =重新取样(x, tx targetSampleRate,“pchip”);Fs = 1 /意味着(diff (ty));平均抽样率y =高通滤波(y, 5.787 e-07, Fs,陡峭的, 0.85,“StopbandAttenuation”、60);y =带阻(y,[1.5625e-06 1.73611111111111e-06],Fs,陡峭的, 0.85,“StopbandAttenuation”、60);结束

另请参阅

应用程序

功能

相关的例子

更多关于