Combining the bandwidth of 2 RTL-SDR dongles in GRC

A while ago, I had the plan of taking 2++ RTL2832U SDR dongles to get a wider spectrum in a FFT-plot. Since I had no idea of gnuradio-companion then, I didn’t know how to do this. But thanks to my purchase of a HackRF One, I was forced to use GRC and found some very useful tutorials about SDR in general, with special attention to the HackRF One. You can find the lessons by Michael Ossmann here:

So, now that I knew a thing or two about gnuradio, I opened an empty flowgraph and this is the final outcome with 4.4 MHz of bandwidth:



I simply took two RTL-SDR dongles at their max. bandwidth of 2.4 MHz, resampled the signals to 4.8 MHz, then shifted the first signal down by 1MHz, the other one 1 MHz up, added them together, divided the combined signal by 2 to lower the noise floor again and finally feed it into a FFT plot.

At first, I tried shifting the signals by 1.2 MHz to get full 4.8 MHz , but I realized, that I had a notch in the center, so I reduced the frequency shift until I had no notch anymore.


Compared to the HackRF One at 4.8 MHz sampling rate:


Notice, that this isn’t any useful to decode or demodulate any signals, because of phase and clock misalignment, but it can be very handy, if you want to view a larger spectrum than 2.4 MHz and don’t want to spend money in a more expensive SDR, that can be used at higher sampling rates.

If you want to check out the flowgraph or edit it for even more RTL-SDRs, feel free to download it here:

4.4 MHz GRC flowgraph

4.8 MHz GRC flowgraph (with notch at center frequency)