Best method to log KrakenSDR raw data efficiently?

Current setup:

  • KrakenSDRPi4 (Heimdall DAQ) → Ubuntu VM (GNU Radio) via Ethernet

  • TCP Source (port 5050) → Python embedded blockCSV logging

Processing details:

  • Input: 5 complex IQ channels + trigger signal

  • Phase calculations: 10 phase difference pairs:

  • Adjacent pairs: (0-1), (1-2), (2-3), (3-4), (4-0)

  • Cross pairs: (0-2), (1-3), (2-4), (3-0), (4-1)

  • Amplitude calculations: 5 channels converted to dB

  • Time-averaging: Circular mean for phases, arithmetic mean for amplitudes

  • Buffer management: Dynamic sizing, 100ms intervals

  • Output: CSV with timestamps, 10 phase pairs, 5 amplitudes, sample count

Questions:

  1. USB direct vs Ethernet - which is more stable for this setup?

  2. Best logging method for 2.4 MSPS without data loss?

  3. Alternative to GNU Radio for stable phase difference logging with time-averaging?

Any recommendations for efficient, stable logging?

If you have a fast PC that can run heimdall and GNU Radio together in the VM without drops, then that is the best situation for logging. Other than that, Ethernet works fine as long as its a gbps connection.

Apart from GNU Radio, we have this older test program we used before for logging IQ data.

However, some of the dependencies it needs may be old, so you might need to do some dependency management to get it running.