基础生物电信号处理与采集(心电为例)
fuwen02022015/04/22极客DIY IP:浙江
全文手码,图来自课件,感谢浙江大学诸位老师的悉心教导,请勿转载。。。
都是我早年入门时的经历,,

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

       见到坛子里好多人在做生物电(肌电,心电,脑电),常常遇到问题,作为一名BMEer(Biomedical Engineering),表示曾经做过一些学习并且现在还在学习,也遇到过很多问题,来给大家分享下吧。
       我第一次接触生物电是在大二的时候,学习开了一门叫做《生物医学信号处理》的课程,用的教材是《信号与系统基础:应用Web与MATLAB(第3版)(英文影印版)》,全英文教材,全英文课件,全英文上课,全英文作业,全英文考试。。这是这辈子上过的第一门全英文的课。。所以学的很渣,直接导致了我现在不愿意成为一名码农来写算法,而开始搞烧钱的硬件。不过这不是重点,重点是这门课的实验课,,恩,实验课是中文的,虽然课件还是英文,至少,上课是说中文的了终于,每周一次,一个下午(13:30-17:30大概)。
      这里第一次见到了传说中的心电图采集设备(心电图ECG,而不是心律监测)(老师or学长自己DIY的PCB,NI的采集卡)。原理图如下:
心电1,差分与RLD.png
    这电路的原理十分简单,在浮动地下,左手LA和右手RA的生物电信号信号分别先经过一个跟随器(提高电路的输入阻 抗,减小心电信号衰减,匹配失真),然后分别被一个负反馈放大器放大,之后,两路信号经过差动放大得到较为初步的放大信号。。在差分放大前的信号给过于一个正反馈放大器然后输出到右腿RL上(RLD,右腿驱动电路),用以提高共模抑制比,减少信噪比SNR,提升信号质量,这个电路是否存在对信号输出影响十分巨大,极力推荐加上右腿驱动电路。为了保证信号的不会失真,所以放大倍率并不高,大约在几十倍左右。之后的电路主要用于放大与滤波。
心电放大2.png

     这一部分首先先对信号进行了一个带通滤波,之后,经过一级可调放大倍率的负反馈放大电路,此时,对信号而言,已经基本完成了预处理,可以直接接入单片机或者ADC来进行信号采集了。但是作为一个正常的医疗设备,还是需要考虑安全新,对此,老师在PCB上做了全隔离设计。先通过放大器来做基准电压抬升(虽然也可以用俩电阻和一个电容来做这事情,但这样虽然成本会高,但信号质量还是能更好的保证,对降低信噪比SNR有极大的好处),之后经过跟随器,这样的设计是因为此处使用光耦来进行隔离,光耦内部是LED,LED是一种比较坑爹的东西,并没有在所有的电压段都会有亮度的线性变化,而又一个开启电压(1.7V?我忘了),当输入电压低于这个开启电压的时候,光耦输出一直是关闭的,所以需要电压抬升电路,而LED的电流也是需要比较大,所以需要跟随器。。。。。
    至此,心电的模拟部分就这样吧。。。。至于滤波。。我一直都是做软滤波的,因为陷波电路还是比较占板子面积的,焊接也懒。。。    
    然后模拟部分完了之后当然是ADC啦,采样率不需要太高,不过也不能太低(因为要软滤波,如果你不要滤波,采样率能低至130HZ(2×Fs))。
     至于滤波算法,老师不让外传。不过大致上还是可以说说的。   滤波算法其实也没什么。一般就是均值滤波之类的超级简单的,然后就是傅立叶变换之类的稍微难的,在后就是卡尔曼滤波器,小波算法之类的,最后就是自学习算法之类的神经网络。。说多了,其实用不上,基本傅立叶下就完事了。。  
     从实用角度来说,数字滤波(软件滤波)的思路主要是这样的:  
           1.你得知道你要的信号的大致的频段,峰值,波形(波形是怎么样其实知不知道都一样)  
           2.做傅立叶看频谱,看看噪声和信号分别在什么频段  
           3.做功率谱,看看信号与噪声的强度  
           4.如果噪声和信号处于同一频段,而且噪声强度过大,恩,如果你的算法不是那么牛逼,那你就不要往下做了,重新去改电路吧  
            5.如果噪声和信号不在同一频段,那就可以开始设计滤波器了,从最简单的fft然后加窗然后ifft可能还需要fftshift,到调用matlab自带的各种神一般的滤波器,再到自建神经网络,随你怎么玩
            哦,对了你们还要看波形。。这是我的作业做的,50HZ公频干扰,温漂与基线漂移,运动伪影,肌电干扰都还去除的不错。。主要是信号源和硬件带通做的不错[s::lol]。。
心电图1.png
心电图2.png
关于第一次接触生物电,就这些吧。。。。。其他的没想起来,也没太多印象。。。。
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
第二次:    定量生理学与工程生理学这两门课。。。
       作为工科唯一一个需要学医的专业,还是学了很多门医学院的课程(大学化学,普通化学,生物化学,生物材料与组织工程,诊断学,生理学,定量生理学,工程生理学,以及一一系列and so on。。。感觉可以写半篇。。。)    
       第二次做的是肌电,在工程生理学课上,不过没有做硬件,直接就是用老师采集的数据做了滤波,哦对了,还做了准母亲与其胎儿的心电图分离的算法。从硬件上来说,肌电多了一级放大,滤波器的0.72要挪位置,其他基本不变,至于算法。。没听懂,直接调用了老师写的函数库做的滤波。。。[s::hug:]基本没成果。
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
第三次:    第三次做的是毕设,穿戴式心电图仪。
        要求超小体积,低功耗超长待机,无线连接。。。无线连接选的是蓝牙BLE的蓝牙4.0方案,TI的CC2541.。。。不得不说这块芯片的OSAL有多么的坑,看了一个月没看懂它的架构,最后还是丢包。。。好吧,不说这个了重新回来说心电。。使用的是TI的ADS129×系列的集成前端芯片(集成了RLD,可调PGA,中心参考点,AD,导联脱落,数据打包)。。集成度还是非常高的,就是需要配置寄存器比较麻烦,不过总的来说还是不错的,研发周期也可以缩短很多,不过对数字滤波器还是依赖性非常强。。
      毕设的原理图就不上了,另外我随手画了个原理图如下,但没啥好看的,基本没啥内容。。上面那个是第一版,下面那个是第二版。。
ads1.png
ads2.png
ads3.png

      前端做了电源隔离,但信号没有隔离。外加了锂电池充电管理部分,与外部基准电压部分,没有什么难点,不细说了,至于这货采到的波形,恩,是这样的。。。这货没有进行过数字滤波直接出的图(主要是没想好怎么在arduino写滤波算法,啊喂,他没有fft啊。。。。。),采样率设置为180hz,凑合着看吧,不过可以提高采样率到10KHz的。
ads4.png

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
第三次:    后来还做了ADI公司的AD8232的方案,这块只卖8块钱的集成放大器还是很不错的,买了它的官方测试版。。后来又自己画了几块板子,对于他内部的可编程高通低通滤波器还是觉得不怎么感冒,其他都还不错,关键也便宜,原理图我就不上了,在此对大家推荐一个软件,是ADI自己研发的,但是没有人用,还老在论坛里发帖问,,那个软件来调整这个高通低通滤波器十分方便,叫做AD8232 BAND PASS DESIGN。在AD8232的官网页面上就有下载,需要LabView的环境。前前后后做了4片板子,遇到了各种各样的问题,但现在回头来看,AD8232的解决方案还是十分不俗的。首先先经过一个仪表放大器,放大100倍,然后高通+低通放大信号,总共放大1.3K倍左右。还带了右腿驱动和导联脱落监测。
ad1.png
    啊啊啊,不知道该说什么了。。。。。。还是来看波形吧。。。
ad2.png
     波形还是不错的,噪声也能接受。。稍稍再数字滤波下就好了。。
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
现在:    现在在做脑电采集的项目,不过难度很大,木有uV级的信号发生器,木有uV级的信号检测仪器,在搭放大器。。。原理图就不放了,老板会打死我的,不过还是差不多的,先经过一级放大,然后做高通,然后低通,然后二级放大,然后50Hz陷波。。。。然后ADC,然后数字滤波器及算法。。目前遇到的问题是AD8232的滤波器,,,比较坑,出来的波形会有30Hz的倍频。。。

[修改于 9年9个月前 - 2015/04/22 12:56:57]

+1  学术分    1211    2015/04/22 理论阐述明确,符合加分条件。
来自:综合交流区 / 极客DIY
23
 
