One of the most common requests I get via my consultancy is about the RFSoC and how its capabilities can be leveraged. If you haven’t used the device before, its capabilities can appear a little daunting, especially when it comes to the configuration of the RF ADC / DAC and associated circuitry.
I’ve said several times that I’m a big fan of the PYNQ framework for rapid prototyping and accelerating production designs. Indeed, we have even previously touched on the PYNQ overlays available by the University of Strathclyde.
However, recently I noticed a post in the PYNQ.io community about the new RFSoC Studio from the University of Strathclyde. Designed to work with both the ZCU111RFSoC Evaluation board and the RFSoC2x2, the RFSoC Studio provides a range of applications and Software Defined Radio (SDR) demonstrations.
The applications include Spectrum Analyser and Frequency Planner which allow developers to understand the surrounding RF spectrum, along with how to configure the RFSoC system to ensure that the signal band is not impacted by any spurious bands that arise from harmonics, phase locked loops, and ADC / DAC interleaving.
The SDR demonstrations include the OFDM / QPSK and BPSK demonstrations, along with an automatic gain control example. Notably, each of the demonstration notebooks contain details on the implementation of the hardware design.
Getting started with the RFSoC Studio is remarkably simple. It is best to start off the installation on a fresh PYNQ 2v6 image. Once the fresh PYNQ image has been copied onto a SD card and booted, we can get started installing the RFSoC Studio.
To install the RFSoC Studio, we need to leverage the Jupyter labs environment which can be access by navigating to <IP Address>:9090/labs.
Once in the lab environment, we can install the RFSoC Studio by launching a terminal window and following the instructions on the Strathclyde RFSoC Studio page.
Compared to the RFSoC2x2, the ZCU111 has a few additional steps to patch the RF data convertor and clock packages. I also installed Voila for my ZCU111.
Once the RFSoC Studio is installed, you can connect the XM500 board to the ZCU111 and loop back four of the DAC channels to the ADC channels and experiment with the spectrum analyzer.
We can change the output tone frequency and amplitude using the dashboard along with modifying the spectrum analyser settings such as windowing, decimation, FFT size etc. This makes the spectrum analyser application really useful especially if you are able to purchase and use the RFSoC2x2 which provides a very cost-effective instrument when combined with the RFSoC Studio.
Of course, we don’t only have to use the spectrum analyser for loop back from ADC to DAC. We can also inject real world signals from the equipment that we wish to integrate the RFSoC device
Looking at the SDR applications, the OFDM application demonstrates how up to 1024-QAM can be implemented in the RFSoC.
Along with the applications and demonstrations, what makes the RFSoC even nicer is there is a range of DSP fundamental notebooks which introduce the basics of modulation, filtering, sampling, and quantization, and even RF machine learning.
All told, the RFSoC Studio is a great place to get started if you are thinking about starting an RFSoC in your solution.