Antenna to Bits: Modeling the Full Transceiver Chain
Overview
In this webinar, you will learn about the features and capabilities in MATLAB and Simulink for the design and modeling of its full transceiver chain, from antenna to bits, of a Radar or wireless communications system. Through multiple examples, we will demonstrate the advantages of multi-domain system modeling and simulation capability.
Highlights
Highlights include:
- End-to-end transceiver chain development workflow
- Design methods and tools for antenna elements and arrays
- Baseband components for receiving algorithm development and optimization
- RF front end design and architectural exploration
About the Presenter
Ying Chen is a Senior Application Engineer in the discipline of radar design, signal processing, and wireless communications. Ying has experience in both academic and industrial research institutions related to satellite communications and radar signal processing. Her research interests include RF front-end distortions, signal processing, and software-defined radio. Besides her research work, Ying has also worked on various industrial prototyping and field-tested projects including satellite communication systems, passive and active radar systems
Recorded: 8 Nov 2022
Good morning, everyone. Welcome to this Antenna to Bits, Modeling the Full Transceiver Chain webinar. My name is Ying Cheng. I'm an application engineer with MathWorks.
These are the topics we're going to cover today. First, let's have a look at why we want to do a multidomain simulation. What are the benefits and what does this simulation look like? Then we'll dive into the details of the tools for this simulation. After that, I will quickly touch on real-world testing, and then we will wrap up and have some Q&A time.
When we design a complex wireless system such as Radar/Comm OEW system, there are many challenging tasks we need to finish. One of the initial questions system engineers need to answer is how to distribute the power or gain budget across the system to different subsystems. For example, antenna RF, ADC/DAC, and digital signal processing.
Very often, there are scenarios we need to handle, such as we have a system with ultra-wideband, or we have a really high carrier frequency that will require us to shift this design budgets among subsystems. In the project I worked on, we have to adjust our signal processing algorithms so many times to accommodate requirements introduced by the imperfection of the front.
This leads to the second challenge. We need to defund the operating requirements for each subsystem and determine what issue can be handled by a single subsystem and what needs to be dealt in conjunction with other subsystems, such as digital compensation for RF distortions. To handle both of these challenges, we would really like to observe the impact of one of the subsystems on the other subsystems and on the performance of our whole system. An optimal design can only be achieved when all parts of the system are created together and simulated together.
However, with traditional workflow and tools, this is often difficult to do. There are excellent antenna design tools, or RF design and simulation tools. But what about interactions between those tools, and between them and the digital signal processing part? Here, I will show you a multidomain simulation platform you can use to simulate your system as a whole.
Let's start by showing what the multidomain simulation looks like. This is a shaped demo for multiple input and multiple output receivers. It includes models for the antenna array, RF, and digital signal processing algorithms. This model can be used to evaluate the effectiveness of beamforming for customized array.
So in this model, we start with a APSK transmit signal from the transmitter. Then in the channel, we end in a out of band interference and 2.5 megahertz. The signal is occupying from minus 1 megahertz to 1 megahertz.
And currently, both interference and signal coming from 120 degrees azimuth angle. And because it's out-of-band interference, we can handle it with a filter and we can recover the constellation and the receiver. Now let's change this interference to be in band at 0.5 megahertz. We can use any start simulation by clicking the Run button here, and we can say the interference now is in-band, and the constellation we could not actually tell that's APSK.
To utilize beamforming, now we move the interference to 90 degree azimuth angle, which is on both sides. The consequence is the interferences jump up and the-- before beamforming. But after beamforming, it can actually remove the interference from the received signal. We can see after signal convergence, we actually have a pretty clear APSK cancellation there.
Let's have a look at the details of the system. Now in this narrowband receiver array block and the sensor array tab, we can see we have element type as Customer Antenna. And magnitude pattern is given by a variable from the workspace called P_antenna. So these are things we designed with our tools to suit your requirements.
Now in the RF receiver block, we have a green block there to-- this is the S-parameters of the antenna array, which represents the coupling effect of multiple antennas. And in the blue ones are the RF chain, and we can click on the first one, which is a filter. It's built from S-parameters from a file. We can click Plot to plot the frequency response of this filter. It's a bandpass filter center and 5 gigahertz.
Besides filters on this RF chain, we also have RNAs. We can double click to see the parameters for the RNAs. There is nonlinearity defined. And we can show the nonlinearity in the graph, which is pretty handy. And the yellow blocks here are the Adidas ADC/DACs.
Besides these RF components and antenna components, we also have this beamforming block there, which include a lot of signal processing algorithms. These are algorithms just from our library. There are many algorithms here in the laboratory to help you.
Now use this one model will include all the subsystems required for evaluation. It helps us to try the effectiveness of beamforming using the antennas we designed. So we can explore the options and balance complexity, performance, power consumption, and cost.
How do we build something like this, though? Now before I go into the detail of how to build this multidomain simulation, here are some key takeaways. We can build a multidomain simulation for all the subsystems, as we've shown. This will enable you to explore design options across different domains to reduce the risk, as well as achieve better performance, or finding a cheaper solution. You can significantly reduce development time by using automatic code-generation.
Well, one thing we emphasize is continuous testing verification based on the model. Since we have everything in one model, you can test in component level or system level easily using this model. And that will help you save time and money by funding you design issue or error earlier.
We have used an example to show that MATLAB Simulink is a powerful platform for communication system development. Now let's have a closer look at some of the tools and capabilities included in the previous example. We will start with the antenna modeling. We can build an antenna from the Antenna Designer app. This is app in the MATLAB.
In this app, we can choose from a lot of inbuilt models in the library, or you can build your design using customized geometry. In this app, you can check the results by viewing radiation patterns, 3D or 2D, and all the parameters of this antenna can be found here. These radiation patterns can be used in your simulation model as was shown in the demo.
Antenna Toolbox uses the measure of moments as an electronic magnetic field solver to design and analyze physical antenna elements and arrays. You can add backings to your antenna and you can lay down matches for your arrays. This toolbox also provides utilities to view and analyze third party antenna data.
So you can bring your customer antenna designed in another software into Antenna Designer. Then you can integrate it to your models and you can analyze it in MATLAB. Besides designing and analyzing antennas, the Antenna Toolbox also include rich RF propagation channel models for RF propagation visualization and analysis. These tools are very useful for scenario simulation.
Now here are some examples shipped with the Antenna Toolbox. We have examples to optimize antenna performance, we import measured antenna data modeling customer antenna structure, and modeling the effects of antenna on larger platforms. So if you're interested, please have a look at all these different examples.
If we want to use an antenna array, as shown in the demo, we will need to put all these antennas close together. The field will begin to interact with one another, which will affect their radiation pattern. So we need to export the antenna characteristics from our Antenna Designer app into the Sensor Array Analyzer to observe the effect on array performance. So this is another app in MATLAB. We can save the parameters and use them in our simulation model.
Similar to the Antenna Toolbox, we have many shaped examples that cover a variety of phase array applications, such as radar communication, UW sonar. And we also have examples on how to handle interference and how to interface with hardware. This toolbox also includes many useful utilities, such as how to set up and visualize a scenario. There are many things our users can explore with this tool.
Let's move on to RF. As we have seen in that example we shown at the beginning, including RF modeling helps accurately simulate and predict system performance. Well, some baseband systems may cause particular challenges for the RF system, such as if you have a OFDM system, it may be challenging for the power amplifier due to the high peak to average power ratio.
For this system, we may need a detailed power amplifier model. Also, signal processing algorithms can only be made effective and robust when various RF impairments are taken into account. Otherwise, multiple iterations may be required to get the system actually working.
One unique challenge of RF simulation is that modeling fidelity has an impact on simulation speed. If I choose to run everything in the highest frequency the system will see, the simulation may take a long time to run. On the other end, if we try to run everything just an equivalent baseband, we might note the harmonics that are not within the bandwidth.
To enable fast and accurate RF system simulation, RF Blockset provides Circuit Envelope. You can see Circuit Envelope as a generalization of equivalent baseband where you can effectively simulate a signal with sparse spectral occupation using multiple frequencies. RF Blockset is a unique system-level simulator as it allows you to choose which simulation technique to use and it operates on behavioral model rather than transistor-level implementation.
Now because of this, to Best suit your needs, the choice of RF simulation model is important. We have a training module for RF simulation that will help you to build your RF projects more effectively. More on this on the last slides.
RF design and modeling are complex. We can start by laying out a basic architecture in RF Budget Analyzer app. Yes, that's another app in MATLAB. There are inbuilt reference transmitter and receiver models you can base your design on, or you can build your own using component blocks such as filters, amplifiers, and up-down converters.
You can't define parameters such as gain, noise figure, three dB compression points for these components. They can be either designed parameters or from manufacturer data sheets. You can also use S-parameters to define your components.
Once you are satisfied with the RF Budget analysis in the app, you can explore the system to a RF Blockset system, such as a RF receiver, and that through physical layer Simulink model as all we have done for the demo system. You can also automatically generate test bench. Well, this testbench can perform many tests on your RF design such as total tests or frequency sweeping.
Putting all this together, we can get this simulation model as shown in the demo. Here are eight receiver RF chains. Since last year, we introduced a system object called rfsystem that enables you to perform Circuit Envelope simulation of RF system designed using the RF Budget Analyzer app in MATLAB environment. If you are more familiar with MATLAB, this is a good way to get started.
To learn more about RF modeling, we have extensive amount of help documents, and we also have many examples. Now we have Passband Simulation, Circuit Envelopes Fundamentals to help you get started. And we also have Measurements and Testbench building and how to create your own custom RF blocks.
Let's move on to the digital signal processing part. One of the first tasks we need to perform when we're going to perform digital signal processing is that we need to determine what signal we want to transmit or we want to receive. For this, we can use the Wireless Waveform Generator app to quickly generate different waveforms to try. We also have a lot of baseband function blocks in the library to help you build your transceiver model. For example, interleaving coding scheme decoders, and modulations.
There are many channel models. Besides AWGN channels, we also cover really regane feeding profiles. Atmospheric impairments and the multiple Doppler spectrum shifts are also available. Well, in addition to those RF tools we just mentioned, we also have baseband equivalent RF impairments here in the baseband library you can use to do a quick analysis of your system.
The Wireless Waveform Generator app can help you quickly generate transmit signals. Depending on the configuration of your tools, there are standard compliant signals such as 5G, LTE, Wi-Fi. They are available. And you can also export the generation of waveform to a MATLAB script, or you can export the generated data to file so that you can perform bench testing later on. Don't need to use this app every time.
Another use case we support is end-to-end link level simulation. When you are designing wireless systems, you need to categorize the performance of a link by modeling transmitter, channel model, and receiver operations altogether. Now this will enable you to make sure that the device you build matches the performance metrics they are designed for. We provide many examples for link-level simulations, including various satellite communication standards, such as DVB-S2X, as well as several networks like 5G, or LTE and Wi-Fi signals.
One of the examples we've shown here is the complete DVB-S2 and S2X Waveform Generator. They include all the modulations encoding schemes, including PSK and APSK techniques. They also include all specified filter raw of factors. One of the important additions of DVB-S2X over DVB-S2 is the ability to operate at very low SNRs.
The S2X Waveform Generator includes the unique frame format applicable to that very low SNR mode. So you see we actually include frame formats in our data generation as well. As mentioned, if you choose to follow a standard or use the standard as a basis for your design, there are many shaped examples providing standards-based reference designs.
And last thing I would like to mention is AI and wireless. The application of AI to wireless systems has been a significant trend in the last few years. We have many examples on how to use AI in wireless systems that allow you to simulate your AI model together with the transceiver.
For example, we have neural network for beamforming beam selections, we have neural network for digital distortions, we have spectrum sensing with deep learnings, and we also have modulation classification by using FPGAs. So this is actually implement the algorithm onto a FPGA. Now this brings us to our last topic, testing.
One key component of this multi-domain simulation is that when we enable you to do testing and verification on component-level or system-level throughout your design, because you can just run simulations and observe the signal in this model. Design and simulate your system in MATLAB Simulink will help you to verify your design in those steps.
We showed how we can integrate the RF antenna and the baseband subsystems in Simulink. As we just mentioned, a multidomain simulation like this can help us optimize our design and continuously perform component-level or system-level testing to de-risk the system. All the information about our design and the testing we have set up for them can all be captured in this model.
Now this is pretty useful model. Do we stop there? Can we go further with this model? Well, the answer is, yes. As shown in this red square there, this model can also be used in prototyping and implementation, as well as over-the-air testing.
Now implementation can be done by automatic code generation. The code can be easily tested using those existing testing environments. As we've mentioned before, testing and verification is carried out throughout the project, so you can convert some blocks to code and test it in your model, and then convert some more. Or you can convert the whole thing into code and test it using, for example, FPGA in the loop testing. Your model can also directly talk to our testing instruments, as well as software-defined radios to support rapid prototyping.
Over-the-air testing is the starting point for many implementation work. Our model can enable you to send and capture over the air data by directly connecting to many RF instruments. For example, signal generators or spectrum analyzers. And then we can connect directly to many software-defined radio platforms. For example, the USRPs, or the router platform from another device, or various platforms from Xilinx.
You can process the captured data in the model with your algorithm to do signal processing and to see the impact of RF imperfections. You can also automatically generate C and HDR code for GPUs and FPGAs from the model. Now what are the benefits?
The first advantage of code generation is that you can explore that these possibilities in the simulation model to optimize your design. For example, you can explore the fixed point representations to find the optimal bitwidth for your algorithm for some critical signals. Now, the generated code is also human readable, so you have further optimized the code.
The generated code is also platform-independent and of production quality. There are many tools you can use to help you perform testing. You can easily reuse the test you already defined in the model by using tools such as automatic test bench generation, code simulation, and hardware in the loop testing.
Last but not least, code generation accelerates your design operations. You can make changes to the design and easily resimulate or just change the optimization target, and then regenerate error-free code. So you can explore more design options. We will see how our customers benefit from this advantages later.
Now here is a customer story. Semtech is a customer developing a digital receiver chain for wireless RF device. The challenge they are facing is that they want to evaluate multiple design ideas for performance, power consumption, and layout areas during the prestudy phase of the project. Now building something in hardware for each of those design alternatives would have been time consuming and also limiting the number of alternatives that teams could consider.
The rapid design iteration benefit we just talked about helped our customer to explore more design options. So the solution is they model the entire system and run tests in Simulink. Then they use HDR coder to generate the HDR code for the signal processing part. As a result, prototypes are created 50% faster compared to handwritten code. Verification time is significantly reduced. Our tools enabled our customer to shorten development time from requirement to tap out by about 33%.
Well, that brings us to the summary. Here are some key takeaways. MATLAB Simulink as an environment can help you to build a simulation for all the communication subsystems. The model will enable you to explore design options across different domains to reduce the risk, as well as achieve better performance or finding a cheaper solution. You can significantly reduce the development time by use automatic code generation.
The ease of production level code generation also helps you design to be agile, and easy to update and keep track of. Continuous testing and verification will help you to find your design issues or errors earlier. The earlier you find the bark, usually the lower the cost to fix it. So you can save money and project time.
So how can you get started? Here are a few suggestions. To ramp up your skill in using the tools, we have training courses and free online on ramps. Those on ramps are self-paced and you can just finish it whenever you want because it's completely online.
There are more resources on our website. You can get step-by-step how-to guides through our white papers, our event videos, or our shipped examples. For specific help with regards to your development workflow, please use our consultant service to leverage their expertise in the domain. Thank you for your time. Let's move on to Q&A.