Enabling Multi-Domain Communications: Satellite Orbit Modeling and SatCom Link Simulation - MATLAB
Video Player is loading.
Current Time 0:00
Duration 31:43
Loaded: 0.52%
Stream Type LIVE
Remaining Time 31:43
 
1x
  • descriptions off, selected
  • en (Main), selected
    Video length is 31:43

    Enabling Multi-Domain Communications: Satellite Orbit Modeling and SatCom Link Simulation

    Overview

    In this webinar, you will learn how to model multi-domain scenarios that include satellites, aircraft, ground stations, and moving ground vehicles.  Learn how to model and visualize asset trajectories and perform visual access calculations and link budget analyses.  The webinar also shows how to perform end-to-end link simulations with standards-based signals like 5G NTN, DVB-S2/S2X/RCS2, and GPS.  Explore the design physical layer algorithms together with RF components and ground station receivers.  

    Highlights

    • Visualize 2D and 3D satellite orbits, fields of view, and ground tracks.
    • Analyze line-of-sight access and compute link closures in integrated scenarios that include satellites, ground stations and aircraft.  Extend the technique to incorporate moving ground vehicles.
    • Demodulate and decode 5G NTN signals that have been impaired by 3GPP-specified NTN channel models.
    • Demodulate DVB-S2 signals that are subject to severe Doppler shifts, sample clock offset, and phase noise.
    • Demodulate a composite waveform from multiple GPS satellites.  Perform acquisition, tracking, and bit processing on a signal impaired with Doppler and thermal noise.  Decode the bits to determine the location of a GPS receiver.

    About the Presenter

    Mike McLernon is an advocate for communications and software-defined radio products at MathWorks. Since joining MathWorks in 2001, he has overseen the development of PHY layer modeling and SDR connectivity capabilities in Communications Toolbox. He has worked in the communications field for over 30 years in both the satellite and wireless industries. Mike received his BSEE from the University of Virginia and his MEEE from Rensselaer Polytechnic Institute.

    Recorded: 16 May 2024

    Hello, and welcome to Enabling Multi-Domain Communications: Satellite Orbit Modeling and SatCom Link Simulation. My name is Mike McLernon. I'm a principal technical marketing manager with the wireless communications group at MathWorks. I've been with MathWorks since 2001, for many of those years in the development organization building all kinds of wireless things like channel models and reference receiver designs, SDR connectivity. More recently, in the technical marketing group, I've been very deeply engaged with SatCom in MathWorks for about five or six years. So let's jump into the topic, shall we?

    Here's our menu for the things that we will be covering. We'll first introduce the topic and then talk about orbit propagation, link budget analysis, and end-to-end link simulation. You might ask yourself, well, this seems like a very satellite-centric presentation, and in fact it is. We find that in a lot of multi-domain scenarios, satellites figure prominently in them, so we want to talk a lot about satellites today. So let's introduce the topic.

    So, first of all, what do we mean by multi-domain? Here we have a little icon where we have satellites and helicopters, ground stations, all kinds of actors that are involved, and they're communicating signals with one another. And they're also, as you would expect, they're mobile. So this is one scenario in which we could say, well, this is multi-domain.

    But, you know, it's not the only scenario that you could say is multi-domain. In fact, this table shows that you can talk about multi-domains in terms of actors with satellites, et cetera, with RF and other modalities where you could have radar and lidar navigation signals, that's multi-domain. And also you could talk about different modeling domains in the same software scenario, electrical, mechanical, even hydraulic. But for the purposes of this talk here, we're going to restrict ourselves to only talk about actors. That will be what we define as multi-domain.

    And in fact, as long as we're talking about definitions, let's try to give a layman's definition. It's a difficult concept to define. Many groups have spent man years trying to do that. But our layman's definition, it's a lot of words. Let's focus on the important phrases. First, dynamically modeling. That implies that the actors in the scenario are moving. They are mobile. We model both the physical and the RF characteristics of these actors, and it's with multiple platforms, not just one-- could be ten, a hundred, a thousand in a single software scenario. And then you see that last sentence that talks about some of the exemplary actors that could be involved in this multi-domain simulation.

    So let's dive a little deeper into orbit propagation and visualization. So, if you are doing a satellite simulation, you want to be able to generate orbits using a variety of methods. You can start with a Kepler two-body propagator for introductory work. But then, oftentimes, if you have a TLE, a two-line element file in hand that might model the motion for one or a thousand satellites, that's a very handy way to do that. MATLAB enables that. And you can see in that video that just concluded that depending on the orbit propagator that you choose, it could have a material difference on how that satellite propagates through its orbit.

    Also, using MathWorks tools, you can construct transmitters and receivers that model physical systems very nicely. You would start with a scenario which is essentially a container into which you would insert more assets like satellites, ground stations. Once you have those, you would add transmitters, receivers, gimbals to those assets, and then ultimately antennas onto the receivers and the transmitters. You can also very easily point your antennas to a target in one line of code without worrying about the tracking algorithm. You could attach any one of a hundred different antennas to your transmitters or receivers. And if you are doing phased array modeling, which is more and more prevalent in satellite systems, you can perform electronic beam steering to maximize the SNR. This is a MATLAB example that shows how that is done, highlighted in blue here.

    You want to be able to generate standard orbit visualizations. The video that you see here shows a 2D view of a moving field of view. The magenta polygon that is moving all around, the ground track is in yellow with future in a dashed line and the past in a solid line. These are essential visualizations if you are going to perform multi-domain modeling with satellites. And if you are using GNSS applications, you could use a skyplot, which is kind of an inverted view from most satellite visualizations. The sky plot starts from the ground and looks up into space and shows in azimuth and elevation space what satellites are in view, where the elevation masks are, and what the traces of those satellites are.

    It's also important to define time-varying access. So you can see here in the video on the right, the magenta polygon shows a field of view and the dashed line shows when the satellite has visibility access to a ground station. So as the satellites move around, you can see that visibility comes and goes. So in addition to the visual component that you see here, you also get those numerical components where if you want to determine, when did my visibility begin, when did it end, how long did it last, you actually get those numbers back from a MATLAB simulation.

    And if the previous slide answered the question, can you see me, this slide answers the question can you hear me. So you can perform comms links analysis, where you would assign transmitters, receivers, antennas to your satellite and ground assets, and you would generate graphical and numerical inputs, as you see in the video, evolving on the right and then the table down at the bottom.

    It's also important for you to simulate large constellations fast in this day of Starlink, where a single constellation can have many, many thousands of satellites involved. You need to be able to simulate them quickly. So you see in the text on the right, you're able, with MATLAB, to simulate the motion of a thousand satellites where you ping the states every 60 seconds, every minute, simulate that for a day, and you can get that those computational results in less than 10 seconds. On top of that, you can perform a routing analysis and visualization on the same scenario in less than 40 seconds. And the highlighted example in blue shows an example of how you can do just that.

    It's also very nice to be able to simulate and animate evolving antenna patterns. So this little video shows where two satellites are pointing to a ground station. You've identified antennas, and now you're visualizing the pattern and assuring yourself that the satellites are, in fact, pointing to the ground station, as you would specify. Very, very handy.

    Now we're getting more into the multi-domain aspect of things. So in 24a, MATLAB enables you to model easily satellites, aircraft, ships, any mobile platform in one single scenario. The little video that you see shows the output of such an example. And again, you can add gimbals, transmitters to the aircraft or any other moving platform, and the technique is extensible to other assets. And in fact, let's see it now.

    So we're going to get out of slideware and let's go to MATLAB, and we will actually run this. So actually, I take that back. We're not going to run it. We've run it already. But I want to walk you through the example. So this is an example that shows aircraft to satellite communication for ADS-B out. ADS-B is a signal that every aircraft has to have, that it's a beacon signal that says once every tenth of a second, here's where I am, here's where I'm going, here's my ID.

    So in this case, it consists of three main parts. We create the scenario, we perform an access visibility analysis, and then a link closure analysis. So let's just continue to walk through here. First, we create the scenario we identify start, stop time and sample times, and then we create a scenario, and then we view it. We're not going to do that right now. We're going to save that till the end. And then we set up airports and with lat, lon, and altitude, and names, and then we say, well, these airports will simply serve as our ground stations. So we use the groundStation. And the syntax is very simple where we say, the thing that we're going to add to something else, the name of the function, is the thing we're adding. The first argument of the function is simply the thing that we're adding it to. Sc is the scenario. We're adding a ground station to the scenario. Very good.

    Then we want to create aircraft. So we create a waypoint trajectory with latitude, longitude, and then altitude. Create that trajectory, so this is a two hour flight. We create times of arrival, and then we create this geoTrajectory object. That's a very important function and concept to understand. So we have the waypoints and then the duration. So for each position, there is an associated time. And then we get the lat, lon, and alt for the trajectory at the same rate of the satellite scenario simulation.

    We can plot that as you see right here. So this is a flight from New York to Bermuda. You see the trajectory of the aircraft. And then we add the aircraft to the scenario by saying, OK, I want my aircraft to be a platform, the platform function. We add that to the scenario, and then we can view it as well. So you see the nice picture of the aircraft. If you have, in this case, a GLB file, then you can render that body, that aircraft body or any other body, in a satellite scenario.

    Then, we want to define our satellites. And so we're going to use the Iridium NEXT constellation, which is a constellation of 66 satellites. So let's see, there are 11 satellites per orbital plane, six planes, and then it's a walkerStar configuration. And you can actually do this even more simply if you have Aerospace Toolbox and the walkerStar function.

    And then we're going to do an access analysis. And over that two hour flight, we realize that for the first roughly hour, or half hour then the aircraft can see the New York airport. And for the last half hour, it can see the Bermuda airport. Very interesting. And then we want to calculate access between the satellites and the aircraft. And I'll show you a very interesting plot here. So there you go, the satellite visibility. So that indicates so the horizontal, or the x-axis, is time. The y-axis is each satellite. So you can see the blue horizontal lines show when that satellite can see the aircraft. So you can see if you take a vertical cut through the plot, you can see that at any given time, at least one satellite can see the aircraft. Very handy.

    Now we want to do an aircraft link analysis. We define a frequency at which it's going to operate. We add a transmitter to the aircraft. In this case, it's going to be an isotropic antenna. We define the frequency and the power at the output of the amplifier. And then we also create an airport antenna. And we're going to say we add the receiver to the airports, define the antenna, give it a name. And we're going to create a satellite, an aircraft-to-satellite link. Turns out that each Iridium satellite has 48 different spot beams, that there's code, there's a helper function that creates all the pattern for all those spot beams. We're going to see that in a little bit. So there's-- that image does not apply here. This image does. So the red jellyfish-looking images, those are antenna patterns. So the 48 spot beams amalgamated into one pattern.

    And then we're going to look at the link closure times and we get this curve where we-- this is Eb/No versus time. So at the left edge, when the aircraft is very close to the airport, the margin is high because there's very little path loss. As the airport recedes away from-- as the aircraft recedes away from the airport, the link margin gets smaller because of more path loss. Eventually, visibility is lost between the aircraft and the airport, and the aircraft has to use the satellites to complete the link. And so you see all of these jagged edges show where different satellites are being used to complete the link. And then ultimately visibility is reestablished between the aircraft and the Bermuda airport, and the link margin grows and grows until the plane lands.

    And then we can also create a so-called chase view to show the trajectory of the aircraft. So let's go ahead and show two videos next to one another. So let's do that right now. So there's the aircraft video and the satellite video. So we're going to start them both. So as they evolve, I will describe them.

    So on the right, an aircraft is taking off from the JFK airport in New York city. And you can see the purple is the trajectory. The solid and dashed green lines show-- the solid line indicates link closure. The dashed line indicates visibility access between the aircraft and the various satellites. So the view on the left shows the same thing just at a faster time scale with a more macroscopic view of the many satellites that are able to communicate with the aircraft. So you get two views at once. Again, this technique can be extended to other mobile platforms besides aircraft. We'll go ahead and stop these videos now. And we will go ahead and return to our slides. All right.

    So, I've told you that this is extensible to other platforms. And so it's also possible to do this with a car. The same technique is used for a car as with an aircraft. It is simply another platform. So it's possible to programmatically or interactively create a path for the car. So, in fact, let's see how that is done as well. So let's take a look again at MATLAB here.

    Here we are. We're going to perform this same technique between a car and a satellite. First, we initialize the scenario, start, stop, and sample time, and we create the scenario. Then we're going to initialize a map, and this will be a map in Massachusetts that's very close to the MathWorks headquarters, again in Massachusetts. Then we're going to use a manual methodology to input points, waypoints on a car path. So I draw your attention to this ginput function, and we're going to create five points and then create that trajectory. Here it is. 1, 2, 3, 4, 5.

    And then we're going to visualize the path. And here's the path in red. It doesn't quite keep to the highway, but you get the idea. We're just going to find the distance in statute miles between each waypoint. We assume that the car is going 70 miles an hour, and we're just going to create a again, a geoTrajectory. Again, the same technique that we used for the aircraft. And we add the car to the scenario just like we did with the aircraft, with the platform function.

    And here we go. There's our satellite and our car. This is a very brief simulation, it's only six minutes. But we'll go ahead and add an access analysis. In other words, when can that satellite see the car? I've configured the scenario so it actually can see it for the entire time, given that it's only six minutes. And then we can go ahead and play that scenario. And you can see the satellite proceed pointing right to the car. The contour indicates the field of view, and the car is always in view.

    Now we want to add a link analysis. So we define a frequency, a power, an output power of the satellite, and then we add an antenna to that satellite. We want to visualize the pattern. We're also going to specify a car receiver. We're going to say, let's put an isotropic antenna on the car, and then we give the car antenna a G/T value, show the pattern, and then we're going to do a link analysis.

    Here you can see the antenna pattern for both the satellite and the car. The car is a green circle because it's an isotropic antenna. The satellite antenna is simply a what is known as a Gaussian antenna, which approximates a parabolic reflector in the main lobe. And then we can go ahead and play that scenario. And it turns out that the link is closed for the entire duration. But the main point to get is the methodology with which you would add the trajectory to the scenario-- the car trajectory to the scenario. OK let's go back to PowerPoint. And let's continue.

    All right, let's talk about link budget analysis because if you're doing anything with satellites, you have to do link budget analyses. It's important for terrestrial links. It's essential for satellite links. MATLAB provides an app with which you can perform satellite link budget analysis. You can do for down, cross, or up links. You can customize it to your heart's content by creating new input parameters, new intermediate computational results. Very customizable. You can also create custom line or contour plots. One of the difficulties that I've had with traditional Excel link budgets is that the visualization is often not there. MATLAB allows you to create your own visualizations in addition to the ones that come out of the box with the app.

    Then, once you once you create a prototypical link budget that you like, then you can export MATLAB code, you can create, generate MATLAB code that gives you the same numerical results as the app scenario that you set up. And you can use that to generate a family of analyses if you want to vary one, two, or 10 parameters over a sweep of values. Very handy.

    If you want to do an availability analysis, you can use the ITU P.618 analysis, which is a lot of math, a lot of equations with a single checkbox. And so if you do that, you would start out by specifying an availability that you see highlighted in the bottom left of the app, and then you would generate three new additional properties that will help you to determine over an annualized analysis, do you have enough margin to satisfy your availability requirement that you set out at the beginning? This is very important for propagation in rainy regions.

    Let's talk a little bit about end-to-end link simulation because that is also an important part of multi-domain simulation. Once you start talking about link simulation, you have to start with channel models. And so as we mentioned a little bit ago about the P.618, model that enables you to calculate prop loss, propagation loss, path loss for a variety of weather conditions at every spot in the globe.

    Sometimes you have to, though, create channel models where you are filtering a signal. MATLAB will enable you to use an ETSI-specified Rician channel, which is a very simple Rician channel to specify a K factor and a Doppler frequency, and bang, you are off to the races. If you want to concern yourself more with frequency flat models, you can use the P.681 and Lutz land mobile satellite channels. If you're doing optical communications, then you can use a Poisson deep space optical channel to determine when spurious photons are appearing in slots of a PPM system.

    If you're doing 5G NTN, which is becoming increasingly important, then you can model that kind of channel in a variety of ways. One, in a narrow band fashion, where you would start with an ITU P.681 land mobile satellite channel as your base channel, add satellite Doppler to it, and there's your channel. If you want to use a tapped delay line model, which filters a signal, then you would start with the 38.901 3GPP channel and then add Doppler to that, and then voila, you have your time-varying filter. This can be specified over a variety of satellite orbits.

    In the receiver design category, if you care about DVB-S2 and S2X, MathWorks provides reference receiver designs in open MATLAB code that will perform in a variety of impaired channel conditions with phase noise, carrier frequency offset, and sample clock offset. The same can be said for CCSDS telecommand and for telemetry.

    Now, I mentioned a moment ago that 5G NTN is becoming increasingly important, so MathWorks has spent a fair amount of time investing in this technology, creating a link level simulation that offers the capabilities you see in the list here. But I think it's going to be better to talk about the block diagram of the system. So the dark orange blocks are just normal 5G terrestrial processing blocks with OFDM, the DL-SCH, the channel estimation, the equalization, and then the common phase error, estimation, and correction. All normal terrestrial stuff. The light orange blocks indicate where SatCom components are added to it. So power amplifier modeling, Doppler pre-compensation, et cetera. The yellow indicates the NTN channel that we spoke of earlier. Let's take a look and see this example. Let's go back to MATLAB now. OK.

    All right. I'm going to walk you through this example, and then we'll run it top to bottom. So it includes these 5G NR features-- DL-SCH transport channel coding. That's where the LDPC coding happens. Multiple code words depending on the number of layers, so if there are more than four layers, you would have multiple code words. The DM-RS, the demodulation reference signal, that enables channel estimation so that you can equalize out the multipath of the channel. And then the PT-RS, the phase-tracking reference signal that enables you to get rid of the common phase error. Variable subcarrier spacing and frame numerologies, subcarrier spacing can be varied between 15 and 960KHz. Normal and extended cyclic prefix-- the extended cp is used for particularly bad multipath situation. And then, as we talked about earlier, the NTN narrowband and TDL channel models.

    We talk about other features of the example. Precoding using singular value decomposition that orthogonalizes the multipath channel so that it can be essentially compensated for at both the transmitter and the receiver CP-OFDM, which we're all familiar with. Let's see. A single bandwidth part across the whole carrier, so even though it allows for MIMO, it's with a single user. Doppler pre-compensation at the transmitter and/or the receiver. And then hybrid ARQ to support up to 32 processors. Because of the lengthy propagation delays, the HARQ processes had to be increased from 16 to 32-- I believe that happened in release 17-- and then an optional power amplifier modeling. 3GPP has specified a model for both memoryless and with memory, and you can use both of them, either one of them in this example. And this requires RF Toolbox. And then you can also incorporate satellite dynamics into the simulation with a time-varying propagation delay modeling.

    So there's the block diagram that we looked at earlier, and then there's lots and lots of setup for this example. And I just want to show you a few other things as we go along. So, modeling the power amplifier without memory, you'll notice it's nonlinear, as you see from the exponent there. But there's no memory because you don't see a delayed version of the signal anywhere in the output expression. Here, though, the power amplifier with memory, that enables you to use past samples of the input as contributing factors to the current output sample. And you can see it's nonlinear again, as shown by the exponent.

    And so we'll race ahead. In fact, we will go all the way towards the end. And we're going to go ahead and run this. We'll see some results at the output here. We'll just run it from top to bottom. And we're going to start getting throughput results.

    The results basically say, on the x-axis, we'll have an SNR value, on the y-axis, we will have a percentage of packets that actually were successfully transmitted. And so we're going to run this case over a variety of SNRs, over a range of SNRs. And then you start to see some textual output. So you'll see this over a range of SNRs, and then ultimately we will see a graph with the x and y-axis as I described earlier.

    And there is our plot. So you see on the y-axis, or on the x-axis input transmit power in terms of dBm and a throughput in terms of percentage of packets that successfully were transmitted. This was done with only two frames, so it's not statistically significant enough. So if you see this next plot, this was done with 1,000 frames. So you see that ultimately, depending on the input transmit power, that you ultimately get 100% of the packets that go on through. All right. Let's return back to our slides.

    One other point, an example that is enabled, and this is again useful for multi-domain simulations, a GPS end-to-end link example that is a true beginning to end workflow where you would start with four GPS satellites orbiting in space, each of them downlinking a signal to the ground, and then those signals are amalgamated into one composite signal with the proper loss factors depending on path loss, delay values, Doppler values. They all get composited into one waveform, and the receiver, the GPS receiver on the ground, takes that waveform, separates out with the despreading operation all four of the individual spacecraft waveforms, does the acquisition and tracking. Ultimately, once the signal is spread, does the slow processing to come up with bit sync, and ultimately ends up with an NMEA message with which it can calculate pseudo ranges and then get the location estimates of the receiver on the ground.

    OK, let's summarize what we've learned. The essential message is that MATLAB enables multi-domain modeling through what means? Through orbit propagation and visualization, through link budget analysis, through the ability to model satellites, aircraft and other mobile platforms in a single scenario, and then to perform linked simulations that include satellite dynamics. If you want to learn more about these SatCom capabilities, you can utilize these links that you see here. And with that, I thank you very much.