Multi-channel N210 over-run problem

I have eight-channel synchronized N210 system on ubuntu 11.04 with
i7+8GB
computer. I have updated system with latest versions of gnuradio and uhd
software.

My flowgraph is an eight-channel multi-usrp source connected to eight
data
file sinks. I am receiving 200KSa/s from each channel to a RAM-drive
(ramFS). The data acquisition is performed in multiple sessions
controlled
with start() and stop() flowgraph methods.

First recording is OK, there are no overruns. On each subsequent
session,
there is one or two packet overrun randomly on some channels. This is
verified by difference in file size of recorded files. This is causing
the
data to loose synchronization. How can we correct this situation?

Any ideas here!!!

Thanks,

On 01/23/2012 10:02 AM, Khalid J. wrote:

there is one or two packet overrun randomly on some channels. This is
verified by difference in file size of recorded files. This is causing the
data to loose synchronization. How can we correct this situation?

If you do have an overflow on one channel, this lost packet will be
dropped on all other channels; therefore synchronization is maintained.
So, I dont think an overflow can be the cause of a synchronization
problem.

I am making an assumption that you have one file sink on each output
stream of the usrp source block. It is not possible for one channel of
the source block to output more samples than the others. However,
between your start and stop calls, it is possible for different numbers
of samples to be written to each file. After all, there is no guarantee
of the state of each file sink when you call stop().

If you are relying on the same number of samples to be written to disk
when stop() is called, perhaps this is the cause of your issue? I can
think of 2 possible solutions:

  1. Use a streams to vector source and 1 file sink. This would give a
    vector representation, so the samples always remain aligned across
    channels.

  2. Use a gr.head block before each file sink. And call tb.run() to run
    the flowgraph to completion. You will have to reset the head blocks
    before each subsequent run.

-josh