📄 qam.m
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -