is this matlab code of 8psk ??

6 views (last 30 days)
mary
mary on 27 Feb 2013
l=100000; %L length of si the input one dimension array
nni=randn(1,l);%generate L by L array of random scalare
si=randsrc(1,l,[+1,-1;.5,.5]);%generate 1 by L array of -1&+1
snr=[0:15];
for i=1:16
errorcounter=0;
stdn=sqrt(10^(-snr(i)/10))
ni=nni*stdn;% ni is 1 by L dimension
for m=1:l
ri(m)=ni(m)+si(m);
if ri(m)>0
sdi(m)=1;
elseif ri(m)<=0
sdi(m)=-1;
end
if sdi(m)~=si(m)
errorcounter=errorcounter+1;
end
end
ber(i)=errorcounter/l
end
semilogy(snr,ber,'r','LineWidth',2)
xlabel('snr db');ylabel('ber');grid;
  5 Comments
Rick Rosson
Rick Rosson on 2 Mar 2013
  1. Please use proper indentation in your code.
  2. Please do not use lower-case l as a variable. It looks almost the same as the numeral 1 and is very confusing. Use upper-case L instead.
  3. Please add comments explaining what each variable represents.
Thanks.
mary
mary on 2 Mar 2013
okay thanks for the notes

Sign in to comment.

Accepted Answer

Rick Rosson
Rick Rosson on 2 Mar 2013
Edited: Rick Rosson on 2 Mar 2013
No. As far as I can tell, this code is BPSK, not 8PSK. Also, there are several mistakes in the code.
  4 Comments
mary
mary on 2 Mar 2013
i just wanna understand how 8psk works .. an explination not matlab code .. but the code helps me to understand faster thats why i asked for a code ..

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!