APP下载

基于LabVIEW的无线sEMG采集系统设计

2019-09-02王锋宫玉琳胡命嘉

关键词:电信号串口蓝牙

王锋,宫玉琳,胡命嘉

(长春理工大学 电子信息工程学院,长春 130022)

sEMG是肌肉多个运动单元产生的动作电位在皮肤表面综合叠加的结果。表面肌电信号的微弱到只有1mV左右大小,并且有用的信号频率在20~500Hz之间,检测难度非常大。但是肌电信号的幅值与肌肉收缩的力度成正比,并且一般比肢体运动提前约30~150ms产生,sEMG在众多领域都有很高的研究价值。在医学方面,可以利用sEMG对病人病情做出准确判断或者是制定康复医疗计划;在体育科学,可以实现对运动员身体状况或者肌肉发力方式做出评估;在人工智能领域,利用肌电信号可以实现更好的人机交互。

现在肌电信号的检测还处于开始阶段,但是通过查阅相关文献和资料发现无论是在国内还是国外,都有越来越多的学者在研究如何对肌电信号进行精确的检测和如何对检测到的肌电信号进行有效的算法分析、特征提取。随着科学技术的不断发展,在表面肌电信号检测方向会有更高的技术突破以及更广的应用领域。

1 sEMG采集系统的硬件设计

sEMG采集系统硬件结构如图1所示,主要由肌电电极、信号差分放大电路、Arduino开发板和蓝牙模块四部分组成。利用这套采集系统可以把微弱的1mV表面肌电信号放大到便于检测的0~3.3V,滤掉工频50Hz和20~500Hz之外无用的频谱成分,把模拟信号转换成数字信号,然后用蓝牙把数据传到上位机进行处理分析[2]。

图1 sEMG采集系统硬件设计框图

电极和信号差分放大部分

电极是肌电信号检测最开始也是最重要的部分,电极性能的好坏将直接影响到整套采集系统的采集精度。与传统的针电极肌电检测不同,采用了放在皮肤表面的贴片式电极,具有对皮肤损伤小、穿戴方便的特点。实验表明采用Ag/AgCl作为表面电极能够得到稳定的肌电信号,并且在测量脑电、心电图的医学仪器上也都使用了这种材料制作成的电极,因此采用了Ag/AgCl作为表面电极[3]。

一般肌电信号的电极都是由三片构成,为了最大限度的降低皮肤表面噪声信号的干扰,采用了如图2所示的差分放大电路,将电极1与电极2做差分处理,电极3作为参考电极,这样就会得到比较纯净的sEMG信号。经过测试,将电阻R1电容C1的值分别设定为100Ω和100μf,AD8220能将肌电信号放大1000倍左右,正好在AD采集的合理范围之内。

图2 差分放大电路

1.1 信号采集、滤波部分

将模拟信号转换成数字信号是每个采集系统的必要部分,使用了Arduino开发板作为信号采集卡。Arduino是一个方便、快捷的开源电子平台,使用Arduino IDE软件作为开发平台,与传统的STM32系列单片机相比,Arduino价格便宜、编程方便、更容易上手。Arduino的接口数量以及内部提供的10位精度的A/D转换器完全满足本系统的需求。

经过前端的差分放大处理后得到的表面肌电信号并不是直接可用的,还需要对其进行滤波处理,滤除50Hz的工频干扰以及20~500Hz之外的无用信号,使用模拟电路进行滤波,但发现效果并不是特别理想,尤其是50Hz的工频干扰,很难做到根本性滤除。结合数字滤波后,对比发现得到的肌电信号幅度变化与肌肉动作规律具有很高的一致性,成功滤除了无用的频谱成分。

1.2 数据传输部分

Arduino开发板内部集成了RS232串口芯片,采集到的数据可以通过RS232串口数据线传送到PC端,为提高采集设备的便携性,采用了无线蓝牙代替串口线的解决方案。使用的蓝牙模块型号为HC-05,HC-05模块采用了蓝牙4.0标准,最高传输速率为24Mbit/s,传输距离能达到10m。将Arduino端的串口RX、TX引脚分别与蓝牙的TX、RX引脚相连,在PC端添加一个USB转TTL的电平转换模块,再连接一个蓝牙模块作为信号的接收端就可以正常工作,使用蓝牙模块进行无线传输不需要额外编程,只需要配置好发送端与接收端两个蓝牙模块的连接参数即可。经过测试,采用蓝牙进行数据传输与普通的串口数据线相比,并不存在数据丢失的现象。

图3 HC-05蓝牙模块

2 LabVIEW上位机设计

LabVIEW是美国国家仪器公司研制一种程序开发平台,与其他软件开发平台不同,LabVIEW主要由前面板的显示界面和后面板的程序框图组成,后面板采用图形化的编程方法,前面板主要用作数据输入和显示,本系统上位机的功能框图如图4所示[4]。

图4 上位机功能框图

2.1 数据的接收、显示、储存

串口接收部分主要是调用LabVIEW的VISA函数编写的,VISA函数可以把RS232串口协议的通信数据解析出来转换成对应的字符串,在VISA函数中配置好串口协议所需要的串口号、波特率、奇偶位、停止位等参数就可以与下位机实现串口通信,如图5所示。

