资源描述:
《维纳-霍夫方程 实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、生物医学信号处理评分大理大学实验报告课程名称生物医学信号处理实验名称维纳-霍夫方程专业班级姓名羽卒兰cl学号实验日期2016年5月20日实验地点2015—2016学年度第3学期第14页共14页生物医学信号处理一、实验目的学习求解维纳-霍夫方程,寻找最小均方误差意义下的最优滤波器。二、实验环境1、硬件配置:Intel(R)Core(TM)i5-4210UCPU@1.7GHz1.7GHz安装内存(RAM):4.00GB系统类型:64位操作系统2、软件环境:MATLABR2013b软件三、实验内容(包括本实验要完成的实验问题及需要的相关知识简单概述)已知信号的自
2、相关函数和噪声的能量,编写程序求解维纳-霍夫方程,寻找最优滤波器。编写程序仿真信号,噪声和观察波形,然后把观察信号通过滤波器得到的信号估计与原始信号比较,观察是否达到了去噪的目的。选择不同信号(仿真信号,实际采集的心电,脑电信号),人工添加噪声,调整噪声的相对强度,观察滤波效果。四、实验结果与分析(包括实验原理、数据的准备、运行过程分析、源程序(代码)、图形图象界面等)实验原理根据正交原理可以推导出维纳-霍夫方程,满足该方程的滤波器输出信号的估计值与信号在最小均方误差意义下最接近。根据滤波器的形式,维纳滤波器可以分为三种情况:非因果IIR型,因果IIR型,
3、FIR型,对于实时性有要求的情况下用后两种形式。图1维纳滤波器对于FIR型维纳滤波器,维纳-霍夫方程的形式为:或者写成矩阵形式:其中:第14页共14页生物医学信号处理这样,如果信号和噪声的二阶统计特性已知,则易求解。维纳滤波的均方误差是:源程序:function[h,e]=WH(Rss,Rww,M)%求解维纳-霍夫方程的函数,其中M为信号的长度e1=10;%给e1赋初值e0=0;%给e0赋初值N=0;%给N赋初值%以下循环的目的是找出FIR滤波器合适的阶数%判据是当阶数增加而均方误差没有明显下降时,则认为阶数足够whileabs(e0-e1)>1e-6%e
4、1和e0不够接近则循环N=N+1;%每次N的取值加1e0=e1;%把e1赋给e0Rxs=Rss(M:(M+N-1));%信号和噪声互不相关Rxx=Rww(M:(M+N-1))+Rss(M:(M+N-1));%信号和噪声的自相关之和R_xx=zeros(N);%生成N阶的零矩阵forj=1:Nforn=1:NR_xx(j,n)=Rxx(abs(j-n)+1);%双for为了求出对称矩阵endendh=inv(R_xx)*Rxs';%求rxs的逆矩阵e1=Rss(M)-h'*Rxs';%转置endN%显示N的最终值e=e1;%真实值与估计值之间的估计误差%主程
5、序clear;clc;%清空M=input('信号的长度M=');%输入n=1:M;%n的取值范围从1到Ms=exp(-0.002*n).*sin(pi*n/50);%指数衰减正弦,仿真信号,可以自己生成,任意形式第14页共14页生物医学信号处理%loadecgdata;%导入实际心电信号的数据%loadeegdata;%导入脑电信号的数据%loadicpdata;%导入颅内压信号的数据%loadrespdata;%导入个呼吸信号的数据%s=ecgdata(1:M)';%取生成心电信号(1:M)的逆矩阵%s=eegdata(1:M)';%取生成脑电信号(1
6、:M)的逆矩阵%s=icpdata(1:M)';%取生成颅内压信号(1:M)的逆矩阵%s=respdata(1:M)';%取生成呼吸信号(1:M)的逆矩阵w=0.4*randn(1,M);%白噪声,系数代表噪声相对强度x=s+w;%仿真信号Rss=xcorr(s,s);%估计信号自相关函数Rww=xcorr(w,w);%估计噪声自相关函数[h,e]=WH(Rss,Rww,M);ss=filter(h,1,x);%用维纳滤波器滤波figure;subplot(2,2,1);plot(n,s);title('信号');%生成两行两列窗口,在第一个窗口画图,并标
7、题subplot(2,2,2);plot(n,w);title('噪声');%生成两行两列窗口,在第二个窗口画图,并标题subplot(2,2,3);plot(n,x);title('观测值');%生成两行两列窗口,在第三个窗口画图,标题subplot(2,2,4);plot(n,ss);title('信号估计');%生成两行两列窗口,在第四个窗口画图标题figure;plot(n,ss-s);title('估计误差');%画估计误差图error=mean((ss-s).^2)%求最小均方误差思考题:观察实验结果,对于几种不同的信号,维纳滤波是否都取得了较
8、好的效果?如果效果不好,试分析原因。1.只改变数据长度,观察其对信