Discover MakerZone

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

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

log likelihood ratio to probability measure

Asked by xplore29 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.

0 Comments

xplore29

Products

No products are associated with this question.

1 Answer

Answer by Tom Lane 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))

0 Comments

Tom Lane

Contact us