?? cnv_burst.m
字號:
%經卷積編譯碼后的改善誤碼率
function sig_err_rate=cnv_burst(snr_in_dB)
E=1;
snr=10^(snr_in_dB/10);
sgma=sqrt(E/snr)/2;%噪聲功率
%楨個數
N=50;
%突發間隔
N_Interval=80;
%突發長度
N_Length=6;
%信息序列
signal=round(rand(1,N*260));
%編碼
for n=0:(N-1)
%外編碼
ex_en_sig=T_FS_EX_EN(signal([1:260]+n*260));
%內編碼
in_en_sig=T_FS_IN_EN(ex_en_sig);
%交織前合成,但是沒有交織過程
u([1:456]+n*456)=in_en_sig;
end;
%%%%%%%%%%%%%%%%%%%%%
%加突發噪聲
Noise=BurstNoise(N_Interval,N_Length,length(u));
u=mod(u+Noise,2);
%%%%%%%%%%%%%%%%%%%%%
%錯誤位記錄初始化
err_flag=0;
%解碼
for n=0:(N-1)
%分離楨
in_de_sig=u([1:456]+n*456);
%內編碼解碼
ex_de_sig=T_FS_IN_DE(in_de_sig);
%外編碼解碼
[newsig,flag]=T_FS_EX_DE(ex_de_sig);
%錯誤位記錄,如果有錯,err_flag會在相應的位置記1
err_flag=err_flag*10+mod(flag,2);
%楨合成
rev_sig([1:260]+n*260)=newsig;
end;
sig_err_rate=(length(find(signal~=rev_sig)))/length(signal);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -