commit-gnuradio
[Top][All Lists]
Advanced

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

[Commit-gnuradio] r8683 - gnuradio/branches/developers/cswiger/wip/gr-at


From: cswiger
Subject: [Commit-gnuradio] r8683 - gnuradio/branches/developers/cswiger/wip/gr-atsc/src/lib
Date: Mon, 23 Jun 2008 16:25:43 -0600 (MDT)

Author: cswiger
Date: 2008-06-23 16:25:42 -0600 (Mon, 23 Jun 2008)
New Revision: 8683

Modified:
   
gnuradio/branches/developers/cswiger/wip/gr-atsc/src/lib/atsc_bit_timing_loop.cc
   gnuradio/branches/developers/cswiger/wip/gr-atsc/src/lib/atsc_consts.h
   gnuradio/branches/developers/cswiger/wip/gr-atsc/src/lib/atsc_cpll.cc
   gnuradio/branches/developers/cswiger/wip/gr-atsc/src/lib/atsci_sssr.cc
Log:
Added ATSC_RF_SAMPLE_RATE = 16e6 in atsc_consts.h, fixed typo


Modified: 
gnuradio/branches/developers/cswiger/wip/gr-atsc/src/lib/atsc_bit_timing_loop.cc
===================================================================
--- 
gnuradio/branches/developers/cswiger/wip/gr-atsc/src/lib/atsc_bit_timing_loop.cc
    2008-06-23 21:26:47 UTC (rev 8682)
+++ 
gnuradio/branches/developers/cswiger/wip/gr-atsc/src/lib/atsc_bit_timing_loop.cc
    2008-06-23 22:25:42 UTC (rev 8683)
@@ -29,9 +29,7 @@
 #include <atsc_consts.h>
 #include <string.h>
 
-// Input rate changed from 20MHz to 16Mhz to support usrp at 2 * 8MHz
-float input_rate = 16e6;
-double ratio_of_rx_clock_to_symbol_freq = input_rate / ATSC_SYMBOL_RATE;
+double ratio_of_rx_clock_to_symbol_freq = ATSC_RF_SAMPLE_RATE / 
ATSC_SYMBOL_RATE;
 
 
 atsc_bit_timing_loop_sptr

Modified: gnuradio/branches/developers/cswiger/wip/gr-atsc/src/lib/atsc_consts.h
===================================================================
--- gnuradio/branches/developers/cswiger/wip/gr-atsc/src/lib/atsc_consts.h      
2008-06-23 21:26:47 UTC (rev 8682)
+++ gnuradio/branches/developers/cswiger/wip/gr-atsc/src/lib/atsc_consts.h      
2008-06-23 22:25:42 UTC (rev 8683)
@@ -25,8 +25,8 @@
 
 static const double ATSC_SYMBOL_RATE = 4.5e6 / 286 * 684;              // 
~10.76 MHz
 static const double ATSC_DATA_SEGMENT_RATE = ATSC_SYMBOL_RATE / 832;   // 
~12.935 kHz
+static const float ATSC_RF_SAMPLE_RATE = 16e6;                         // 16 
Mhz
 
-
 static const int ATSC_MPEG_DATA_LENGTH                 = 187;
 static const int ATSC_MPEG_PKT_LENGTH          = 188;  // sync + data 
 static const int ATSC_MPEG_RS_ENCODED_LENGTH   = 207;

Modified: gnuradio/branches/developers/cswiger/wip/gr-atsc/src/lib/atsc_cpll.cc
===================================================================
--- gnuradio/branches/developers/cswiger/wip/gr-atsc/src/lib/atsc_cpll.cc       
2008-06-23 21:26:47 UTC (rev 8682)
+++ gnuradio/branches/developers/cswiger/wip/gr-atsc/src/lib/atsc_cpll.cc       
2008-06-23 22:25:42 UTC (rev 8683)
@@ -70,16 +70,12 @@
 void
 atsc_cpll::initialize ()
 {
-  float Fs = 16e6;
+  double alpha = 1 - exp(-1.0 / ATSC_RF_SAMPLE_RATE / 5e-6);
 
-  double alpha = 1 - exp(-1.0 / Fs / 5e-6);
-
   afc.set_taps (alpha);
 
   printf("Setting initial_freq: %f\n",initial_freq);
-  // nco.set_freq (initial_freq / Fs * 2 * M_PI);
-  // nco.set_phase (initial_phase);
-  d_freq = initial_freq / Fs * 2 * M_PI;
+  d_freq = initial_freq / ATSC_RF_SAMPLE_RATE * 2 * M_PI;
 }
 
 float
@@ -97,7 +93,6 @@
 atsc_cpll::phase_detector(gr_complex sample,float ref_phase)
 {
   float sample_phase;
-  //  sample_phase = atan2(sample.imag(),sample.real());
   sample_phase = gr_fast_atan2f(sample.imag(),sample.real());
   return mod_2pi(sample_phase-ref_phase);
 }
@@ -117,8 +112,6 @@
 
     gr_complex input = agc.scale (in[k]);
 
-    // nco.step ();                // increment phase
-    // nco.sincos (&a_sin, &a_cos);  // compute cos and sin
     gr_sincosf(d_phase,&a_sin,&a_cos);
 
     gr_complex IQ = input * gr_complex(a_cos,-a_sin);
@@ -127,19 +120,11 @@
 
     gr_complex filtered_IQ = afc.filter (IQ);
 
-    // phase detector
-
     float x = phase_detector(filtered_IQ,0);
 
-    // static const float alpha = 0.037;   // Max value
-    // static const float alpha = 0.005;   // takes about 5k samples to pull 
in, stddev = 323
-    // static const float alpha = 0.002;   // takes about 15k samples to pull 
in, stddev =  69
-                                           //  or about 120k samples on noisy 
data,
     static const float alpha = 0.001;
     static const float beta = alpha * alpha / 4;
 
-    // nco.adjust_phase (alpha * x);
-    // nco.adjust_freq (beta * x);
     d_freq = d_freq + beta * x;
     d_phase = mod_2pi(d_phase + d_freq + alpha * x);
 

Modified: gnuradio/branches/developers/cswiger/wip/gr-atsc/src/lib/atsci_sssr.cc
===================================================================
--- gnuradio/branches/developers/cswiger/wip/gr-atsc/src/lib/atsci_sssr.cc      
2008-06-23 21:26:47 UTC (rev 8682)
+++ gnuradio/branches/developers/cswiger/wip/gr-atsc/src/lib/atsci_sssr.cc      
2008-06-23 22:25:42 UTC (rev 8683)
@@ -192,7 +192,7 @@
 atsci_interpolator::atsci_interpolator (double 
nominal_ratio_of_rx_clock_to_symbol_freq)
   : d_debug_fp(0)
 {
-// Tweaked ratio from 1.8 to 1.48 to support input rate of 18MHz
+// Tweaked ratio from 1.8 to 1.48 to support input rate of 16MHz
 // Be sure to update gnuradio-core/src/lib/filter/interpolator_taps.h 
 // to NTAPS = 12 NSTEPS = 128  and   BANDWIDTH = 0.375
   assert (nominal_ratio_of_rx_clock_to_symbol_freq >= 1.48);





reply via email to

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