is this matlab code of 8psk ??
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
Rick Rosson
2013-3-2
- Please use proper indentation in your code.
- 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.
- Please add comments explaining what each variable represents.
Thanks.
采纳的回答
Rick Rosson
2013-3-2
编辑:Rick Rosson
2013-3-2
No. As far as I can tell, this code is BPSK, not 8PSK. Also, there are several mistakes in the code.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 PSK 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!