MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [MATLAB数学相关] LMS算法滤波 前后的误差问题 (https://www.labfans.com/bbs/showthread.php?t=11894)

lincolnlee0126 2010-07-23 16:41

LMS算法滤波 前后的误差问题
 
现在用到LMS做一个仿真,就是生成一组数据,然后给这组数加上噪声,然后利用LMS算法,用原始数据作为期望值进行滤波,
但是我发现,利用LMS算法自适应滤波前后, 数据变化并不大,滤波前的误差(加上噪声的数据和原始数据之差)和滤波后的误差(滤波后
的数据和原始数据之差)基本相同,甚至LMS滤波后误差更大!!! 小弟不解,求高人指教!!

附上代码
%y=zeros(N,1);
%e=zeros(N,1);
%eUn=zeros(N,1);
%w=zeros(tap,N);
%u=zeros(tap,1);
%steplength=0.03;
%displaysize=1000;
%count=0;
% N=2000;
% data0=rand(1,N);
% for k=1:length(data0)
% if data0(k)>0.5
% data0(k)=1;
% else
% data0(k)=-1;
% end
% end
%
% spow=( sum((abs(data0)).^2))/length(data0) ;
% attn=0.5*spow*10.^(-10/10);
% attn=sqrt(attn);
% noise=randn(1,length(data0)).*attn;
% data1=data0+(noise);
% data0=[zeros(1,tap-1),data0];
% data1=[zeros(1,tap-1),data1];
% data1=data1.';
%
% for n=tap:N
% u=data1(n:-1:n-tap+1);
% e(n)=data0(n)-w(:,n)'*u;
% w(:,n+1)=w(:,n)+steplength*u*conj(e(n));
%
% eUn(n)=data0(n)-data1(n);
% end

lincolnlee0126 2010-07-23 16:51

回复: LMS算法滤波 前后的误差问题
 
不要沉啊 啊


所有时间均为北京时间。现在的时间是 11:07

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.