Added timing adjustment for zero crossings at bit edges
authorJohnathan Corgan <jcorgan@corganenterprises.com>
Sat, 3 Oct 2009 22:11:30 +0000 (15:11 -0700)
committerJohnathan Corgan <jcorgan@corganenterprises.com>
Tue, 13 Oct 2009 20:46:18 +0000 (13:46 -0700)
gr-noaa/lib/noaa_hrpt_sync_fb.cc

index f99947f827d82fab5b69de1d46282738f90b51d6..9c655b0d98fef5dbb8dced85c79e821b452f749c 100644 (file)
@@ -67,11 +67,16 @@ noaa_hrpt_sync_fb::general_work(int noutput_items,
 
     // Train on zero crossings in center region of symbol
     if (sign != d_last_sign) {
-      if (d_phase > 0.25 && d_phase < 0.75) {
-       float phase_err = d_phase-0.5;
-       d_phase -= phase_err*d_alpha;        // 1st order phase adjustment
-       d_freq -= phase_err*d_beta;          // 2nd order frequency adjustment
-      }
+      float phase_err = 0.0;
+      if (d_phase > 0.25 && d_phase < 0.75)
+       phase_err = d_phase-0.5;
+      else if (d_phase >= 0.75)
+       phase_err = d_phase - 1.0;
+      else
+       phase_err = d_phase;
+
+      d_phase -= phase_err*d_alpha;        // 1st order phase adjustment
+      d_freq -= phase_err*d_beta;          // 2nd order frequency adjustment
 
       d_last_sign = sign;
     }