(完整word版)肌电信号的识别.(DOC)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
燕山大学
课程设计说明书题目:肌电信号分析及动作识别
学院(系):电气工程学院
年级专业: 10级仪表三班
学号:
学生姓名:
指导教师:
教师职称:教授讲师
电气工程学院《课程设计》任务书
目录
第一章摘要 (2)
第二章系统总体设计方案 (3)
第三章肌电信号的时域参数处理及其分析 (4)
第四章肌电信号的频域处理方法及其分析 (7)
3.1 FFT分析 (7)
3.2 功率谱分析 (8)
3.3 倒谱分析 (9)
3.4 平均功率频率MPF和中值频率 (10)
第五章 Matlab程序及GUI (11)
第六章系统整体调试及结果说明 (24)
第七章学习心得 (24)
参考文献 (25)
第一章摘要
肌电信号是产生肌肉力的电信号根源,它是肌肉中很多运动单元动作电位在时间和空间上的叠加,反映了神经,肌肉的功能状态,在基础医学研究、临床诊断和康复工程中有广泛的应用。
其种类重要有两种:一,临床肌电图检查多采用针电极插入肌肉检测肌电图,其优点是干扰小,定位性好,易识别,但由于它是一种有创伤的检测方法,其应用收到了一定的限制。二,表面肌电则是从人体皮肤表面通过电极记录下来的神经肌肉活动时发放的生物电信号,属于无创伤性,操作简单,病人易接受,有着广泛的应用前景。
主要应用领域有:一,仿生学。提出肌肉生理模型来判别肌肉的动作以来, 电子假肢的研究进入了新的发展时期, 过去电子假肢的控制靠使用者人为开关和选择运动模式来完成, 现在则可通过检测人体残肢表面肌电信号, 提取出肢体的动作特征, 来自动控制假肢运动, 利用残肢表面肌电信号的肌电假肢研制在国内外都取得较大进展。二,康复工程。如利用表面肌电信号提取出的特征作为功能性电刺激的控制信号, 帮助瘫痪的肢体恢复运动功能。通过检测表面肌电信号, 并将其作为反馈信号提供给病人和医生, 便于进行合理的治疗和训练。三,运动医学。表面肌电信号在运动医学中也可发挥重要作用, 通过检测运动员运动时的表面肌电信号,及时反映出肌肉的疲劳和兴奋状态, 有助于建立科学的训练方法。
本次课程设计的主要任务就是对微弱的肌电信号进行时域和频域的处理及分析,运用数字处理及matlab的知识进行“屈”和“伸”动作识别。然后通过串口将数据发送到单片机下行微机进行显示。
第二章系统总体设计方案
根据课程设计要求在上微机利用matble分析肌电信号并处理,基于肌电信号分析结果,通过串口发送命令给单片机系统,根据肌电信号动作状态控制相应的数码管显示。并增加了扩展模块,通过动作模式驱动电机转动或其他控制输出模块。
通过分析上位机matlab中对信号处理的结果,我们可以得到一系列的信号特征值,其中我们选取了具有代表意义积分肌电值来进行处理,并给出对于屈伸动作的阈值。通过对阈值的判断,使数码管显示积分肌电值,使点阵模块显示相应的“屈”和“伸”字样,使电机根据动作进行正反转,蜂鸣器在“屈”动作是发出鸣响。
最后,将上微机的处理数据通过串口通信发送到下微机显示,得到动作识别的要求。
第三章肌电信号的时域参数处理及其分析
(1)均值:对于一组随机变量来说,均值是一个很重要的数值特征,用来描述一组变量的平均水平。其严格的数学定义非常简单,就是一个
随机变量关于概率测度的积分。因此,在此处,均值表示肌电信
号的平均水平。公式如下:
(2)方差:方差是各个数据与平均数之差的平方的平均数。在数理统计和概率论中,方差用来度量随机变量和其数学期望(即均值)之间的
偏离程度。在此处,研究信号的随机变量和均值之间的偏离程度
有着很重要的意义。其求解公式如下:
(3)标准差:标准差也称均方差,是各数据偏离平均数的距离的平均数,它是离均差平方和平均后的方根,用u表示。标准差是方差的算
术平方根。标准差能反映一个数据集的离散程度。所以能很好
的反映肌电信号的离散程度。求解公式如下:
(4)积分肌电值IEMG:积分肌电值就是对所有信号取绝对值后尽心均值的求解,由于对肌电信号直接求均值,均值近似为零,无法表征信
号间的差异。若对肌电信号取绝对值后再进行均值运算后,均值
恒大于零,因而可用于提取肌电信号的特征。公式如下:
(5)均方根RMS:
方根是最理想的平方滤波方式的典型,让滤波更平滑,更大限度
的滤掉噪声。因此,对肌电信号求均方根,可以滤除信号中的噪
声,使滤波后的信号更平滑、更明显。公式如下:
(6)原始信号的时域及上述参数值的Matlab程序
clear;
close all;
a=load('qu.txt');//('shen.txt');
N=10000;
b=0:N-1;
axis([0,10000,-1,1]);
plot(b,a);
xlabel('时间 (s)');
ylabel('被测变量y');
grid on;
fprintf('\n数据基本信息:\n')
printf(' 均值 = %7.5f \n',mean(a));
fprintf(' 标准差 = %7.5f \n', sqrt(var(a)));
fprintf(' 方差= %7.5f \n', var(a));
fprintf(' 积分肌电值IEMG = %7.5f \n', mean(abs(a)));
fprintf(' 均方根有效值RMS= %7.5f \n', sqrt(mean(a.^2)) );
屈信号数据基本信息:
均值 = 0.03502
标准差 = 0.05775
方差= 0.00334
积分肌电值IEMG = 0.05437
均方根RMS= 0.17246