|||
在我十多年前刚开始测量生理信号并思考如何样来研究的时候,那时候就想到多个复变函数合成的模型。因为看传统文化的书籍,中医或易经易学,牵涉到定量部分的内容,思考一下就知道,千言万语,无非讲的就是一个高度非线性、非平稳复变函数合成的问题(当然同时含有模式识别的问题)。只是古代文化环境、用词,与现代科技术语天差地别,所以初看不容易搞清楚事情的本质。
后来有了matlab软件,知道有一个Hilbert变换函数,就对信号数据作了一下Hilbert变换,想看看变换得到的解析信号的相位与自己身体种种感觉、症状的关系。结果与实际相差太大,只能放弃。
近年来现代信号处理学科高速发展。其中基于EMD(经验模式分解)的 Hilbert-Huang变换(HHT),由于能够分解出具有物理意义的分量,较之以往只能在数学框架内实现分解的信号处理方式,是一种本质性的飞跃,因此现在在很多领域都得到了很好的应用。它也可以说是最符合我事先设想的一项信号处理技术。现在就来研究一下生理信号的Hilbert-Huang变换。
将我2010年10月10日~2011年6月11日共245天的体温、血压及脉搏观测数据,合并以前的观测数据整理,得到1998年2月20日~2011年6月11日共4860天的体温信号序列TW486012、2003年6月17日~2011年6月11日共2917天的收缩压信号序列GY291712、舒张压信号序列DY291712、脉搏信号序列MB291712(都没有0均值化)。
绘制一下各信号序列图:
subplot(2,2,1)%绘制子图
plot(TW486012)
subplot(2,2,2)
plot(GY291712)
subplot(2,2,3)
plot(DY291712)
subplot(2,2,4)
plot(MB291712)
运行,得:
[imgid=0]
图13-1 至2011年6月11日为止的各信号序列图
下面先对各信号序列作EMD分解。
这里说明一下,我用的HHT-EMD工具箱,是网上已经得到广泛认可并得到广泛流传的、由G.Rilling编写的HHT-EMD函数工具箱。
(1)对体温序列TW486012作EMD分解
imf_TW486012=emd(TW486012);
运行后得到一个15*58320的矩阵imf_TW486012。这表示TW486012分解成了14个基本模式分量(或称“本征模函数”,intrisic mode function,简称imf)与1个残余项。58320是信号序列(时间)长度。
看看各IMF分量图:
%TW486012的IMF分量图
for k=1:15
subplot(5,3,k)
plot(imf_TW486012(k,:))
end
运行,得:
图13-2 体温序列TW486012的IMF分量
(2)对收缩压序列GY291712作EMD分解
imf_GY291712=emd(GY291712);
运行后得到一个12*35004的矩阵imf_GY291712。这表示GY291712分解成了11个基本模式分量(IMF)与1个残余项。35004是序列(时间)长度。
%GY291712的IMF分量图
for k=1:12
subplot(4,3,k)
plot(imf_GY291712(k,:))
end
运行,得:
图13-3 收缩压信号序列GY291712的IMF分量
(3)对舒张压序列DY291712作EMD分解
imf_DY291712=emd(DY291712);
运行后得到一个13*35004的矩阵imf_DY291712。这表示DY291712分解成了12个基本模式分量(IMF)与1个残余项。35004是序列(时间)长度。
%DY291712的IMF分量图
for k=1:13
subplot(5,3,k)
plot(imf_DY291712(k,:))
end
运行,得:
图13-4 舒张压序列DY291712的IMF分量
(4)对均压序列JY291712作EMD分解
JY291712=(GY291712+DY291712)/2;
CY291712=(GY291712-DY291712)/2;
看看均压JY291712、差压CY291712的基本模式分量。之所以总是要把这两个变量数据拿来研究,目的还是要找出影响血压变化的最直接的因素。
imf_JY291712=emd(JY291712);
运行后得到一个14*35004的矩阵imf_JY291712。这表示JY291712分解成了13个基本模式分量(IMF)与1个残余项。35004是序列(时间)长度。
%JY291712的IMF分量图
for k=1:14
subplot(5,3,k)
plot(imf_JY291712(k,:))
end
运行,得:
图13-5 均压序列JY291712的IMF分量
(5)对差压序列CY291712作EMD分解
imf_CY291712=emd(CY291712);
运行后得到一个14*35004的矩阵imf_CY291712。这表示CY291712分解成了13个基本模式分量(IMF)与1个残余项。35004是序列(时间)长度。
%CY291712的IMF分量图
for k=1:14
subplot(5,3,k)
plot(imf_CY291712(k,:))
end
运行,得:
图13-6 差压序列CY291712的IMF分量
(6)对脉搏序列MB291712作EMD分解
imf_MB291712=emd(MB291712);
运行后得到一个14*35004的矩阵imf_MB291712。这表示MB291712分解成了13个基本模式分量(IMF)与1个残余项。35004是序列(时间)长度。
%MB291712的IMF分量图
for k=1:14
subplot(5,3,k)
plot(imf_MB291712(k,:))
end
运行,得:
图13-7 脉搏序列MB291712的IMF分量
(本文首发于:http://blog.sina.com.cn/s/blog_6ad0d3de0100zhfb.html
首发时间:2011-09-13 12:21:54)
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2023-5-30 05:37
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社