?? tchfs_1_pe.m
字號:
function[class1_err_rate,class2_err_rate]=tchfs_1_Pe(snr_in_dB)
%噪聲功率
E=1;
snr=10^(snr_in_dB/10);
sgma=sqrt((E/snr)/2);
%楨個數
N=100;
%突發間隔
N_Interval=80;
%突發長度
N_Length=5;
%信息序列
signal=round(rand(1,N*260));
%編碼
for n=0:(N-1)
%外編碼
ex_en_sig(1:267)=T_FS_EX_EN(signal([1:260]+n*260));
%內編碼
neibian_sig(1:456)=nei_bianma(ex_en_sig);
%交織前合成
C([1:456]+n*456)=neibian_sig;
end;
%交織
u=jiaozhi(C);
%%%%%%%%%%%%%%%%%%%%%
%經信道加高斯燥聲
u=2*u-1;
u=sign(u+sgma*randn(size(u))+eps);
u=(u+1)/2;
%加突發噪聲
%Noise=BurstNoise(N_Interval,N_Length,length(u));
%u=mod(u+Noise,2);
%%%%%%%%%%%%%%%%%%%%%
%反交織
D=fanjiaozhi(u);
%解碼
for n=0:(N-1)
%分離楨
temp_sig=D([1:456]+n*456);
%內編碼解碼
neiyi_sig=nei_yima(temp_sig);
%外編碼解碼
[ex_de_sig,flag]=T_FS_EX_DE(neiyi_sig);
%楨合成
new_sig([1:260]+n*260)=ex_de_sig;
end;
class1_err_num=0;
class2_err_num=0;
for n=0:(N-1)
class1_err_num=class1_err_num+length(find(signal([1:182]+n*260)~=new_sig([1:182]+n*260)));
end
for n=0:(N-1)
class2_err_num=class2_err_num+length(find(signal([183:260]+n*260)~=new_sig([183:260]+n*260)));
end
class1_err_rate=class1_err_num/(N*182),
class2_err_rate=class2_err_num/(N*78),
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -