发明名称 基于小波包变换和隐马尔科夫模型的脉搏信号分类方法
摘要 本发明公开了一种基于小波包变换和隐马尔科夫模型的脉搏信号分类方法,包括以下步骤:采用db4小波作为小波包变换的小波基函数,对采集的两类脉搏信号进行小波包变换,获得各个频带的小波包分解系数;根据局域判别基算法选择最优频带;利用Fisher准则选择最优能量特征向量;将两类脉搏信号分别选取一部分做为训练信号,另外一部分作为测试信号,根据上述方法求两类信号的最优特征向量;将训练信号的最优能量特征向量作为连续隐马尔科夫的观测向量训练出两个隐马尔科夫模型;将测试信号的最优能量特征向量分别输入到训练的两个模型中,根据前向-后向算法求其概率值P(O|λ<sub>i</sub>),通过概率值比较,完成脉搏信号的分类。
申请公布号 CN103505189B 申请公布日期 2016.05.25
申请号 CN201310496497.6 申请日期 2013.10.21
申请人 东南大学 发明人 严如强;孟静静;钱宇宁
分类号 A61B5/02(2006.01)I 主分类号 A61B5/02(2006.01)I
代理机构 江苏永衡昭辉律师事务所 32250 代理人 王斌
主权项 基于小波包变换和隐马尔科夫模型的脉搏信号分类方法,包括以下几个步骤:(1)数据采集模块通过脉搏传感器模块采集脉搏信号,得到脉搏信号序列x(i),i=1,2,…,N,i表示等时间间隔采样时间点,N为信号长度;(2)按照公式1对采集到的脉搏信号x(i)进行4层小波包变换,采用db4小波作为小波包变换的小波基函数,所述db4小波基函数的分解低通滤波器系数为:h(n)=[‑0.0106,0.0329,0.0308,‑0.1870,‑0.0280,0.6309,0.7148,0.2304],分解高通滤波器系数为:g(n)=[‑0.2304,0.7148,‑0.6309,‑0.0280,0.1870,0.0308,‑0.0329,‑0.0106],其中,n=0,1...7;<maths num="0001"><math><![CDATA[<mrow><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><msubsup><mi>c</mi><mrow><mi>j</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>k</mi></mrow><mrow><mn>2</mn><mi>l</mi></mrow></msubsup><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>m</mi><mo>=</mo><mn>2</mn><mi>k</mi></mrow><mrow><mn>2</mn><mi>k</mi><mo>+</mo><mn>7</mn></mrow></munderover><mi>h</mi><mrow><mo>(</mo><mi>m</mi><mo>-</mo><mn>2</mn><mi>k</mi><mo>)</mo></mrow><msubsup><mi>c</mi><mrow><mi>j</mi><mo>,</mo><mi>m</mi></mrow><mi>l</mi></msubsup></mrow></mtd></mtr><mtr><mtd><mrow><msubsup><mi>c</mi><mrow><mi>j</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>k</mi></mrow><mrow><mn>2</mn><mi>l</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>m</mi><mo>=</mo><mn>2</mn><mi>k</mi></mrow><mrow><mn>2</mn><mi>k</mi><mo>+</mo><mn>7</mn></mrow></munderover><mi>g</mi><mrow><mo>(</mo><mi>m</mi><mo>-</mo><mn>2</mn><mi>k</mi><mo>)</mo></mrow><msubsup><mi>c</mi><mrow><mi>j</mi><mo>,</mo><mi>m</mi></mrow><mi>l</mi></msubsup></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000937278430000011.GIF" wi="1252" he="326" /></maths>其中,<img file="FDA0000937278430000012.GIF" wi="79" he="85" />表示第j层第l个频带Ω(j,l)的第m个小波系数,j=0,1,2,3,l≤2<sup>j</sup>‑1;(3)根据所述步骤(1),(2),采集A、B两类脉搏信号,并从其中各取一例获取其小波包分解系数,分别用<img file="FDA0000937278430000013.GIF" wi="103" he="84" /><img file="FDA0000937278430000014.GIF" wi="87" he="85" />表示;(4)根据局域判别基(LDB)方法,选择小波包分解后的最优频带;具体步骤如下:4.1)根据公式(2)(3)求每一个频带的能量分布:<maths num="0002"><math><![CDATA[<mrow><msup><mi>P</mi><mn>1</mn></msup><mrow><mo>(</mo><mi>j</mi><mo>,</mo><mi>l</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><munder><mo>&Sigma;</mo><mi>m</mi></munder><msup><mrow><mo>(</mo><msubsup><mi>c</mi><mrow><mi>j</mi><mo>,</mo><mi>m</mi></mrow><mi>l</mi></msubsup><mo>)</mo></mrow><mn>2</mn></msup></mrow><mrow><munder><mo>&Sigma;</mo><mi>m</mi></munder><msup><mrow><mo>(</mo><msubsup><mi>c</mi><mrow><mn>0</mn><mo>,</mo><mi>m</mi></mrow><mn>0</mn></msubsup><mo>)</mo></mrow><mn>2</mn></msup></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000937278430000015.GIF" wi="1278" he="239" /></maths><maths num="0003"><math><![CDATA[<mrow><msup><mi>P</mi><mn>2</mn></msup><mrow><mo>(</mo><mi>j</mi><mo>,</mo><mi>l</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><munder><mo>&Sigma;</mo><mi>m</mi></munder><msup><mrow><mo>(</mo><msubsup><mi>d</mi><mrow><mi>j</mi><mo>,</mo><mi>m</mi></mrow><mi>l</mi></msubsup><mo>)</mo></mrow><mn>2</mn></msup></mrow><mrow><munder><mo>&Sigma;</mo><mi>m</mi></munder><msup><mrow><mo>(</mo><msubsup><mi>d</mi><mrow><mn>0</mn><mo>,</mo><mi>m</mi></mrow><mn>0</mn></msubsup><mo>)</mo></mrow><mn>2</mn></msup></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000937278430000016.GIF" wi="1278" he="239" /></maths>其中,P<sup>1</sup>(j,l)表示A类脉搏信号第j层第l个频带的能量,P<sup>2</sup>(j,l)表示B类脉搏信号第j层第l个频带的能量;4.2)根据公式(4)求得两组信号对应频带的相对熵:<maths num="0004"><math><![CDATA[<mrow><mi>D</mi><mrow><mo>(</mo><mi>j</mi><mo>,</mo><mi>l</mi><mo>)</mo></mrow><mo>=</mo><munder><mo>&Sigma;</mo><mrow><mi>j</mi><mo>,</mo><mi>l</mi></mrow></munder><msup><mi>P</mi><mn>1</mn></msup><mrow><mo>(</mo><mi>j</mi><mo>,</mo><mi>l</mi><mo>)</mo></mrow><mi>l</mi><mi>o</mi><mi>g</mi><mfrac><mrow><msup><mi>P</mi><mn>1</mn></msup><mrow><mo>(</mo><mi>j</mi><mo>,</mo><mi>l</mi><mo>)</mo></mrow></mrow><mrow><msup><mi>P</mi><mn>2</mn></msup><mrow><mo>(</mo><mi>j</mi><mo>,</mo><mi>l</mi><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000937278430000021.GIF" wi="1142" he="147" /></maths>4.3)从最后一层,即j=3开始计算,如果D(j,l)≥D(j+1,2l)+D(j+1,2l+1)选择保留频带Ω(j,l),否则保留频带Ω(j+1,2l)和频带Ω(j+1,2l+1),并将D(j,l)重新赋值为:D(j,l)=D(j+1,2l)+D(j+1,2l+1),根据此方法,选择出最优的频带{Ω<sub>1</sub>,Ω<sub>2</sub>...Ω<sub>t</sub>}其中t表示最优频带的个数;(5)求取最优频带对应的能量特征H={EM<sub>1</sub>,EM<sub>2</sub>...EM<sub>t</sub>},其中各个能量特征EM为各个频带内所有小波系数的平方和;利用Fisher准则选取最优特征向量F={EM<sub>q</sub>,EM<sub>q+1</sub>…EM<sub>q+s</sub>},其中s+1&lt;t表示最优特征向量的个数;(6)分别从两类信号中选取N组脉搏信号作为训练信号,其余M组信号作为测试信号;根据上述方法选择出的特征向量,提取训练数据和测试数据的特征向量;A类信号训练数据的最优特征向量可以表示为<img file="FDA0000937278430000022.GIF" wi="805" he="94" />其中i=1,2……N;其测试数据的最优特征向量可以表示为:<img file="FDA0000937278430000023.GIF" wi="726" he="87" />其中j=1,2,……M;B类信号训练数据的最优特征向量表示为<img file="FDA0000937278430000024.GIF" wi="719" he="87" />其中i=1,2……N,其测试数据的最优特征向量表示为:<img file="FDA0000937278430000025.GIF" wi="790" he="103" />其中j=1,2,……M;(7)用连续隐马尔科夫模型作为分类器,对A、B两类信号进行分类,所述连续隐马尔模型可以用公式(5)表示,其中π表示初始状态,A表示状态转移概率分布,μ表示混合高斯函数的均值,U表示混合高斯函数的方差,C表示权值系数;将两类训练数据的最优特征向量<img file="FDA0000937278430000026.GIF" wi="189" he="78" />分别用来训练两类信号的连续隐马尔科夫模型,模型可以用λ<sub>1</sub>和λ<sub>2</sub>表示;λ={π,A,μ,U,C}              (5)把两类测试数据的最优特征向量<img file="FDA0000937278430000027.GIF" wi="190" he="78" />分别输入到训练得到的连续隐马尔科夫模型,利用前向-后向算法计算两个模型输出的概率值P(O|λ<sub>i</sub>),i=1,2,如果P(O|λ<sub>1</sub>)>P(O|λ<sub>2</sub>)表示该组数据属于模型λ<sub>1</sub>,即属于A类脉搏信号,如果P(O|λ<sub>1</sub>)<P(O|λ<sub>2</sub>)表示该组数据属于模型λ<sub>2</sub>,即属于B类脉搏信号。
地址 210096 江苏省南京市四牌楼2号