i writed a code for adaptive channel equalizer with LMS algorithm but i donot recieve a desire answer for learning curve . i want to find problem of program . input signal of channel is a 16-QAM .

1 次查看(过去 30 天)
iterate=200;
N=1000;
M=8;
mu=0.01;
ms=zeros(N,1);
p=[0.1483;0.2595;-0.0318;-0.1536;-0.2118;0.1059;0.5295;0.7314];
for k=1:iterate
j = sqrt(-1);
x = sign(randn(N,1)).*(2+sign(randn(N,1)))+ j*sign(randn(N,1)).*(2+sign(randn(N,1)));
v=sqrt(0.001)*randn(N,1);
d=filter(p,1,x)+v;
u=d(1:N);
w=zeros(M,1);
e=zeros(N,1);
y=zeros(N,1);
uvect=zeros(M,1);
for i=1:N
uvect=[u(i);uvect(1:M-1)];
y(i)=w'*uvect;
e(i)=x(i)-y(i);
w=(w+mu*uvect*conj(e(i)));
end
ms=ms+abs(e.*e);
end
mse1=ms/iterate;
semilogy(mse1);
ylabel('MSE');
xlabel('iteration number');
title('learning curve LMS');

回答(1 个)

hadi zavi
hadi zavi 2015-6-29
can anybody help me?

类别

Help CenterFile Exchange 中查找有关 PHY Components 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by