1、毕业设计(论文)(工科及部分理科专业使用)题 目: 基于 PC 机的心电监控设计 系 别: 机电工程学院 专 业: 09 电子科学与技术 学 号: xx 姓 名: xx 指导教师: xx 职称:高级工程师 系分管主任: 目录题 目: 基于 PC 机的心电监控设计 1目录 2基于 PC 机的心电监控设计 3第一章 绪论 11.1 远程心电监护的意义 11.2 历史背景及国内外研究现状 .11.3 具体要解决的关键问题 .2第二章 心电信号的特点及设计系统的整体构架 22.1 心电信号的特点 22.2 系统的整体设计 3第三章 硬件和软件部分设计 43.1 心电信号处理放大模块设计 .43.1.1
2、 放大电路的要求 .43.1.2 前端信号采集的设计 .43.1.3 前置放大部分 53.1.4 信号滤波处理 .63.1.5 后级放大部分及电平抬升 83.2 A/D 转换的实现 .93.3 无线发送与接收以及 PC 接收信号 .103.3.1 无线传输模块 103.3.2 射频模块的简介 11第四章 心电信号的显示 14第五章 硬件测试和软件的调试 155.1 硬件测试 155.2 软件调试 .15第六章 全文总结 17参考文献 18致谢 18摘要 19承诺书和授权书 20附录 21基于 PC 机的心电监控设计xx三明学院 2009 级 电子科学与技术专业 福建三明 365401摘要 本设
3、计是集信号采集、信号处理、传输和显示于一体的。采集部分用心电 5 导联的方式来采集心电信号。信号处理部分,根据大多数的 ECG 的设计要求,运用信号放大、滤波、抗干扰等一系列的处理电路来处理信号。传输部分选用 51 系列的单片机作为主 MCU来控制 A/D 转换和无线传输。再将 A/D 转换后的信号运用无线传输给 PC 机。最后运用matlab 软件编辑程序及窗口界面显示出心电信号的图形。文中对每个电路的设计都有详细的依据,能够让人理解起来简明易懂。关键字 心电 信号放大 滤波 ADC 器件 无线 matlab巫锡鸿:基于 PC 机的心电监控设计1第一章 绪论1.1 远程心电监护的意义时代的发
4、展带来了人们生活水平的提高,同时导致心血管类疾病的病发数量的增加。根据从约 1 / 3 的心脏病死亡人口统计,在中国心血管病死亡人数约为 44%。可见医疗保健的重要地位。它具有隐蔽性的特点,疾病和高风险,发展缓慢。在科技发达的今天,心电监测市场的主流设备:实时心电监测系统,心电图和血压,心电图,但问题是最大限度地应用和推广的范围。由于很难发现一些突发的心电异常波形,实时心电监控是必须的。病患需要长期、连续的观察心电参数,来捕捉那些短暂的突发异常,而往往这些异常都是问题的关键。11基于上述问题,一种便携的、可移动的心电监护设备的问世,已经成为当前医疗市场发展的一种需求。1.2 历史背景及国内外研
5、究现状在上世纪三四十年代,美国的理学博士 Norman J.Ho1ter 成功研制出了遥测心电图装置。 一种集收发于一体的心电监护系统于 60 年代问世,这成为检测心律失常、心肌缺血的一种 有效的诊断方法。这一系统成为家庭心电监护系统的重要基础,推动了心脏病的早期诊断和治疗。9基于 Internet 的远程心电监控:在病人的家庭心电信号的采集,然后采集信号传输到医疗中心通过互联网,医护人员根据接收到的数据进行适当的诊断。因特网有 PSTN、以太网、ISDN、MODEM 拨号等不同的接入方式,也就有不同的设计方案。运用这个技术把病房和家庭连接起来,数据互通,使医务人员能够及时分析数据而做出诊断和
6、及时治疗。无线心电监控:即数据通讯是用无线通信技术来实现的,具有体积小、可实时监控携带方便等特点。有 GSM,GPRS,蓝牙和其他无线移动通信技术等。大多是利用无线射频收发芯片来进行心电无线遥测的。例如一种心电无线遥测是由射频无线收发模和单片机为核心组成的;利用 ADuC8121 主控芯片和 nRF401 无线收发模块设计的无线心电信号收发系统等。收发间距问题认为,一般的设定范围是 10 米 100 米,它是适用于数据传输范围小,具有组网灵活,没有电缆,传输的声音。2013 届 电子科学与技术专业毕业论文21.3 具体要解决的关键问题硬件的设计利用目前较先进的芯片,制造、设计出一种体积小、用电
7、省、便于携带、放大性能好、干扰小、信号真实、数据丢失少、成本低廉的用户端。心电信号的传输处理心电信号到相应的状态,掌握心电信号 A/D 转换的条件。选择较适当的数据传输方式,同时要保证传输时信号的真实性。PC 机上的显示界面设计能够正确的显示出采集到的心电信号。要求界面友好、简单易懂,用户一眼便能够明了其用法和操作方式。第二章 心电信号的特点及设计系统的整体构架2.1 心电信号的特点心电信号是心脏的周期性的电活动。在每个周期中,皮表产生电位变化急剧,在不同的部位形成一次有规律的电位变化。心电图就是把不同时期的电信号采集并经过放大、滤波等处理后,实时显示而来的。心电信号具有的特点如下:(1) 心
8、电信号是微弱信号,幅度小到毫伏级别,一般大小范围为 0.055mv。只有将其放大 1000 倍以上才能很好的显示出来。由于信噪比低,心电信号的放大将是一个难题。(2) 人体的表面皮肤的阻抗约为 100K 欧姆,即信号源阻抗大,由人体表面采集心电信号时,要使信号放大后失真小、误差小到忽略不计,则放大器的输入阻抗必须很高。(3) 人体周围存在极大的电磁干扰。这些干扰信号都比心电信号强,采集时候容易遮盖了想要的信号。因此,在信号主放大电路前,要把这些干扰滤除,才能保证采集到理想的心电信号。(4) 人体电信号频率主要集中在 0.05100Hz。根据美国美国心电图信号能量的确定标准,最集中的是在 0.0
9、5 40Hz。大概 90%的 ECG 频谱选在 0.2535Hz 之间。故在采集信号时候要选择好正确的信号频率段。巫锡鸿:基于 PC 机的心电监控设计32.2 系统的整体设计本设计主要分为信号采集、信号处理、远程通信、软件显示四部分。采集心电信号部分采用 5 导联的方式,把 5 个电极片贴到相应的位置上,来采集表皮的电信号。采集信号通过前置放大电路,然后就是高通滤波器、低通滤波器和 50Hz 陷波电路滤除干扰信号。再利用二级放大电路把滤波后的信号放大,保证心电信号能够放大到足够大。用 A/D 转换把放大后的模拟信号转换成数字信号。转换后的信号采用 nRF905 无线模块传输到 PC 机,PC
10、机通过串口接收数据,并利用软件数据显示心电图。 框图如下所示。图 1 系统整体设计框图本设计系统的可扩展性:对象的集合,除了心电图,脑电图,还可以有脉冲,温度,血压,呼吸,血氧饱和度等。越多的采集信号,越能全面反映患者的生理状况,诊断治疗的效果就越好。因此本设计可以增加些功能,如心电信号记录、分析以及报警功能等。第三章 硬件和软件部分设计3.1 心电信号处理放大模块设计3.1.1 放大电路的要求根据心电的特点,为了采集到理想的心电信号,放大电路必须具有以下基本要求。(1) 介于心电信号幅度在毫伏级且最高不高于 5mV,所以要能够 AD 转换,必须对其放大,且放大器的总倍数应该在 1000 倍以
11、上。故要保证电路有高增益。增益既是放大器的放大倍数。2013 届 电子科学与技术专业毕业论文4(2) 因为心电信号源具有很强的阻抗,一般在 100K 以上。使放大器的总输入阻抗大于 1M,才能忽略不计信号源内阻上的电压降。这样在信号源内阻上消耗的功率就可以忽略。所以设计的电路要具有很高输入阻抗。(3) 因为心电信号都是差模信号,而大部分的干扰信号都是共模信号,为了抑制人体所带的各种干扰,放大器必须选用高共模抑制比的。一般选用为 80100 的放大器,也就是高共模抑制比。(4) 低输入失调电压。(5) 低输入失调电流。(6) 低温漂。3.1.2 前端信号采集的设计心电是由心脏内部的电势连续变化而
12、产生的,在人体的适当部位贴上电极,再把这些变化的电势整合、处理在一起就可以形成心电波形。心电导联的方式有很多种,本设计中我采用的是单极肢体 5 导联,不同的导联方式得到的波形会有所不同。效果最好的位置如下:黑线(LA) :黏在第 2 肋骨与左锁骨中线的交点;白线(RA):黏在右锁骨中线与第 2 肋间之交点;红线(LL):黏在左下腹部位;绿线(RL):黏在右下腹部位;棕线(V): 黏在胸骨右缘第 4 肋之间(当然可以贴别的类似部位)。如果保证白色电极(RA)和红色电极(LL)对角按放,就可以获得最佳呼吸波,也就可以减少心脏搏动和脉动产生的伪差,这需避免把肝区和心室置于呼吸电极的连线上。3.1.3
13、 前置放大部分仪表放大器 AD620 具有高共模抑制比、精度高等。事实上,该芯片也是专门为便携式生理放大器而设计的。AD620 是一款价格低廉、性能优良的仪表放大器。芯片的引脚如下图所示。其增益相当高,且可以根据 1、8 脚所接的电阻来改变,取值范围为 图 3 AD620 引脚图图 2 5 导联实物图巫锡鸿:基于 PC 机的心电监控设计5110000 倍。有如下关系式:G= 1+49.4 k / Rg 或 Rg=49.4k/(G-1)其共模抑制比也非常高,一般在 100dB。由此可知,如果是 0.01mV 的信号源输入,差模信号部分就可以放大至 1V。而共模信号部分却依旧为 0.01Mv(可忽
14、略) 。前置放大电路图如下。图中 1 和 8 脚接的是增益反馈电阻,即放大器放大倍数的判定电阻。把+2.5V 看做参考地,因此,7 和 4 脚就相对成了+2.5V 和-2.5V 了,这电路就是双电源供电电路了。放大器采用双电源供电,才能保证双极性的心电信号的负半周信号不被削波。经过考虑决定设计的前端放大增益定为 50 倍,即增益电阻为 1K。图中选择的放大器是 TLC2274。这款运算放大器除了性能优良、价格低廉外,还有一个突出的优点,也是本设计需要的,就是其具有“轨道轨”的特性。既电压,即使在电源电压的上限和下限,该放大器不饱和和倒装。3.1.4 信号滤波处理尽管 AD620 部分的放大电路
15、具有很好的共模抑制比,但是人体及周围环境等因素,对采集到信号电路有很大干扰,所以采集信号时还应该添加一些滤波电路。(1) 高通滤波部分根据心电信号的频率成分都大于 0.05Hz,这里添加一个高通滤波电路滤除低频干扰。如图所示,电路中由 C1 和 R5 组成的高通滤波器。其作用有两个:1.除去直流信号,将被放大的交流信号部分保留下来;2.由 C1 和 R5 组成高通滤波网络,其时间常数是 2s,使放大器的下限频率为 0.08Hz。由下式图 4 前端心电采集电路图2013 届 电子科学与技术专业毕业论文6和 RCf210jwRCjA1又有 ,代入 中,可知滤波电w0路的特征频率大小由 决定。即当
16、=0 时0=0,电路的增益为零;当 W= 时,jA=1/2,电路达到截止频率;当 时, =1,电路没有衰减。故要使高ww0jwA通滤波器工作,设计中取 C 为 1uF。R 取值为 2M,由此可计算出特征角频率为:或 5.1200fHzf08.20由此可知信号经过这个电路后的带宽为 0.08Hz 。(2)低通滤波部分心电信号的频率成分为 0.05100Hz,所以除了高通滤波电路限制最低频率的下限,还需要一个低通滤波电路来限制上限频率。滤除高频成分的干扰。本设计采用的是二阶低通有源滤波器。如下图所示。可由式子 和 wjwA00212wjw012arctn2图 5 高通滤波电路图 6 低通滤波电路巫
17、锡鸿:基于 PC 机的心电监控设计7来计算上限频率。判定方式和高通滤波电路的类似,这里就不多说。电路中取 C 为0.01uF,R 为 150K,计算出的特征角频率为:或 7.61200CfwHzwf10620即放大器的带宽为 0106Hz。又由于心电信号的主要频率成分为 0.0540Hz,用于监护的放大电路对带宽的要求不太高,所以本设计选取 R 的值为 470K,C 的值为 0.01uF,即其特征频率为 34Hz 。(3)50Hz 陷波部分由第二章介绍的心电信号的特点可知,心电信号为微弱的电信号。人体周围存在着很多的电磁干扰。前面的滤波电路已经滤除了 0.0834Hz 以外的部分干扰。然而 5
18、0Hz 的工频干扰是一个很大的干扰,想要采集到理想的心电信号,则 50Hz 的干扰必须滤除。电路图如下所示。这电路的选频条件是: R17615中心频率为:fC176032其中电位器中心点两边的阻值分别计入 和 之中。 。运用这两个式子计算各617个电阻值分别为: , 和 (16 和 17 的电阻都包含电501R5.162.R位器的那部分) 。1根据这个,实际中选取如下: , , =68K,电位器为15.4161720K,选取电容为 0.047uF。调节电位器,使电阻 16、17 的阻值和计算的值相符,使陷图 7 50HZ 陷波电路图2013 届 电子科学与技术专业毕业论文8波点为 50Hz。3
19、.1.5 后级放大部分及电平抬升二级放大由于心电信号为微弱信号,需要放大 1000 倍以上才能很好的显示。考虑到滤波网络的衰减问题,放大器的放大倍数应该更大些。本设计前端用 AD620 采集信号的时候,反馈电阻选择了 1K,其放大倍数为 50 左右,故将二级放大倍数定为 40 倍左右,则总增益为G=2000 左右。具体可以根据显示的波形来调整。电路如图所示。图中 7、8、9 三个电阻, 构成电阻网络是用来调节本级放大器的基线。由于前置放大级采用的是双电源供电方式,参考电压则为 0V(则实际上可以看做是 05V 电压供电) 。然而本设计的前置放大部分之后都采用 5V 单电源供电的,为了保证心电信
20、号的完整性,通过调节二级放大器的基线,来使基线达到+2.5V 左右,从而将来自运放之前的双极性心电信号转换成从 0V 到 5V 的正极性信号。此放大电路的放大倍数由反馈电阻来决定的,关系如下式:RG16电流提高经过前部分的信号放大和滤波后,采集到的信号波幅很小,并不能很好的显示。这是因为输出的信号电流很小,无法驱动下级电路。故再设计的二级放大后面加上一个提高电流模块,提高输出电流。电路如右图所示。此运放是一个跟随器。其电压放大为 1,为正相放大器。输出电流为输入的( 1+)图 8 信号的二级放大电路图图 9 电平抬升电路巫锡鸿:基于 PC 机的心电监控设计9倍,这电路具有电流和功率放大的作用。
21、经过这个运放后,输出端的信号就不会因为后级部分负载过大而降低。3.2 A/D 转换的实现本设计中运用单片机 STC89C52RC 和模数转换芯片TLC1549 实现 A/D 转换。把 A/D 芯片的参考电源和地脚接5V 电源和地。实现转换,只需连线正确,再软件编写程序就可以了。电路连接如图所示。AD 程 序 如 下 所 示 。unsigned int get_AD()char i;unsigned int buf=0;CLK=0;_CS=0;delay_us();for(i=0;i10;i+) CLK=1;delay_us();if(DIN)buf=(buf1)+1;elsebuf=(buf1
22、)+0;CLK=0; _CS=1;CLK=0;return buf;图 10 TLC1549 引脚图 图 11 AD 转换电路原理图2013 届 电子科学与技术专业毕业论文103.3 无线发送与接收以及 PC 接收信号3.3.1 无线传输模块为了摆脱数据传输线的羁绊,本设计采用了将心电信号由一对无线射频收发端与 USB连接传输给 PC 机。市场上的无线射频传输模块种类很多,功能各异。在选择前要好好考虑设计的要求,选择的器件的功能特点等。比如:1.功能集成高度,外围原件数,是否便于开发调试;2.传输速率;3.和 MCU 的连接情况;4.灵活性和功耗等。总体考虑后,本设计选用了 NRF905模块作
23、为信号传输的媒介。3.3.2 射频模块的简介虽说 905 芯片有 32 个引脚,但是需要掌握的就几个罢了。面对无线发送接收模块,引脚数量减少到 14 位,在左图中可以一目了然。主要分为三块:1.SPI 接口;2.发射接收控制;3.信号控制检测。MISO、MOSI、CSN 和 SCK 为 SPI接口的数据线和信号线。其中 MOSI和 MISO 为数据通道;CSN 是通信开启和断开的控制信号;SCK 是时钟脉冲,一个脉冲就进行一次数据交换,即完成一次通信。连接好这些是数据传输的基础条件。单片机是通过PWR、TRX_CE 和 TX_EN 端口来控制模块发送和接收的。至于 CD、AM 和 DR 是模块
24、的一组状态信号端口。3.3.3 模块的运用 发送部分 无线射频的运用很简单。硬件方面只要将 SPI 接口及控制端口连接对 MCU 相应的端口就好。其他的就是软件方面的事了。图 12 nRF905 的管脚图巫锡鸿:基于 PC 机的心电监控设计11无线射频模块在工作前,必需要对其寄存器进行配置,以保证其能够按照要求正确的工作。RF 的配置寄存器一共分为 10 个字节的单元,分别对寄存器进行不同的设置。如:用于细调各个频率的通道的 CH_NO;中心频率;输出功率;字节长度设置;地址寄存器 RX;晶振等。本设计中对 RF 寄存器进行配置是采用 WC 指令。具体程序如下:/RF 寄存器配置/unsign
25、ed char idata RFConf11=0x00, /配置命令/0x4c,0x0c,0x44,0x20,0x20,0xcc,0xcc,0xcc,0xcc,0x58, /充许 CRC,不使能外部时钟信号,8 位 CRC 校验,16M 晶振;bit lcdbit;(1) 配置参数,启动 SPI,写入发送数据地址。置高控制端口 TRX_CE 和 TX_EN,使无线模块处于发送模式。在发送过程中,NRF905 自动完成以下工作:射频寄存器自动开启。(2) 在数据发送时,准备好数据,引脚 DR 置高。(3) 打包数据(包含字头和 CRC 校验码) 。(4) 发送数据包。这些程序的过程约 10us。
26、故在发送的期间要加一个延时程序。在发送过程中,无论trx_ce 和 tx_en 端口是高还是低,传输都不会中断。一个数据发完,就进行下一个数据包发送,若是没有数据可发送时,905 自动进入空闲模式。图 13 发送程序框图2013 届 电子科学与技术专业毕业论文12nRF905 只要硬件连接好后,剩下的就只是软件问题了,编程好后就可以实现数据的无线传输了。接收部分接收部分的主要实现功能是:用无线模块接收由发送部分发送的心电数据,再通过单片机的 SPI 接口接收数据,通过串口功能,把数据传输给电脑。nRF905 处于接收模式,其他无线设备发出的数据才能接收到。接收模式启动后,接近入接收模式,完成以
27、下工作:(1) 载波检测。nRF905 模块进入监听状态,当监测到相同频段的载波时,就置高CD 引脚。(2) 地址匹配。发送的数据中都有目的地址,地址与本机相同,就接收信号,若不同就不接收。在接收同时,地址匹配信号(AM)引脚立即置高。(3) 接收数据包。数据包被接收后,存入 RX_PLAYLOAD 寄存器中。(4) 数据就绪。有效数据接收到后,去除其字头,置高 DR 引脚,表示数据已经准好,可以开始接收数据。单片机就通过 SPI 接口读出寄存器中的数据。和发送部分相比。接收部分运用的无线模块的配置、启动和发送等几乎一样,唯一不同的是一个处于发送方式,一个处于接收方式。发送部分有一个 AD 转
28、换模块,而接收部分有一个串口通信模块。这样看来接收部分的程序框图和发送的大致相同,只是把 AD 转换的那部分换成串口通信部分,这里就不再详细表述。图 14 数据接收部分电路图巫锡鸿:基于 PC 机的心电监控设计13第四章 心电信号的显示MATLAB 是一个高技术计算的开发环境,比如科学计算,可视化和交互式程序设计。它是一个易于使用的集成 Windows 环境,数值分析,矩阵计算,可视化,和许多其他功能。目前,MATLAB 的工具箱功能延伸到数据采集、图像处理、概率统计、数据库接口、优化算法、神经网络、嵌入式系统开发、偏微分方程求解、小波分析、信号处理、控制系统设计、DSP 与通讯等领域中。6本
29、设计中采用 matlab 软件来实现心电图在 PC 机上的显示。主要是串口初始化等相关程序部分、波特率和数据位和发送位等程序部分、数据接收程序部分、显示通道程序部分。利用通信类 serial 来创建串口对象,通信是设置串口对象属性和通信模式来进行。设计中利用串口传输,开启串口需要用 fopen 函数。还需 fread 函数读取二进制数据,结束数据传输需要 fclose 函数。12 本设计主要运用到的是串口事件回调函数来处理窗口收到的消息、以及画图函数来画出收到的数据等。在设置回调函数时,首先设置回调函数的名称和输入参数。然后是回调函数的定义,来实现想要的功能。如下程序为串口事件回调设置:o_S
30、erialPort.BytesAvailableFcnMode=byte; o_SerialPort.BytesAvailableFcnCount=10; o_SerialPort.BytesAvailableFcn=EveBytesAvailableFcn,handles;要用到 matlab 的画图功能来显示出心电图。首先要对接收数据部分施控件,即类似于按钮;接着把接收的数据存到缓存中,定义成一个变量,最后运用画图功能把数据画成图表形式。程序如下:if ms=1figure(1);set(0,ShowHiddenHandles,On);set(gcf,menubar,figure); pl
31、ot(1:1:length(M1),M1,-.Rs,1:1:length(M2),M2,-.GP,1:1:length(M3),M3,-.bh) Xlabel(- 时间 -); Ylabel(- 电压 -); legend(信道一, 信道二,信道三,-1); end这里介于篇幅就不再多加介绍了 。2013 届 电子科学与技术专业毕业论文14第五章 硬件测试和软件的调试5.1 硬件测试为了硬件调试,在设计硬件实物时,把信号采集、信号滤波、信号放大等分别接一个测试输出端口。测试时,把电极片按前面介绍的位置贴好,在本设计中直接把滤波后的心电信号接到示波器上进行测试。测试结果如下图所示。可以看出示波器
32、上的信号为心电信号。信号的频率和心电信号一样,放大的倍数和计算值差不多,且每个心电冲击信号相隔 1s,其中冲击的幅值不一样是因为电极片不稳定等外界因素,依旧可以肯定是心电信号。故可以省去电极片采集信号部分的测试。为了看清心电的基线的特性,本设计中再把心电信号放大些,以便基线的特性更加明显。同时由采集到的信号可知心电信号的基线的紊乱挺多的。故设计中还加有一个 50HZ 的陷波电路,滤除 50HZ 的工频干扰。这样基本就达到理想的心电信号。5.2 软件调试软件部分主要包括信号的 AD 转换部分、信号的无线发送和接收部分、串口通信和软件显示程序。在程序调试中,首先是运用串口连接 PC 机部分程序,这
33、里用开发板来调试程序,用 UartAssist(串口助手)来显示通信的端口、波特率和数据等。接着进行的是 NRF905 通信调试,在 905 调试中重要的是其配置的数据要一样,接着是数据位、SPI 和寄存器的一些程序。先用发送一个数据做检测,经过几次测试和修改后,905 通信部分程序调试成功。最后是 AD 转换信号通过 905 发送和接收显示于串口助手界面,测试阶段,用电源信号作为输入,直接看串口助手上的数据是否为电源信号为准,如是则通信正常。正常后把输入信号改为地来检测。串口助手界面及用电源接入 ADC 后接收到的数据如下图所示。图 15 示波器上显示采集的心电图巫锡鸿:基于 PC 机的心电
34、监控设计15这些调试成功后就可以直接接入心电信号测试了。本设计中采用 matlab 软件显示波形,下图显示的为两个不同时段的心电图。可以看出是心电波形。其最大幅值为(300/1024)*51.4 ,其中 5 为基准电压。横坐标为采集的点数,采样频率为 9600Hz。可知尖峰间隔约为 1S 左右。再者,每个尖峰出的波形和标准的心电波形类似,即包括 R 波、T 波等。所以可以肯定采集到的信号为心电信号。图 16 串口接收无线信号测试图 17 心电信号在 matlab 上的显示图形2013 届 电子科学与技术专业毕业论文16第六章 全文总结论文在研究心电信号采集、传输及显示上,完成了信号的采集,信号
35、高通低通滤波及 50 陷波处理;心电信号 A/D 转换;无线传输以及 PC 机上的心电图的显示。其中采用无线数据传输,解决了数据传输线的烦恼。在信号处理问题上,也根据美国心电学会的标准,采集范围具有权威性。在设计制作过程中,遇到一些问题,要得到比较标准的心电信号,对电阻和电容的精确值要求比较高,故作品采集的心电信号的准确性还是有提高的空间;一种功能的电路可以有几种不同的电路连接方式,在开始时,器电路的取舍花了很多时间;开始设计电路图时,查找的资料中,有一处错误,由于对该电路了解不够,导致走入了误区,浪费了很多材料与时间。经过这次设计的制作,学习到了很多的东西,比如设计前对相关的知识要很了解,设
36、计中要认真研究与思考,事后要及时总结等。前文也提出了许多本设计可提高和发展的地方,信号采集的越多, 越全面反映患者的生理状况,诊断治疗就的越有效果。巫锡鸿:基于 PC 机的心电监控设计17参考文献1 王正光.数据采集与处理.国防工业出版社,1985.2 任家富.数据采集与总线技术.北京航空大学出版社,2008.3 康华光.电子技术基础(模拟部分)高等教育出版社,2005.4 魏小龙.MSP430 系列单片机接口技术及系统设计实例M.北京:北京航空航天大学出版社,2000.5 孙上鹏.心电信号采集及无线传输系统的设计x.北京:北京交通大学.2009.6 梁原.基于 MATLAB 的数字图像处理系
37、统研究.长春理工大学,2008.7 刘冬,刘光斌,姚志成.单片机系统实用抗干扰技术M.北京:人民邮电出版社.2003.8 王林涨等.心电信号处理中滤波器设计的研究.北京生物医学工程,2002,21(:3).9 张石,张新宇.远程移动心电监测系统的研究与开发J.控制工程.2006、13(2):172-174.10 孙彤,李冬梅.逐次逼近 A/D 转换器综述.微电子学.2007.11 邓亲恺.现代医学仪器设计原理M.北京:科学出版社.2004.12 赵云鹏.MATLAB 串口通信在数据采集中的应用.微计算机信息.2006.13 王萍,陈长春,龚睿等.基于 nRF905 的无线串口通信系统.微计算机
38、信息.2007.14 刘刚、王立香.中文版编程及应用.电子工业出版社,2008.致谢首先要感谢我的导师 xx 老师在整个设计的过程的悉心指导。感谢和我一起度过这段毕业设计期间的同学和好朋友,从论文的选题、方案设计、资料收集,直至论文的编写,给了我很多的帮助和支持,给了很多的宝贵的意见,让我少走了很多弯路,深刻认识做每样事情前要收集各方面的信息,加上自己的努力才能做好,这期间让我成长了不少,使我懂得,遇到问题如何去找根源、如何去解决,为以后的工作打下了一定的基础。特别感谢王剑雄、林永军、韦朝活在编程、调试期间的帮助和支持。感谢所有在学习期间关心和帮助我的老师、同学和朋友。2013 届 电子科学与
39、技术专业毕业论文18摘要Design of ECG monitor based on PCWu Xihong2009 Sanming University Electronic Science and technology of Fujian Sanming 365401The design of ECG monitoring is a set of acquisition, signal processing, transmission and display in one. Data acquisition part,the 5 lead ECG to collect ECG signal
40、. The signal processing part, according to the design requirement of most of the ECG, use the zoom, filter, anti-jamming and so on a series of signal processing circuit for signal processing. The transmission part uses 51 Series MCU as the main MCU to control A/D transformation and wireless transmis
41、sion module, wireless transmission signal transmission to PC. Finally using the editor and window of matlab software interface display ECG graph. In this paper, the design of each circuit are have a detailed basis, can make people understand it more easily.Keywords : ECG amplifying filtering device
42、of ADC wireless matlab巫锡鸿:基于 PC 机的心电监控设计19承诺书和授权书三明学院毕业论文(设计)承诺书我仔细阅读了三明学院毕业论文(设计)的有关文件规定。我知道,抄袭别人的成果是剽窃行为,是可耻的,也是违反毕业论文(设计)规定的。如果引用别人的成果或其他公开的资料(包括网上查到的资料) ,必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。我郑重承诺,严格遵守学院毕业论文(设计)规定,以自己的真实水平认真做好毕业论文(设计) 。如有违反规定的行为,我将接受严肃处理。我的毕业论文(设计)题目为:学生签名: 日期:毕业论文(设计)版权使用授权书本论文(设计)
43、作者完全了解学校有关保留、使用论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文(设计)被查阅和借阅。本人授权三明学院可以将本论文(设计)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本论文(设计) 。保密,在 年解密后适用本授权书。本论文(设计)属于不保密。 (请在以上相应方框内打“” )作者签名: 日期: 2013 届 电子科学与技术专业毕业论文20附录实物图Matlab 部分程序:function varargout = SerialPortCommunication(varargin)gui_Singleton = 1
44、;gui_State = struct(gui_Name, mfilename, .gui_Singleton, gui_Singleton, .gui_OpeningFcn,SerialPortCommunication_OpeningFcn, .gui_OutputFcn, SerialPortCommunication_OutputFcn, .gui_LayoutFcn, , .gui_Callback, );if nargin 巫锡鸿:基于 PC 机的心电监控设计21endif nargoutvarargout1:nargout = gui_mainfcn(gui_State, var
45、argin:);elsegui_mainfcn(gui_State, varargin:);endfunction figure1_CloseRequestFcn(hObject, eventdata, handles)global number;global o_SerialPort;%-关闭串口 -if strcmp(o_SerialPort.Status,open)fclose(o_SerialPort);endnumber=;clear number;delete(hObject);function SerialPortCommunication_OpeningFcn(hObject,
46、 eventdata, handles, varargin)handles.output = hObject;guidata(hObject, handles);javaFrame=get(hObject,JavaFrame);javaFrame.setFigureIcon(javax.swing.ImageIcon(update.jpg);function varargout = SerialPortCommunication_OutputFcn(hObject, eventdata, handles) varargout1 = handles.output;function pb_Open
47、SerialPort_Callback(hObject, eventdata, handles)global o_SerialPort;flag=0;2013 届 电子科学与技术专业毕业论文22set(hObject,Visible,off);set(handles.pb_CloseSerialPort,Position,get(handles.pb_OpenSerialPort,Position);set(handles.pb_CloseSerialPort,Visible,on);%-串口初始化-int_Index_COM=get(handles.pop_SerialPort,Value)
48、;string_COM=get(handles.pop_SerialPort,String);string_Select_COM=string_COMint_Index_COM;o_SerialPort=serial(string_Select_COM);%Baud 初始化int_Index_Baud=get(handles.pop_BaudRate,Value);string_Baud=get(handles.pop_BaudRate,String);string_Select_Baud=string_Baudint_Index_Baud;double_Baud=str2double(string_Select_Bau