返回信息流% 16QAM.m
function [p]= cm_sm41(snr_in_dB)
N=10000;
d=1;
Eav=10*d.^2;
snr=10.^(snr_in_dB/10);
sgma=sqrt(Eav./(8*snr));
M=16;
for i=1:N
temp=rand;
dsource(i)=1+floor(M*temp);
end;
mapping=[-3*d 3*d;
-d 3*d;
d 3*d;
3*d 3*d;
-3*d d;
-d d;
d d;
3*d d;
-3*d -d;
-d -d;
d -d;
3*d -d;
-3*d -3*d;
-d -3*d;
d -3*d;
3*d -3*d];
for i=1:N
qam_sig(i,:)=mapping(dsource(i),:);
end;
scatterplot(qam_sig);
for i=1:N
[n(1) n(2)]=gngauss(sgma);
r(i,:)=qam_sig(i,:)+n;
end
scatterplot(r);
numoferr=0;
for i=1:N
for j=1:M
metrics(j)=(r(i,1)-mapping(j,1))^2+(r(i,2)-mapping(j,2))^2;
end
[min_metric decis]=min(metrics);
if (decis~=dsource(i))
numoferr=numoferr+1;
end
end
p=numoferr/(N);
这是个16QAM的函数,我有些没看懂,请各位讲一下函数的功能,其中的d, sgma,dsource,numoferr这些参数是什么意思?谢谢
这是一条镜像帖。来源:北邮人论坛 / matlab / #10018同步于 2013/5/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖
QAM函数求指导
shouwang
2013/5/27镜像同步1 回复
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复
就是求16QAM的误码率的。
d = 星座图中的欧式距离
sgma = 噪声
dsource = 信号源
numoferr = 误码个数
【 在 shouwang 的大作中提到: 】
: % 16QAM.m
: function [p]= cm_sm41(snr_in_dB)
: N=10000;
: ...................