muccc / gr-iridium

Iridium burst detector and demodulator.
360 stars 80 forks source link

ZMQ PUB format? #188

Closed jmfriedt closed 5 months ago

jmfriedt commented 5 months ago

As I am reading https://people.osmocom.org/laforge/OsmoDevCall/20220325-Iridium-Update-Public.pdf slide 27 and examples/zeromq-sub.conf, I'd like to collect data from a PlutoSDR (which does not seem supported otherwise) from GNU Radio and stream to a ZMQ PUB so that (if I understand well)

./apps/iridium-extractor -D 4 --multi-frame ./examples/zeromq-sub.conf | python3 -u ../iridium-toolkit/iridium-parser.py -o zmq

can fetch the IQ stream from ZMQ PUB and process. The GNU Radio flowchart I am using (for a Pluto+ actually, hence two inputs but only one is used for gr-iridium) is t2

However when doing so, I am told all samples have failed ("SDR is loosing samples"). I have checked with the GNU Radio 0MQ SUB that the communication is working well since the flowchart t1 is able to display the signal spectrum. Maybe the gr-iridium 0MQ SUB does not expect complex float32 but another sample format? Thanks.

jmfriedt commented 5 months ago

Just realized there is experimental/zmq-publisher.grc which answers the question of the data format (complex float32) but leads to the same

WARNING: your SDR seems to be losing samples. ~10000k samples lost (100%)
jmfriedt commented 5 months ago

The "pass_tags: Must be equal to the Pass Tags setting of the ZMQ PUB Sink block" statement is a core information: that was the erroneous part in my flowcharts. All working fine now that I set the tag to True in the flowgraph to match the sink configuration.