For many software defined radio waveform needs, a high end processor is more than adequate in terms of processing power and the ability to handle real-time requirements. However, as demands grow beyond applications such as SISO (Single Input, Single Output) and head towards the need to support MIMO and/or wideband waveforms, one can rapidly hit the limit of a CPU’s ability to deliver results in real-time.
Goals for co-targeting PC-FPGA for wideband & MIMO SDR applications
When this situation arises, developers may look to offload some of the processing requirements on to an FPGA. The ideal solution, which aims to help optimize the developers time by allowing them to focus on value-add aspects, would be to develop and deploy the SDR waveform in an environment that allows for:
- Rapid, easy development on the CPU
- Access to a model-based design environment for the FPGA
- Reuse of existing resources such as IP cores
- Automatic code generation
All of these needs can be easily met by developers who choose to implement their waveforms using:
- GNU Radio for CPU development
- Xilinx System Generator to target FPGA development
- A hardware platform supplying a model-based design environment for interfaces, I/O block libraries etc.
A complete model-based design SDR solution
GNU Radio allows for model-based waveform development targeting the CPU
For many who develop radio waveforms on a CPU, GNU Radio has become a de facto solution. With its global, open source community and a large repository of core signal processing blocks, GNU Radio presents developers with a highly useful way to accelerate their waveform development on the CPU using a model-based design approach. The figure below shows an sample screenshot taken from the GNU Radio Companion environment.
Model-based FPGA development using Xilinx System Generator for DSP
So, once your waveform development requirements become demanding enough to require more than just a CPU, you might be looking at offloading a good portion of the deployment (eg. PHY layer) onto an FPGA. The problem faced by many waveform developers, however, is a lack of deep knowledge in how to program the FPGA using HDL code.
This problem can be solved, in a way that is analogous to using GNU Radio to program the CPU, by using Xilinx System Generator for DSP in the MATLAB Simulink environment. The image below shows a sample screenshot, where the white blocks are from Simulink, and the blue blocks are from Xilinx System Generator.
Linking model-based design to the hardware platform
Once you have developed your radio waveform using model-based design, i.e. GNU Radio for the CPU and Simulink with System Generator for the FPGA, you are still left with the challenge of deploying the waveform on actual hardware. This work is non-trivial, as you must account for the various interfaces, I/O block libraries etc.
In keeping with the accelerated model-based design approach taken in the software domain, Nutaq has developed a software defined radio platform solution that fully extends the model-based approach using our Model-Based Design Kit (MBDK). The result is that your modeling, simulation, compilation and deployment can all be done in a single environment, on a platform such as our PicoSDR or μSDR420.
Read more here: To read about this in greater detail, you can download our free whitepaper “Accelerating Advanced MIMO Wireless Waveform Deployment Using GNU Radio”