基于AT91SAM9261S的心电疾病诊断系统

发布者:EtherealGaze最新更新时间:2012-09-20 来源: 现代电子技术 关键字:AT91SAM9261S  心电疾病  诊断系统 手机看文章 扫描二维码
随时随地手机看文章

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波的宽度等进行心电疾病的诊断,如果正常则不进行信息反馈,如果有某种心电疾病,则给出反馈信息,监护人员可以结合心电疾病情况给出相应的处理。



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所示。

[page]

    该陷波滤波器实际上是一个梳状滤波器,其传递函数为:
   
式中: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波标记。


    这里对该系统进行了严格的时间测试,在心电数据宽度为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 结语
    本文描述了心电疾病自动诊断系统的设计,完成了硬件端的驱动和软件端的信号处理与分析显示。采用的算法简单有效,符合小型疾病诊断系统的实时性要求。同时,该系统还有很多不足的地方,如硬件平台的扩展、心电算法的完善等,需要后续的进一步改进。

关键字:AT91SAM9261S  心电疾病  诊断系统 引用地址:基于AT91SAM9261S的心电疾病诊断系统

上一篇:基于AT91X40系列的手持式触摸屏
下一篇:基于AT91RM9200的导航计算机测试仪设计

小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved