霍夫方程实验Word格式.docx
- 文档编号:15229133
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:12
- 大小:243.33KB
霍夫方程实验Word格式.docx
《霍夫方程实验Word格式.docx》由会员分享,可在线阅读,更多相关《霍夫方程实验Word格式.docx(12页珍藏版)》请在冰豆网上搜索。
编写程序仿真信号,噪声和观察波形,然后把观察信号通过滤波器得到的信号估计与原始信号比较,观察是否达到了去噪的目的。
选择不同信号(仿真信号,实际采集的心电,脑电信号),人工添加噪声,调整噪声的相对强度,观察滤波效果。
源程序:
function[h,e]=WH(Rss,Rww,M)
%求解维纳-霍夫方程的函数,其中M为信号的长度
e1=10;
e0=0;
N=0;
%给e1,e0,N赋初值
%以下循环的目的是找出FIR滤波器合适的阶数
%判据是当阶数增加而均方误差没有明显下降时,则认为阶数足够
whileabs(e0-e1)>
1e-6%e1和e0不够接近则循环
N=N+1;
e0=e1;
Rxs=Rss(M:
(M+N-1));
Rxx=Rww(M:
(M+N-1))+Rss(M:
R_xx=zeros(N);
forj=1:
N
forn=1:
R_xx(j,n)=Rxx(abs(j-n)+1);
end
h=inv(R_xx)*Rxs'
;
e1=Rss(M)-h'
*Rxs'
end
N%显示N的最终值
e=e1;
%主程序
clear;
clc;
M=input('
信号的长度M='
);
n=1:
M;
s=exp(-0.002*n).*sin(pi*n/50);
%仿真信号,可以自己生成,任意形式
%loadecgdata;
%实际心电信号
%s=ecgdata(1:
M)'
%loadeedata;
%实际脑电信号
%s=eegdata(1:
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('
信号'
subplot(2,2,2);
plot(n,w);
噪声'
subplot(2,2,3);
plot(n,x);
观测值'
subplot(2,2,4);
plot(n,ss);
信号估计'
plot(n,ss-s);
估计误差'
error=mean((s-ss).^2)
运行结果分析分为如下几个:
1、w为强度为0.4白噪声M=1024的信号图
1.1、S为指数正弦衰减信号,w为强度为0.4白噪声M=1024
N=264,最小均方误差error=0.0068
结果分析:
观察上图,比较信号与估计信号,我们可以看出噪声对信号有很大的影响,虽然还看得出有用信号的轮廓,但是噪声的影响还是没能消除,滤波效果还算可以。
1.2、S为心电信号,w为强度为0.4白噪声M=1024
N=99,最小均方误差error=0.0236
简要分析:
从上面的图可以看出滤波效果不好,比起指数正弦衰减信号而言,估计信号直接很难辨别,但是虽然滤波效果不好但却估计出了峰值(R波),比较估计误差图和估计信号,我们不难看出在估计信号产生波峰的时候,估计误差图中对应的产生了与其相反的信号,这就是噪声对心电信号的影响。
1.3、S为指脑电信号,w为强度为0.4白噪声M=1024
N=294,最小均方误差error=0.1204
结果分析:
在此次运行的结果图中可以看出脑电信号的滤波效果是特别差的了,几乎与原信号和噪声信号相似,这主要是因为维纳滤波主要处理的事有规律的信号,对周期信号处理的效果比较好。
而在此次运行的信号中,信号与噪声信号相似,所以信号估计滤波效果不好。
换句话说就是:
区分度越大,滤波效果越好。
2、M=1024,改变噪声的强度为0.2、1、2的各信号分析及图
2.1、S为指数正弦衰减信号,w为强度为0.2、1、2白噪声M=1024
N=110最小均方差error=0.0037均值为0.2N=153最小均方差error=0.0194均值为1
N=213最小均方差error=0.0409均值为2
对上图进行观察分析可以看出:
相比之下均值为0.2的与原始信号最相似,均值为2的滤波效果最差,此外我们还可以看出N的值和最小均方差都在增大,所以我们大致可以得出以下结论:
均值越小,最小均方误差越小,估计信号越准确。
2.2、S为心电信号,w为强度为0.2、1、2白噪声M=1024
N=222最小均方差error=0.0100均值为0.2N=351最小均方差error=0.0367均值为1
N=406最小均方差error=0.0416均值为2
在心电信号改变噪声强度的情况下,观察其变化规律,在均值增大的同时,噪声对心电信号的R,Q,P,S和T波的影响度是很大的,使得滤波效果不明显。
并且均值,最小均方差都在影响着估计信号的好坏。
2.3、S为脑电信号,w为强度为0.2、1、2白噪声M=1024
N=90最小均方差error=0.0386均值为0.2N=476最小均方差error=0.3761均值为1
N=852最小均方差error=0.7439均值为2
与之前的滤波结果大同小异,脑电信号的滤波结果着实不好,着主要是因为脑电信号紊乱,不过这也反映出了实际情况,我们的大脑是时时在工作的,他的工作精细而复杂。
噪声信号对脑电信号的影响非常大。
3、阶数对滤波效果的影响(w为强度为0.4白噪声M=1024,分别指数衰减信号,心电信号为例)
3.1指数衰减信号,阈值为、、:
阈值为N=60error=0.0076阈值为N=105error=0.0098
阈值为N=761error=0.0081
改变阈值的大小,得到以上三幅图,由此可以看出随着阈值的减小,图像滤波的效果也随之增强。
3.2、心电信号,阈值为、、:
阈值为N=65error=0.0223阈值为N=72error=0.0237
阈值为N=581error=0.0184
由误差信号可知,数据的长度一定时,可以通过改变滤波器的阶数来减小最小误差,从而改善滤波器的滤波效果,除此之外,经过多次运行程序后可知,,当阶数达到某个值时,误差的改善不再明显,因此滤波器的阶数对实验结果有很大影响,增加滤波器的阶数可以提高滤波器的性能。
4、改变数据长度,观察噪声对信号的影响
4.1指数衰减信号w为强度为0.4白噪声M分别为1000、3000、4000、5000
N=56、M=1000、error=0.0094N=67、M=3000、error=0.0064
N=69、M=4000、error=0.0056N=71、M=5000、error=0.0054
对比观察发现,信号长度越大,N值也逐渐在增大,最小均方差也逐渐缓慢减小,因此信号估计图就越接近原图像,着主要是因为M越大,样本点数也就越大,原始信号采集量就越大,出来的结果自然也比较准确。
4.2心电信号w为强度为0.4白噪声M分别为500、1000、1024(在源程序中加loadecgdata;
%实际心电信号s=[eegdata,eegdata,eegdata];
s=s(1:
实现周期延拓)
N=52、M=500、error=0.0208N=70、M=1000、error=0.0214
N=73、M=1024、error=0.0220
因为心电信号及脑电信号有局限所以要通过周期延拓才能取到长度比1024大的,观察上图,不难发现样本点数越大越好,这样就可以更精确的显示结果。
4.3脑电信号w为强度为0.4白噪声M分别为500、1000、1024、2048
N=16、M=500、error=0.1191N=48、M=1000、error=0.1320
N=19、M=1000、error=0.1470
仿心电信号,脑电信号也具有相似的结果,只是脑电信号的原信号没心电信号清晰,才导致观察起来有障碍,但还是可以看出一定的规律性。
对改变信号长度的小结:
由对指数衰减信号,心电信号,脑电信号改变长度的观察,当滤波器的阶数一定,观测数据的长度增加时,可以减小估计信号与期望信号之间的差值,因此,观测数据的长度对实验有着重要的影响,即增加信号样本个数可以提高维纳滤波的性能。
(四)思考题
观察实验结果,对于几种不同的信号,维纳滤波是否都取得了较好的效果?
如果效果不好,试分析原因。
答:
观察实验结果,对于指数衰减信号,心电信号,脑电信号这三种信号而言,维纳滤波仅对指数衰减信号的滤波效果更好一些,对心电信号次之,对脑电信号的滤波效果不好,这些主要是受输入信号(输入信号的区分度越大,滤波效果越好);
噪声强度(噪声强度越小,估计信号越准确);
最小均方误差(最小均方误差越小,滤波效果越好);
阶数(提高阶数,滤波效果越好);
信号的长度(增大信号长度使得滤波效果更精确)和维纳滤波器本身的局限性(只适用于平稳随机信号)等的影响。
(五)实验心得
本次实验的数据很多,很容易出错,下次遇到这样有很多数据的要非常的小心。
我们在本次实验中学会了很多,但是还有一些不懂的。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 方程 实验