[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r5049 - gnuradio/trunk/gr-atsc/src/lib
From: |
cswiger |
Subject: |
[Commit-gnuradio] r5049 - gnuradio/trunk/gr-atsc/src/lib |
Date: |
Thu, 19 Apr 2007 02:01:40 -0600 (MDT) |
Author: cswiger
Date: 2007-04-19 02:01:39 -0600 (Thu, 19 Apr 2007)
New Revision: 5049
Modified:
gnuradio/trunk/gr-atsc/src/lib/atsc_bit_timing_loop.cc
gnuradio/trunk/gr-atsc/src/lib/atsc_bit_timing_loop.h
Log:
Fixed forecast and consume - now sees segment sync.
Modified: gnuradio/trunk/gr-atsc/src/lib/atsc_bit_timing_loop.cc
===================================================================
--- gnuradio/trunk/gr-atsc/src/lib/atsc_bit_timing_loop.cc 2007-04-19
03:54:02 UTC (rev 5048)
+++ gnuradio/trunk/gr-atsc/src/lib/atsc_bit_timing_loop.cc 2007-04-19
08:01:39 UTC (rev 5049)
@@ -44,7 +44,8 @@
gr_make_io_signature(1, 1, sizeof(float)),
gr_make_io_signature(2, 2, sizeof(float))),
d_interp(ratio_of_rx_clock_to_symbol_freq), d_next_input(0),
- d_rx_clock_to_symbol_freq (ratio_of_rx_clock_to_symbol_freq)
+ d_rx_clock_to_symbol_freq (ratio_of_rx_clock_to_symbol_freq),
+ d_si(0)
{
reset();
}
@@ -56,8 +57,6 @@
for (unsigned i = 0; i < ninputs; i++)
ninput_items_required[i] = noutput_items * d_rx_clock_to_symbol_freq +
1500 - 1;
- inputs0_size = noutput_items * d_rx_clock_to_symbol_freq + 1500 - 1;
- inputs0_index = d_next_input;
}
int
@@ -68,7 +67,7 @@
{
int r = work (noutput_items, input_items, output_items);
if (r > 0)
- consume_each (r * d_rx_clock_to_symbol_freq);
+ consume_each (d_si);
return r;
}
@@ -87,7 +86,6 @@
// We are tasked with producing output.size output samples.
// We will consume approximately 2 * output.size input samples.
- int si = 0; // source index
unsigned int k; // output index
float interp_sample;
@@ -95,12 +93,16 @@
double timing_adjustment = 0;
bool seg_locked;
atsc::syminfo tag;
+ // ammount requested in forecast
+ unsigned long input_size = noutput_items * d_rx_clock_to_symbol_freq + 1500
-1;
memset (&tag, 0, sizeof (tag));
+ // ammount actually consumed
+ d_si = 0;
for (k = 0; k < noutput_items; k++){
- if (!d_interp.update (in, inputs0_size, &si, timing_adjustment,
&interp_sample)){
+ if (!d_interp.update (in, input_size, &d_si, timing_adjustment,
&interp_sample)){
fprintf (stderr, "GrAtscBitTimingLoop3: ran short on data...\n");
break;
}
@@ -113,6 +115,5 @@
}
- d_next_input += si; // update next_input so forecast can get us what we
need
return k;
}
Modified: gnuradio/trunk/gr-atsc/src/lib/atsc_bit_timing_loop.h
===================================================================
--- gnuradio/trunk/gr-atsc/src/lib/atsc_bit_timing_loop.h 2007-04-19
03:54:02 UTC (rev 5048)
+++ gnuradio/trunk/gr-atsc/src/lib/atsc_bit_timing_loop.h 2007-04-19
08:01:39 UTC (rev 5049)
@@ -76,11 +76,9 @@
atsci_interpolator d_interp;
unsigned long long d_next_input;
double d_rx_clock_to_symbol_freq;
+ int d_si;
- unsigned long long inputs0_index; // for inputs[0].index
- unsigned long inputs0_size; // for inputs[0].size
-
};
#endif /* INCLUDED_ATSC_BIT_TIMING_LOOP_H */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r5049 - gnuradio/trunk/gr-atsc/src/lib,
cswiger <=