“常用公式”在线计算,“设计手册”在线查询
通信方向的研究生必修课,现代数字信号处理中,处理信号几种常用的方法。不仅能加深对方法的理解,还能为初学MATLAB的同学提供上手的绝佳程序,欢迎大家积极讨论和下载!大牛们也可以补充更为科学的源程序!

程序较多,就只在下面贴上一部分代码,其他代码和源程序在附件中,供大家下载!ps:效果图在附近文档中有,这里po不上来,请原谅!



1、运用LMS基本算法以及LMS/DFT和LMS/DCT对含有噪声的信号进行处理,期望提取出有用信号。

LMS基本算法  

clear all;

M=64;N=8*M;mu=0.001;  

W=zeros(1,M);  

signal=sin(2*pi*0.01*[0:N-1]);  

noise=randn(1,N);  

x=signal+noise;  

d=signal;

for k=1:length(x)-M+1;

y(k)=sum(W.*fliplr(x(k:M+k-1)));

e(k)=d(M+k-1)-y(k);  

W=W+2*mu*e(k)*fliplr(x(k:M+k-1));

end

k=0:N-1;

subplot(121);plot(k,x);grid;

k=M-1:N-1;

subplot(122);plot(k,y);grid;






2、LMS/DFT算法

clear all;

M=64;N=8*M;mu=0.001;  

W=zeros(1,M);

signal=sin(2*pi*0.01*[0:N-1]);  

noise=randn(1,N);  

x=signal+noise;  

d=signal;  

X=zeros(1,M)=zeros(1,M);  

u=zeros(1,M);  

delta=0.01;gamma=0.9;  

for k=1:length(x)-M;

  for m=1:M

X(m)=(exp(-i*2*pi*m/M)*X(m)+x(k+M)-x(k))/M^0.5;

P(m)=gamma*P(m)+(1-gamma)*X(m)*conj(X(m));

u(m)=X(m)/(P(m)+delta)^0.5;

  end

y(k)=sum(W.*fliplr(u));

e(k)=d(M+k)-y(k);  

W=W+2*mu*e(k)*fliplr(conj(u));

end

k=0:N-1;

subplot(121);plot(k,x);grid;

k=M:N-1;

subplot(122);plot(k,y);grid;






报告.doc

!sourceimagesize! 0 Bytes, 下载次数: 6

卡尔曼滤波、AR谱分析和小波变换程序


自己编的.rar

!sourceimagesize! 0 Bytes, 下载次数: 5

卡尔曼滤波、AR谱分析和小波变换程序


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 支持支持 反对反对

共 4 个关于本帖的回复 最后回复于 2015-12-12 14:42

沙发
李金梁 十品草民 发表于 2015-1-14 13:29:02 | 只看该作者
研发埠培训中心
正在学习现代数字信号处理,不错!下个看看!
板凳
上一站,守护 新来的 发表于 2015-1-14 16:08:35 | 只看该作者
研发埠人才中心
很好用,不错
地板
西瓜大de籽 九品主簿 发表于 2015-12-12 14:42:34 | 只看该作者
谢谢楼主
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注我们