QAM problem?
10 views (last 30 days)
Show older comments
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?
0 Comments
Accepted Answer
Walter Roberson
on 16 Mar 2011
Rename the file, or rename the variable "d" to something else.
3 Comments
Walter Roberson
on 25 Apr 2011
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
on 25 Apr 2011
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.
More Answers (0)
See Also
Categories
Find more on QAM in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!