?? cm_sm41.m
字號:
function[p]=cm_sm41(snr_in_dB)
%[p]=cm_sm41(snr_in_dB)
%CM_SM求出以dB為單位的給定信噪比的比特誤碼率和符號誤碼率
N=1000;
d=1;
Eav=10*d^2;%每符號能量
snr=10^(snr_in_dB/10);%每比特信噪比(給定)
sgma=sqrt(Eav/(8*snr));%噪聲方差
M=16;
%generation of the data source follows
for i=1:N
temp=rand;%在區間[0,1]間的均勻瑞利變量
dsource(i)=1+floor(M*temp);%在1到16間的一個數,均勻的
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;
%接收信號
for i=1:N
n=gngauss(sgma);
r(i,:)=qam_sig(i,:)+n;
end;
%判決、誤碼率的計算
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_metics decis]=min(metrics);
if (decis~=dsource(i)),
numoferr=numoferr+1;
end;
end;
p=numoferr/(N);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -