ESP32-SDR: Turbo Mode Throughput Improvement + Real I/Q Output

Thank you to Zoltan Doczi for writing in and sharing with us an article he's written explaining how he managed to speed up the ESP32-SDR's sampling time by 50x. The ESP32 has recently been discovered to have undocumented features that let it be used as an SDR. However, ESP32s have very limited USB bandwidth, so the full 80 MS/s I/Q sample rate cannot be sent to a PC, and hence only the spectrum data can be sent to a browser-based UI in bursts with gaps in between.

Previously, the gap was ~42 ms between bursts. However, Zoltan's investigation managed to yield a 50x speedup. The core idea was to implement a data buffer ring across three SRAM banks, so the dump engine never has to stop.

The result is a gapless spectrum output that can rival spectrum analyzers worth thousands of dollars. Zoltan's article explains how the implementation works and provides multiple characterization measurements made with a Signal Hound VSG60 signal generator. 

ESP32 Turbo Mode outputting 80 MS/s / 256 bins, filter wide open: 1295 spectra/s, gapless on chip.
ESP32 Turbo Mode outputting 80 MS/s / 256 bins, filter wide open: 1295 spectra/s, gapless on chip.

Zoltan's work on the SRAM buffer bank also enabled a real I/Q output, albeit limited to a maximum bandwidth of 250 ksps, which we are now starting to see in some ESP32-SDR projects.

To receive the 250ksps limited I/Q data stream on a PC with SDR++, Zoltan created sdrpp-esp-sdr-source, an SDR++ source module that lets an ESP32 act as a real SDR. And then by using a moRFeus signal generator as an upconverter with LO set at 2259.1 MHz, a 90.9 MHz broadcast FM station is mixed up to 2350 MHz. Zoltan was then able to receive the broadcast FM signal with the ESP32-SDR in SDR++.

The module can also stream the full 80 MHz spectrum to SDR++, but this is spectrum data only - no I/Q, so nothing can be demodulated.

The ESP32-S3 Wi-Fi radio is now listening to the FM broadcast band!

ESP32 Showing the Full BCFM Band Spectrum (Spectrum Only - No IQ Data, No Demod Possible)
ESP32 Showing the Full BCFM Band Spectrum (Spectrum Only - No IQ Data, No Demod Possible)

 

Subscribe
Notify of
guest

0 Comments