《维纳-霍夫方程(共33页)》由会员分享,可在线阅读,更多相关《维纳-霍夫方程(共33页)(33页珍藏版)》请在金锄头文库上搜索。
1、精选优质文档-倾情为你奉上 生物医学工程专业课程设计报告 题 目 维纳-霍夫方程 学 院 电气工程学院 专 业 生物医学工程 姓 名 哈哈哈 学 号 哈哈哈哈哈哈 指导老师 邱 蕾 起迄日期: 2019年11月30日-2019年12月25日目录前言11.课程设计要求21.1目的及任务22.课程设计内容23.设计原理23.1设计思想23.2主要仪器设备及耗材53.3程序设计64.设计过程及结果94.1心电、脑电信号的获取94.2心电、脑电信号添加有色噪声的滤波及结果94.2.1心电信号滤波主程序及结果104.2.2脑电信号滤波主程序及结果154.3心电、脑电信号添加白噪声的滤波及结果204.3.
2、1脑电信号滤波主程序及结果204.3.2脑电信号滤波主程序及结果255. 结果分析306. 课程设计总结306.1思考题316.2心得31专心-专注-专业前言从连续的(或离散的)输入数据中滤除噪声和干扰以提取有用信息的过程称为滤波,这是信号处理中经常采用的主要方法之一,具有十分重要的应用价值,而相应的装置称为滤波器。根据滤波器的输出是否为输入的线性函数,可将它分为线性滤波器和非线性滤波器两种。维纳滤波器是一种线性滤波器。维纳滤波理论是由数学家N维纳(Norbert Wiener ,1894-1964)于第二次世界大战期间提出的。这一科研成果是这一时期重大科学发现之一,他提出了线性滤波的理论和线
3、性预测的理论,对通信工程理论和应用的发展起了重要的作用。维纳滤波就是为纪念他的重要贡献而命名的。维纳滤波(wiener filtering) 一种基于最小均方误差准则、对平稳过程的最优估计器。这种滤波器的输出与期望输出之间的均方误差为最小,因此,它是一个最佳滤波系统。它可用于提取被平稳噪声污染的信号。1.课程设计要求11目的及任务学习求解维纳-霍夫方程,寻找最小均方误差意义下的最优滤波器。简述实验原理及目的;按要求编程求解维纳-霍夫方程,并对信号去噪,记录运行结果;简要回答思考题。2.课程设计内容已知信号的自相关函数和噪声的能量,编写程序求解维纳-霍夫方程,寻找最优滤波器。编写程序仿真信号,噪
4、声和观察波形,然后把观察信号通过滤波器得到的信号估计与原始信号比较,观察是否达到了去噪的目的。选择不同信号(仿真信号,实际采集的心电,脑电信号),人工添加噪声,调整噪声的相对强度,观察滤波效果。思考题观察实验结果,对于几种不同的信号,维纳滤波是否都取得了较好的效果?如果效果不好,试分析原因。3.设计原理3.1 设计思想 从连续的(或离散的)输入数据中滤除噪声和干扰以提取有用信息的过程称为滤波,而相应的装置称为滤波器。根据滤波器的输出是否为输入的线性函数,可将它分为线性滤波器和非线性滤波器两种。滤波器研究的一个基本课题就是:如何设计和制造最佳的或最优的滤波器。所谓最佳滤波器是指能够根据某一最佳准
5、则进行滤波的滤波器。20世纪40年代,维纳奠定了关于最佳滤波器研究的基础:即假定线性滤波器的输入为有用信号和噪声之和,两者均为广义平稳过程且知它们的二阶统计特性。维纳根据最小均方误差准则(滤波器的输出信号与需要信号之差的均方值最小),求得了最佳线性滤波器的参数,这种滤波器被称为维纳滤波器。在维纳研究的基础上,人们还根据最大输出信噪比准则、统计检测准则以及其他最佳准则求得的最佳线性滤波器。实际上,在一定条件下,这些最佳滤波器与维纳滤波器是等价的。因而,讨论线性滤波器时,一般均以维纳滤波器作为参考。这是信号处理中经常采用的主要方法之一,具有十分重要的应用价值。常用的滤波器是采用电感、电容等分立元件
6、构成,如RC低通滤波器、LC谐振回路等。但对于混在随机信号中的噪声滤波,这些简单的电路就不是最佳滤波器,这是因为信号与噪声均可能具有连续的功率谱。不管滤波器具有什么样的频率响应,均不可能做到噪声完全滤掉,信号波形的不失真。因此,需要寻找一种使误差最小的最滤波方法,又称为最佳滤波准则。从噪声中提取信号波形的各种估计方法中,维纳(Wiener)滤波是一种最基本的方法,适用于需要从噪声中分离出的有用信号是整个信号(波形),而不只是它的几个参量。其基本依据就是最小均方误差准则。设维纳滤波器的输入为含噪声的随机信号。期望输出与实际输出之间的差值为误差,对该误差求均方,即为均方误差。因此均方误差越小,噪声
7、滤除效果就越好。为使均方误差最小,关键在于求冲激响应。如果能够满足维纳霍夫方程,就可使维纳滤波器达到最佳。根据维纳霍夫方程,最佳维纳滤波器的冲激响应,完全由输入自相关函数以及输入与期望输出的互相关函数 所决定。与设计一个特定频率响应所用的通常滤波器设计理论不同,维纳滤波器从另外一个不同的角度实现滤波器。仅仅在频域进行滤波的滤波器,仍然会有噪声通过滤波器。维纳设计方法需要额外的关于原始信号所包含频谱以及噪声的信息,维纳滤波器具有以下一些特点:假设:信号以及附加噪声都是已知频谱特性或者自相关和互相关的随机过程性能标准:最小均方差能够用标量的方法找到最优滤波器维纳滤波器的设计目的是就是滤除按照统计方
8、式干扰信号的噪声。假设维纳滤波器的输入信号是s(t), 叠加噪声n(t)。输出信号通过滤波器g(t)使用下面的卷积运算得到:其中,s(t)是需要估计的原始信号n(t)是噪声g(t)x(t)是估计出的信号(我们希望它能等同于s(t))g(t)是维纳滤波器误差是,方差是所期望的滤波器输出e(t)是误差 根据d的不同,问题名称可以更换为:如果d0那么问题是预测如果d=0那么问题是滤波如果d1e-6 % e1和e0不够接近则循环N = N+1; %使N递增,使其逐步靠近需要满足的条件 e0 = e1; %记录当次循环误差Rxs = Rss(M:(M+N-1); %求互相关矢量Rxx = Rww(M:(
9、M+N-1)+Rss(M:(M+N-1); %输入信号总的自相关函数 R_xx = zeros(N); %R_xx自相关矩阵%产生一个N*N的全零矩阵作为仿真信号的自相关函数 for j = 1:N for n = 1:N R_xx(j,n) = Rxx(abs(j-n)+1); end end h = inv (R_xx)*Rxs; %求解互相关函数转置的逆矩阵e1 = Rss(M)-h*Rxs; %计算估计误差end N % 显示滤波器的阶数 e = e1; %将估计误差赋值给e用于利用线性最小均方误差求解维纳霍夫方程。 建立一个主程序,运行主程序将输入信号设置为测试信号即锯齿波仿真信号主
10、程序 M = input(信号的长度 M = ); %输入信号长度A= input(白噪声的强度 A = ); %输入白噪声强度n = 1:M; %n为仿真信号信号点数s =sawtooth(pi*n/50); % 产生锯齿波仿真信号,可以自己生成,任意形式 w=A*randn(1,M);%w为白噪声,A代表噪声相对强度x = s+w; % 添加噪声的仿真信号 Rss = xcorr(s,s); %估计信号自相关函数 Rww = xcorr(w,w); % 估计噪声自相关函数 h,e = WH(Rss,Rww,M); %自定义的功能函数,用来求解维纳霍夫方程 ss = filter(h,1,x
11、); %用维纳滤波器滤波,输入x为滤波前序列%ss为滤波结果序列,h提供滤波器系数figure; %将信号、噪声、信号观测值、信号估计用一个图片窗显示subplot(2,2,1);plot(n,s);title(信号);xlabel(时间/ms ) ; ylabel(电压/mv ) subplot(2,2,2);plot(n,w);title(噪声); xlabel(时间/ms ) ; ylabel(电压/mv ) subplot(2,2,3);plot(n,x);title(观测值); xlabel(时间/ms ) ; ylabel(电压/mv ) subplot(2,2,4);plot(n,ss);title(信号估计); xlabel(时间/ms ) ; ylabel(电压/mv ) figure; %新窗口显示估计误差plot(n,ss-s);title(估计误差);xlabel(时间/ms ) ; ylabel(电压/mv ) error=