qam.m
来自「在高斯信道下」· M 代码 · 共 45 行
M
45 行
function p=qam(snr)
echo on
N=10000;
M=16;
numerror=0;
sg=10^(snr/10);
sgma=sqrt(10/(8*sg));
for i=1:N,
temp=rand;
source(i)=1+floor(64*temp);
end;
b=5;
for j=0:3,
b=b-2;
a=-5;
for i=1:4,
a=a+2;
map(i+4*j,1)=a;
map(i+j*4,2)=b;
end;
end;
for i=1:N,
msig(i,:)=map(source(i),:);
end;
for i=1:N,
[n(1),n(2)]=gngauss(sgma);
msig(i,:)=msig(i,:)+n;
end;
for x=1:N,
for y=1:M,
result(y)=(msig(x,1)-map(y,1))^2+(msig(x,2)-map(y,2))^2;
end;
[metic j]=min(result);
desource=j;
if (desource~=source(x)),
numerror=numerror+1;
end;
end;
p=numerror/(N);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?