Skip to content

Synchronous Sample Streaming

Radio Resilience requested to merge synchronous into master

This merge request updates the Simulator to use a synchronous sample streaming architecture. Rather than containers running in real-time and being subject to hardware, process scheduling, and networking latency, sample offsets are counted and kept aligned by custom I/O logic. This is abstracted into new source and sink blocks that otherwise should work just like the original ZMQ sources and sinks.

Change notes:

  • The ZMQ IQ sources and sinks on the blue1 and blue2 flowgraphs need to be replaced with 'Muxer IQ Sink' and 'Muxer IQ Source', using the existing host and port.

  • IQ going into the 'Muxer IQ Sink' can optionally include a 'tx_eob' tag, which defines the sample after which the muxer to no longer expect contiguous IQ from this source. The expectation of contiguous IQ is reinstated the next time that source sends IQ. This enables bursty transmission. Please reference the liquid TX block for an example of how to implement bursty transmission via burst tagging.

  • The scheduler is now synchronous, with maximum rate provided by a throttle block in the muxer flowgraph.

  • Match timing is now synchronous with the muxer clock.

This merge request should address all issues reported in #2 (closed) and !1 (closed). Competitors will receive an email with these details momentarily!

Merge request reports