首页> 中国专利> 一种基于微控制器的肌电信号处理及特征提取方法

一种基于微控制器的肌电信号处理及特征提取方法

摘要

本发明公开了一种基于微控制器的肌电信号处理及特征提取方法,包括信号采集放大处理、窗函数移动平均处理、阈值处理和波形长度特征提取四个步骤;其中,信号采集放大处理过程由硬件完成,采用三点式差动输入电极采集表面肌电信号;窗函数移动平均处理过程在极小运算量下对信号做平滑处理;阈值处理过程在极小的运算量下从肌电信号中提取出肌肉的收缩-舒张状态;波形特征提取过程在极小的运算量下获得波形变化幅度特征。本发明方法可以应用于运算资源与存储资源极为有限的微控制器上,利用较低成本采集处理肌电信号,获得肌肉的收缩-舒张状态与波形变化幅度特征。

著录项

  • 公开/公告号CN105686827A

    专利类型发明专利

  • 公开/公告日2016-06-22

    原文格式PDF

  • 申请/专利权人 浙江大学;

    申请/专利号CN201610165825.8

  • 申请日2016-03-22

  • 分类号A61B5/0488;G06K9/00;

  • 代理机构杭州天勤知识产权代理有限公司;

  • 代理人胡红娟

  • 地址 310027 浙江省杭州市西湖区浙大路38号

  • 入库时间 2023-12-18 15:37:03

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-12-18

    授权

    授权

  • 2016-07-20

    实质审查的生效 IPC(主分类):A61B5/0488 申请日:20160322

    实质审查的生效

  • 2016-06-22

    公开

    公开

说明书

技术领域

本发明属于计算机协同医疗技术领域,具体涉及一种基于微控制器的肌电 信号处理及特征提取方法。

背景技术

表面肌电信号(SurfaceElectromyogram,SEMG)是一种重要的人体生物信 号,是通过人体表面电极,在人体皮肤表面采集人体肌肉运动时所产生的电位 信号。它的来源是人体自主运动时神经肌肉活动发放的生物电信号,这些电信 号沿肌纤维传播并经由皮肤、脂肪构成的容积导体滤波后在皮肤表面检测电极 处的时间和空间上综合叠加,最终形成表面肌电信号。由于不同的动作引发不 用的肌肉群作用,产生的肌电信号就不同,所以肌电信号在识别人体动作方面 具有独到的优势,被广泛应用于假肢控制、康复训练、临床医学和体育科学等 诸多领域中。表面肌电信号的频段主要分布在20~500Hz的区间内,主要能量集 中在50~150Hz的区间内,基本服从正态分布。可以发现,人体肌电信号具有以 下两方面特征:

一是信号弱。直接从人体中检测出来的电信号的幅值往往较弱;在振幅上, 由于肌电信号是一种肌肉产生而在皮肤表面提取的电信号,其电压信号非常微 弱,峰值一般在0~6mV。因此,在处理肌电信号之前,需要使用硬件对信号进 行放大处理。

二是频率范围较低。经频谱分析可知,人体肌电信号的频率范围一般较小, 在10Hz级,这使得在采样时对AD转换器的性能、MCU处理能力和通信模块 传输能力没有较高的要求,远低于声音信号、图像信号的采集要求,对操作系 统的实时性要求也较低。

但是,微控制器的计算能力普遍较弱,无法使用频域变换、小波变换等需 要较多计算和存储资源的方法来处理采集得到的原始肌电信号,也无法对肌电 信号进行相应的特征提取。

发明内容

为了在计算和存储能力较弱的微控制器上,以较低成本处理肌电信号并提 取特征,本发明提供了一种基于微控制器的肌电信号处理及特征提取方法,其 采用的技术方案如下:

首先,采用三点式差动输入电极采集表面肌电信号,并对该肌电信号进行 放大以及整流平滑处理后由微控制器的ADC(模数转换)模块进行离散化采样;

然后,采用窗函数对离散化后的肌电采样信号进行移动平均处理;

最后,基于窗函数移动平均处理后的肌电采样信号进行特征提取,获得肌 肉的收缩及舒张状态以及肌电信号波形变化幅度。

本发明以P个采样周期大小的窗口对离散化后的肌电采样信号进行窗函数 移动平均处理,其采用的窗函数表达式如下:

signalMAV(i)=1PΣj=i-P+1isignal(j)

其中:signal(j)为离散化后的肌电采样信号中第j时刻的信号值,signalMAV(i) 为经窗函数移动平均处理后的肌电采样信号中第i时刻的信号值,P为大于1的 自然数,i为自然数,j为自然数且i-P+1≤j≤i。

本发明通过对窗函数移动平均处理后的肌电采样信号进行阈值处理,获得 肌肉的收缩及舒张状态。

根据以下表达式对窗函数移动平均处理后的肌电采样信号进行阈值处理:

signalthreshold(i)=1signalMAV(i-k)TH,k=0~T0signalMAV(i-k)<TH,k=0~Tnullothers

其中:signalthreshold(i)为经阈值处理后的肌电采样信号中第i时刻的信号值, signalMAV(i-k)为经窗函数移动平均处理后的肌电采样信号中第i-k时刻的信 号值,TH为设定的阈值,i为自然数,k为自然数且0≤k≤T,T为设定的保持 周期数且T为大于1的自然数,signalthreshold(i)=1表示第i时刻肌肉处于收 缩状态,signalthreshold(i)=0表示第i时刻肌肉处于舒张状态。

