版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公园广场公共设施管理手册
- 教师伦理学练习题库(含答案)
- 育苗期鼠害鸟害综合防控技术手册
- 医疗事故处理档案管理规范手册
- 幼儿园甲醛污染专项治理手册
- 建筑公司施工组织设计编制与审批管理手册
- 冀教版七年级生物上册期末模拟考试附答案
- 建筑物拆除工程应急救援演练手册
- 金融行业金融科技与保险科技融合发展方案
- 建设工程竣工资料
- 2025-2026学年重庆市渝中区人教版三年级下册期末测试数学试题 含答案
- 2026福建厦漳泉城际铁路有限责任公司社会招聘34人考试参考题库及答案解析
- 2026年4月自考00604英美文学选读试题
- 2026年教科版三年级科学下册知识点梳理+教材习题答案
- 2026年江苏高考英语试题及答案
- 2026年4月18日黑龙江省纪委遴选笔试真题及解析(下午综合卷)
- 配偶对股权代持的知情同意书
- 建筑垃圾减量化监理监督实施细则
- 2026年长三角一体化发展指数与区域高质量发展评价体系
- 2026年高考历史全真模拟试卷及答案(共五套)
- 2025年邮政四级副干部竞聘笔试考试题及答案
评论
0/150
提交评论