Labview心电信号处理

利用LabVIEW为开发平台,设计一套虚拟心电数据分析系统,该系统具有心电信号处理分析,波形显示、心率显示及报警等功能。

程序框图设计

1.数据文件的读取
MIT-BIH数据库中的数据有8种数据格式,而应用最多的是其中的Format212格式。Format212格式主要就是每3个字节保存2个信号,信号0的采样数据取自第一字节对(共16位)的最低12位,信号l的采样数据由第一字节对的剩余4位(作为组成信号l采样数据的12位的高4位)和下一字节的8位(作为组成信号l采样数据的12位的低8位)共同组成。因此在读数据的时候需要注意相应的格式。
首先读取文本文件,然后将读取得到的一维数组传到for循环中,其中for循环的总数N=采用点数,每次for循环截取由i*32为索引的32个字节,通过循环移位和整数拼接这两个函数将中间字节拆分为高4位和低4位并与其他两个字节进行组合。两个信号传出for循环成为导联A和B的一维数组。这里只应用导联A组数据。
Labview心电信号处理
2、信号的处理
首先运用50hz的带阻滤波器除工频,然后0.8hz的高通除基线漂移,最后40hz的低通除噪声。
Labview心电信号处理
3、信号分析
对滤波后的波形应用波峰谷检测函数,可以得到R波数与R波位置。随后计算滤波后的波形通过逐点的峰值检测函数,可以检测到R波的到来,得到R波数与R波位置。当检测到R波时,将记录到R波是的while循环中的i值,也就是波形信号数据的索引和上一次检测到R波是的索引相减,得到相邻R波波峰的时间间隔,再计算这些时间间隔的均值,利用该均值即可换算得到一定时间长度内的平均心率。当心率低于60,设置心率过慢提醒,当心率高于100,设置心率过快提醒。
Labview心电信号处理
4.整体程序框图
Labview心电信号处理

前面板设计

前面板主要包括两部分内容,左边是各个值的显示,右边是波形图的显示。左边又包括初始化选择,文件路径选择,心率机损,QRS波检测四部分。右边三个波形图分别显示初始录入的波形图,进行变换后以时间为横坐标的波形图以及滤波后波形图。
Labview心电信号处理

调试结果

文件路径选择文本101,采样点数设置后,点击开始,可以看到右边波形图的显示。同时,心动周期与心率也已经计算出。QRS波个数、R波位置与幅值也已经显示在左边。
Labview心电信号处理