完整的维纳滤波器Matlab源程序(6页).doc

上传人:1595****071 文档编号:49271679 上传时间:2022-10-08 格式:DOC 页数:6 大小:959KB
返回 下载 相关 举报
完整的维纳滤波器Matlab源程序(6页).doc_第1页
第1页 / 共6页
完整的维纳滤波器Matlab源程序(6页).doc_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《完整的维纳滤波器Matlab源程序(6页).doc》由会员分享,可在线阅读,更多相关《完整的维纳滤波器Matlab源程序(6页).doc(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-第 1 页完整的维纳滤波器 Matlab 源程序-第 2 页clear;clc;%输入信号A=1;%信号的幅值f=1000;%信号的频率fs=105;%采样频率t=(0:999);%采样点Mlag=100;%相关函数长度变量x=A*cos(2*pi*f*t/fs);%输入正弦波信号xmean=mean(x);%正弦波信号均值xvar=var(x,1);%正弦波信号方差xn=awgn(x,5);%给正弦波信号加入信噪比为 20dB 的高斯白噪声figure(1)plot(t,xn)%绘制输入信号图像title(输入信号图像)xlabel(x 轴单位:t/s,color,b)ylabel(y 轴

2、单位:f/HZ,color,b)xnmean=mean(xn)%计算输入信号均值xnms=mean(xn.2)%计算输入信号均方值xnvar=var(xn,1)%计算输入信号方差Rxn=xcorr(xn,Mlag,biased);%计算输入信号自相关函数figure(2)subplot(221)plot(-Mlag:Mlag),Rxn)%绘制自相关函数图像title(输入信号自相关函数图像)f,xi=ksdensity(xn);%计算输入信号的概率密度,f 为样本点 xi 处的概率密度subplot(222)-第 3 页plot(xi,f)%绘制概率密度图像title(输入信号概率密度图像)X

3、=fft(xn);%计算输入信号序列的快速离散傅里叶变换Px=X.*conj(X)/600;%计算信号频谱subplot(223)semilogy(t,Px)%绘制在半对数坐标系下频谱图像title(输入信号在半对数坐标系下频谱图像)xlabel(x 轴单位:w/rad,color,b)ylabel(y 轴单位:w/HZ,color,b)pxx=periodogram(xn);%计算输入信号的功率谱密度subplot(224)semilogy(pxx)%绘制在半对数坐标系下功率谱密度图像title(输入信号在半对数坐标系下功率谱密度图像)xlabel(x 轴单位:w/rad,color,b)y

4、label(y 轴单位:w/HZ,color,b)%fir 滤波wp=0.4*pi;%通带截止频率ws=0.6*pi;%阻带截止频率DB=ws-wp;%过渡带宽度N0=ceil(6.6*pi/DB);M=N0+mod(N0+1,2);%计算 fir 滤波器阶数wc=(wp+ws)/2/pi;%计算理想低通滤波器通带截止频率(关于归一化)hn=fir1(M,wc);%调用 fir1 计算 FIRDF 的 h(n)y1n=filter(hn,1,xn);%将输入信号通过 fir 滤波器figure(3)plot(y1n)%绘制经过 fir 滤波器后信号图-第 4 页像title(经过 fir 滤波

5、器后信号图像)xlabel(x 轴单位:f/HZ,color,b)ylabel(y 轴单位:A/V,color,b)y1nmean=mean(y1n)%计算经过 fir 滤波器后信号均值y1nms=mean(y1n.2)%计算经过 fir 滤波器后信号均方值y1nvar=var(y1n,1)%计算经过 fir 滤波器后信号方差Ry1n=xcorr(y1n,Mlag,biased);%计算经过 fir 滤波器后信号自相关函数figure(4)subplot(221)plot(-Mlag:Mlag),Ry1n)%绘制自相关函数图像title(经过 fir 滤波器后信号自相关函数图像)f,y1i=k

6、sdensity(y1n);%计算经过 fir 滤波器后信号的概率密度,f 为样本点 xi 处的概率密度subplot(222)plot(y1i,f)%绘制概率密度图像title(经过 fir 滤波器后信号概率密度图像)Y1=fft(y1n);%计算经过 fir 滤波器后信号序列的快速离散傅里叶变换Py1=Y1.*conj(Y1)/600;%计算信号频谱subplot(223)semilogy(t,Py1)%绘制在半对数坐标系下频谱图像title(经过 fir 滤波器后信号在半对数坐标系下频谱图像)xlabel(x 轴单位:w/rad,color,b)ylabel(y 轴单位:w/HZ,col

7、or,b)py1n=periodogram(y1n);%计算经过 fir 滤波器后信号的功率谱密度subplot(224)semilogy(py1n)%绘制在半对数坐标系下功率谱密度图像title(经过 fir 滤波器后信号在半对数坐标系下功率谱密度图像)xlabel(x 轴单位:w/rad,color,b)ylabel(y 轴单位:w/HZ,color,b)-第 5 页%维纳滤波N=100;%维纳滤波器长度Rxnx=xcorr(xn,x,Mlag,biased);%产生输入信号与原始信号的互相关函数rxnx=zeros(N,1);rxnx(:)=Rxnx(101:101+N-1);Rxx=z

8、eros(N,N);%产生输入信号自相关矩阵Rxx=diag(Rxn(101)*ones(1,N);for i=2:Nc=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,xn);%将输入信号通过维纳滤波器figure(5)plot(yn)%绘制经过维纳滤波器后信号图像title(经过维纳滤波器后信号信号图像)xlabel(x 轴单位:f/HZ,color,b)ylabel(y 轴单位:A/V,colo

9、r,b)ynmean=mean(yn)%计算经过维纳滤波器后信号均值ynms=mean(yn.2)%计算经过维纳滤波器后信号均方值ynvar=var(yn,1)%计算经过维纳滤波器后信号方差Ryn=xcorr(yn,Mlag,biased);%计算经过维纳滤波器后信号自相关函数figure(6)subplot(221)plot(-Mlag:Mlag),Ryn)%绘制自相关函数图像title(经过维纳滤波器后信号自相关函数图像)f,yi=ksdensity(yn);%计算经过维纳滤波器后信号的概率密度,f 为样本点 xi 处的概率密度subplot(222)plot(yi,f)%绘制概率密度图像

10、title(经过维纳滤波器后信号概率密度图像)-第 6 页Y=fft(yn);%计算经过维纳滤波器后信号序列的快速离散傅里叶变换Py=Y.*conj(Y)/600;%计算信号频谱subplot(223)semilogy(t,Py)%绘制在半对数坐标系下频谱图像title(经过维纳滤波器后信号在半对数坐标系下频谱图像)xlabel(x 轴单位:w/rad,color,b)ylabel(y 轴单位:w/HZ,color,b)pyn=periodogram(yn);%计算经过维纳滤波器后信号的功率谱密度subplot(224)semilogy(pyn)%绘制在半对数坐标系下功率谱密度图像title(经过维纳滤波器后信号在半对数坐标系下功率谱密度图像)xlabel(x 轴单位:w/rad,color,b)ylabel(y 轴单位:w/HZ,color,b)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 合同协议

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