?? smldpe.m
字號:
function [p]=smldPe(snr_in_dB)
% [p]=smldPe(snr_in_dB)
% SMLDPE仿真求出以dB為單位的特定信噪比的誤碼率
E=1;
SNR=exp(snr_in_dB*log(10)/10); %信噪比
sgma=E/sqrt(2*SNR); %噪聲的標準偏差
if (snr_in_dB<=6),
N=5000;
elseif (snr_in_dB<=7)
N=30000;
elseif (snr_in_dB<=8)
N=60000;
end;
%產生信源
for i=1:N,
temp=rand; %在(0,1)區間內的均勻隨機變量
if (temp<0.5),
dsource(i)=0; %信源輸出為0的概率為1/2
else
dsource(i)=1; %信源輸出為1的概率為1/2
end
end
%隨后為判決和誤碼概率的計算
numoferr=0;
for i=1:N,
%匹配濾波器的輸出
if (dsource(i)==0),
r=-E+sgma*randn; %如果信源輸出為“0”
else
r=E+sgma*randn; %如果信源輸出為"1"
end;
%隨后為判決
if (r<0),
decis=0; %判決為“0”
else
decis=1; %判決為“1”
end;
if(decis~=dsource(i)),
numoferr=numoferr+1; %如果出錯,計數器加1
end;
end;
p=numoferr/N; %誤差概率估算
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -