Recently, I am learning the Sphere-Packing Lower Bound to approaximate the Block error rate (BLER) of the turbo code from here.
The key component is using the Sphere-Packing Lower Bound.
And the two key functions are below, and the details can be found in the paper.
I plan to calculate about function to estimate the BLER of Turbo code. However, when I implement it on matlab, I just got strange results, i.e., the value of Q_n is too large and it seems not an probability which should be within [0, 1].
The following is my matlab code:
%% for theta. corresponding exponent for the solid-angle function
k = 10; r = 1/3; M = 2^k; n = k/r; A = 2; syms t; f1 = -1*(1/n)*log2(1/M)==-log2(sin(t)); anss = solve(f1) %% for QnA. mini = double(anss(1)); G = 0.5 * (A*cos(mini) + sqrt(A^2*cos(mini)*cos(mini)) + 4); QnA = exp( 0.5 * (A*A - A*G*cos(mini)) - log(G * sin(mini)) *(-1*n))
I just got the results like:
anss = asin(2^(2/3)/2) pi - asin(2^(2/3)/2) QnA = 1.7002e+12 >>
Note that I used the exponent function for above two functions, which are
Thanks for any help!