【表面肌电信号采集硬件和软件设计案例7000字】_第1页
【表面肌电信号采集硬件和软件设计案例7000字】_第2页
【表面肌电信号采集硬件和软件设计案例7000字】_第3页
【表面肌电信号采集硬件和软件设计案例7000字】_第4页
【表面肌电信号采集硬件和软件设计案例7000字】_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

表面肌电信号采集硬件和软件设计案例目录TOC\o"1-3"\h\u16614第1章表面肌电信号采集硬件系统搭建 23551.1硬件组成 2178181.2肌电信号采集前端 3302371.3计算处理模块 46561.2.1主控系统 47551.2.2电源模块 6208721.1.3蓝牙传输模块 6296321.4本章小结 711169第2章表面肌电信号采集软件系统设计 838572.1硬件系统驱动开发 8203462.1.1采集系统的自检与初始化 10272022.1.2表面肌电信号采集控制 11290072.1.3蓝牙数据传输 12214192.2上位机软件开发 1333212.1.1人机交互软件设计 14110362.1.2表面肌电信号数据处理 15289252.1.3I/O表面肌电信号特征值提取 18表面肌电信号采集硬件系统搭建本章主要内容为运动康复监测系统的肌电信号采集硬件系统设计方案:搭建一个依托于小型干电极、具有信号采集、数据处理、无线传输等功能的表面肌电信号采集硬件平台。鉴于对信号采集质量对试验结果的影响,拟对肌电信号采集硬件系统提出以下要求:(1)便携性:采用的硬件结构、使用方式等需要满足无扰动并且非突兀的特点。基底和电极要满足可拆卸易携带并在一定程度上可以满足防水防汗的需求。(2)信号预处理能力:对于采集到的肌电信号,能够在被后端采样前,进行一定程度的信号去噪和信号调理。(3)多通道采集能力:人体生理运动是由于肌体的多组肌肉协同运动形成的结果,因此肌电信号的采集通道,在不影响采样率、无线带宽、系统运算效率等情况下,通道越多越好。1.1硬件组成肌电信号采集硬件系统可以采集人体多个位置的表面肌电信号。在设计时,需要重点考虑实现不同模块之间的通信,尽量可以依靠彼此间的依赖性,实现高效的信号传输。整体上,肌电信号采集硬件系统主要包括肌电信号采集前端和计算处理模块两大部分。如图2-1所示。图2-1表面肌电信号采集硬件系统组成首先表面肌电信号通过四通道的干电极进入到肌电信号采集前端,在信号采集前端通过滤波电路和放大电路等调理电路之后,进入计算处理模块。经过初步调理后的肌电信号在计算处理模块中进行A/D转换、数据处理和传输。其中计算处理模块主要包括信号采样电路、蓝牙传输电路、电源电路等。通过蓝牙无线传输的方式,将经过处理的肌电信号数据传递给上位机,并在上位机实现数据的显示、储存与分析功能。如图2-2所示。图2-2表面肌电信号采集流程图1.2肌电信号采集前端表面肌电信号不像其他信号那样有很大的幅度,很容易检测出,微弱性是肌电信号最普遍的特征,正是因为它的微弱性才使人们很难准确的检测出它的具体数值。从而没有办法直接通过A/D转换进行采集,而且由于本身较为复杂的环境噪声拥有较高的幅值,在一定程度上,很容易淹没微弱的表面肌电信号。因此我们需要对表面肌电信号进行放大、滤波等信号调理工作。如图2-3。图2-3肌电采集前端框图—般情况下,它的电压信号是及其微弱的,仅只有微伏级别,其峰值一般在0~6mV,均方根在0~1.5mV[3],而实际上通过干电极能从皮肤表面采集到的有效幅值大约为0.1mV—2mV。所以实际采集到的表面肌电信号的有效频谱范围大概在20Hz到200Hz之间。故在ADC的采样频率选取时,本文选定了1kHz,保证了16bit的精确度。此外,由于受试者在进行肌体活动的过程中,由于摩擦等因素,会在肌体表面产生静电现象,从在肌体表面积累大量的电荷。这些电荷在积累到一定量以后就会产生放电现象,极大可能性破坏肌电信号采集前端的电路,故而我们需要在输入级后接入静电保护电路,保护电路安全。1.3计算处理模块计算处理模块主要是对通过调理之后的表面肌电信号进行采样、调理、模数转换和传递,以方便后续上位机对数据进行显示、储存与分析工作。所以计算处理模块主要包括数模转换电路、电源电路和蓝牙传输电路。电源电路主要是解决运动康复监测系统对便携性的需求,满足运动康复监测系统的无障碍使用。而模数转换电路主要是将调理后的表面肌电的电压信号转换成可供微处理器识别使用的数字信号,从而实现数据传输、分析和运算等功能。最后的蓝牙传输电路则是为了简单快捷地将得到的数字信号传输给上位机系统,以完成表面肌电信号的显示、储存以及更复杂的分析工作。尤为需要注意的是,表面肌电信号采集系统作为一种人体生理电信号采集系统,其关键点在于采集信号的精确度和实时性。精确度作为所有信号采集系统的核心要求,直接决定了表面肌电信号采集系统本身的准确性和可靠性。而实时性则是表面肌电信号采集数据是否可靠的前提条件,二者相辅相成,缺一不可。1.2.1主控系统由于本文中设计的基于表面肌电信号的运动康复监测系统有便携性的要求,所以在设计计算处理模块主控制电路的时候要考虑到主控制电路的面积大小、能耗损失以及微处理器的计算能力和内部功能是否达到了运动康复监测系统的要求,同时尽可能降低费用成本。综上,本文选取了MICROCHIP(美国微芯)公司的具有28个引脚的ATMEGA328-PU芯片作为计算处理模块的微控制器。其时钟频率为16MHz,配上32kB的闪存和2kB的SRAM足以应对遇到的绝大多数问题,而且满足价格低廉、功耗小的设计要求。主控系统框图如图2-4。主控系统电路主要包括:ATMEGA328-PU微控制器、晶振、复位、模数转换接口、LED电路等。图2-4主控最小系统电路原理图如图2-5设计主控系统电路,主控ATMEGA328-PU上接两组分别为8MHz和16MHz的晶振。原理图中通过三个LED分别指示单片机工作、蓝牙传输、USB供电状态,并通过串联电阻的方式对流经三个LED的电流进行限流。同时下载电路的USB接口与供电电路复用。此外,四通道的表面肌电信号采集数据将通过最小系统上留有四位A/D接口进行连接,最后还留有一组串口以便后期功能拓展使用。图2-5主控最小系统电路原理图1.2.2电源模块在设计电源模块时,需要注意电源模块供电是否稳定、供电电流和供电电压能否达到要求、使用时间是否足够持久耐用等问题。因为电源模块的设计将直接决定了运动康复监测系统的使用寿命。本文中,考虑到运动康复监测系统的便携性和舒适性,放弃了表面肌电采集系统常规的有线供电方式,进而采用额定输出电压为7.4V、容量为2200mA的锂电池对运动康复监测系统直接供电,同时使用锂电池供电也可以成功避免了市电50Hz的工频干扰。系统中+7.4V为电源电压、+5V与+2.3V为系统对内及对外供电电压。本文中选择LP2985-33DBVR作为电源管理芯片,LP2985是1.5mA的工作电流,2.3V的工作电压,30μVRMS的超低噪声的稳压器,集成了过流保护和热保护,具备大电流耐受能力。设计电源管理电路如图2-6。图2-6电源管理电路1.1.3蓝牙传输模块在设计传输模块时,目前的数据传输方案主要有两个:一个是利用有线方式进行传输,虽然该方案稳定性极强,但在运动康复监测系统中使用有线传输将严重影响设备的便携性和舒适性。另一个是通过无线方式进行传输。目前常用的是利用IEEE801.15协议进行传输,最为代表性的就是WiFi传输和蓝牙传输。虽然WiFi传输具有传输速率高,稳定性强的特点,但由于高功耗的需要导致不适合用于锂电池供电的运动康复监测系统。而蓝牙传输虽然相较WiFi传输而言,具有传输距离短、宽带低的缺点,但由于其功耗低、开发简单、适用范围广的特点,更时候运动康复监测系统的数据传输需求。本文选择了HC-08蓝牙模块,该模块基于新一代BluetoothSpecificationV4.0BLE蓝牙协议数传模块,工作频率为1.4GHz,波特率可调[4]。本文中为与表面肌电信号的传输数据想配合,波特率设置为115200。配对成功后,工作距离可达到15m。1.4本章小结本章进行了运动康复监测系统的表面肌电信号采集硬件系统的介绍、针对表面肌电信号的特点和各功能模块的需求,设计了信号处理与采集电路,搭建了硬件系统,为后续软件驱动提供了硬件平台。 表面肌电信号采集软件系统设计在本文所设计的运动康复监测系统中,软件设计部分主要包括两个方面,一方面硬件系统的主控驱动设计。另一方面是上位机软件设计。开发硬件系统驱动的工作主要是对信号的采集与对数据的传输的驱动。本文首先需要按照不同模块功能对各部分进行一一调试,在调试成功并保证了最小系统能稳定工作后,再从PC端将硬件系统的驱动程序下载到微处理器中运行[5]。上位机软件设计的主要是设计人机交互界面,和数据处理与分析程序。从而完成对数据的接收、转换、处理与分析、并在人机交互界面完成对数据的显示等。2.1硬件系统驱动开发硬件系统驱动流程如图3-1所示,当硬件系统开启后,系统开始进行自检,判断主控系统能否正常工作,如果能正常工作,系统将从微处理器内部读取历史用户配置信息,再根据读取到的文件设置硬件系统的诸多运行参数。如果主控系统工作异常,则从微处理器中读取初始参数配置信息,再根据初始参数配置信息文件设置硬件系统的诸多运行参数。等完成配置后,系统将对数据传输模块和模数转化模块进行初始化设置。然后系统开启蓝牙,并搜索上位机系统,当蓝牙模块成功接驳到上位机后,系统便开始了表面肌电信号采集工作。系统将根据定时器的定时功能获取表面肌电信号数据,再通过蓝牙协议将预处理后的数据发送到上位机端。图3-1硬件系统驱动流程图2.1.1采集系统的自检与初始化图3-2采集系统自检与初始化流程图采集系统自检和初始化是程序运行的第—步,其具体流程图如图3-2所示。第一步,首先需要初始化MCU系统时钟,然后初始化各个IO端口以及系统中断的优先级。此时要着重强调下必须及时开启看门狗功能,防止采集系统崩溃后的数据丢失,从而进行自动复位。第二步,系统开始读取微处理器中保存的配置信息文件,该文件主要是用户历史上对于无线传输模块的波特率、系统模数转换的采样率等信息的设定。接下来就要看历史配置信息是否有误,如果正常运行则按照文件中读取的配置信息对各功能进行配置。如果运行时发现该历史配置信息无法运行,则根据程序中的初始参数配置初始化各功能配置信息。第三步,系统对模数转换模块进行初始化操作,主要针对内部A/D和其所对应的引脚功能进行操作。第四步,系统开启蓝牙,搜索上位机端并完成配对。2.1.2表面肌电信号采集控制本文中运动康复监测系统的表面肌电信号采集是通过硬件系统中的模数转换器与微处理器中的定时器功能相配合实现的。其模数转换的信号采集是由定时器控制触发的,采样率选定为1kHz,每个周期内需要同时对四个通道的表面肌电信号进行采样。由于采样需要中断频率很高,系统设定开启DMA来完成数据的接收工作,从而避免总线被长期占用的现象。表面肌电信号采集控制流程图,如图3-3所示图3-3表面肌电信号采集控制流程图第一步,触发ADC1的时钟,同时打开PA1的时钟,并初始化其相应I0口,使其保持模拟输入模式。第二步,触发DMA1的时钟,接下来将该DMA绑定到系统的ADC地址上。此时系统需要通过设置循环模式来采集四个通道的表面肌电信号。此时要注意将DMA缓存大小设定为4,以方便准确地将各通道数据根据通道的不同依次放入该缓存中。最后触发DMA的响应中断。第三步,设置模数转换模式为扫描模式依次扫描各个模数转换通道;打开连续转换,并设置通道数量为4。然后配置IO的采样时钟为6个时钟周期(1ms);触发ADC与DMA,然后对ADC进行复位。这时系统重新回到自检模式,开始循环转换数据。第四步,设置硬件系统的定时器,以保证系统的中断频率为1KHz,同时将中断优先级设置为0,保证定时器的稳定工作。开启定时器中断后,MCU将会以1kHz的频率持续获取传输到DMA缓存的数据由此保障了采样率的稳定。2.1.3蓝牙数据传输本文中,运动康复监测系统的下位机与上位机之间的通讯方式选择了依靠蓝牙传输的方式实现。蓝牙模块选择了HC-08模块。MCU通过串口协议将数据发送给HC-08蓝牙模块,然后HC-08蓝牙模块由BluetoothSpecificationV4.0BLE蓝牙协议将数据发送给上位机。此时需要注意,当表面肌电信号采集设备需要与Android平台进行连接达到实时数据传输时。首先采集设备启动之后,把数据通过MCU的串口协议发送给蓝牙,蓝牙处于被动配对状态,此时需要上位机软件进行搜索蓝牙。当表面肌电信号采集设备的蓝牙模块收到配对请求之后,系统将提醒受试者验证配对密码和设备名称是否正确。确认无误后,即可完成配对,此时上位机软件处于通讯监听状态,表面肌电信号采集设备的蓝牙会发起会话请求,在上位机软件同意后,双方会建立起会话连接,接下来就可以进行数据的实时传输。但,需要注意的是,会话的终止也需要由采集设备进行主动发起,所以需要在此前预设停止命令。此外,需要分清楚,在此传输过程中表面肌电信号采集设备的蓝牙模块是客户端,上位机是服务端,通讯方式采用的是全双工异步串行通信。流程框图如图3-4。图3-4蓝牙模块无线传输流程框图2.2上位机软件开发本文中,运动康复监测系统的上位机主要是由基于android语言所编写的终端显示app作为人机交互页面、通过Matlab实现的表面肌电信号处理和样本特征值的采集计算三个部分组成。图3-5表面肌电信号分析流程图人体的表面肌电信号与受试者的肌肉运动状态直接相关,其不同动作,肌肉收缩的不同,都会导致肌电信号的多种多样。我们以上臂为例,选取了直臂,握拳,曲臂三种动作,来测量肱二头肌的肌电信号作为数据库。由于表面肌电信号比较容易受到外界环境的干扰,为了解决这个问题,并有效提取出特征参数,全世界采用了各式各样的分析方法,种类高达60余种。本文所设计的表面肌电信号分析流程图如图3-5所示,整体分作两个部分,滤波部分和特征提取部分。需要注意的是上位机运行以后,首先要确认各软件功能模块的初始化设定是否配置完成,确认无误后再进入人机交互界面进行相关操作。2.1.1人机交互软件设计本文中,为基于表面肌电信号的运动康复监测系统开发了一款基于Android系统的应用软件,来进行上位机的数据显示以及人机交互。肌电信号采集数据库在设计上存储有9个位置肌肉群的肌电信息。图3-6运动康复监测系统app人机交互界面如图3-6,使用者可以通过选择不同的数据库,来进行不同位置的肌电信号比对、分析。当Android平台上的软件通过手机蓝牙与下位机表面肌电信号采集硬件系统连接成功后,下位机将实时发送四通道的表面肌电信号数据给Android平台。这些数据通过解析以后可以实时显示在手机页面内。同时这些数据将通过应用软件联网发送至PC端。在PC端使用Matlab对数据进行处理,提取四种特征值,最终将结果可返回到应用软件中显示。图3-7实时波形显示2.1.2表面肌电信号数据处理由于金属干电极实际采集到的表面肌电信号的有效频谱范围大概在20Hz到200Hz之间。且由于肌体肌肉在活动时会导致皮肤发生拉伸和变形,与干电极相摩擦。而干电极与皮肤直接由于没有导电凝胶,介质面的离子活动性较差,就极易产生运动伪迹。而且由于干电极是通过绑带与肌体相固定的,也导致了测量时的介质面阻抗波动,同样会产生运动伪迹。但是由于这些运动伪迹多为25Hz的低频信号,可以通过带通滤波的方式滤除运动伪迹及高频噪声的干扰。在带通滤波器的选择上,选择四阶巴特沃兹滤波器。关于巴特沃兹滤波器的幅频响应表达为:Hω=n为滤波器阶数,ωc由于本文使用Matlab进行信号处理,这里选择使用Matlab中的滤波器设计工具进行滤波器的设计。既要求我们在Matlab命令行中输入“filterDesigner”即可打开滤波器设计界面,只需要我们在界面相对应的位置选择合适的滤波器参数即可完成模型设计。如图3-8所示。图3-8带通滤波器设计界面(1)滤波器的设计方法选择Butterworth型的IIR滤波器。(2)滤波器的响应类型选择带通,用于滤除30Hz以下、200Hz以上的运动伪迹及其他高低频噪声干扰频率。(3)滤波器阶数需要使用偶数阶,因此选择为4阶。(4)频率设定根据上位机实际采样频率设定为1000Hz,根据低频干扰的幅频特性设定45Hz截止频率,根据高频干扰的幅频特性设定150Hz截止频率。(5)完成设定后点击“设计滤波器”按钮,插件即可根据给出的参数生成滤波器,从而在坐标框中显示该滤波器的幅值响应曲线。(6)点击“文件”中“生成Matlab代码”的“滤波器设计函数”即可生成.m文件,再在程序中引言滤波器即可。此外工频干扰也是表面肌电信号采集过程中影响较大的噪声。工频噪声一般为50Hz噪声,但是可能由于环境的变化影响磁场,导致工频噪声发生偏移。由于工频噪声幅值可能会达到表面肌电信号最大幅值的50%,对于表面肌电信号的采集影响极大。工频干扰产生的因素主要包括以下几种途径:(1)人体本身极易耦合实验环境中的电磁干扰;(2)环境中的变压器等设备周围所产生交流磁场也会耦合进信号之中;(3)来自于系统设备电路本身的工频干扰[6]。虽然本文在硬件采集系统设计中已经进行了相应的滤波电路设计,但是无法根除工频噪声。仍需要在Matlab中添加切实有效的去工频噪声算法。本文采取带阻滤波器进行工频干扰的滤除。采用的是二阶

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论