sdcchpe.m

来自「GSM信道编码设计」· M 代码 · 共 55 行

M
55
字号


function [bit_err_rate]=sdcchPe(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=SDC_IN_EN(fire_enc);
	%交织
	C=INTER_WEAVE_4(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_4(C);
	%内解码后去四位尾比特
	viterbi_out=SDC_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 + =
减小字号Ctrl + -
显示快捷键?