Possible to synchronize two input streams?

Hi all,

What I need is the output of GNU Radio’s FIR filter (gr.fir_filter_ccc)
to be synchronized with the raw samples from the USRP into the input of
a new block.

Like this, where the input to the new block ensures that input[0][N] is
related to input[1][N] … such that input[M][N] is always valid for
both input streams:
http://skrbl.com/72178738

Then, the output streams need to be synchronized also… but I can
ensure this in work() as long as my input streams are synchronized.

I re-went through the how to write a block guide, and I’m still a little
iffy on whether or not this is possible. Forecast() specifies the
relationship between input and output of the streams, but I’m wondering
if it can force the block to wait for an equal number of input items on
both streams?

I’d greatly appreciate any feedback.

Thanks!
George

On Tue, Apr 15, 2008 at 10:55:02AM -0400, George N. wrote:

Thanks!
George

They’ll be synchronized. There’s nothing special that you need to do
assuming that “new block” derives from gr_sync_{block,interpolator,
decimator}

However, because of the group delay in the FIR, there’ll be a constant
offset between the two streams. The easiest way to fix that is to use
gr.delay in the path that is currently straight through.

Eric

Eric B. wrote:

They’ll be synchronized. There’s nothing special that you need to do
assuming that “new block” derives from gr_sync_{block,interpolator,
decimator}

Excellent.

However, because of the group delay in the FIR, there’ll be a constant
offset between the two streams. The easiest way to fix that is to use
gr.delay in the path that is currently straight through.

Right, this is what I wasn’t sure if it would be automatically corrected
for such that input[0][N] would be related to input[1][N]… but as you
stated, it’s input[0][N] is related to input[1][N+delta].

I’m assuming this delay is the delay the history of the FIR filter,
which is the length of the coefficients. If it’s not, let me know…
otherwise I shall continue on!

Thanks!
George