1、燕山大学课 程 设 计 说 明 书题目:肌电信号的时域和频域分析及实现学院(系):电气工程学院年级专业: 09 级 XXXXXX学 号: XXXXXXXXXXXX学生姓名: XXXXXXXXXXXX指导教师: 谢平 吴晓光 教师职称: 教授 讲 师 燕山大学课程设计(论文)任务书院(系):电气工程学院 基层教学单位:自动化仪表系学 号 XXXXXXXXXX 学生姓名 XXXXXXXXXX 专业(班级) 仪表 XX班设计题目 肌电信号的时域和频域分析及实现设计技术参数FFT,功率谱,倒谱;均值,标准差,方差;积分肌电值 IEMG,均方根有效值 RMS,平均功率频率 MPF;设计要求设计程序,分析
2、肌电信号的时域和频域及其实现。工作计划6月 18日,熟悉 Matlab的基本操作6月 19日,查找与课程设计课题相关的资料6月 20日,设计程序并调试6月 21日,调试程序并写论文参考资料1.谢平、王娜、林洪斌等主编,信号处理原理及应用。北京:机械工业出版社,2008.102.宋爱国、刘文波等主编,测试信号分析与处理。北京:机械工业出版社,2005,93.聂祥飞、王海宝、谭泽富主编,Matlab 程序设计及其在信号处理中的应用。成都:西南交通大学出版社,20054.吴大正、高西全等主编,Matlab 及在电子信息课程中的应用。北京:电子工业出版社,2006.35.李培芳、孙晖、李江主编,信号与
3、系统分析基础。北京:清华大学出版社,2006.12指导教师签字 谢平 吴晓光 基层教学单位主任签字 谢平说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。2012年 6 月 29 日 摘 要信号处理的基本概念和分析方法已应用于许多不同领域和学科中,尤其是数字计算机的出现和大规模集成技术的高度发展,有力地推动了数字信号处理技术的发展和应用。肌电信号是产生肌肉力的电信号根源,它是肌肉中很多运动单元动作电位在时间和空间上的叠加,反映了神经,肌肉的功能状态,在基础医学研究、临床诊断和康复工程中有广泛的应用。它属于随机信号的一种,用数字信号处理的方法和 Matlab 软件对其进行分析后,可以
4、得到许多有用的信息,对于诊断疾病有非常重要的参考价值。关键字:信号处理 肌电信号 Matlab燕山大学数字信号处理课程设计第 4 页 共 25 页目 录第 1章 绪论 4第 2章 肌电信号的时域处理及其分析方法 52.1 时域参数 52.2 Matlab 程序 6第 3章 肌电信号的频域处理方法及其分析方法 83.1 FFT分析83.2 功率谱分析103.3 倒谱分析133.4 平均功率频率 MPF 14第4章 Matlab程序及GUI 154.1 Matlab程序 154.2 GUI 21学习心得 22参考文献 23燕山大学数字信号处理课程设计第 5 页 共 25 页第一章 绪论肌电信号是产
5、生肌肉力的电信号根源,它是肌肉中很多运动单元动作电位在时间和空间上的叠加,反映了神经,肌肉的功能状态,在基础医学研究、临床诊断和康复工程中有广泛的应用。其种类重要有两种:一,临床肌电图检查多采用针电极插入肌肉检测肌电图,其优点是干扰小,定位性好,易识别,但由于它是一种有创伤的检测方法,其应用收到了一定的限制。二,表面肌电则是从人体皮肤表面通过电极记录下来的神经肌肉活动时发放的生物电信号,属于无创伤性,操作简单,病人易接受,有着广泛的应用前景。主要应用领域有:一,仿生学。提出肌肉生理模型来判别肌肉的动作以来, 电子假肢的研究进入了新的发展时期, 过去电子假肢的控制靠使用者人为开关和选择运动模式来
6、完成, 现在则可通过检测人体残肢表面肌电信号, 提取出肢体的动作特征, 来自动控制假肢运动, 利用残肢表面肌电信号的肌电假肢研制在国内外都取得较大进展。二,康复工程。如利用表面肌电信号提取出的特征作为功能性电刺激的控制信号, 帮助瘫痪的肢体恢复运动功能。通过检测表面肌电信号, 并将其作为反馈信号提供给病人和医生, 便于进行合理的治疗和训练。三,运动医学。表面肌电信号在运动医学中也可发挥重要作用, 通过检测运动员运动时的表面肌电信号,及时反映出肌肉的疲劳和兴奋状态, 有助于建立科学的训练方法。需要解决的问题:肌电信号本身是一种较微弱的电信号。检测和记录表面肌电信号,需要考虑的主要问题是尽量消除噪
7、声和干扰的影响, 提高信号的保真度。燕山大学数字信号处理课程设计第 6 页 共 25 页第 2 章 肌电信号的时域处理及其分析方法2.1 时域参数均值:对于一个随机变量来说,均值是一个很重要的数值特征。粗略的说,就是来描述一个群体的平均水平。其严格的数学定义非常的简单,就是一个随机变量关于概率测度的积分。这样的积分在测度轮或者实分析里是没有什么直观的解释的。而在概率论里却成为了一个群体的主要指标。在此处,均值表示肌电信号的平均水平。标准差:标准差(Standard Deviation) ,也称均方差(mean square error) ,是各数据偏离平均数的距离的平均数,它是离均差平方和平均
8、后的方根,用 表示。标准差是方差的算术平方根。标准差能反映一个数据集的离散程度。平均数相同的,标准差未必相同。其求解公式如下:方差:方差是各个数据与平均数之差的平方的平均数。在概率论和数理统计中,方差(英文 Variance)用来度量随机变量和其数学期望(即均值)之间的偏离程度。在许多实际问题中,研究随机变量和均值之间的偏离程度有着很重要的意义。其求解公式如下:燕山大学数字信号处理课程设计第 7 页 共 25 页2.2 Matlab 程序clear;close all; a=load(EMG.txt);clear;close all; a=load(EMG.txt);figure,plot(a
9、);xlabel(时间 (s);ylabel(被测变量y);title(原始信号 (时域 );grid on;fprintf(n数据基本信息:n) fprintf( 均值 = %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) );执行结果:燕山大学数字信号处理课程设计第 8 页 共 25 页0 1000 200
10、0 3000 4000 5000 6000 7000 8000 9000 10000-2-101234位 位 (s)位位位位y位 位 位 位 (位 位 )数据基本信息:均值 = -0.00012 标准差 = 0.17024 方差= 0.02898 积分肌电值 IEMG = 0.10011 均方根有效值 RMS= 0.17024燕山大学数字信号处理课程设计第 9 页 共 25 页第 3 章 肌电信号的频域处理方法及其分析方法3.1 FFT 分析:FFT是离散傅立叶变换的快速算法,可以将一个信号变换到频域。有些信号在时域上是很难看出什么特征的,但是如果变换到频域之后,就很容易看出特征了。这就是很多
11、信号分析采用 FFT变换的原因。另外,FFT 可以将一个信号的频谱提取出来,这在频谱分析方面也是经常用的。一个模拟信号,经过 ADC采样之后,就变成了数字信号。采样得到的数字信号,就可以做 FFT变换了。N 个采样点,经过 FFT之后,就可以得到 N个点的 FFT结果。为了方便进行 FFT运算,通常 N取 2的整数次方。假设采样频率为 Fs,信号频率 F,采样点数为 N。那么 FFT之后结果就是一个为 N点的复数。每一个点就对应着一个频率点。这个点的模值,就是该频率值下的幅度特性。假设原始信号的峰值为 A,那么 FFT的结果的每个点(除了第一个点直流分量之外)的模值就是 A的 N/2倍。而第一
12、个点就是直流分量,它的模值就是直流分量的 N倍。而每个点的相位就是在该频率下的信号的相位。如果要要提高频率分辨率,就需要增加采样点数,也即采样时间。频率分辨率和采样时间是倒数关系。Matlab相关程序:clear;close all; %fft 频率分析a=load(EMG.txt);y=fft(a,10000); %做10000 点福利叶变换fs=1000;N=length(y);mag=abs(y);f=(0:N-1)/N*fs;figure;plot(f,mag);%做幅频谱xlabel(频率);ylabel(幅值);title(肌电幅频 N=10000);figure;plot(f,a
13、ngle(y);% 做相频谱xlabel(频率);ylabel(相位);title(肌电相频 N=10000);燕山大学数字信号处理课程设计第 10 页 共 25 页grid on;执行结果:0 100 200 300 400 500 600 700 800 900 1000050100150200250位 位位位位 位 位 位 位 N=10000燕山大学数字信号处理课程设计第 11 页 共 25 页0 100 200 300 400 500 600 700 800 900 1000-4-3-2-101234位 位位位位 位 位 位 N=100003.2 功率谱分析:定义信号 f(t)的能量(
14、作归一化处理):由电压 f(t)(或者电流 f(t))在电阻上消耗的能量1dtfE)(2其中 ,若积分值存在,信号的能量为有限值,则称 f(t)为2uRiE能量信号。对于能量无限大的信号(如周期信号) ,我们考虑能量的时间平均值,这显然就是信号的平均功率。这种信号称为(平均)功率信号。定义信号 f(t)的平均功率:电压 f(t)在 电阻上消耗的平均功率(简称功1率)2)(1limTdtfS式中,T 是为求平均的时间区间。为了更好得描述能量信号、功率信号,我们引入能量谱密度和功率谱密燕山大学数字信号处理课程设计第 12 页 共 25 页度概念。能量谱密度、功率谱密度函数表示信号的能量、功率密度随
15、频率变化的情况。通过研究功率谱密度,可以帮助了解信号的功率分布情况,确定信号的频带等对于随机信号而言其持续时间无限长,因此对于非 0 的样本函数,它的能量一般也是无限的,因此其付氏变换不存在。但是注意到它的平均功率是有限的,在特定的条件下,仍然可以利用博里叶变换这一工具。为了将傅里叶变换方法应用于随机过程,必须对过程的样本函数做某些限制,最简单的一种方法是应用截取函数。设过程 的截取函数 (截取的随机过程)为:ttT其 他02ttT则截取函数的傅里叶变换为: 2)()()(TtjtjTT dede平稳随机过程 的平均功率为 dPdtTES )(21)(12lim的功率谱密度为tPTT)()(2
16、li这样的平均功率等于各个频率分量(统计值)单独贡献出的功率之连续和,是在频率域上描述随机过程统计特性的最主要数字特征。随机信号的平均功率也可以通过计算均方值的时间平均(时间均方值)来求得。功率密度谱虽然描述了随机信号的功率在各个不同频率上的分布,但因为它仅与幅度频谱有关,没有相位信息,所以从已知功率谱还难以完整地恢复原来的功率信号。clear;close all; a=load(EMG.txt);燕山大学数字信号处理课程设计第 13 页 共 25 页y=fft(a,10000); %做10000 点傅里叶叶变换fs=1000;N=length(y);mag=abs(y);f=(0:N-1)/
17、N*fs;power1=(mag.2)/10000;%周期图法求功率谱figure;plot(f,power1);xlabel(频谱);ylabel(功率谱);title(肌电信号功率谱);grid on;0 100 200 300 400 500 600 700 800 900 10000123456位 位位位位位 位 位 位 位 位 位3.3 倒谱分析:信号的傅里叶变换谱经对数运算后再进行的傅里叶反变换。功率谱的对数值的逆傅氏变换称为倒谱。如序列倒谱 定义如下:c燕山大学数字信号处理课程设计第 14 页 共 25 页xFclog1其中 F 和 F-1分别表示傅里叶变换和逆傅里叶变换。Mat
18、lab 相关程序:clear;close all; figure;a=load(EMG.txt); n=1:10000;y=fft(a,10000); plot(n,w);fs=1000; xlabel(时间);N=length(y); ylabel(倒谱);mag=abs(y); title(肌电信号倒谱);f=(0:N-1)/N*fs; grid on;w=rceps(a);%求倒谱0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000-0.200.20.40.60.811.21.41.6位位位位位位位位位位3.4 平均功率频率 MPF:c
19、lear;close all; a=load(EMG.txt);y=fft(a,10000); %做10000 点傅里叶变换fs=1000;N=length(y);mag=abs(y);f=(0:N-1)/N*fs;power=(mag.2)/10000;%周期图法功率谱燕山大学数字信号处理课程设计第 15 页 共 25 页ss=sum(power);M2=0.5*ss;df=fs/N;M1=0.5*df*(sum(power(1:N-1)+sum(power(2:N);MPF=M1/M2;fprintf( 平均功率频率MPF= %7.5f n, MPF );执行结果:平均功率频率MPF= 0
20、.20000第四章 Matlab程序及GUI4.1 Matlab程序clear;close all; a=load(EMG.txt);figure,plot(a);xlabel(时间 (s);ylabel(被测变量y);title(原始信号 (时域 );grid on;燕山大学数字信号处理课程设计第 16 页 共 25 页%fft 频域分析a=load(EMG.txt);y=fft(a,10000); %做10000福利叶变换fs=1000;N=length(y);mag=abs(y);f=(0:N-1)/N*fs;figure;plot(f,mag);%做幅频谱xlabel(频率);ylab
21、el(幅值);title(肌电幅频谱 N=10000);figure;plot(f,angle(y);%做相频谱xlabel(频率);ylabel(幅值);title(肌电幅频谱 N=10000);grid on;%周期图法功率谱 1power1=(mag.2)/10000;figure;plot(f,power1);xlabel(频率);ylabel(功率谱);title(肌电信号功率谱1);grid on;%周期图法求功率谱 2power2=y.*conj(y)/10000; %计算功率谱figure,plot(f,power2);xlabel(频率);ylabel(功率谱);title(
22、肌电信号功率谱2);grid on;%求倒谱燕山大学数字信号处理课程设计第 17 页 共 25 页w=rceps(a);figure;n=1:10000;plot(n,w);xlabel(时间);ylabel(倒谱);title(肌电信号倒谱 );grid on;ss=sum(power1);M2=0.5*ss;df=fs/N;M1=0.5*df*(sum(power1(1:N-1)+sum(power1(2:N);MPF=M1/M2;fprintf(n数据基本信息:n) fprintf( 均值 = %7.5f n,mean(a); fprintf( 标准差 = %7.5f n,std(a);
23、 fprintf( 方差= %7.5f n, exp(std(a);fprintf( 积分肌电值IEMG = %7.5f n, mean(abs(a);fprintf( 均方根有效值RMS= %7.5f n, sqrt(mean(a.2) );fprintf( 平均功率频率MPF= %7.5f n, MPF );执行结果:数据基本信息:平均值 = -0.00012 标准差 = 0.17024 方差= 0.02898 积分肌电值IEMG = 0.10011 均方根有效值RMS= 0.17024 平均功率频率MPF= 0.20000燕山大学数字信号处理课程设计第 18 页 共 25 页0 1000
24、 2000 3000 4000 5000 6000 7000 8000 9000 10000-2-101234位 位 (s)位位位位y位 位 位 位 (位 位 )燕山大学数字信号处理课程设计第 19 页 共 25 页0 100 200 300 400 500 600 700 800 900 1000050100150200250位位位位位位位位位 N=100000 100 200 300 400 500 600 700 800 900 1000-4-3-2-101234位位位位位位位位位 N=10000燕山大学数字信号处理课程设计第 20 页 共 25 页0 100 200 300 400 5
25、00 600 700 800 900 10000123456位位位位位位位位位位位位10 100 200 300 400 500 600 700 800 900 10000123456位位位位位位位位位位位位2燕山大学数字信号处理课程设计第 21 页 共 25 页0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000-0.200.20.40.60.811.21.41.6位位位位位位位位位位4.2 GUI程序:1. 通过Push Button 在Axes上显示图像例如:显示原始信号a=load(EMG.txt);axes(handles.axes
26、1);plot(a);xlabel(时间 (s);ylabel(被测变量 y);title(原始信号(时域);grid on;2. 通过Push Button 在Static Text上显示数据例如:显示积分肌电值a=load(EMG.txt);N=mean(abs(a);NN=num2str(N);燕山大学数字信号处理课程设计第 22 页 共 25 页set(handles.text5,string,NN);GUI界面:学习心得通过一周的数字信号处理的课程设计,我先在图书馆里查找了相关的书籍,如 MATLAB 类的编程书籍,各类数据处理类的书籍,即丰富了自己的知识范围,又对与自己所学的知识有
27、了更深的了解和认识,同时也对它的应用有了一个大体的认识。这样将会更加激励我好好学习相关的知识,不断的将所学的知识用于实践。于实践中牢牢的掌握它。在设计的过程中,我也认识到了自己所学知识的不足。这也让我再次认燕山大学数字信号处理课程设计第 23 页 共 25 页识到知识是无尽的,只有不断的充实自己、完善自己的知识理论体系,才能够更好的胜任自己以后的工作。设计过程中知识的不足也让我更加坚定了终身学习的决心。在设计的过程中,我也得到了我们设计小组的成员和很多同学的帮组。这也加强了我与其他同学合作的能力。查找资料的过程中我也增强自己学习的能力,这些都将让我在以后的学习、生活和工作中受益匪浅。总之,对于
28、这样的课程设计活动,我收获了很多东西,也将使我在以后的学习、工作中更加轻松和积极。这也正是参加这次活动的目的和意义。参考文献1.谢平、王娜、林洪斌等主编,信号处理原理及应用。北京:机械工业出版社,2008.102.宋爱国、刘文波等主编,测试信号分析与处理。北京:机械工业出版社,2005,93.聂祥飞、王海宝、谭泽富主编,Matlab 程序设计及其在信号处理中的应用。成都:西南交通大学出版社,20054.吴大正、高西全等主编,Matlab 及在电子信息课程中的应用。北京:电子工业出版社,2006.35.李培芳、孙晖、李江主编,信号与系统分析基础。北京:清华大学出版社,2006.12燕山大学数字信号处理课程设计第 24 页 共 25 页燕山大学课程设计评审意见表指导教师评语:工作态度认真较认真不认真理论分析正确完善较为合理一般较差方法设计完善合理一般较差成绩: 指导教师: 年 月 日答辩小组评语:工作态度认真较认真不认真理论分析正确完善较为合理一般较差方法设计完善合理一般较差成绩: 组长: 年 月 日课程设计总成绩:答辩小组成员签字:年 月 日燕山大学数字信号处理课程设计第 25 页 共 25 页