基于ARM9芯片AT91SAM9261S的心电诊断系统的设计

基于ARM9芯片AT91SAM9261S的心电诊断系统的设计,第1张

  O 引言

  近年来,心脏病的发病率不断上升,便携式的移动心电监护设备成为心脏状况不良好的人们的迫切需要。既要考虑设备方便携带和使用,同时要保证心电信号得到高质量的分析和处理,这就需要选用尽量优化的硬件、软件资源来实现相应的功能。硬件选用AT91SAM9261S芯片,并加入液晶屏,SD卡等外围部件组成设计所需的硬件测试平台,相应地,选择软件开发环境为IAR Embedded Workbench IDE 5.4。

  1 系统的工作原理

  该测试平台以AT91SAM9261s为核心,该款ARM9芯片工作于190 MHz时性能高达210 MIPS,分别具有16 KB数据缓存和16 KB指令缓存,32 KB片内ROM和16 KB片内SRAM,这些特征保证了整个心电系统工作的可靠性和实时性。

  系统的总体规划设计如图1所示,从SD卡内读取心电信号,进行前置处理和特征分析,通过RR间期及QRS波的宽度等进行心电疾病的诊断,如果正常则不进行信息反馈,如果有某种心电疾病,则给出反馈信息,监护人员可以结合心电疾病情况给出相应的处理。

  

基于ARM9芯片AT91SAM9261S的心电诊断系统的设计,第2张

  2 系统的软件设计

  2.1 软件测试环境的建立

  具体需要完成的工作包括底层驱动开发、μC/GUI和FAT文件系统的移植。

  在IAR Embedded Workhench IDE 5.4开发环境下,建立工程,将μC/OS *** 作系统和μC/GUI移植进来,通过Jlink进行调试,保证硬件的正常工作,为了顺利读取SD卡中存储的心电信号(dat格式),还需要将FAT文件系统移植到工程中。移植过程中,参照AT91SAM9261S的数据手册进行各项参数配置,首先是系统CPU主频配置和液晶屏有关的硬件接口配置(包括数据传输端口和SPI口的配置等),与液晶屏的最高工作频率相对应,这里配置系统工作频率为174 MHz,其他还有各项寄存器的设置,而μC/GUI和FAT文件系统的移植只需要修改相关参数,如LCD屏的各项参数,读取数据的寄存器地址等。这样就可以编写系统所需的界面,方便心电信号各项波形和结果的显示。

  2.2 心电信号处理与分析

  这里采用MIT-BIH心电数据库的心电信号,在读取dat文件后,按照其存储格式进行解析和降采样,可以得到原始的心电信号,接下来对其进行处理和分析。

  2.2.1 前置处理

  心电信号的频率在O.05~100 Hz之间,其中含的常见噪声有:60 Hz工频干扰及其各次谐波,由于呼吸运动和电极运动等所产生的频率小于5 Hz的干扰和肌肉收缩所产生的肌电噪声。为了得到正常的心电波形,必须要把这些干扰滤除,考虑到QRS波群的中心频率在17Hz附近且带宽约为10 Hz,这里采用了低通滤波、高通滤波及梳状滤波器

  考虑到AT91SAM9261S的数字运算能力和系统的实时性要求,低通滤波和高通滤波采用了简化的FIR滤波,滤波系数在Matlab环境下通过firl函数获得,实现了0.05 Hz的线性相位高通滤波器和100 Hz的线性相位低通滤波器。这里高通滤波器的系数为:b=[O.000 0,O.000 2,O.999 2,-O.000 2,O.000 O];a=[1.000],低通滤波器的系数为:b=[O.011 1,0.488 9,O.488 9,0.011 1];a=[1.000]。这里设计的陷波器用到了减法技术,采用一个全通网络减去一个具有相同传输延迟和增益的窄带带通滤波器的输出,得到一个具有尖锐陷波特性的陷波器(NOTCH),其原理如图2所示。

  

基于ARM9芯片AT91SAM9261S的心电诊断系统的设计,陷波滤波器原理图 www.elecfans.com,第3张

  该陷波滤波器实际上是一个梳状滤波器,其传递函数为:

  

基于ARM9芯片AT91SAM9261S的心电诊断系统的设计,第4张

  式中:Q=R/P。

  实际应用时,采样率Fs为360 Hz,工频干扰Fc为60 Hz,则P=Fs/Fc=6,n和R决定了滤波器的阻带带宽,通过参数调整,该系统选取n=2,R=162,则有Q=27。上述滤波器对60 Hz工频及其谐波和基频干扰有较好的滤除效果。

  2.2.2 波形检测与分析

  波形分析包括QRS波群和P,T波的检测标记。关于QRS波群检测部分,计算差分信号y(n+1)-y(n-1),结合原心电信号和差分信号的阈值设定及差分信号符号的变化来检测R波的存在,并计算RR间期同时进行错误R波的去除,之后依照Q,S波的特性在R波前后确定QRS波群的位置,P,T波也是参照QRS波群的位置结合差分值变化来进行检测。

  3 系统的结果显示与分析

  该设计可以实现心电信号自动诊断,作出心电情况的判断并反馈,给出了各项波形和特征值的直观显示和标记。在μC/GUI下编写自己需要的界面,方便对心电信号的各项检测分析结果进行显示,如图3所示,可以画出心电波形和差分信号并进行R波标记。

  

基于ARM9芯片AT91SAM9261S的心电诊断系统的设计,第5张

  这里对该系统进行了严格的时间测试,在心电数据宽度为3min,即数据点数为64 800(即360×180)的情况下,整个处理分析所花时间小于2s,整套处理分析算法很好地达到了实时性要求。下面给出系统所用算法对MIT-BIH标准心电数据库中的心电信号(取前12 000个点)的R波检测结果,如表1所示,总的R波检测正确率为96.93%,准确的R波检测对后续进一步检测诊断工作提供了有力的保障。

  

  说明:测试文件有100,101,102,103,105,106,107,111,112,113,114,115,116,117和118。

  4 结语

  本文描述了心电疾病自动诊断系统的设计,完成了硬件端的驱动和软件端的信号处理与分析显示。采用的算法简单有效,符合小型疾病诊断系统的实时性要求。同时,该系统还有很多不足的地方,如硬件平台的扩展、心电算法的完善等,需要后续的进一步改进。

欢迎转载,本文来电子发烧友网(www.elecfans.com)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2712809.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-17
下一篇 2022-08-17

发表评论

登录后才能评论

评论列表(0条)

保存