Changeset 9381

Show
Ignore:
Timestamp:
08/23/08 12:46:04
Author:
eb
Message:

fix for ticket:243

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • gnuradio/trunk/gnuradio-core/src/lib/viterbi/metrics.c

    r8324 r9381  
    4747 
    4848/* Logarithm base 2 */  
    49 double log2(double);            /* declaration seems to be missing from some math.h's */ 
    50 #if !defined(HAVE_LOG2) 
    51 #define log2(x) (log(x)*M_LOG2E) 
    52 #endif 
     49#define gr_log2(x) (log(x)*M_LOG2E) 
    5350 
    5451/* Generate log-likelihood metrics for 8-bit soft quantized channel 
     
    8178  /* Prob of this value occurring for a 0-bit */        /* P(s|0) */ 
    8279  p0 = normal(((0-OFFSET+0.5)/amp + 1)/noise); 
    83   metrics[0][0] = log2(2*p0/(p1+p0)) - bias; 
    84   metrics[1][0] = log2(2*p1/(p1+p0)) - bias; 
     80  metrics[0][0] = gr_log2(2*p0/(p1+p0)) - bias; 
     81  metrics[1][0] = gr_log2(2*p1/(p1+p0)) - bias; 
    8582   
    8683  for(s=1;s<255;s++){ 
     
    9693    printf("P(%d|1) = %lg, P(%d|0) = %lg\n",s,p1,s,p0); 
    9794#endif 
    98     metrics[0][s] = log2(2*p0/(p1+p0)) - bias; 
    99     metrics[1][s] = log2(2*p1/(p1+p0)) - bias; 
     95    metrics[0][s] = gr_log2(2*p0/(p1+p0)) - bias; 
     96    metrics[1][s] = gr_log2(2*p1/(p1+p0)) - bias; 
    10097  } 
    10198  /* 255 is also a special value */ 
     
    105102  p0 = 1 - normal(((255-OFFSET-0.5)/amp + 1)/noise); 
    106103   
    107   metrics[0][255] = log2(2*p0/(p1+p0)) - bias; 
    108   metrics[1][255] = log2(2*p1/(p1+p0)) - bias; 
     104  metrics[0][255] = gr_log2(2*p0/(p1+p0)) - bias; 
     105  metrics[1][255] = gr_log2(2*p1/(p1+p0)) - bias; 
    109106#ifdef  notdef 
    110107  /* The probability of a raw symbol error is the probability