## log likelihood ratio to probability measure

### xplore29 (view profile)

on 19 May 2013

For BPSK, one can theoretically move back and forth between log-likelihood ratio and probabilities by using following expressions

P(0) = 1/(1+exp(L)),P(1)=exp(L)/(1+exp(L)).

But in simulations if 'L' gets really large the above expression for P(1) returns NaN. Theory suggests that if L>>1, then P(1)-->1. I tried different values of L for which P(1) changes and found out that any value of L<-10 gives P(0)=1 and L>10 gives P(1)=1. I wrote the following two codes to compute P(0) and P(1)

%-----------------------Code-A--------------------------------- [row col] = size(LLR) for i=1:row for j=1:col

if LLR(i,j)==+inf
Probability(i,j) = 1;
else
Probability(i,j) = exp(LLR(i,j))/(1+exp(LLR(i,j)));
end
end
end
%-----------------------Code-B---------------------------------
for i=1:row
for j=1:col
if LLR(i,j)>10
Probability(i,j) = 1;
end
if LLR(i,j)<-10
Probability(i,j) = -1;
end
if (LLR(i,j)<10)&&(LLR(i,j)>-10)
Probability(i,j) = exp(LLR(i,j))/(1+exp(LLR(i,j)));
end
end
end
%--------------------------------------------------------------

for the same LLR matrix, with Code-A I get all real values in Probability matrix while with Code-B results in complex values.

I ll appreciate any suggestions in this regard.

## Products

No products are associated with this question.

### Tom Lane (view profile)

Answer by Tom Lane

### Tom Lane (view profile)

on 20 May 2013

For large L, you might consider changing

P(1)=exp(L)/(1+exp(L))

to

P(1)=1/(1+exp(-L))

#### Join the 15-year community celebration.

Play games and win prizes!

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi