脑电信号的去噪 作业.ppt

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
脑电信号的去噪 作业

Convert PowerPoint to flash for web sharing. Post your slide show on Myspace and blog. Convert PowerPoint to video or burn to DVD. Present your slide show on TV to share with family. Add flash-based quizzes and demos to slide show to interact with your audience. Learn More Learn More Learn More 基于RLS算法的脑电信号的去噪      在脑电(EEG)信号的采集过程中,不可避免地会受到各种各样的干扰,且噪声类型具有很大的不可预知性,因而采集的信号一般是非平稳的,这给去噪带来了困难,但采用RLS滤波器对其滤波能有效地解决这个问题,利用前一时刻已获得的滤波器参数,自适应滤波器自动地调节现时刻的滤波器参数,以适应信号和噪声未知的或随时间变化的统计特性,实现最优滤波,得出滤波数据;再进行匹配滤波,以提高输出的信噪比;最后使用Matlab7软件绘图,直观地反映滤波结果。 RLS自适应滤波器及其算法 RLS算法,即递归最小二乘方算法,它是FIR维纳滤波器的一种时间递归算法,并且是严格以最小二乘方准则为依据的算法。 优点:收敛速度快;在快速信道均衡,实时系统辨识和时间序列分析中得到广泛的应用。 缺点:每次迭代计算量很大。 但在生物医学应用中数据的计算量不是很大,所以这种算法很容易在小型计算机上实现。 RLS自适应滤波器及其算法 RLS算法的关键是用二乘方的时间平均的最小化准则取代最小均方准则,并按时间进行迭代计算。具体说来,就是要对初始时刻所有误差的平方进行平均并使其最小化,再按这一准则确定FIR滤波器的权系数矢量w,即依据的准则是: 其中: RLS自适应滤波器及其算法 基本迭代算法如下: (1)在时刻n,已获得ω(n-1),T(n-1)和 d(n),x(n) 并存储在滤波器的延时部件中。 (2)利用式(1)-式(4)计算T(n), ω(n), k(n)和e(n|n-1)。 RLS自适应滤波器及其算法 (3)得到滤波器输出响应y(n)和误差e(n),即: 再进行第n次迭代。 匹配滤波器 匹配滤波器--------输出信噪比最大的最佳线性滤波器。 匹配滤波器的着眼点不是尽可能保持信号不失真,而是提高输出的信噪比。 输出信噪比是指输出在采样瞬间信噪比。 匹配滤波器原理框架图 x(t) n(t) x(t) H(ω) h(t) y(t)=s0(t)+n0(t) 线性滤波器 匹配滤波器 设给定输入信号s(t),其频谱是S(ω), 输入噪声为白噪声n(t), pn(ω)=n0/2,关键是求出与之相匹配的线性滤波器。 (1)匹配滤波器在抽样时刻t0时有最大信噪比,即: 式中,E为信号s(t)的总能量,即: 为使其物理可实现,t0是输出信号s(t)消失的时刻。 匹配滤波器 (2)确定H(ω) 出现r0max的条件是线性滤波器的传输特性H(ω)满足如下关系,即: H(ω)就是最佳线性滤波器传输特性,由于线性该传输特性与信号频谱的复共轭相一致,故又称匹配滤波器。 (3)匹配滤波器的单位冲激响应h(t)为: h(t)是信号s(t)的镜像信号s(-t) 在时间上再平移t0得到的。 匹配滤波器 (4)匹配滤波器的输出信号s0(t)为: 即匹配滤波器的输出信号s0(t)是输入信号s(t)的自相关函数的K倍,所以匹配滤波器可以看成是一个相关器。 实验结果---编程实现RLS滤波 用C语言变成实现对源含噪信号的自适应滤波处理,并用Matlab 7绘图输出结果。 下面为实现RLS自适应滤波的C程序: # includeconio.h # define A n //这里n为输入数据数// main() { int i,l=0.98; float e, r[A]={0,0,},p[A]={0,0,}, w[A]={0,0,} x[A]={0,0,}, y[A]={0,0,}, d[A]={0,0,}; // x[A]={0,0,}零后面输入含噪数据, d[A]={0,0,}零后面输入期望数据, y[A]={0,0,}零后面输入滤波数据 // 实验结果---编程实现RLS滤波 for(i=2;iA;i++) { r[i]=(

文档评论(0)

ccx55855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档