首页 维纳滤波器

维纳滤波器

举报
开通vip

维纳滤波器 维纳滤波器 L = input('输入信号样本个数 L='); N = input('输入 FIR滤波器阶数 N='); a = 0.95; K = 50; sigma_a2 = 1-a^2; a_ = [1,-a]; while(1) w = sqrt(sigma_a2)*(randn(L,1)); %获得方差为 sigma_a2的高斯白噪声 w v = randn(L,1); %获得方差为 1...

维纳滤波器
维纳滤波器 L = input('输入信号样本个数 L='); N = input('输入 FIR滤波器阶数 N='); a = 0.95; K = 50; sigma_a2 = 1-a^2; a_ = [1,-a]; while(1) w = sqrt(sigma_a2)*(randn(L,1)); %获得方差为 sigma_a2的高斯白噪声 w v = randn(L,1); %获得方差为 1的高斯白噪声 v s(1) = w(1); %通过公式:s(n) = a*s(n-1)+wn(n)获得源信号 s与加了噪声 v的 x for i=1:L-1 s(i+1)=a*s(i)+w(i+1); x(i) = s(i)+v(i); end x(L) = s(L)+v(L); %%%%%%%%%%%%%%%%%估计相关函数 r_xx和 r_xs%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for i=1:K+1 rxx(i)=sum(x(i:L).*x(1:L-i+1))/(L-i+1); end r_xx_g=[rxx(K+1:-1:2),rxx(1:K+1)]; for i=1:K+1 rxs(i)=sum(x(i:L).*s(1:L-i+1))/(L-i+1); end r_xs_g=[rxs(K+1:-1:2),rxs(1:K+1)]; %%%%%%%%%%%检验 x的 r_xx和 r_xs是否与理论值相符%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% r_xx_t = a.^abs([-K:K]); r_xx_t(K+1) = r_xx_t(K+1)+1; r_xs_t = a.^abs([-K:K]); rou_xx=(sum((r_xx_g-r_xx_t).^2))/sum(r_xx_t.^2); rou_xs=(sum(r_xs_g-r_xs_t).^2)/sum(r_xs_t.^2); if rou_xx<0.03 & rou_xs<0.01 break; end end %%%%%%%%%%%%%%x(n) 的 自 相 关 函数 的理 论 值 ( 红色 ) 和实 际 值 (蓝 色)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% figure(1); stem(r_xx_t,'r'); hold on stem(r_xx_g,'*','b'); title('x(n)的自相关函数的理论值和实际值(*)'); %%%%%%%%%%%%%% 最 后 100 个 s(n) ( 红 色 ) 和 x(n) ( 蓝 色)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% figure(2); stem(s(L-100:L),'r'); hold on stem(x(L-100:L),'*','b'); title('最后 100个 s(n)和 x(n)(*)'); %%%%%%%%%%%%%%N 个 理 想 h(n) ( h_t 红 色 ) 估 计 h(n) ( h_g 蓝 色)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% n = 0:N-1; h_t = 0.238*(0.724).^n; %求得理想的 h(n) for i=1:N xx(i)=sum(x(i:L).*x(1:L-i+1))/(L-i+1); end for i=1:N Rxx(i,1:N)=[xx(i:-1:1),xx(2:N+1-i)]; end for i=1:N xs(i)=sum(x(i:L).*s(1:L-i+1))/(L-i+1); end invRxx=inv(Rxx); h_g=invRxx*xs'; %估计 h figure(3); stem(h_t,'r'); hold on stem(h_g,'*','b'); title('N个理想 h(n)(h_t)估计 h(n)(*h_g)'); %%%%%%%%%%%%%%最后 100 个 s(n)(红色)理想维纳滤波 S_l(n)(蓝 色)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% y_l(1) = s(1); %得到理想维纳滤波的 S(n) for i = 1:L-1 y_l(i+1) = 0.724*s(i)+0.238*x(i+1); end figure(4); stem(s(L-100:L),'r'); hold on stem(y_l(L-100:L),'*','b'); title('最后 100个 s(n)理想维纳滤波 S_R(n)(*)'); %%%%%%%%%%%%%%最后 100 个 s(n)(红色)根据式 FIR 滤波 S_R(n)(蓝 色)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for i=1:9 %得到 FIR维纳滤波的 S(n) y_F(i)=sum(h_g(1:i)'.*x(i:-1:1)); end for i=10:L y_F(i)=sum(h_g'.*x(i:-1:i-9)); end figure(5); stem(s(L-100:L),'r'); hold on stem(y_F(L-100:L),'*','b'); title('最后 100个 s(n)根据式 FIR滤波 S_R(n)(*)'); %%%%%%%%%%%%%%%%%求均方误差 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% e_x=sum((x-s(1:L)).^2)/L %求各自的均方误差 e_i=sum((y_l-s(1:L)).^2)/L e_f=sum((y_F-s(1:L)).^2)/L
本文档为【维纳滤波器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_739722
暂无简介~
格式:pdf
大小:65KB
软件:PDF阅读器
页数:3
分类:互联网
上传时间:2013-07-12
浏览量:47