一种基于改进的VMD算法的识别异常脉搏信号的方法与流程

文档序号:38039607发布日期:2024-05-20 11:07阅读:21来源:国知局
一种基于改进的VMD算法的识别异常脉搏信号的方法与流程

本发明涉及一种基于改进的vmd算法的识别异常脉搏信号的方法,属于脉搏信号的识别。


背景技术:

1、临床上,健康监护广泛用于患者生命体征监测,医生通过长时间连续检测患者的心电和脉搏信号,分析其生理参数,以便及时发现异常信号,来对患者采取有效的措施。脉搏信号包含有丰富的人体健康状况信息,但是一般采集到的脉搏信号都混杂有很多噪声,所以如何提取有效的脉搏信号,准确识别异常数据是亟待解决的技术问题。

2、目前,常用的提取有效脉搏信号的方法,是利用低通和高通滤波器对脉搏进行去噪。但是脉搏信号的频率主要集中在0~20hz,和一些低频噪声很接近,所以只单纯在信号预处理操作时设置去噪算法,不但可能去掉一部分有效的脉搏信息,还可能存在噪声残留的情况。专利cn 116451110 a,公开了一种基于信号能量特征和脉搏周期的血糖预测模型构建方法,包括初筛:提取ppg信号质量的kaiser-teager能量特征以及对数能量熵特征,输入svm分类器划分信号质量;精筛:筛选脉搏波间隔周期不符合阈值设定的信号并剔除;根据脉搏波波形特征以及精筛信号能量特征,合并人体的生理参数的特征构成41维度的特征向量;根据xgboost获取特征的重要性排名,依次添加重要程度高的特征,构建血糖估计数据集;将构建的数据集输入粒子群bp神经网络,构建无创血糖估计模型。该技术是考虑脉搏波的能量特征以及波形特征,进行信息筛选,使得无创血糖估计模型更加稳定和精确,该方法为了血糖估计的更准确,在去除信号噪声时,用svm分类器划分为质量合格和不合格信号,这样“一刀切”的方法会导致大量信号样本信息的浪费。因此,如何设计一种去除噪声的同时尽可能多的保留脉搏信号关键信息的方法仍是一个挑战性的问题。


技术实现思路

1、本发明的目的是克服现有技术的不足,而提供一种基于改进的vmd(变分模态分解)算法的识别异常脉搏信号的方法,有效地提高了脉搏信号识别异常信号的准确率。

2、本发明采取的技术方案为:

3、一种基于改进的vmd算法的识别异常脉搏信号的方法,包括步骤如下:

4、s1.将脉搏信号基于短时傅里叶变换(stft),根据频谱选择子代信号,选取频率在0~50hz的子代信号subsiganl50;

5、s2.对子代信号subsiganl50利用改进的vmd算法进行vmd分解得到imf分量,改进的vmd算法是利用粒子群算法,通过计算子代信号的样本熵作为适应度来评价,迭代优化vmd的分解层数l和惩罚因子α值,输出最优的参数l和α值;

6、s3.利用最优参数l和α值vmd分解得到imf分量,计算imf分量的自相关函数和能量占比,选择自相关函数高于0.1,并且频率在0~10hz能量占比大于整体能量的0.9的imf分量为符合条件的imf分量脉搏信号;

7、s4.将筛选出的信号作为bp神经网络的输入,训练并测试异常脉搏信号的识别网络。

8、上述方法中,步骤s2所述的样本熵的计算过程如下:

9、设信号是由n个数据组成时间序列{x(n)}=x(1),x(2),…,x(n),按序号组成一组维数为m的向量序列,xm(1),…,xm(n-m+1),其中xm(i)={x(i),x(i+1),…,x(i+m-1)},1≤i≤n-m+1,这些向量代表从第i点开始的m个连续的x的值;

10、定义向量xm(i)与xm(j)之间的距离d[xm(i),xm(j)]为两者对应元素中最大差值的绝对值,即:

11、d[xm(i),xm(j)]=maxk=0,…,m-1(|x(i+k)-x(j+k)|),

12、其中,m是x向量序列的维数,i和j表示该序列中不同的2个点,k为位移;

13、对于给定的xm(i),统计xm(i)与xm(j)之间距离小于等于r的j(1≤j≤n-m,j≠i)的数目,并记作bi,定义为:

14、

15、其中1≤i≤n-m,n为总点数,i表示该序列中任意一点,m是x向量序列的维数,r为设定的距离阈值,bi为满足阈值r条件的数目,表示两个序列在相似容限r下匹配m个点的概率;

16、求其所有概率的平均值,即bm(r)是概率的均值:

17、

18、增加维数到m+1,计算xm+1(i)与xm+1(j)(1≤j≤n-m,j≠i)距离小于等于r的个数,记为ai,aim(r)定义为:

19、

20、其中1≤i≤n-m,n为总点数,i表示该序列中任意一点,m是x向量序列的维数,r为设定的距离阈值,ai表示在维数m+1的向量序列xm+1(i)中满足阈值r条件的数目,表示两个序列在相似容限r下匹配m个点的概率,

21、求其所有概率的平均值,即am(r)是概率的均值:

22、

23、样本熵定义为:

24、

25、当n为有限值时,可以用下式估计:

