目前在对肌电信号进行处理时,大多仅是对单一动作进行辨识及识别[1],对于连续动作信号,通常先手工提取出各个单一动作,然后提取各动作的相应特征(如,脑系数或ARMA系数等),再对实际的肌电信号进行比较识别;这其中也要将无动作信号当作一种动作来提取其特征向量[2,3,4],这样既增加了实际的辨识识别运算量,而且在实际的肌电信号提取中,仍要解决有动作与无动作的交界问题,即何时为有动作、何时为无动作信号段,这也是直接影响多个自由度的假肢动作识别率的主要原因之一。为此,本文从能量的角度,对实际采集信号进行实时提取,即在一较小时间段内求取肌电信号的能量Q,若该值大于了某阙值,则认为此段时间内有动作发生(或动作保持阶段);否则认为无动作,同时也将各个动作段分成单一的动作信号。这一点从肌电信号的生理学上讲,也是可以理解的,因为肌电信号本身就是一种具有一定能量特性的生理信号。当有动作发生时,肌肉收缩,肌纤维的运动单元产生运动电位,若肌肉力增加,参加收缩的肌纤维就多,所产生的运动电位就强,肌电信号的能量也就高;相反,若无动作,肌肉处于松弛状态,肌纤维的运动单元就不产生运动电位,肌电信号的能量也就低。本文通过对50组连续信号和40组单一信号进行实时提取,验证了本文所用的方法是可行的,同时因除去了对无动作信号的后续处理,故对多自由度的智能假肢,具有实际应用的意义。本文还在此基础上,针对长期监测与研究的场合,利用优化搜索方法提高了自动提取有效动作的速度。
1、动作信号的提取方法
1.1、实验设计
采用3102型肌电图仪、湿性表面电极和康泰克的AD12-16LG生理信号采集卡从肢桡肌和旋前圆肌提取两路肌电信号,其采样时间为0.0005s,并将数据直接存储在计算机中,整个实验过程是在屏蔽室里进行的。这里肌电图仪主要用作:①观察肌电信号的有元;②对从前臂皮肤表面提取的肌电信号进行放大。动作共有屈指、伸指、旋内和旋外等四种,单一动作40组,连续动作50组。
1.2、提取信号的原理
采用移动窗方法提取一小段时间内的信号数据,然后对其进行平方积分: 式中x(t)是窗内的肌电信号数据,即得到ti时刻的信号能量值Qi,若Qi大于某阔值A,并且在窗移动后有连续n1次能量值QK(k=i,i+i,…i+n1)都大于值A,则认为ti时刻是动作的开始时刻;此后若有连续n2次能量值QK(k=j,j+1,…j+I12)均小于某一值B(B>A),则认为动作结束,并以与时刻为结束时刻,其中n1与n2可以不相同;若能量值
Q在A与B之间,则认为动作处于保持状态;若能量值Q小于A值,则认为无动作状态,即肌肉处于松弛状态,这样就将所采集的信号分为有效动作信号、动作保持信号及无动作信号。窗宽度为0.064s,移动步长为0.032s。①对40组单一信号进行提取,有效率100%,提取判断对比如图1所示;②对80组连续信号进行分割提取动作信号,其中每组连续信号中至少有两个以上的动作,有效提取率100%,提取判断对比如图2所示。
1.3、方法改进
由(1)式可以看出,在求取信号的能量Q时,要用到乘法运算,运算量大,这里可以用求取信号绝对值的积分来代替,即令当然这时的Q已不具有能量的含义,但通过对实际数据的自动分割,验证它在一定程度上是可以取代上述方法的,且可减少实际的运算量从而提高运算速度。
2、优化提取时间
在对表面肌电活动进行长期监测与研究时,肌电信号记录的时间很长、数据又多,且每个动作相隔的时间是不定的,若按照上述方法,窗的宽度和移动步长都是固定,则在提取有效动作时,运算次数多,运算时间长;若采用变步长搜索法可有效地提高提取动作时间。本文采用一种最简单的变步长搜索:从所测的连续信号开始,先选取一较小的窗宽度d来提取数据,判断其积分值是否大于某一值
A,若连续两组数据的积分值均未大于该阔值,则窗宽度加倍,再判断其积分值是否大于加倍的阔值,若仍未大于,则继续增加窗宽度,直至0.5s为止,其中移动步长是时窗宽度的一半;若大于,则从前一时刻开始,重新按最小窗宽度进行数据的搜索,直到找到起始点ti,从起始点开始可用适当的窗宽度进行提取数据,直到找到动作结束时间tk。这一方法因为快速略过了无动作信号段,从而可以很快地提取有效动作信号,为研究工作节省了一定时间。在离线状态下提取特征参数时,也可用这一方法来提高运算速度。
3、结论
在上述实验数据处理中,时间窗的宽度不可太宽,否则动作信号的提取很不准确,会影响动作识别;但若时间窗宽度太窄,则很难区分噪声与弱动作信号,尤其是在动作的保持阶段。另外,值A、B的选取与个体很有关系,因人而不同,应根据实际情况而定。总之,通过对实际数据中有效动作信号的实时提取,验证本文所提的方法是可行的,且易于用硬件实现,对多自由度的智能肌电假肢有着应用意义。