本发明通过对窗函数移动平均处理后的肌电采样信号进行波形长度特征提 取,获得肌电信号波形变化幅度。

根据以下表达式对窗函数移动平均处理后的肌电采样信号进行波形长度特 征提取:

signalWL(i)=1NΣp=i-N+1i(signalMAV(p-1)-signalMAV(p))2+12

其中:signalWL(i)为第i时刻肌电信号波形的线段长度和,signalMAV(p-1)和 signalMAV(p)分别为经窗函数移动平均处理后的肌电采样信号中第p-1时刻和 第p时刻的信号值,N为统计波形长度的采样周期数且N为大于1的自然数,i 为自然数,p为自然数且i-N+1≤p≤i。

由此可见,本发明基于上述技术方案可以应用于运算资源与存储资源极为 有限的微控制器上,以较低的硬件成本采集处理肌电信号,获得肌肉的收缩-舒 张状态与波形变化幅度特征。

附图说明

图1为本发明肌电信号处理及特征提取的流程示意图。

图2为三点式差动输入电极的贴放位置示意图。

具体实施方式

为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技 术方案进行详细说明。

本实施例采用FreescaleKL02作为微控制器,以C语言编写控制程序,采 用CyborganOSCore作为微控制器实时操作系统,以肌电信号特征最明显的肱 二头肌作为被测肌肉,采用三点式差动输入电极对肌电信号进行采集,使用 AdvancerTechnology的MuscleSensorPlatinumv3.3对信号做硬件处理,如图1 所示,通过躯干电信号处理服务对肌电信号依次进行信号采集、信号放大处理、 信号整流平滑处理、AD采样离散化处理、窗函数移动平均处理、阈值处理以及 波形长度特征提取,最后通过蓝牙将数据包发往CyborganOSBrain。

其中信号采集按图2所示方式将MuscleSensorPlatinumv3.3的三点式差动 输入电极贴放在肱二头肌对应皮肤表面上,将MuscleSensorPlatinumv3.3的SIG 信号接入到FreescaleKL02的ADC0_SE0引脚上,将MuscleSensorPlatinumv3.3 与FreescaleKL02开发板共地。

使用CyborganOS配置工具配置一个定时器OsAlarm_Besp,该定时器自动 触发,每1ms触发一次,用来周期性调用任务OsTask_Besp。任务OsTask_Besp 首先启动ADC,完成一个数模转换,将获取到的10位电压信号存放于一个uint16 类型的变量signal内,并以此执行窗函数移动平均处理、阈值处理、波形长度特 征提取三个处理过程,并将结果用通信服务传递给上位机,具体过程如下:

(1)窗函数移动平均处理。

本实施方式使用窗函数对信号进行平均处理,公式如下,表示在P个采样 周期窗口内对信号瞬时能量进行逐项移动平均处理

signalMAV(i)=1PΣj=i-P+1isignal(j)

其中,signal表示由ADC模块采集到的各时刻肌电信号离散值,signalMAV表示 经窗函数移动平均处理后的肌电信号指标。窗函数常用来削弱噪音引起的偏离 较大的影响,去除了信号毛刺。

(2)阈值处理。

本实施方式使用阈值处理将信号与阈值比较,判断肌电信号在一段时间内 位于阈值上方或下方,返回布尔值。为了避免保持时间过短且高于阈值的数据 段对结果造成干扰,选取适当的阈值TH和保持周期T,设定只有当signal>TH 且保持了T个采样周期后,才认定位于阈值上方;同理当signal<TH且保持了 T个采样周期后,才认定位于阈值下方;计算公式如下:

signalthreshold(i)=1signal(i-j)TH,j=0>to>T0signal(i-j)<TH,j=0>to>T

其中,signalthreshold表示阈值处理后的结果,为布尔值,表示肌肉的收缩-舒张状 态。

(3)波形长度特征提取。

本实施方式使用波形长度(WaveformLength,WL)计算一段时间内,肌电 信号波形的线段长度和,可以表征肌电信号在一段时间内变化的变动程度大小, 其计算公式如下:

signalWL(i)=1NΣj=i-N+1i(signal(j-1)-signal(j))2+121NΣj=i-N+1i|signal(j-1)-signal(j)|

其中,N表示统计波形长度的采样周期数。

为了以统一的方式组织各处理过程,本发明在具体实施时,抽象了过滤器 的概念,对每个处理过程进行了封装,它的定义如下:

其中,FUNCPTR是一个函数指针,指向过滤器函数,它有三个uint16类型的传 入参数,第一个固定为信号值,另两个根据不同的过滤器函数变化。

在本实施方式中,窗函数移动平均处理的窗口长度设定为50周期,波形长 度特征取最近的20个周期统计,阈值处理过程的阈值为500个电压单位,保持 周期为50个。

应用过滤器模型对三个处理过程进行封装后,OsTask_Besp任务的程序流程 伪代码如下:

上述的对实施例的描述是为便于本技术领域的普通技术人员能理解和应用 本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改, 并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此, 本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做 出的改进和修改都应该在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号