Today, I started to code my new SDR diversity recorder and receiver. This is something I have wanted for a long time.
So, last December, I bemoaned the fact that there was no dual channel baseband recorder available. My goal was to be able to record an hour of two-channel I/Q data, so I could experiment with diversity reception at a later time. This would be especially useful for Medium Wave DX.
Several software packages let you record and playback I/Q streams, but only a single channel. I want to record dual channel baseband data from my Afedri, RSPduo and Anan radios.
You can see my design above. First, I need a radio driver (purple) to produce two synchronized channels using my wideband loop array antenna. This will be followed by my input processor (blue) which does three things.
First, it provides a buffered data queue for later processing. Second, you see a File Recorder (green) which will save the two channels of baseband to disk. And third, my Diversity Controller (light blue) will let me combine the channels to manipulate amplitude and phase.
A separate File Player will let me play back the to channels previously recorded, instead of the Radio Driver.
SDR Diversity Recorder is a Front End
Finally, my SDR core receiver will use DSP to filter and demodulate the signals. It will operate as a single channel receiver, with the diversity achieved in the front end.
How hard will this be to achieve? My main challenge will be writing a Radio Driver for each of my Afedri, RSPduo and Anan receivers. I have not done this before. Fortunately, there is good API documentation, especially for the RSPduo.
The res of my new SDR diversity recorder will work with any of the receivers, as long as I standardize my approaches and interfaces.
I had so much fun writing my Morse Decoder, this project seems like a natural next step.
Cutting edge, for sure, John. Diversity reception, especially after the fact with IQ recordings, has been the holy grail for quite some time. I look forward to following your progress. Now, could you do the same thing with a couple of Perseus receivers, or a Perseus and a RSPdx, for example?
Unfortunately, you need two receivers or channels that are coherently synchronized i.e. same clocks and adc rates. Hard to do with two standalone receivers!
As I understood, John. I wonder whether the new Perseus 22 (or whatever it’s called), would fit the bill, but at a pretty hefty pricetag?!