📄 facchpe.m
字号:
function [bit_err_rate]=facchPe(snr_in_dB)
%噪声功率
E=1;
snr=10^(snr_in_dB/10);
sgma=sqrt((E/snr)/2);
%桢个数
N=10;
%突发间隔
N_Interval=80;
%突发长度
N_Length=10;
bit_err_num=0;
frame_err_num=0;
for n=0:(N-1)
%信息序列
signal=round(rand(1,184));
%外编码+0000
fire_enc=fire_sys_encode(signal);
fire_enc=[fire_enc zeros(1,4)];
%内编码
viterbi_enc=FAC_IN_EN(fire_enc);
%交织
C=INTER_WEAVE_8(viterbi_enc);
%%%%%%%%%%%%%%%%%%%%%%%%
%经信道加高斯噪声
C=2*C-1;
C=sign(C+sgma*randn(size(C))+eps);
C=(C+1)/2;
%加突发噪声
%Noise=BurstNoise(N_Interval,N_Length,length(C));
%C=mod(C+Noise,2);
%%%%%%%%%%%%%%%%%%%%%%%%
%反交织
D=COUNTER_WEAVE_8(C);
%内解码
viterbi_out=FAC_IN_DE(D);
viterbi_dec=viterbi_out(1:224);
%外解码
[fire_dec,sysinfo]=fire_sys_decode(viterbi_dec);
current_bit_err_num=length(find(signal~=fire_dec));
%验证
if (current_bit_err_num~=0)
frame_err_num=frame_err_num+1;
bit_err_num=bit_err_num+current_bit_err_num;
end
end
bit_err_rate=bit_err_num/(N*184)
frame_err_rate=frame_err_num/N
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -