主要内容

处理丢失样本的信号

考虑一下2012年闰年记录的一个人的体重(以磅为单位)。这个人并没有每天记录自己的体重。您想要研究信号的周期性,但在此之前必须注意丢失的数据。

加载数据并将测量值转换为千克。错过读数设置为.确定少了多少分。

负载(“weight2012.dat”) WGT = weight2012(:,2)/2.20462;daynum = 1:长度(重量);失踪= isnan(重量);流('缺失%d个样本%d\n'sum(失踪),max (daynum))
缺失了366个样本中的27个

为缺失的点赋值重新取样.默认情况下,重新取样使用线性插值进行估计。绘制原始和插入的读物。放大第200至250天,其中包含了大约一半的遗漏点。

wgt_orig =重量;重量=重新取样(重量、daynum);情节(daynum wgt_orig,“。”daynum重量,“o”)包含(“天”) ylabel (的体重(公斤))轴([200 250 73 77])图例(“原始”“插入”网格)

图中包含一个轴。坐标轴包含两个line类型的对象。这些对象代表原始的、插值的。

通过在频域分析信号来确定信号是否具有周期性。找出周期持续时间,以周为单位。减去平均值来关注波动。

Fs = 7;[p f] = pwelch (wgt-mean(重量 ),[],[],[], Fs);情节(f p)包含(的频率(周^ {1})网格)

图中包含一个轴。轴包含一个类型为line的对象。

注意这个人的体重每周是如何波动的。每周有明显的规律吗?排除一年的最后两天,得到52周。按照星期几重新排列尺寸。

WGD =重塑(wgt(1:7*52),[7 52]);情节(wgd”)包含(“周”) ylabel (的体重(公斤)) dweek = datetime([repmat([2012 1], 1) (1:7)'],“格式”“eeee”);传奇(string (dweek),“位置”“西北”网格)

图中包含一个轴。轴包含7个line类型的对象。这些物体代表星期天、星期一、星期二、星期三、星期四、星期五、星期六。

平滑波动使用滤波器拟合低阶多项式的数据子集。具体来说,将它设置为拟合三次多项式为七天。

wgs = sgolayfilt (wgd ', 3、7);情节(wgs)包含(“周”) ylabel (的体重(公斤))标题(平滑的体重波动的)传说(字符串(dweek),“位置”“东南”);网格

图中包含一个轴。标题为“平滑权重波动”的轴包含7个线型对象。这些物体代表星期天、星期一、星期二、星期三、星期四、星期五、星期六。

这种人往往在周末吃得更多,因此体重更重。通过计算日平均数来验证。

Jk = 1:7 fprintf('%s表示:%5.1f kg\n'dweek (jk),意味着(wgd (jk,:)))结束
星期日平均:76.2公斤星期一平均:75.7公斤星期二平均:75.2公斤星期三平均:74.9公斤星期四平均:75.1公斤星期五平均:75.3公斤星期六平均:75.8公斤

另请参阅

|

相关的话题