A Software Defined Radio (SDR) is a radio where some or all of its physical layer functionality is implemented as software. The development of an SDR requires multi-disciplinary approach with many different engineers working together to develop and test the algorithms.
MathWorks encourages a one platform approach known as Model-Based Design for the development of an SDR. MathWorks tools and Opti-Num Solutions training and consulting provide the capability to design end-to-end SDR solutions.
Learn how BAE Systems achieved an 80% reduction in SDR development time with MathWorks tools.
The workflow is illustrated below (Figure 1) and discussed in this webinar. At a high-level it is composed of four stages:
Figure 1 Stages of the MathWorks SDR Workflow
Figure 2 End-to-end system design stage of SDR Workflow
The first step in the Model-Based Design approach is to simulate the entire communications chain in software providing the ability to inspect the entire signal chain and analyse performance and characteristics through simulation.
The entire system can be tested and verified before hardware is chosen (i.e. simulation is hardware independent). A complete, hardware independent, system design model proves the algorithm viability and performance before having to engage in massive capital expenses. The fully-fledged system design model can also be used to accurately infer hardware requirements.
MathWorks tools are needed for this stage of development and it is recommended that Opti-Num Solutions services of training and consulting are leveraged to speed up development.
Figure 3 3 Over the air verification stage of SDR Workflow
After you are satisfied with your simulated system and simulated data, you can swop out the RF transceiver model with the actual hardware. The SDR algorithm is still running in simulation, but with the hardware being used to transmit and receive packet data in order to verify your algorithms with real data.
This stage does not require any additional tools but rather support packages and these can be installed free from the internet. We also recommend our Technical Coaching service to help with best practices modelling and testing.
Figure 4 Prototyping stage of SDR Workflow
Now that the algorithms have been verified with real-world data you can generate code from your algorithms for hardware prototyping. The process of converting models into production code (either C or HDL) often consists of the following steps:
MathWorks has tools to support each step listed above and our consulting team can build a custom board reference design to test your design on the hardware of your choice.
Learn how Semtech Sped up Development of Digital Receiver and generated prototypes 50% than hand coding.
Figure 5 Production Implementation on Hardware stage of SDR Workflow
This stage can be considered as the production stage. The algorithms that where developed, deployed and tested can be used in a larger Platform Designer or Vivado project for final implementation and system testing. This stage of the workflow does not use MathWorks tools directly but the Model-Based Design workflow used to reach this step ensures that further hardware iterations are faster as code is generated from high level.
Figure 6 compares the time taken for hand coding SDR development and automatic code generation SDR development.
Figure 6 Comparison of typical hand coding versus code generation project timelines
The requirements and functional design phases are the same for both workflow but differences occur when detailed design is needed.
With a hand coding workflow detailed design of the full system is not often done to completion either because the system is modelled in a piecemeal fashion or because the tools are not available to test for algorithm functionality.With this workflow the code generation stage is started earlier as developers aim to get ahead of the project deadline but it is during this stage that more detailed design is done as pieces are brought together and bug are found in the code that could not be discovered in the detailed design phase.
The detailed design phase is longer in code generation workflow as the complete system is designed and tested in a modelling environment before code generation begins, this leads to an increase in detailed design time. The increase in time of detailed design stage provides the opportunity for algorithm optimisation and more in-depth functional testing and does not lengthen the project timeline because the full system has been designed and tested upfront. The automatic code generation capabilities enable thousands of lines of code to be created in a much shorter period this means that after the code verification step new code can be rapidly regenerated for the second hardware iteration.
The SDR workflow using Model-Based Design with MathWorks tools and Opti-Num Solutions services allows for the modelling, simulation and design of the full SDR signal path including RF, all communications and signal processing blocks and even high-level management before prototyping on hardware greatly. The optimisation of algorithms, design and testing, and reduction in hand coding time enables faster iterations. High fidelity code is ensured through continual end-to-end system testing. MathWorks SDR workflow and Opti-Num Solutions services can reduce SDR development time and enable you to get to market faster.