主要内容

从数据中删除趋势

测得的信号可以显示数据并非固有的总体模式。这些趋势有时可能会阻碍数据分析,必须删除。

考虑两个具有不同趋势的心电图(ECG)信号。ECG信号对诸如电源干扰等干扰敏感。加载信号并绘制它们。

加载('ecgsignals.mat')t =(1:长度(ecgl))';子图(2,1,1)图(T,ECGL),网格标题“具有趋势的心电图信号”,ylabel“电压(MV)”子图(2,1,2)图(t,ecgnl),网格xlabel样本,ylabel“电压(MV)”

图包含2个轴对象。带有标题ECG信号的轴对象1带有趋势的对象包含类型线的对象。轴对象2包含类型行的对象。

第一个图上的信号显示线性趋势。第二个信号的趋势是非线性的。为了消除线性趋势,请使用MATLAB®函数逐渐消退

dt_ecgl = detrend(ecgl);

为了消除非线性趋势,请将低阶多项式拟合到信号并减去信号。在这种情况下,多项式为6。绘制两个新信号。

opol = 6;[p,s,mu] = polyFit(t,ecgnl,opol);f_y = polyVal(p,t,[],mu);dt_ecgnl = ecgnl -f_y;子图(2,1,1)图(t,dt_ecgl),网格标题“破坏心电图信号”,ylabel“电压(MV)”子图(2,1,2)图(t,dt_ecgnl),网格xlabel样本,ylabel“电压(MV)”

图包含2个轴对象。轴对象1带有标题的ECG信号包含类型线的对象。轴对象2包含类型行的对象。

这些趋势已有效地消除。观察信号如何不再显示基线偏移。他们准备进一步处理。

也可以看看

||

相关话题