📄 bound_awgn_r12_k2_ebno.m
字号:
% Name: bounds_AWGN_conv_R12_K2_EbNo.m
% Date: November 21, 2007
% Description:
% Bounds for binary K=3 rate-1/2 convolutional codes with ML decoding with
% binary modulation over an AWGN channel.
%
% Copyright (c) 2007. Robert Morelos-Zaragoza. All rights reserved.
clear
rate=1/2;
df=3;
EbNo_init = 3; EbNo_inc = 0.5; EbNo_final = 14;
EbNov = []; Pb_VO = []; Pb_JZ = []; Pbp_VO = []; Pbp_JZ = [];
for EbNodB = EbNo_init:EbNo_inc:EbNo_final
EbNo = (10.^(EbNodB/10));
x = exp(-rate*EbNo);
% Omura-Viterbi bounds
Pb = x^3/((1-2*x)^2);
Pbp = x^2 + ( ((1-2*x^2)*(3*x^2+5*x^4) + 6*x^3*(x+x^3))/(1-2*x^2)^2 );
Pb_VO = [Pb_VO Pb];
Pbp_VO = [Pbp_VO Pbp];
% Johannesson-Zigangirov bounds
Pb = Q(sqrt(2*df*rate*EbNo))*exp(df*rate*EbNo)*x^3/((1-2*x)^2);
Pbp = Q(sqrt(2*df*rate*EbNo))*exp(df*rate*EbNo)*( x^2 + ...
( ((1-2*x^2)*(3*x^2+5*x^4) + 6*x^3*(x+x^3))/(1-2*x^2)^2) );
Pb_JZ = [Pb_JZ Pb];
Pbp_JZ = [Pbp_JZ Pbp];
EbNov = [EbNov EbNodB];
end
semilogy (EbNov,Pb_VO,'-ks');
hold on
semilogy (EbNov,Pbp_VO,':ks');
semilogy (EbNov,Pb_JZ,'-ko');
semilogy (EbNov,Pbp_JZ,':ko');
axis([3 14 1e-7 0.1])
legend('OV bound for C','OV bound for C_p', 'JZ bound for C', 'JZ bound for C_p')
xlabel('E_b/N_0 (dB)')
ylabel('P_b')
grid on
hold off
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -