commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] r9389 - gnuradio/branches/releases/3.1/gnuradio-core/s


From: jcorgan
Subject: [Commit-gnuradio] r9389 - gnuradio/branches/releases/3.1/gnuradio-core/src/lib/viterbi
Date: Sat, 23 Aug 2008 17:22:10 -0600 (MDT)

Author: jcorgan
Date: 2008-08-23 17:22:09 -0600 (Sat, 23 Aug 2008)
New Revision: 9389

Modified:
   gnuradio/branches/releases/3.1/gnuradio-core/src/lib/viterbi/metrics.c
Log:
Applied changeset r9381 on trunk to release branch.

Modified: gnuradio/branches/releases/3.1/gnuradio-core/src/lib/viterbi/metrics.c
===================================================================
--- gnuradio/branches/releases/3.1/gnuradio-core/src/lib/viterbi/metrics.c      
2008-08-23 23:12:27 UTC (rev 9388)
+++ gnuradio/branches/releases/3.1/gnuradio-core/src/lib/viterbi/metrics.c      
2008-08-23 23:22:09 UTC (rev 9389)
@@ -46,10 +46,7 @@
 #define        normal(x)       (0.5 + 0.5*erf((x)/M_SQRT2))
 
 /* Logarithm base 2 */ 
-double log2(double);           /* declaration seems to be missing from some 
math.h's */
-#if !defined(HAVE_LOG2)
-#define log2(x) (log(x)*M_LOG2E)
-#endif
+#define gr_log2(x) (log(x)*M_LOG2E)
 
 /* Generate log-likelihood metrics for 8-bit soft quantized channel
  * assuming AWGN and BPSK
@@ -80,8 +77,8 @@
   
   /* Prob of this value occurring for a 0-bit */       /* P(s|0) */
   p0 = normal(((0-OFFSET+0.5)/amp + 1)/noise);
-  metrics[0][0] = log2(2*p0/(p1+p0)) - bias;
-  metrics[1][0] = log2(2*p1/(p1+p0)) - bias;
+  metrics[0][0] = gr_log2(2*p0/(p1+p0)) - bias;
+  metrics[1][0] = gr_log2(2*p1/(p1+p0)) - bias;
   
   for(s=1;s<255;s++){
     /* P(s|1), prob of receiving s given 1 transmitted */
@@ -95,8 +92,8 @@
 #ifdef notdef
     printf("P(%d|1) = %lg, P(%d|0) = %lg\n",s,p1,s,p0);
 #endif
-    metrics[0][s] = log2(2*p0/(p1+p0)) - bias;
-    metrics[1][s] = log2(2*p1/(p1+p0)) - bias;
+    metrics[0][s] = gr_log2(2*p0/(p1+p0)) - bias;
+    metrics[1][s] = gr_log2(2*p1/(p1+p0)) - bias;
   }
   /* 255 is also a special value */
   /* P(s|1) */
@@ -104,8 +101,8 @@
   /* P(s|0) */
   p0 = 1 - normal(((255-OFFSET-0.5)/amp + 1)/noise);
   
-  metrics[0][255] = log2(2*p0/(p1+p0)) - bias;
-  metrics[1][255] = log2(2*p1/(p1+p0)) - bias;
+  metrics[0][255] = gr_log2(2*p0/(p1+p0)) - bias;
+  metrics[1][255] = gr_log2(2*p1/(p1+p0)) - bias;
 #ifdef notdef
   /* The probability of a raw symbol error is the probability
    * that a 1-bit would be received as a sample with value





reply via email to

[Prev in Thread] Current Thread [Next in Thread]