26、

27、sampen(m,r,n)表示n为有限值时的样本熵值,m是x向量序列的维数,r为设定的距离阈值,n为总点数,am(r)是两个维数m+1序列在相似容限r下匹配m个点概率的均值,bm(r)是两个维数m序列在相似容限r下匹配m个点概率的均值。

28、上述步骤s2中所述的改进的vmd算法,具体过程为:

29、(1)设置粒子群优化算法所有的参数并确定样本熵为适应度函数;

30、(2)初始化粒子种群的速度和位置,以参数组合[k,α]为粒子的位置,k为模态分量的个数,其值即为分解层数l,α为惩罚因子;

31、(3)将初始化的所有粒子位置代入vmd运算;

32、为了使vmd分解得到各个模态分量之间的带宽最小并且之和等于原始信号f,对每个模态分量函数,通过希尔伯特变换求单边频谱,然后与预估中心频率相乘,将各个模态的单边频谱移动到估算的中心频率上,最后,通过梯度的l2范数平方,计算每个模态信号的带宽;

33、vmd分解的过程中,预设的k值决定着模态分量的个数,惩罚因子α决定着模态分量的带宽,惩罚因子越小,各模态分量的带宽越大,过大的带宽会使得某些分量包含其他分量信号;α值越大,各模态分量的带宽越小,过小的带宽是使得被分解的信号中某些信号丢失;计算过程如下:

34、①将模态分量函数uk(t)定义为一个谐波信号:

35、uk(t)=ak(t)cos(φk(t)),

36、其中,ak(t)为uk(t)的瞬时幅值,φk(t)为相位,k为第k层分解,t为时间变量;

37、②对每个模态分量函数uk(t)进行希尔伯特变换,得到每个模态分量函数的单边频谱:

38、其中,δ(t)表示实部,表示虚部,t为时间变量,j为一个虚数单位,k为第k层分解,uk(t)表示第k层的模态函数;

39、③将模态信号的频谱调制到相应的基频带:

40、

41、其中,δ(t)表示实部,表示虚部,k为第k层分解,uk(t)表示第k层的模态函数,j为一个虚数单位,wk表示各分量的中心频率,t为时间变量;

42、④计算上式信号的梯度的l2范数平方,变分问题的约束有两点:a.要求每个模态分量中心频率的带宽(即为梯度的l2范数平方)之和最小;b.所有的模态分量之和等于原始信号,对应的约束变分模型为:

43、

44、s.t∑kuk=f,

45、其中,uk表示k个模态分量(即uk(t)),wk表示模态分量的中心频率,δ(t)表示实部,表示虚部,k为第k层分解,uk(t)表示第k层的模态函数,j为一个虚数单位,t为时间变量,f为输入的原始信号;

46、⑤为了将上述约束性变分问题变为非约束性变分问题,引入惩罚因子α和拉格朗日乘法算子,迭代得到所有模态分量,用拉格朗日乘子来计算模态分量的方法采用现有技术即可;

47、(4)计算所有模态分量的样本熵值sampen,其中最小的一个是局部极小熵值minsampen;

48、(5)比较局部极小熵值minsampen的大小并更新个体局部极小值和种群全局极小值,当局部极小值小于全局极小值时,则更新此时的局部最小值为全局极小值;

49、(6)更新粒子的速度和位置;

50、(7)重复步骤(3)-(6),循环迭代,直到达到最大迭代次数后输出种群全局极小值及其对应粒子的位置[k,α],输出最优的参数l=k和α值。

51、上述方法中步骤s3所述的自相关函数就是信号本身和它的时移信号的乘积和,计算公式:

52、

53、其中,rx,x(n)为自相关函数值,n表示数量,t表示时间,τ为时间位移,imf(t)表示信号的分量,imf(t+τ)表示时移信号的分量;

54、选择自相关函数高于0.1的imf分量为能够反映信号的变化周期等有效信息的imf分量。

55、上述方法中步骤s3中的能量计算公式为:

56、

57、其中,ei表示信号能量值,t表示时间,则0~10hz能量占比为选出频率0~10hz能量占比大于整体能量的0.9的imf分量。

58、基于改进的vmd算法的识别异常脉搏信号的系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的基于改进的vmd算法的识别异常脉搏信号的方法。

59、本发明的有益效果是:

60、(1)本发明通过stft和改进的vmd对脉搏信号进行筛选,利用粒子群算法和样本熵联合来改进的vmd算法,使有用信息含量高的脉搏信号保留下来,提高了信号质量,设置自相关函数和能量占比两个筛选条件,进一步完成不良信号的淘汰,使得脉搏信号更具代表性,再利用bp神经网络分类,有助于将脉搏信号的关键信息提取出来,使得信号更具可解释性,有效地提高了异常信号识别的准确率。

61、(2)由于信号经过vmd能够自适应的得到信号的频域剖析以及各分量的有效分量,但是vmd在分解时的分解层数和惩罚因子是凭借实验人员经验来设定的,所以容易导致分解情况不理想。因此,提出以样本熵作为适应度函数,通过粒子群寻优,搜寻到最优分解层数和惩罚因子,这样的方法能够对脉搏信号包含的频率成分进行更细致全面的分解,不会出现过分解和端点效应等情况。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1