Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2009-05-13
帖子: 9
声望力: 0 ![]() |
![]()
现在用到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 |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2009-05-13
帖子: 9
声望力: 0 ![]() |
![]()
不要沉啊 啊
|
![]() |
![]() |