基于MATLAB的表面肌电信号处理系统的实现毕业论文
2020-03-28 12:19:20
摘 要
本文基于matlab对采集到的表面肌电信号进行预处理、指标提取和统计分析。预处理主要是降噪和指标提取前的数据准备;指标提取包括时域、频域、时频特征指标提取。对于采集到的表面肌电信号,本研究采用数字带通滤波器、频谱插值方法和小波分析算法来进行降噪。时域特征主要是综合EMG值和RMS值,频域特征是平均功率频率和中值频率。时频特征提取主要是使用小波变换。所得结果对研究表面肌电信号具有重要意义。
本文主要研究对采集的肌电信号的处理。对EMG信号的提取特征的分析有助于更好地理解提取的sEMG信号。本文的特色在于对表面信号的降噪处理采用了小波降噪法以及对时频特征的提取使用了小波变换法。
关键词:表面肌电信号;预处理;指标提取;小波变换
Abstract
This paper is based on matlab to preprocess the surface electromyographic signals collected, index extraction and statistical analysis. The preprocessing is mainly data preparation before noise reduction and index extraction; index extraction includes time domain, frequency domain, and time-frequency feature index extraction. For the collected surface EMG signals, this study uses digital band-pass filters, spectral interpolation methods, and wavelet analysis algorithms to perform noise reduction processing. The time domain features are mainly the integrated EMG value and the RMS value, and the frequency domain features are the average power frequency and the median frequency. Time-frequency feature extraction is mainly using wavelet transform. The results obtained are of great significance for studying surface myoelectric signals.
The dissertation mainly studied the processing of acquired EMG signals. The analysis of the extracted features of the EMG signal helps to better understand the extracted surface EMG signals. The feature of this paper is that the wavelet denoising method is used to denoise the surface signal and the wavelet transform method is used to extract the time-frequency features.
Key Words:Surface Electromyography Signal; Pretreatment; Index Extraction; Wavelet Transform
目录
摘要 I
Abstract II
第一章 绪论 1
1.1 sEMG信号简介 1
1.2 研究sEMG的目的与意义 1
1.3 国内外研究现状 2
1.4 sEMG信号的研究 4
第二章 sEMG信号的采集与预处理 5
2.1 sEMG信号的采集 5
2.1.1 影响sEMG信号采集的因素分析 6
2.1.2 sEMG信号的采集 6
2.2 sEMG信号的预处理 7
2.2.1 小波基函数的选择 8
2.2.2 降噪效果的评价 9
第三章 sEMG信号的特征提取 10
3.1 sEMG信号的时域特征提取 10
3.2 sEMG信号的频域特征提取 11
3.3 sEMG信号的时频特征提取 12
第四章 表面肌电信号的结果分析 14
第五章 总结与展望 18
参考文献 19
第一章 绪论
1.1 sEMG信号简介
在我们肌肉中,位于中枢神经系统的运动神经会发出动作电位并通过神经纤维到达肌肉,肌肉产生兴奋和收缩。由许多微弱的动作电位组合在一起的序列总和就是肌电信号(EMG),肌电信号中蕴藏了许多与人们的动作关联的信息。EMG信号可以由表面EMG捡拾电极或针状EMG捡拾电极引导和记录。针肌电信号是通过针电极拾取的肌电信号,而表面肌电信号(sEMG)这是通过表面电极拾取的肌电信号。表面肌电信号是由于肌肉收缩而产生的电信号,是一种可以在人体表面无伤检测肌肉运动的重要方法。近年来,肌电信号的检测和分析取得了飞跃性的发展,在临床医学中的神经肌肉疾病诊断、人机工效学领域中的肌肉工作的工效学分析、康复医学领域中的肌肉功能评价以及体育科学领域中的疲劳判定、运动技术的合理性分析、肌纤维类型分析和无氧阈值的无损伤性检测等方面均有很大的价值[1]。
由于表面EMG信号是通过电极引导从人骨骼肌表面发出的生物电信号,它和肌肉的功能状态与活动状态之间有着或多或少的关联性,可以在一定程度上反映神经肌肉的活动。我们不光要研究分析表面肌电信号的检测与分析的方法,也需要研究检测技术和装置与利用表面肌电信号反馈从而来控制外部的装置的方法等。对肌肉表面的电极得到的肌电图(EMG)信号进行分析对于神经系统的诊断,神经肌肉和精神运动研究,运动医学,假肢,康复和机器人肢体控制等各种方面的应用具有重要用途。尽管如此,从身体表面采集的信号仍受到不良影响,主要来自电极,电缆,数据放大和采集设备,电源线,甚至身体本身。这些影响一般称为伪影,干扰和噪声,并且很容易破坏生物医学记录的分辨率和形式。
1.2 研究sEMG的目的与意义
由于sEMG信号是通过表面电极从人体的骨骼肌表面引导并记录下来的有关于神经肌肉系统活动的生物电信号, 它与肌肉的活动和功能状态具有不同程度的相关性,因而它可以在一定程度上反映神经肌肉的活动。通常来说,使用肌电图机来采集肌电图信号(sEMG信号)得到的是一维时间序列信号, 它是由于表面引导电极采集时触及到的多个运动单位进行活动而产生的电变化在时间以及空间上迭加出现的信号, 它和参加活动的运动单位在不同的机能和活动状态下的数量、每个运动单位的放电频率、运动单位的活动同步程度、运动单位的招募模式、表面电极的放置地点、皮下脂肪厚度及体温变化等因素都息息相关[2]。近些年来,对sEMG信号的分析主要集中在两个方面:时域和频域。通过信号分析,我们想要获得的主要是通过研究表面肌电信号的时域和频域的特征与肌肉的结构、功能状态和活动状态的相关性,探索讨论可能导致表面肌电信号产生变化的原因并通过表面肌电信号的变化来有效反映肌肉的活动与功能。它的应用领域基本集中于康复医学和体育科学这两大方向。
EMG信号是人们体内具有明显特征的一种电信号,主要是利用肌电信号分析来提取一些明显且有用的特征值;随后再根据这些有效特征值的差异,对表面肌电图的类型进行分类,以确定哪种肌肉运动属于哪种类型,从而来驱动假肢、手臂关节与大腿关节等位置的康复器材。
表面肌电信号的复杂性导致了在对其进行分解研究时,有着极深的研究难度。然而,随着sEMG信号检测技术的逐渐进步以及许多优秀的算法的提出,有关EMG信号的研究工作也取得了快速发展。
1.3 国内外研究现状
关于国外对于sEMG信号的研究包括Gazzoni等利用连续小波变换来提取多通道的表面肌电信号的活动段,随后他使用自适应共振理论利用神经网络对活动段来进行聚类分析,他的实验结果表明了,如果被激活的MU持续的时间没有超过三个小时的话,那么采用自动分解算法就可以对表面肌电信号取得较好的分解效果,然而对于具有高收缩力的表面肌电信号的分解,虽然可以在一些特殊情况得到MUAP波形模板,但是并没有考虑到叠加波形的分解。Chauvet通过设置表面肌电信号的幅值阈值对大幅值的MUAP波形进行提取,之后再进行对小幅值的MUAP波形的检测,Chauvet为了将所有的MUAP波形都提取出来,首先对MUAP波形的幅值信息、发放信息和波形信息这些特征进行综合分析,然后使用模糊逻辑分类器(Fuzzy logic classifier)对MUAP波形进行分类。然而,该算法对具有中低收缩力度的表面肌电信号可以分解出至多4个MUAP波形,却并没有考虑到如何对叠加波形进行分解。Nakamura等利用快速独立分量来分析表面肌电信号,却无法提取出完整的属于某个MU的独立变量,并且无法知道运动单元的具体发放的时刻。所以独立分量分析算法只适用于对表面肌电信号进行降噪处理,在信号具有高收缩力的时候,基本无法提取出分量中的独立分量。
Gareia等使用加权低通微分的方法对sEMG信号进行滤波,并利用过零区域滤波算法来去除离电极比较远的运动单元所发出的MUAP波形,从而让产生的信号能够满足独立分量分析算法的分析条件,在通过特征矩阵和近似对角化对表面肌电信号进行了更深程度的分析,最后则使用了较为复杂的交互算法来分解sEMG信号。Deluca等对二源技术验证系统进行了改进,从而使得系统能够进行sEMG信号的分解,该改进的系统将信号的分解过程分成了一下四步:1)使用数字滤波器对肌电信号进行降噪处理;2)使用Maximum posterior probability分类器来分解信号,并根据模板存在的关联性将模板进行合并;3)根据模板参加叠加的机率和最大效用原则来分解叠加波形。4)使用改进过后的PDII系统对实际的sEMG信号进行分解并计算准确率,由最后的结果可以发现:改进的二源技术验证系统的准确率与原系统对于肌电信号的分解的准确率基本相等,但是通过这种方法分解得到的MUAP个数一般不超过五个(未改进PDII系统对于nEMG信号一般可以分解出八个)。Holobar等将表面肌电信号看做是多输入多输出系统的一个输出,再使用盲源分离算法来对表面肌电信号进行分解,在收缩力水平为中低的情况下,通过对同时记录的肌电信号的分解结果的比较,相比二源技术验证系统,这种办法能够获得更多的MUAP波形[3]。除此之外,仍有一些研究人员对分解sEMG信号的速度有着自己的想法,但是却没有过多的关注如何分解叠加波形。
而在国内关于表面肌电信号的研究,由于分解sEMG信号的过程中很难获的波形的模板,邓浩等提出了将收缩力水平进行等级划分后在进行处理的算法,首先按照不同位置的肌肉具有不同收缩力的差异来收集sEMG信号,之后通过一般的算法分解收缩力最低的sEMG信号,再通过分解出的结果而得到的波形的模板以及募集发放信息来分解具有较高收缩力的sEMG信号,逐步往上,来进行对具有更高收缩力水平的表面EMG信号的分解,这种方法让信号为低收缩力水平的情况下,分解的准确率能够达到90%以上,而随着收缩力水平的提高,分解的准确率只能接近40%。徐正权等使用ART2 Neural Networks来对具有较低收缩力水平的表面肌电信号进行分解,至多能够得到5个MUAP的波形。姚博等在对表面肌电信号进行分解时使用了盲源分离算法中的欠定方程,并通过稀疏分量的分析分解sEMG信号,开始使用匹配追踪的算法让表面肌电信号逐渐稀疏,然后使用空间退化和Hough变换法来求聚类轴及混合矩阵的解,最后徐正权使用模板匹配对MUAP波形进行类别分析,分解后能够获得6个MUAP的波形。为了提升分解表面肌电信号的正确率,雷培源等通过空间相邻的具有两个通道的表面肌电信号,并使用了低频率的小波系数当做MUAP的活动段特征,并搭造了自组织特征映射和学习向量量化网络结合的器件,进行对MUAP的分门别类,此外为了保证sEMG信号能够完整分解,雷培源对于如何分解叠加波形也做了足够的讨论,通过仿真的信号和实际的信号相对比,发现正确率最大的时候可以接近95%,能够很好地对具有中低收缩力水平的sEMG信号进行分解。李强等在对二阶非平稳源分离、独立分量分析、基于时频分析的盲源分离、二阶盲辨识和特征矩阵联合近似对角化五种算法的分离性能进行对比的基础之上,选择使用盲源分离的算法来对具有低收缩力的sEMG信号进行分解,分解后可以获得5个MUAP的波形,然而通过二阶非平稳源分离的算法可以获得7个MUAP的波形。肖少军等使用ART2 Neural Networks对合成的sEMG信号和具有低收缩力水平的表面肌电信号进行分解,获得了关于MUAP的分类信息。胡晓等使用小波分析的办法,将获得的表面肌电信号的MUAP波形模板进行了研究分析。王江等成功使如何分解表面肌电信号的疑问转变成为如何对单纤维动作电位参数进行改进的研究,再通过使用无监督ANN对信号进行分解,使得对叠加波形的分类取得了很好的结果。魏代祥则通过多通道sEMG信号,讨论分析了如何对叠加波形进行分解,然后构造了能够完成对表面肌电信号进行分解的软件[4]。
到现在为止,研究者对EMG信号的分解进行了大量相关的研究,其中最成功的是对nEMG信号的分解,现在已经开始被大范围地利用在临床工作中。然而因为sEMG信号本身具有限定的特征,导致对应的分解工作的研究进展十分迟缓,可是因为表面肌电信号的采集又拥有无伤的特征,能够适用的场合十分广泛,对于sENG信号的分解也得到了研究人员更广泛的关注,开始逐渐变为目前阶段新的研究热门。为了提高sEMG信号的分解准确率,sEMG信号的采集以及分解是重中之重,因此需要不断改进采集的方法以及分解的算法借此使得MUAP可分的特性更高。但即使算法在不断更新,表面肌电信号分解所得到的MUAP得个数和准确率依旧有着很大的提升空间。
1.4 sEMG信号的研究
本次研究中,对于sEMG信号的研究流程如图1.1所示
图1.1 sEMG信号研究流程
本次研究将首先对表面肌电信号进行采集,然后对采集的信号预处理以及特征提取,最后进行整合分析。预处理的目的是对信号进行降噪处理和对指标提取前进行数据准备;指标提取包括时域,频域以及时频的特征指标提取。
第二章 sEMG信号的采集与预处理
对sEMG信号进行分解是想要从信号中得到相关联的运动单位的信息,因此需要将EMG信号中蕴含着的每一个MUAP都提取出来,并且可以对提取出来的MUAP进行分类识别。和nEMG信号相比较,采集sEMG信号的时候,表面电极没有和肌纤维进行触碰,而是放置在相应肌肤表面的位置。尽管表面电极采集到的sEMG信号拥有无创伤的特性,但因为信号自身信噪比较低,导致采集到的MUAP很可能发生异变,并且每个MUAP之间有着较深的叠加程度。除此之外,采集sEMG信号的时候还有很多复杂的因素影响,例如检测使用的仪器、采集时的环境甚至肌肉自身的特征等,因此采集到的sEMG信号中可能存在着许多干扰噪声。所以,如果要对sEMG信号进行提取和分析得到MUAP波形模板前,首先需要对sEMG信号进行预处理,来使得检测到的MUAP波形拥有更好的质量。
对sEMG信号进行预处理的重点是降噪,降噪时,首先需要依据周围环境的不同使用不同的办法进行降噪。如果我们想要对一个信号进行及时的处理,就必须构建适合的硬件电路和使用过程比较方便但是计算速率却很快的算法,而如果有些时候对信号质量的需求很高的时候就可以使用能够很好进行降噪的算法。当sEMG信号开始做降噪处理的时候,如果仅仅只对采集肌电信号的电路进行优化,即使可以获得结果很好的信号,却无法彻底实现噪声的去除。模拟滤波器、数字滤波器以及小波分析等利用系统进行降噪的方法在消除噪声方面有着优秀的成果。sEMG信号的频率一般为20Hz到500Hz之间,所以我们能够先使用带通滤波器来去除sEMG信号中一部分频率太高或太低的噪声。而想要消除工频干扰,则只需要使用基本的陷波器就能够将sEMG信号中的50Hz工频干扰去除,这样就能够得到具有更大信噪比的表面肌电信号[5]。
本章节中,首先研究了肌电采集仪在采集信号的过程中可能混入哪些无用的噪声,再进行sEMG信号的采集工作,但由于没有足够的条件,只能使用网上下载的他人采集的sEMG信号。随后再通过小波分析法进行降噪,先分解sEMG信号到每个频段,再进行有关参数的选取,就能够成功实现信号的降噪。
2.1 sEMG信号的采集
人体的肌肉在进行自发的收缩或受到来自外界的干扰的时候,就会发出生物电信号,EMG信号则是由这些生物电信号在表面电极处迭加而成[6]。随着科技的飞速前进,EMG信号的采集方法也从最早的模拟产生的信号,改进到目前的数字采集的方法,而且采取sEMG的设备非常精细方便。在临床医学应用更广泛的是nEMG信号,此信号在采取过程通过使用针电极直接插入肌肉内,然后在肌纤维周围采取因肌肉活动而发出的生物电信号,也称为插入式EMG。nEMG信号由于检测的电极非常的小,所以有着较其他信号更好的空间分辨率,可以对一个甚至多个MUAP波形进行精准的测量,这样就可以得到拥有较高信噪比的EMG信号。但nEMG信号在采取的时候中可能会损坏人们体内的肌肉组织。因此,sEMG因其在检测的过程中具有无创伤的特性获得了越来越多的关注[7]。
2.1.1 影响sEMG信号采集的因素分析
通过表面电极来采集肌肉的生物电信号有着无创伤以及快速的特性,但是因为表面电极本身检测过程中存在着一些限制性,和nEMG信号对比后可以发现,表面电极采取到的EMG信号的信噪比总体偏低。依据噪声发生的情况,sEMG信号中可能存在的噪声干扰通常能够分成下面五种,分别是采集仪器的固定噪声、附近环境产生的噪声、50Hz工频干扰、移动伪迹噪声以及由身体本身性质导致的噪声[8]。
1.采集仪器的固定噪声。表面肌电仪中包含着的各式各样的电子元器件一定程度上都会使得采集到的信号有着各种的噪声干扰,即使提升了设备的精度也仅仅能使噪声对sEMG信号的干扰减少,却没有办法彻底地根除这种噪声。表面电极的尺寸同样制约着采集到的信号,如果电极的面积越大,那么采集到的MUAP的峰峰值就会越小,并且导致波形的宽度变大,所以电极的大小能使得sEMG信号中提取的MUAP波形的分辨率发生变化。
2.附近环境产生的噪声。当进行sEMG信号的采集时,通常是位于巨大的拥有大量电磁的地方,附近的电磁产生的辐射会影响到采集仪,进而干扰到采集的EMG信号,所以采集sEMG信号的过程中,需要尽量地对采集仪进行屏蔽,将其置于一个密闭的空间。