QAM problem?

10 次查看(过去 30 天)
Ali
Ali 2011-3-16
echo on
K=10;N=2*K;T=100;
a=rand(1,36);
a=sign(a-0.5);
b=reshape(a,9,4);
% Generate the 16QAM points
XXX=2*b(:,1)+b(:,2)+1j*(2*b(:,3)+b(:,4));
XX=XXX';
X=[0 XX 0 conj(XX(9:-1:1))];
xt=zeros(1,101);
for t=0:100
for k=0:N-1
xt(1,t+1)=xt(1,t+1)+1/sqrt(N)*X(k+1)*exp(1j*2*pi*k*t/T);
echo off
end
end
echo on
xn=zeros(1,N);
for n=0:N-1
for k=0:N-1
xn(n+1)=xn(n+1)+1/sqrt(N)*X(k+1)*exp(1j*2*pi*n*k/N);
echo off
end
end
echo on
pause % press any key to see a plot of x(t)
plot([0:100],abs(xt))
% Check the difference between xn and samples of x(t)
for n=0:N-1
d(n+1)=xt(T/N*n+1)-xn(1+n);
echo off
end
echo on
e=norm(d);
Y=zeros(1,10);
for k=1:9
for n=0:N-1
Y(1,k+1)=Y(1,k+1)+1/sqrt(N)*xn(n+1)*exp(-1j*2*pi*k*n/N);
echo off
end
end
echo on
dd=Y(1:10)-X(1:10);
ee=norm(dd);
I have problem with code on line 30
??? Warning: File: d.m Line: 30 Column: 1
The variable "d" is also the name of this script.
This is illegal, because it will be the name of a script and a variable
in any context from which the script is called.
Error: The previous warning is being treated as an error.
How can I fix it?

采纳的回答

Walter Roberson
Walter Roberson 2011-3-16
Rename the file, or rename the variable "d" to something else.
  3 个评论
Walter Roberson
Walter Roberson 2011-4-25
j is not a function. Change your j(1+sqrt(3)) to 1j*(1+sqrt(3))
I suspect your jo (jay lower-case-oh) should be 0j (zero jay)
Walter Roberson
Walter Roberson 2011-4-25
Change the 9 to a 5.
Further changes might be necessary in the program; I do not know enough about the technique to follow the logic of the program.

请先登录,再进行评论。

更多回答(0 个)

标签

Community Treasure Hunt

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

Start Hunting!

Translated by