图5 串口部分程序图

将串口接收的ASCII码转换成十进制数字后,利用波形显示控件可以将数据以波形的形式显示出来,如图6所示,通过波形图可以直观地看出肌肉的运动状态。图6的左上角是串口参数配置部分,左下角是四个功能按键。下位机和串口都配置好后,点击第一个按键“开始采集”,系统开始采集sEMG信号并通过波形图实时显示出来,点击“保存数据”系统会新建一个Excel文件并将采集的数据以数组的形式保存到Excel文件中。第三个按键是对Excel文件中的数据进行算法分析,接下来的按键是结束程序运行。图7是LabVIEW波形与数据保存部分程序图,最左边是一个比较函数,当输入字节数大于零时,函数输出为1,即开始运行条件框图内的程序。图中标注的字符串转数值函数可以将串口中的字符串转换成十进制数值,这样后面再连接一个波形图控件就可以实现数据波形的实时显示。数组插入部分是将接收到的每一个十进制数值以数组元素的形式插入到数组中,这样所有的数据就形成了一个大的一位数组,方便了后续的保存、处理。图7最右边是数据保存部分,用到的是将数据保存到电子表格函数,从图中可以看到数据被保存到了电脑D盘名为semg的电子表格中。

图6 上位机界面

图7 波形与数据保存部分程序图

2.2 数据分析

Arduino的AD采样频率为500Hz,这就意味着下位机在1秒的时间内会上传500个数据,面对成千上万个数据,很难利用LabVIEW进行有效的数据分析。但LabVIEW内置MATLAB Script节点,在MATLAB中编写的数据分析程序运行无误后,将程序代码复制到LabVIEW的MATLAB Script节点中,就可以实现LabVIEW与MATLAB混合编程,方便高效,图8是MATLAB Script节点程序图,鼠标点击前面板的数据分析按钮,便开始执行MATLAB Script节点中的程序。

图8 MATLAB Script节点程序图

采集到的sEMG总会有夹杂着电路中的一些噪音成分,为了能够准确地判别出每次动作的起止点,采取了移动平均法和阈值法相结合的方法对动作起止点进行检测,从而得出动作的有效数据段。首先对原始sEMG信号进行滑动求和,滑动长度N=50,计算公式如下:

式中,sEMGn为原始的信号,sEMGs是每一个原始信号与之后的49个数据之和,公式(2)中sEMGan是50个数据的平均值,设定10为阈值,如果sEMGan大于10,则判定第n+24(取中间值)个数据为肌肉收缩产生的数据。这种处理方法忽略了前24和后50个数据,由于系统的采样频率很高,造成的影响可以忽略不计。

图9是采集到的原始数据的图像,图10是经过算法分析得到肌肉每次运动的起止点后画出的数据图像,比原始数据更加直观明了。

图9 原始数据图像

图10 处理后的数据图像

图11列出了每一次肌肉做收缩运动的起止点、总能量和平均能量信息,可以分析出肌肉力度以及肌肉健康度、疲劳度等信息,其计算方法为:

式中,ei、si代表肌肉每次动作的起止点,sEMGsumi代表每次动作的总能量,公式4中sEMGai代表每次动作的平均能量信息。

在时域分析中,sEMG的均方根能够反映肌肉之间肢体运动的一个分布情况以及肢体运动过程中各肌群肌力的大小[5]。其计算公式为:

式中,N为采样点,sEMGn代表第n个采样点信息。

图11 每次动作数据分析

3 系统测试

上文主要介绍了sEMG采集系统的硬件设计和上位机软件编写过程,本节主要做了一些测试工作。首先是进行数据校准,把贴片电极放在肌肉上,使肌肉放松,这时会检测到一组幅度变化不大的肌电信号数据,通过修改Arduino开发板内部程序使这组数据变成零,即把肌肉在放松状态时的输出的数据调为零,这样随后检测到的数据就是肌肉在运动时的电信号变化[6]。

图12 无线sEMG采集系统实物图

把贴片电极分别放在手臂和脸部的侧咬肌上经过大量的测试发现,握拳时使用不同的力度,手臂上的肌电信号就会有不同的幅度值;牙齿的咬合力度不同,也会采集到不同的幅度值,并且两者都是成正比关系[7],图12是无线sEMG采集系统的整体实物图。

4 结论

本采集系统成功地检测到了皮肤表面微弱的交流信号的幅度变化,并且通过LabVIEW上位机实现了肌肉力度与信号强度的建模分析。但肌电信号的应用不仅如此,由于时间、精力有限,文中只提到了一路sEMG数据分析,后续会设计一种多通道的sEMG采集系统放在手臂上,根据手臂多通道sEMG变化做出手势动作识别[8]。将多个传感器放在病人的肌肉病变部位,就能准确检测到病人的肌肉病变情况,这些都是以后要重要的研究内容。

猜你喜欢

电信号串口蓝牙
蓝牙音箱的直线之美
基于联合聚类分析的单通道腹部心电信号的胎心率提取
浅谈AB PLC串口跟RFID传感器的通讯应用
基于Code Composer Studio3.3完成对心电信号的去噪
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
基于随机森林的航天器电信号多分类识别方法
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
串口技术的实物调试和虚拟仿真联合教学模式