discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] multi-channel N210 over-run problem


From: Josh Blum
Subject: Re: [Discuss-gnuradio] multi-channel N210 over-run problem
Date: Mon, 23 Jan 2012 14:44:16 -0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:8.0) Gecko/20111124 Thunderbird/8.0


On 01/23/2012 10:02 AM, Khalid Jamil wrote:
> 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?
> 

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




reply via email to

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