Communications in Space with MATLAB
Overview
In this webinar, we provide an overview of MathWorks’ end-to-end, antenna-to-bits solution for Satellite Communications, introduce new standard-based functionality in MATLAB for modeling, simulation, implementation and testing of satellite communications systems. You can visualize and model satellite orbits and perform link budget analysis and access calculations. Together with Model-Based Design principle, you can prototype and test transceivers on popular SDR hardware as well as implement your system on embedded systems such as GPUs and FPGAs.
Highlights
Through case studies and examples, you will learn how to:
- Use MATLAB to perform simulations for space scenarios:
- Analyse line-of-sight access and compute link closures from satellites to ground stations or between satellites.
- Simulate multi-hop communications links between two ground stations.
- Analyse, design, and visualise link budgets for satellite communications.
- Design communication systems for space applications:
- Analyse uplinks, downlinks, and crosslinks. Calculate link margins and availability.
- Generate and demodulate DVB-S2, DVB-S2X, CCSDS, and GPS waveforms while including effects of RF front-end impairments and corrections.
- Use propagation loss models and land mobile satellite (LMS) channels for link-level simulations.
- Implement your system on embedded hardware and ground station on the cloud.
About the Presenters
Ying Chen, MathWorks
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.
Satish Thokala, Industry Marketing Manager, MathWorks
Satish Thokala is Aerospace and Defense Industry manager at MathWorks. He has ~19 years of experience in teaching, public and private aerospace establishments including Hindustan Aeronautics Limited and Rockwell Collins. In his current role, he is responsible to analyze technology adoption in the Aerodef industry, and develop strategies to increase the adoption of Model-Based Design with MATLAB® and Simulink®. His area of expertise is Avionics systems for both military and civil aircrafts. Early in his career, Satish contributed to the design and development of communication radios and field trials of the same for Jaguar and MIG fighters. He led large engineering groups developing software for cockpit displays, engine control and participated in the DO-178 certification audits.
Recorded: 6 Apr 2022
Thank you, Ian, for the intro. Hello, everyone. I'm Satish Thokala. For the next few minutes, I'm going to talk about challenges in the satcom design and MathWorks solutions could help you accelerate your design. Let us start with challenges that we see in the satcom design.
Often, the first step in designing a satellite communications link is to determine the link closure and when your satellites can see one another or their ground stations. That motivates the need for orbit propagation, visualization, and analysis, particularly the satellite ground station visibility and comms link analysis.
Once satellite constellation positions are known, and link closure is proven possible, it's time to go to the next level of detail in designing the link. That is typically link budget analysis. Most engineers use Excel for their analysis, which makes for easy update, but graphics are often lacking in such budgets. And also it makes it difficult to exchange the design of the link budget analysis among different team members or even between the organizations.
When the budget analysis proves that the links can close, the next step is to design the waveforms for the standards we are interested in. It is important to be able to generate the waveforms and run end-to-end simulations with those waveforms. Once the satellite is in the orbit successfully, the next step is to access the data from satellite in secure form. As we all know, building ground stations is expensive and labor intensive, right?
There are new services in the market these days, for example, Amazon Web Services ground station, which enables users with an AWS account to interact with orbiting satellites and pull data from them. Users working with remote sensing satellites can access the data they need without having to build an inordinately expensive ground station of their own.
So the question here is the workflows that we are using to design our satcom systems support these kind of newer application areas It is also important to carry forward whatever models that we have designed through the lifecycle towards code generation and doing in the loop simulations to increase efficiency of our development.
While we design, we work on the satcom systems. Another major challenge that we see is addressing standards. This is more important even before we do deep dive or before we discuss more about engineering workflows. These standards are becoming more important these days due to increase in international collaboration and increase in system or mission complexity. Why system complexity is increasing the need of standards? With standards, we can ensure safety, reliability, and quality that comes from all the contributors working on developing these kind of complex systems.
One but somewhat unique aspect of satellite communications is that many standards exist across multiple application areas. These application areas include television broadcasts to start with like DV3, but they also include cellular communication standards like 5G, also satellite navigation standards like GPS, and also satellite command and control standards, CCSDs.
If we go a level higher, the next puzzle is towards integration of communication system with other onboard systems of satellite. One common misunderstanding that I heard from some of our customers is that the simulations always should be of high fidelity. I would say it depends on the phase of the life cycle where you are.
In the early life cycle, low fidelity designs are good enough to get started, and you could have high fidelity subsystem designs as you go further into the life cycle. These subsystems could be GNC, satellite communications, power system modeling, or optical navigation for IPCV applications.
Model based design with Matlab and Simulink supports integration as you develop these subsystems. The right side video is where we integrated multiple subsystems to do system level simulations. This is important, especially as budgets and resources are increasingly tight in modern day satellite programs. Before passing on to Ying, I will spend a few minutes on orbit visualizations and link analysis.
So with Matlab based workflows you can define a satellite that has orbital elements and other properties. Then, you can define a gimbal that is fixed to the satellite, and identifying a transmitter or receiver that can be fixed to the gimbal. We can actually attach any kind of antenna to the transmitter or receiver and point it to a fixed point on the Earth during the entire simulation.
You can visualize that in 2D or 3D format, you can see fields of view evolve over time and these fields of view can be either unconstrained are constrained by a ground station minimum elevation angle and the satellite maximum steering angle. If you look at the right side video on the screen, in this example, in this particular video, you can actually see when visual access is achieved by the green line between the satellite and the ground station. You can also see the field of view when visibility constraints are imposed on the satellite and the ground station. So in this example, we place the ground station at our headquarters in Natick in US.
You can calculate when the link is operational. You can see its simulation unfold in front of you by viewing orbits and links coming up and going down. And you can also compute the start times n times n durations of link closures. Here is one example to demonstrate this particular feature. So let me run this video.
Before running the video here we are trying to set up a multi hop satellite communication link between two ground stations. The first ground station is located in India, and we placed the second ground station in Australia. The link is routed over to satellites as you can see here in the video. Let me run this video. So as you see here, there are two satellites, satellite one and satellite two.
Each satellite acts as a region radio repeater, which means it receives the incoming signal, and then demodulate, re-modulates, amplifies and then re-transmit the received signal. So the times over the course of the day during which ground station one can actually send that data to ground station two is what we are trying to determine through this particular example. That's what you are seeing on the screen in the form of table.
Well, these days we know a lot of companies are launching hundreds of thousands of satellites into low-earth orbit with the intent of providing worldwide cell coverage. When simulating these large constellations, speed is at premium. For that matter, so are the visuals. You can get the performance shown here as you are seeing on the screen and also to visualize the constellation without unnecessarily cluttering up the display.
So this a new example, what you are seeing on the screen that we released very recently. The new multi hop part selection example shows how to determine the path through a large constellation, consisting of 1,000 low-earth orbit satellites to gain access between two ground stations.
When you're visualizing satellite orbits and communication links it is also important to view the antenna pattern as the orbits of all right? These visualizations show that over the course of simulation, the satellite antennas continuously and correctly point directly at the ground station. These visualizations also enable you to qualitatively compare the patterns of parabolic dishes Gaussian antennas, and arrays right? So you can actually use any antenna that is available in our workflow, so that comes with an antenna toolbox.
Now coming to the link budget analysis. So we have an app called satellite link budget analyzer satellite link budget analyzer app. This is an interactive tool that helps you to create, configure, analyze and visualize link budgets for satellite communications. What we have seen based on our experience, there is no one standard link budget format exist across the industry, as I was mentioning in the beginning of my talk. Even within many companies, different teams are using link budget frameworks, thus making it difficult to exchange any information between the team members.
So that's one problem that link budget analyzer app can help you to customize what exactly you want to achieve when you are doing link budget analysis. Also as we all know, modern satcom systems often use cross links to enable global coverage. These multi-hop links need link budget calculations for all the consistent links. The link budget analyzer app, what you are seeing on the screen, it enables these multi-hop links as well, which we can analyze through this particular app.
I will stop here. I'm available for the rest of the talk and would be happy to answer any questions that you might have. Please feel free to post your questions in the chat window. Now I would invite Ying to talk about detailed design and hardware implementation for satcom systems. Thank you.
Thank you, Satish, for sharing how we can perform the scenario simulation and design the overall budget for our mission. In this part of the presentation, let's have a look at how to turn our ideas and these requirements into an operational system.
First, let me introduce myself. My name is Ying Chen. Before joining MathWorks, I worked in satellite communications during that time I experienced some similar challenges to our customers when designing wireless communication systems for space application. I will start with the challenges, then I will move on to a unified platform, which is our proposed solution to help you to design, implement, and test your system, and to lower cost, reduce the risk at faster pace. I will highlight some of the capabilities of our tools and then elaborate on the design flow. Then, I will wrap up the presentation and take some questions.
What are the challenges when designing a communication system that works in space? We have a long distance to cover, which means significant path loss. In addition to this, many space system are running on solar power. The limited power and the significant path loss will give us a low signal to noise ratio. Many space systems are moving fast. Fast moving will lead to a higher Doppler shift and the same carrier frequency. The low SNR and high Doppler environment require a complex system to maintain a stable link. So high complexity is our first challenge.
The fact that the system is in the space and require low power consumption means that an implementation as a stand alone system on an embedded device, such as FPGAs or GPUs. In general, hand coding, debugging, and verification of HDL C/C++ code are not easy, and in many cases time consuming. So implementation is the second challenge.
The last challenge comes from the fact that it is difficult or will be too late to test your system in physical form. Field testing in the space is not feasible for most projects. Solely relying on over the air testing, we may discover issues involving multiple subsystems too late. A simulation will be a great help in the design stage to explore design options and to perform continuous integration and testing. To achieve this, we will need a simulation environment that can model multiple domains in one model, including antenna, RF, and baseband.
The third challenge is testing. What are the impacts these challenges may have on your mission? For complex system, in which different subsystems interact with each other, many design iterations may be required to find the best solution. I worked on a similar long range system before we have to change the baseline signal processing algorithm multiple times to help compensate for the losses in the RF path. These iterations introduced a significant delay and increase the project cost.
Implementing the system by hand coding HDL or C/C++ based on documentation may be error prone and any misunderstanding of the documentation will cause a system level error then it's difficult to discover. In the project I once worked on, a square bracket notation for variable range to label greater than or equal to was interpreted by a software engineer simply to be greater than. The error was only discovered in the field. For system that is not easily accessible, even a simple software update will cost significant time and effort.
Debugging and verification is the other issue related to hand coding code. It is a time consuming task. Testing is a key aspect of any project. If you only discover the error when all the subsystems has been implemented, it will take more time and cost more money to fix. According to 2020 statistics, 68% of FPGA projects are behind schedule. 51% of the project time is spent on verification. Are there any tools that can help us with all these challenges? The answer is a unified wireless design platform.
Before I go into the detail of this unified platform, here are some key takeaways. We can build a multi-domain simulation for all the subsystems this will enable you to explore design options across different domain to reduce the risk, as well as achieve better performance or find a cheaper solution. You can significantly reduce the development time by using automatic code generation. Continuous testing and verification based on the model will help you save time and money by finding your design issues or errors early.
So what is this unified design platform? It is Simulink. Simulink is an environment to perform multi-domain simulation, which will enable cross domain optimizations. You can automatically generate production quality code from the model for prototyping and implementation. You can test your design and the automatically generated code all in one environment.
What are the benefits? Since all the communication subsystem models are in one platform, we can easily handle complex systems and continuously test and integrate the whole system. While multiple groups working on a complex system having one model makes sharing and collaboration easier. No missing documentations to cause confusion for implementation.
The automatic code generation from the model is a seamless process, so engineers can focus more on the algorithm and structure design to improve the performance or reduce the cost. You can also add all the test harness to the model and manage them in the model. The system can be continuously tested by using simulation models to discover any limitations or design issues early. It will help reduce the number of iterations required for designing and also reduce the time from design to implementation. So save time and money.
In the next part of the session, I will start with a multi-doman simulation, and then move to implementation. Testing will be a theme throughout our discussion. Let me start by showing what the multi-domain simulation looks like. This is a shipped demo 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.
We start with the an 8 PSK signal transmitted from the transmitter. In the channel, an out of band interference is added to the signal. Currently, the interference and the signal are coming from the same direction, at 120 degree azimuth angle. As I have already run the simulation, we can see that, thanks to the frequency separation, filtering was able to recover the signal and we have a clear constellation on the receiver.
When we change the frequency of the interference signal in the channel model, to be within the signal band, for example to 0.5 megahertz, and rerun the simulation. Since now we have signal and interference in the same frequency band, filtering is no longer sufficient to recover the signal. We cannot recover a clear constellation in the receiver. This is also due to the fact that the signal and interference are in the same direction. Beamforming is not effective.
Let's move the interference to a different direction. For example, let's move the interference angle to 90 degrees. We can see before the beamforming algorithm converged, we still have received signal samples scattered all over the plot. After beamforming algorithms converged, the beamforming successfully separate the signal from the interference. The main digital signal processing blocks are highlighted in the red here. When we double click the beamforming block, we can see inbuilt beamforming algorithms are used. There are many inbuilt function blocks in our tool boxes.
Let's take a closer look at this blue block, the receiver. Double click the narrow band array block. On the sensor array information tab, it shows that we use a customer antenna with a user defined pattern, p antenna. I will show you how to design this antenna later. In the RF receiver block, there is antenna information showing green the RF channel are shown in blue, and the ADC is highlighted in yellow.
I will touch on how to generate the RF channel later. This one model included all the subsystems required. If you help us to evaluate the effectiveness of beamforming using the internal we designed. So we can explore the options and balance complexity performance power consumption and cost. The demo will help us evaluate the design options for the antenna array.
On the system level, a multi-domain simulation model can help us evaluate design options and optimize our system structure. Here is a typical architecture of a wireless system. One design challenge for system engineers is how to split up the power gain budget across the system. Very often, we will need to shift around the design budgets for each individual session, until we can fulfill the overall system requirements.
Following that, the challenges become to determine the lower level operating requirements for each section and to determine what issues can be handled by the individual section itself and what needs to be dealt with by using multiple sections of the system. An optimal design can only be achieved when all parts of the system are traded together as a whole.
A multi-domain simulation will help you manage this complexity and perform these optimization. However, with traditional design workflow and toolset this is often difficult. In this part let's have a look at what are the steps to build a multi-domain simulation like the one in the previous demo. I will highlight some tools that can help us to build a simulation for each of these subsystems.
We will start with the antenna modeling from the antenna designer app. In this app, we can choose from a lot of in-built models or you can build your own using customized geometry. And also in this app, you can check the results by viewing the radiation pattern, 3D, or 2D patterns and all these parameters here. These radiation patterns can be used in your simulation model as shown in the demo.
If we want to use an antenna array as in the demo, we need to put the antennas close together. Their fields will begin to interact with one another, which will affect the radiation pattern. Export the antenna characteristics from the antenna designer into the sensor array analyzer to observe the effects on array performance. We can save the parameters and use them in our simulation model.
Let's move on to RF. RF design and modeling are complex. We can start by laying out a basic architecture in the RF budget analyzer app. There are in-built reference transmit and receive models you can base your design on, or you can build your own using component blocks, such as filters, amplifiers, and up/down converters. We can define parameters, such as gain, noise figure and 3dB decompression points for the components. This can be either from your design or from manufacturer data sheets.
Once you are satisfied with RF budget analysis in the app, you can export the system, in the previous demo, RF receiver to RF block set and add it you physical layer Simulink model. You can also automatically generate test branch. This test branch can perform many tests on your RF design, such as two tone tests or frequency sweeping. Putting all this together, we can get this simulation model as shown in the demo. There are eight receiver RF chains. Next, we're going to talk about the baseband system or the signal processing paths.
As Satish mentioned before, if you choose to follow a standard or to use a standard as the basis of your design, there are many shipped examples providing standard based reference designs. If you want to implement your own base band, for example, change the channel coding and the modulation scheme to handle the a low signal to noise ratio, there are many library functions that can help you. We can see there are blocks to help you model RF impairments and Doppler shifts in digital domain, as well as blocks to help you perform digital compensation for these impairments.
All right, we showed how we can integrate the antenna, RF, and baseband subsystems in Simulink. As mentioned before, a multi-domain simulation like this could 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 set up are all captured in this model. Do we stop here? Can we go further with this model?
The answer is, yes. This model can be used in prototyping and implementation. Implementation can be done by automatic code generation. The code can be easily tested, using an existing test environment. As we mentioned before, testing and verification is carried out throughout the project. Your model can also directly talk to RF test equipment, as well as software defined radio platforms to support rapid prototyping.
Over the air testing is the starting point for many implementation works. Our model can enable you to send and capture over the air data, by directly connecting to many RF instruments and software defined radio platforms. You can process the captured data in the model with your algorithm. We can automatically generate C and HDL code for GPUs and that FPGAs from the model. What are the benefits?
The first advantage of code generation is that you can explore the design possibilities in the simulation model to optimize your design. For example, you can explore the fixed point representation to find optimal bitwidth for your algorithms. The generated code is human readable, so you can further explore the code. The generated code is also platform independent and of production quality.
There are many tools to help you perform testing. You can easily reuse the tests you already defined in the model by using tools such as automatic test bench generation, co-simulation, and hardware in the loop testing. Last, but not least code generation accelerates your design iterations. You can make changes to the design and easily re-stimulate or just change the optimization target and regenerate error-free code, so you can explore more design options. We will see how our customers benefit from this advantage later. Overall, automatic generation will help you reduce the time and effort required for implementation.
This is a comparison between the hand coding and automatic generation reported by our customers. The numbers for hand coding are showing in gray and the numbers for automatic code generation are shown in blue. We can see in most cases when we compare area, gate count, latency or power consumption, the generated code is as efficient as a hand coded code. When we look at time and effort, using automatic generation can save you a significant amount of time.
In summary this is our solution to the challenge. Using multi-domain simulation model to control the complexity and perform design optimization, this will help us to reduce the number of design iterations. Use code generation to accelerate your design and help you with the implementation.
The model will allow you to use capabilities such as automatic test bench generation, co-simulation, and rapid prototyping to help you accelerate your testing and verification process. Continuous testing and verification enabled by using the model will help you to reduce the risk and save development costs. Overall we want to help you to be successful in your endeavor and to lower cost, reduce the risk, at faster pace.
Well, have our customers achieved that? DigitalGlobe's WorldView-3 satellite is the industry's first multi-payload, super-spectral, high resolution commercial satellite. The challenge they are facing is the high data rate and stringent out-of-band emission and power requirements. This is because they are operating at the band that is adjacent to the frequency band used by the Deep Space Network.
The solution? They used Simulink to model the entire RF and digital communication system and perform simulation to calculate bit error rate, and verify link performance. The result? They were able to increase simulation speed tenfold. Since they are running bit error rate simulation after every design evolution, they saved significant design and testing time. the RF distortion effects are included in the simulation, so they can better explore ways to fulfill the out-of-band emission requirements. Because they can do simulation quicker and try with different combinations of techniques, they were able to increase the data rate in the final product by 50%.
Semtech is another customer that benefit from our tools. They are developing a digital receiver chain for wireless RF devices. The challenge they are facing is that they wanted to evaluate multiple design ideas for performance, power consumption, and layout area during the pre-study phase of the project. Writing VHDL for each design alternative would have been time consuming, limiting the number of alternatives the team could consider. The rapid design iteration we talked about earlier helped our customer to explore more design options.
The solution is they modeled the entire system and run tests in Simulink, then the use HDL coder to generate VHDL code from the Simulink model. As a result, prototyping are created 50% faster compared to hand coding. Verification time is significantly reduced. Our tools enabled Semtech to shorten development time from requirements to tape-out by about 33%.
OK, here are the key takeaways. In addition to scenario simulation and link budget analysis mentioned in the first part of the webinar, Matlab and Simulink as an environment can help you to build a simulation for all the communication subsystems. This simulation will enable you to explore design options across different domains to reduce the risk, as well as achieve better performance or find a cheaper solution.
You can significantly reduce the development time by using automatic code generation. The ease of production level code generation also helps your design to be agile and easy to update and keep track of. Continuous testing and verification will help you to find your design issue or errors early. The earlier you find the bug, 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, which we have seen here, we have training courses and free online onramps. There are more resources on our website. You can get step by step how to guide through white papers, event videos, or via shipped examples. For specific help with regards to our development workflow, please use our consulting service to leverage their expertise in this domain. Thank you for your time. Let's move on to the Q&A.
Featured Product