📄 cnv_burst_pe.m
字号:
%经卷积交织编译码后的改善误码率
function sig_err_rate=cnv_burst_pe(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);
%交织前合成
C([1:456]+n*456)=in_en_sig;
end;
%交织
u=INTER_WEAVE_8(C);
%%%%%%%%%%%%%%%%%%%%%
%加突发噪声
Noise=BurstNoise(N_Interval,N_Length,length(u));
u=mod(u+Noise,2);
%%%%%%%%%%%%%%%%%%%%%
%反交织
D=COUNTER_WEAVE_8(u);
%错误位记录初始化
err_flag=0;
%解码
for n=0:(N-1)
%分离桢
in_de_sig=D([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 + -