




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上自适应滤波与维纳滤波的MATLAB仿真和结果分析MATLAB 仿真代码function = wiener_LMS()% 基于LMS的自适应滤波与维纳滤波的性能比较clear;clc;%产生原始信号n=1024; %输入信号抽样点数Nt=1:n;a=1;Signal = a*sin(0.04*pi*t)+ a*sin(0.035*pi*t) + a*sin(0.05*pi*t); time = 1:1024;SignalAddNoise = awgn(Signal,5); %给原始信号加入信噪比为3dB的高斯白噪声 figure(1)subplot(311);plot(
2、time, Signal, 'b') ; %绘制原始信号title('原始信号') ;xlabel('时间');ylabel('幅度');subplot(312);plot(time, SignalAddNoise, 'r') ; %绘制加噪后的输入信号title('加噪后的输入信号') ;xlabel('时间');ylabel('幅度');subplot(313);plot(time,Signal,'b',time,SignalAddNoise,
3、39;r');legend('Signal(n)','SignalAddNoise(n)');axis tight;xlabel('时间');ylabel('幅度');title('原始信号与加噪后的输入信号对比');%维纳滤波仿真Mlag=100; %相关函数长度变量 N=100; %维纳滤波器长度Rxn=xcorr(SignalAddNoise,Mlag,'biased'); %计算输入信号自相关函数%产生输入信号与原始信号的互相关函数Rxnx=xcorr(SignalAddNoise,
4、 Signal,Mlag,'biased'); rxnx=zeros(N,1); rxnx(:)=Rxnx(101:101+N-1);Rxx=zeros(N,N); %产生输入信号自相关矩阵Rxx=diag(Rxn(101)*ones(1,N);for i=2:N c=Rxn(101+i)*ones(1,N+1-i); Rxx=Rxx+diag(c,i-1)+diag(c,-i+1);endRxx;h=zeros(N,1);h=inv(Rxx)*rxnx; %计算维纳滤波器的h(n)yn=filter(h,1, SignalAddNoise); %将输入信号通过维纳滤波器fig
5、ure(2)subplot(2,1,1)plot(time,Signal,'b',time,yn,'r');legend('Signal(n)','yn(n)');axis tight;xlabel('时间');ylabel('幅度');title('原始信号与经过维纳滤波器后输出信号的对比');subplot(2,1,2)plot(time,SignalAddNoise,'k',time,yn,'r');legend('SignalAddNo
6、ise(n)','yn(n)');axis tight;xlabel('时间');ylabel('幅度');title('加噪后的输入信号与经过维纳滤波器后输出信号的对比');%自适应滤波LMS算法仿真g=100; %统计仿真次数为gN=n; %输入信号抽样点数Nk=128; %时域抽头LMS算法滤波器阶数pp=zeros(g,N-k); %将每次独立循环的误差结果存于矩阵pp中,以便后面对其平均u=0.001;for q=1:g %设置初值 yn_1=zeros(1,N); %output signal yn_1(1:k
7、)=SignalAddNoise(1:k); %将输入信号SignalAddNoise的前k个值作为输出yn_1的前k个值 w=zeros(1,k); %设置抽头加权初值 e=zeros(1,N); %误差信号 %用LMS算法迭代滤波 for i=(k+1):N XN=SignalAddNoise(i-k+1):(i); yn_1(i)=w*XN' e(i)=Signal(i)-yn_1(i); w=w+2*u*e(i)*XN; end pp(q,:)=(e(k+1:N).2;endfigure(3)subplot(2,1,1);plot(time,real(Signal),'
8、b',time,real(yn_1),'r'); %原始信号与经过自适应滤波后的效果图legend('Signal(n)','yn_1(n)');axis tight;xlabel('时间');ylabel('幅度');title('原始信号与经过LMS自适应滤波器后输出信号的对比');subplot(2,1,2);plot(time,real(Signal),'g',time,real(yn),'b',time,real(yn_1),'r')
9、; %自适应滤波与维纳滤波性能比较图legend('Signal(n)','yn(n)','yn_1(n)');axis tight;xlabel('时间');ylabel('幅度');title('经过维纳滤波器与LMS自适应滤波器后输出信号的对比');for b=1:N-k bi(b)=sum(pp(:,b)/g; %求误差的统计平均endfigure(4); %算法收敛曲线t=1:N-k;plot(t,bi,'r');hold on %将每次循环的图形显示结构保存下来 实验结果
10、与分析仿真实验产生的4幅图,如图1至图4所示,其中,图1演示的是原始信号和加入均值为零的高斯白噪声,信噪比为3dB后的输入信号的波形图;图2 演示的是输入信号经过维纳滤波器后所获得的滤波效果;图3演示的输入信号经过LMS算法的自适应滤波后的滤波效果,并比较维纳滤波与自适应滤波的滤波性能;图4 展示了LMS自适应滤波的收敛曲线。 如图1所示,实验产生并演示了信号的加噪过程,将原始信号加入均值为零的高斯白噪声,从而得出了输入信号的波形图。 图2说明了维纳滤波器在MMSE的准则下,对输入信号进行滤波。它能够在一定程度上抑制噪声的影响,并近似复原原始信号,但是与原始信号还是有一定的差距。维纳滤波器的适应面较广,不足之处是需要预先得到很多的观察数据,并知道自相关序列之类的统计特性,这在实际应用中较难实现。图1 原始信号和加噪后的输入信号图2 维纳滤波器的滤波效果图3演示了基于LMS算法的自适应滤波的仿真效果,并与维纳滤波做出比较。从实验结果可以知道,基于LMS算法的自适应滤波能够较快的跟踪变化的信号,并自动调整自身的参数,以达到最佳的滤波效果。而且这种滤波器事先并不需要知道信号的自相关序列之类的统计特性,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能温室光能租赁与光照调控服务合同
- 绿色建筑项目施工监理与绿色建筑设计、环保评价服务协议
- 资产配置与财富增值理财规划服务合同
- 环保公益活动赞助合作框架协议
- 农村宅基地使用权互换及农产品仓储物流设施承包协议
- 新版消防安全试题及答案
- 研发项目保密及知识产权保护补充合同
- 美团餐饮商家线上节日主题套餐营销服务协议
- 抖音网红流量扶持与品牌合作合同
- 人力资源市场拓展与品牌合作框架协议
- 湖北省武汉市武昌区2023-2024学年八年级下学期期末数学试题
- 工程造价咨询的协调配合及服务措施
- 2022-2023学年广东省深圳市高二(下)期末数学试卷含答案
- 急诊科护士岗位说明书
- 农村废弃学校租赁合同
- 2024年杭州良渚文化城集团有限公司招聘笔试冲刺题(带答案解析)
- 脊柱侧弯手术配合
- 汽车4s店安全生产管理制度范文(20篇)
- (正式版)SHT 3075-2024 石油化工钢制压力容器材料选用规范
- MOOC 航空航天材料概论-南京航空航天大学 中国大学慕课答案
- JTS165-7-2014 游艇码头设计规范
评论
0/150
提交评论