1
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
fffofo
9年9个月前 IP:四川
764261
我有0-10v的直流源,自己设计制作的,1uv分辨率,任意可调
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wenyanwen
9年9个月前 IP:上海
764272
浙大的牛啊
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
suhaocong
9年9个月前 IP:广东
764294
学习学习
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
.........
9年9个月前 IP:江西
764331
能不能给个有噪声的波形数据,我在网上找的都是滤波之后的波形数据。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
潜伏
9年9个月前 IP:浙江
764360
操声来自于哪里?外接干扰吗?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
fuwen0202作者
9年9个月前 IP:浙江
764421
引用 .........:
能不能给个有噪声的波形数据,我在网上找的都是滤波之后的波形数据。
噪声,我给的那些都是有噪声的呀,都木有经过滤波,,,,,
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
fuwen0202作者
9年9个月前 IP:浙江
764422
引用 潜伏:
操声来自于哪里?外接干扰吗?
噪声主要由三个部分,
1.公频干扰(国内50hz,某些60hz,市电频率)
2.放大电路本身的干扰(温漂,基线漂移等等等等)
3.人体其他生物电(主要是肌电)与电极接触阻抗造成的干扰
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
smith
9年9个月前 IP:上海
764486
好东西,顶一下。
但我一直有疑问电极如何取,我去参观过中大的实验室,他们的脑电跟踪设备用的是低阻电极,好像还要涂导电药膏。
我亲戚说他们的设备必医院的仪器要精确很多。
像脑电信号,电极的影响大吗
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
fuwen0202作者
9年9个月前 IP:浙江
764523
引用 smith:
好东西,顶一下。
但我一直有疑问电极如何取,我去参观过中大的实验室,他们的脑电跟踪设备用的是低阻电极,好像还要涂导电药膏。
我亲戚说他们的设备必医院的仪器要精确很多。
像脑电信号,电极的影响大吗
我在做兼职的公司是和中科院某个专门做电极的合作的,一种金的,微刺电极。。不过一般采集的话用氯化银凝胶电极也行啊。。。至于影响,算法牛逼电路也牛逼输入阻抗也可以很大的话电极影响就不会特别大,我见过有些产品是用fpc作为脑电采集电极的,好厉害。。。。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
myfantasy
9年9个月前 IP:广东
764615
请教生物电是怎么回事
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
fuwen0202作者
9年9个月前 IP:浙江
764708
引用 myfantasy:
请教生物电是怎么回事
这个比较复杂,关于细胞膜的磷脂双分子层上载体蛋白运输钠离子和钾离子所造成的细胞膜内外电势差,从而产生极化与去极化现象而造成的生物体上电位的变化
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
chenhello
9年8个月前 IP:湖南
768727
厉害!学习了。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
csaaa
9年8个月前 IP:江西
769277
见到医院里用一个东西夹住手指就显示心电是怎么回事。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
meiyuan
9年8个月前 IP:浙江
769305
脑电好像比心电难测吧
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
fuwen0202作者
9年8个月前 IP:浙江
769323
引用 csaaa:
见到医院里用一个东西夹住手指就显示心电是怎么回事。
那是脉搏。BMP
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
fuwen0202作者
8年7个月前 IP:陕西
821123

接下来有空我想要连载,脉搏,血压,血氧,脑电,肌电,电电等生物信号检测的帖子,,怎么编辑。。。。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
虎哥
8年7个月前 修改于 8年7个月前 IP:四川
821127

引用 fuwen0202 : 接下来有空我想要连载,脉搏,血压,血氧,脑电,肌电,电电等生物信号检测的帖子,,怎么编辑。。。。

论坛的编辑器还会完善,不久之后专业板块还会开放长期编辑权。要写漂亮的帖子,可能需要熟悉一下markdown语法,这是专业码字工的标配,哈哈。
另外我觉得用网线(包括wifi)或者USB传输的生物电信号采集卡很重要,因为现在越来越离不开PC机上的数字信号处理。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
fuwen0202作者
8年7个月前 IP:陕西
821129

引用 虎哥 : > 引用 fuwen0202 : 接下来有空我想要连载,脉搏,血压,血氧,脑电,肌电,电电等生物信号检测的帖子,,怎么编辑。。。。

论坛的编辑器还会完善,不久之后专业板块还会开放长期编辑权。要写漂亮……

做产品的话,还是mcu或者dsp上算会比较符合用户体验,研发的话,我是用myDAQ的,,,

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
warmonkey
8年7个月前 IP:广东
821320

引用 fuwen0202 : 做产品的话,还是mcu或者dsp上算会比较符合用户体验,研发的话,我是用myDAQ的,,,

买个STM32F4开发板

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
fuwen0202作者
8年7个月前 IP:浙江
821412

引用 undefined : > 引用 fuwen0202 :

做产品的话,还是mcu或者dsp上算会比较符合用户体验,研发的话,我是用myDAQ的,,,

买个STM32F4开发板

mydaq到labview无缝连接,,不用写接口协议。。f4的开发板官方的也要400+,同轴线和接口又是一笔钱,不如买二手的mydaq

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
sajunk
7年9个月前 IP:陕西
832362
啊少年,你认识你们学校的王平老师吗?偶然看到你是浙大bme的,我想读这方面的博士,能否加个好友,我了解一下你们的工作,我是西电电子所的研究生,方便的话加我qq 549821055 备注就写bme即可。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
fuwen0202作者
7年9个月前 IP:浙江
832818
引用 sajunk:
啊少年,你认识你们学校的王平老师吗?偶然看到你是浙大bme的,我想读这方面的博士,能否加个好友,我了解一下你们的工作,我是西电电子所的研究生,方便的话加我qq 549821055 备注就写bme即可。……
王平老师是和海尔一起做气体传感器的吧,,我已经毕业了,虽然上过课,但毕业了就没怎么联系了。。。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
fuwen0202
进士 学者 机友 笔友
文章
14
回复
784
学术分
1
2013/09/05注册,2个月3天前活动
暂无简介
主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:未同步
文件下载
加载中...
{{errorInfo}}
{{downloadWarning}}
你在 {{downloadTime}} 下载过当前文件。
文件名称:{{resource.defaultFile.name}}
下载次数:{{resource.hits}}
上传用户:{{uploader.username}}
所需积分:{{costScores}},{{holdScores}}下载当前附件免费{{description}}
积分不足,去充值
文件已丢失

当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}
视频暂不能访问,请登录试试
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
音频暂不能访问,请登录试试
支持的图片格式:jpg, jpeg, png
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}