[Top][All Lists]
[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);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r8683 - gnuradio/branches/developers/cswiger/wip/gr-atsc/src/lib,
cswiger <=