基于matlab的肌电信号工频干扰的消除MATLAB_课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
燕山大学
课程设计说明书
题目:基于matlab的肌电信号工频干扰的消除
学院(系):电气工程学院
年级专业: 09级测控仪表
燕山大学课程设计(论文)任务书
院(系):电气工程学院基层教学单位:自动化仪表系
2012年 6 月 29日
燕山大学课程设计评审意见表
摘要
肌电信号是产生肌肉力的电信号根源,它是肌肉中很多运动单元动作电位在时间和空间上的叠加,反映了神经,肌肉的功能状态,在基础医学研究、临床诊断和康复工程中有广泛的应用。
梳状滤波器它是由许多按一定频率间隔相同排列的通带和阻带,只让某些特定频率范围的信号通过。梳状滤波器其特性曲线象梳子一样,故称为梳状滤波器。
本文主要介绍使用梳状滤波器消除在检测和记录肌电信号时噪声和干扰的影响,如50HZ的工频及其谐波,并使用MATLAB软件对原信号、滤波器、处理信号进行频谱分析,观察其频谱特性。
关键词:梳状滤波器;MATLAB;频谱分析
目录
第一章设计过程 (6)
1.1滤波器设计结构图 (6)
1.2设计滤波器步骤 (6)
第二章 MATLAB的应用 (6)
2.1MATLAB语言简介 (6)
2.2一些函数及指令简介 (7)
第三章程序和仿真图 (9)
3.1滤波器设计程序及仿真图 (9)
3.2原始信号的频谱分析 (11)
3.3信号滤波的程序设计及频谱分析 (12)
第4章学习心得 (16)
参考文献 (17)
第一章设计过程
1.1滤波器设计结构图
椭圆滤波器设计结构图如图所示:
连续混合
信号
图4.1结构框图
1.2设计数字滤波器的步骤
1.确定数字滤波器的性能指标:Wp、Ws、Rp、Rs、N、Wc。
2. 将数字滤波器的性能指标转化成相应模拟滤波器的性能指标。
3.设计满足指标要求的模拟滤波器Ha(s)。
4.通过变换将模拟滤波器转换成数字滤波器
4.数字滤波器的MATLAB实现和频谱分析
第二章 MATLAB的应用
2.1 MATLAB语言简介
MATlAB是在20世纪80年代初期,由美国的MathWorks软件开发公司正式
推出的一种数学工具软件。它以矩阵运算为基础,把计算、可视化、程序设计有
机地融合到了一个简单易学的交互式工作环境中,其出色的数值计算能力和强大
的图形处理功能得到了广大科研人员和工程技术人员的垂青。它拥有功能全面的
函数库,他把大量的函数封装起来,让用户脱离了繁琐复杂的程序设计过程,只
需要将精力集中到模型的建立和工作上即可,大大提高了工作效率。利用MATLAB
可以实现科学计算、符号运算、算法研究、数学建模和仿真、数据分析和可视化、
科学工程绘图以及图形用户界面设计等强大功能。更重要的是,MATLAB提供了
图形用户界面(GUI)设计功能,用户可以自行设计别具风格的人机交互界面。此
外,MATLAB提供了与C语言或Fortran语言的交互操作,是用户能通过程序接
口很方便地进行程序间的调用和转换。
2.2一些函数及指令简介
MATLAB的信号处理工具箱提供了设计椭圆滤波器的函数:ellipord函数、ellip函数、filter函数、freqz函数、fft函数和abs函数。
1. ellipord函数的功能是求滤波器的最小阶数,其调用方式为:
[n,wp]=ellipord(wp,ws,rp,rs)
n-椭圆数字滤波器最小阶数;
wp-椭圆滤波器通带截止角频率;
ws-椭圆滤波器阻带起始角频率;
rp-通带最大衰减量也即通带波纹(dB);
rs-阻带最小衰减量(dB);
这里wp、ws都是归一化频率,即0≤wp(或ws)≤1,1对应π弧度。
2. ellip函数的功能是用来设计椭圆滤波器,其调用方式为:
(1)[b,a]=ellip(n,rp,rs,wp)
rp用来指定通带内波纹的最大衰减;
rs用来指定阻带内波纹的最小衰减;
在这里,wp的取值范围是(0.0,1.0),其中1对应于0.5Fs,Fs为采样频率。(2)[b,a]=ellip(n,rp,rs,wp,'high'):设计高通椭圆滤波器。上述返回的向量b和a的维数都是n+1,而不是n。
filter函数功能:利用IIR滤波器和FIR滤波器对数据进行滤波,其调用方式为:
y=filter(b,a,x):计算输入信号X的滤波输出,向量b和a分别是所采用的滤波器的分子系数向量和滤波器的分母系数向量。
[y,zf]=filter(b,a,x,zi):参数zi指定滤波器的初始条件值,其大小为zi=max (length(a),length(b))-1。
y=filter(b,a,x,[],dim)或y=filter(b,a,x,zi,dim):参数dim指定滤波的维数。
filter采用数字滤波器对数据进行滤波,其实现采用移位直接Ⅱ型结构,因而
适用于IIR 和FIR 滤波器。滤波器的系统函数为
n
n m
m z a z a z a z a z b z b z b z
b b Z H --------+⋅⋅⋅+++++⋅⋅⋅++++=33221133221101)(
即滤波器系数a=[a0 a1 a2 ...an],b=[b0 b1 ...bm],输入序列矢量为x 。这里,标准形式为a0=1,如果输入矢量a 时,a0≠1,则MATLAB 将自动进行归一化系数的操作;如果a0=0,则给出出错信息。
4. freqz 函数功能:求解数字滤波器频率响应,其调用方式为:
(1)[h,w]=freqz(b,a,n):返回数字滤波器的n 点复频率响应,输入参数b 和a 分别是滤波器系数的分子和分母向量;输出参数h 是复频率响应,w 是频率点。输入参数n 的默认值为512。
(2)h=freqz(b,a,w):计算由向量w (单位为rad/sample ,范围为[0,π])指定的频率点的复频率响应。
(3)[h,f]=freqz(b,a,n,Fs):同时输出实际频率点。用于对H(ej ω)在[0,Fs/2]上等间隔采样n 点,采样点频率及相应频响值分别记录在f 和h 中。由用户指定FS (以HZ 为单位)值。
(4)h=freqz(b,a,f,Fs):计算由向量f 指定的频率点的复频率响应。 5. Abs 函数 调用方式为:
Y=abs (x ):计算x 各元素的绝对值。当x 为一个复数的时候,则计算x 的复数模。
第三章 程序和仿真图
3.1滤波器设计程序及仿真图