📄 awgn_burst_viterbi.m
字号:
%该函数用来计算一定信噪比下的加高斯和突发干扰后经卷积改善后的误码率
function [err_bit_rate]=AWGN_Burst_viterbi(snr_in_dB,N,burst)
E=1;
snr=10^(snr_in_dB/10);
sgma=sqrt((E/snr)/2);%噪声功率
err_bit=0;
err_frame=0;
G=[1 0 0 1 1;1 1 0 1 1];
k=1;
for i=1:N
input1=round(rand(1,224));
ch_out=viterbi_encoder(G,k,input1);%编码
%经信道加高斯燥声
u=2*ch_out-1;
u=sign(u+sgma*randn(size(u))+eps);
u=(u+1)/2;
%%经信道加突发干扰
N_Interval=200; %突发间隔,改变其值会影响误码率曲线
Noise=BurstNoise(N_Interval,burst,length(u));
u=rem(u+Noise,2);
[decoder_output,survivor_state,cumulated_metric]=viterbi_decoder(G,k,u);%解码
err_num=(length(find(input1~=decoder_output)));
err_bit=err_num+err_bit;
err_frame=(length(find(err_num~=0)))+err_frame;
end
%误码率,误帧率
err_bit_rate=err_bit/(N*244);
err_frame_rate=err_frame/N;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -