discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] multiplexing multiple file sources without losing


From: Lundberg, Daniel
Subject: Re: [Discuss-gnuradio] multiplexing multiple file sources without losing synchronization to file start
Date: Mon, 20 May 2019 15:14:23 +0000

As a quick update before anyone gets spun up on this, I’ve traced the root of this problem to the “Advanced File Source” Block in the gr-filerepeater module.  When I swapped in the default file source, the alignment issues went away.  I have e-mailed the author of those blocks directly about the issue.

 

-DL

From: Lundberg, Daniel
Sent: Friday, May 17, 2019 4:53 PM
To: address@hidden
Subject: multiplexing multiple file sources without losing synchronization to file start

 

I am trying to multiplex a number of signal sources where alignment to the start of each signal source is important.  These need to be a mix of static file sources with real-time diagnostic data interleaved, i.e., what I want to achieve is:

Signal 1,

Short chunk of diagnostic information

Signal 2

Short chunk of diagnostic information

Signal 3

Short chunk of diagnostic information

…(repeat)…

 

If I connect 3 repeating file sources, interleaved with the diagnostic data source to a stream mux block with 6 inputs and correctly set the lengths of those files/diagnostic data in the stream mux lengths field, they do cycle in the correct order, but the random dead time at the start of the flowgraph is consumed by the first input on the mux block, resulting in a permanent offset.  So I end up with:

 

Garbage + Most of Signal 1

Short chunk of diagnostic information

Rest of Signal 1 + Most of Signal 2

Short chunk of diagnostic information

Rest of Signal 2 + Most of Signal 3

Short chunk of diagnostic information

Rest of Signal 3 + Most of Signal 1

Short chunk of diagnostic information

Rest of Signal 1 + Most of Signal 2

Short chunk of diagnostic information

Rest of Signal 2 + Most of Signal 3

Short chunk of diagnostic information

Rest of Signal 3 + Most of Signal 1

…(repeat)

 

I have a couple of ideas on how to approach this problem, but I could use feedback on how hare-brained they are.

1)       This seems like the sort of thing that might be possible to address via stream tags, but I haven’t really wrapped my head around those completely.  What I really want is something like using the tagged stream mux block in a way that doesn’t start the first mux counter until a tag associated with the start of the first file shows up, i.e., I want it to ignore the garbage data present at the start of the flow graph.  This would also let the system periodically recover if it drops some samples and needs to resynch.

2)      A brute force switch that just lets the garbage data pass through the system for some period of time (1-2 seconds), then switches to the start of the first file source and continues on its merry way.

 

Thoughts?

Thank you,

 

Dan

 


reply via email to

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