How to make an IQ recording with a wide bandwidth
Hello everyone,
when using "classic" SDRs like those by ELAD, Perseus etc., I am able to record a wide bandwidth, e.g. the full medium-wave broadcast band as an IQ file. This is great for later playback and decoding signals just as if you'd receive them live - but with the possibility to rewind, pause, try different modes and especially try other stations on frequencies nearby in the band.
Using the Kiwi web interface, the only possibility I see is to record an IQ file with a very few khz bandwidth. The same applies when using the KiwiSDR-plugin in SDRAngel.
Is there / will there be any chance to record a file that covers a wider range like it is possible with standard SDRs?
Hope to hear from you!
when using "classic" SDRs like those by ELAD, Perseus etc., I am able to record a wide bandwidth, e.g. the full medium-wave broadcast band as an IQ file. This is great for later playback and decoding signals just as if you'd receive them live - but with the possibility to rewind, pause, try different modes and especially try other stations on frequencies nearby in the band.
Using the Kiwi web interface, the only possibility I see is to record an IQ file with a very few khz bandwidth. The same applies when using the KiwiSDR-plugin in SDRAngel.
Is there / will there be any chance to record a file that covers a wider range like it is possible with standard SDRs?
Hope to hear from you!
Comments
By design, the Kiwi is not like all the dozens of other "wide-band IQ/USB generator" SDRs that exist. The emphasis is on self contained, multi-channel, Internet enabled, ease-of-administration operation.
Towards that goal there are currently 4 different FPGA (firmware) configuration mixes of audio (rx) and waterfall (wf) channels (the audio and waterfall are independently tunable although a lot of people don't realize this). Let's just consider audio. The required SPI bandwidth for rx8 (12 kHz) is:
12000(bw) * 24(bits) * 2(IQ) * 8(channels) = 4.6 Mbits/s
The Kiwi ADC is 14-bits, but after decimation the path widens to 24-bits to get sufficient dynamic range (and as a result of processing gain)
The SPI link between Kiwi board and Beagle normally runs at 48 Mbits/s. But of course not all of that is useable due to overhead, real-time issues etc.
Now, could you implement a single channel mode that just maximized the audio channel IQ bandwidth at the expense of everything else? (e.g. no waterfall, web interface etc.)
As Bjarne calculates, MW would be roughly:
(1700 kHz - 500 kHz) * 24 * 2 * 1(channel) = 57.6 Mbits/s
So that isn't going to happen. Even if the SPI were fast enough there might be other processing bottlenecks on the Beagle at that speed.
The Kiwi board does have signal lines to the Beagle for an (as yet) un-implemented, software-defined parallel port that might be of interest. But I doubt that this kind of extensive work will ever get done (at least by me). It's far easier to just go buy an HF+ Discovery and be done with it if that's the kind of architecture you're interested in. The Kiwi can't be all things to all people. Especially not at its current price point. I think it does pretty well for what it is.
p.s. See Christoph's blog for an example of combining multiple Kiwi channels with post-processing of kiwirecorder files using GNURadio:
https://hcab14.blogspot.com/2019/01/kiwisdr-iq-data-streams-with-2025-khz.html
https://hcab14.blogspot.com/2019/01/kiwisdr-iq-data-streams-with-2025-khz_29.html