Simulating Land and Sea Surfaces in Dynamic Radar Scenarios
Overview
Assessing radar performance in a representative environment, where the reflections from surrounding surfaces are considered is critical to ensure that a radar system design meets its performance requirements. In this webinar, we will demonstrate how to model surface reflections from land and sea in a radar scenario. This allows you to assess the system design performance before prototyping the system. It also enables you to develop signal processing techniques for detection and data processing algorithms for tracking and image formation while accounting for the clutter due to land and sea surfaces.
Highlights
You will learn how to:
- Model a land surface with digital elevation map or a sea surface including the motion of waves.
- Customize the surface reflectivity with different reflectivity models including speckle.
- Generate statistical detection and IQ data from a realistic radar scenario.
About the Presenter
Babak Memarzadeh is a senior product manager at MathWorks focusing on tools that support radar applications. Prior to joining MathWorks, Babak was a principal systems engineer at Geophysical Survey Systems, a ground penetrating radar manufacturing company, where he worked on a wide variety of projects ranging from MIMO radars for real-time 3D subsurface imaging, to localizing ground penetrating radars for autonomous vehicles. His contributions ranged from algorithm development and Electromagnetic modeling and simulation, to defining system level architecture for the next generation products. Babak received his Ph.D. in electrical and computer engineering from Northeastern University, where his research was focused on electromagnetic metamaterials and metasurfaces for wave manipulation.
Recorded: 25 May 2022
Hello. Thank you for attending this session on simulating land and sea surfaces in dynamic radar scenarios. Before we start, let me introduce myself. My name is Babak Memarzadeh. I'm the Product Manager for Radar Toolbox at MathWorks. I joined MathWorks about a year ago.
Before that, I was a principal systems engineer for a radar company for about seven years, where I gained a lot of experience working with radar systems. And prior to that, I was doing research on metal materials and metal surfaces as part of my PhD program at Northeastern University. Without any further ado, let's get started.
You can model and simulate radar system with MATLAB and Simulink, including the antenna and RF systems to generate the signals, transmit, propagate, and receive the signals. The signal processing blocks to apply signal processing on the generated IQ signals and generate detections. Data processing blocks that you can use to generate tracks out of the detected targets, or maybe a synthetic aperture radar image out of a synthetic aperture radar data that you have modeled or you have captured with your hardware.
You can also model the resource management and control blocks to be able to model a complete closed loop system. One of the important parameters to take into account in any radar system modeling is the environment, the scenes and the scenarios, how different platforms are moving dynamically with respect to each other, and what are the effects of the environment on the radar system performance.
For example, what is the effect of propagation of the wave through atmosphere or what are the effects of surface returns from land and sea surfaces on the radar performance? This is where we will focus our conversation today on, and we'll see how we can use the Radar Toolbox to have a high fidelity model for the environment.
But before that, I would like to emphasize that with the Radar Toolbox you have support across the whole lifecycle of radar system development, from very early stages when you are doing trade off analysis and budget analysis, all the way to when you are ready for deploying your system for integration and testing. You can simulate radar returns from land and sea surfaces in the radar scenario to capture the returns from these surfaces and also to take into account the effect of surface shadowing and occlusion.
Now, the surface returns are usually called clutter, but there are cases that the surface return is the wanted signal. For example, a radar altimeter model where we actually use the returns from the ground or the sea to be able to generate an altitude measurement. We can author a radar scenario, and by going through the simulation workflow, we can simulate the scenario. We start with modeling the platforms and targets.
Our platforms can have certain dimensions, or they can be as points in the scenario. Independent of their size, we can assign a radar cross-section to each of these platforms. The radar cross-section can be a function of elevation and azimuth angles, as well as the frequency. If you have a solved RCS in other-- or measured RCS and you want to use that in your model, you can actually import that to increase the fidelity of your model.
Next is to model the surfaces and clutter, which we will see in more details in the future slides. In summary, we will be able to model the land surfaces, the sea surfaces, and assign radar reflectivity models to these surfaces to generate surface returns in our scenario. Next is to model the trajectories. For the trajectories you have two different options.
Either using kinematic properties like the angular velocity and the acceleration or the waypoints in north and eastern coordinate, x, y, and z, or the georeference coordinate, latitude, longitude, and altitude. The next step is to model the sensors. For the radar sensors there are different abstraction levels that we can choose from between power level, measurement level, and waveform level. I will explain the differences between these abstraction levels and show you when each of these abstraction levels are suitable.
And then we simulate the scenario to generate detections and tracks, or IQ signal based on the abstraction level that we chose for our radar model. We can also perform Monte Carlo analysis by perturbing the ground truth or system parameters to understand the effect of variations of these parameters on your radar system performance, which will be very helpful to avoid very expensive field testing.
To generate the radar surface returns, there are two steps that we take. We model the surfaces. For the land we model the land elevation height map, and for the sea we model the sea motion. And then we define the clutter properties. We specify the radar reflectivity model for these surfaces, and we also specify the regions that we want to generate these reflections from.
Let's start with land surfaces and go through the details of it. For the land surface elevation height map, you have three choices. You can start with a flat surface, the simplest form, or you can import a digital terrain elevation data, a detail file, or any other file that contains the elevation height map of a terrain. You can also model a custom elevation height map. There are helper functions that you can use, or it could bring in your own function to generate your customized elevation height map.
And there is a list of reflectivity models for land surfaces that are available to you. You can see that this list contains models that are mathematical or empirical and semi-empirical. These models are valid across different frequency ranges and different grazing angles. We try to make sure that you have an available option for you at a very large frequency range at all the different grazing angles. You also have the capability of bringing in your own radar reflectivity models.
Like the land surface, we model the sea surface, but with motion. To model the sea motion, we use a built in model based on health model and we multiply the spectral model and the spreading function to model two types of waves, gravity waves and capillary waves. Gravity waves have lower frequency and higher height elevation, while the capillary waves have higher frequency and lower height elevation.
And there are three different parameters that you can use to control the behavior of your sea motion, wind direction, wind speed, and fetch. Beside the built-in model, you are able to bring in your own sea motion model. Similar to the land surfaces there is a list of available reflectivity models for sea surfaces. Now, similar to land surface, these models are valid across different grazing angles and different frequency ranges. And you also have the ability to bring in on your own reflectivity model.
You can simulate a radar system at different abstraction levels, starting with the power level abstraction level, which is based on the radar equation and is mostly used in the early stages of the analysis for trade off analysis and budget analysis. You will come up with a certain set of parameters for your system that can yet ensures the requirements and objectives of your systems are met.
In this abstraction level, you can take advantage of Radar Designer App, which is an interactive GUI to understand the trade off of different system parameters. The measurement level model is another abstraction level, which abstracts out the signal processing and generates statistical detections or tracks. And then waveform level model where we model all the subsystems of a radar system, including the antenna, the transmitter, receiver, and propagation channel to be able to generate an IQ signal.
Now, the fidelity of these models is increasing from power level to the waveform level. As a result, the computation resources that each abstraction level needs is increasing from power level to waveform level as well. This is why the measurement level model is useful for scenarios with longer duration or for evaluating and developing tracking algorithms, while the waveform level model is more useful for scenarios with shorter duration, which is focusing on signal processing algorithm development and evaluation, or maybe end to end system performance assessment.
And I mentioned the power level analysis is useful in the early stages of the development where you are doing budget analysis and trade off analysis. You can generate radar surface returns from different regions of interest. Here we are looking at the area that-- we are looking at an airborne radar looking at the surface of a flat surface with its beam footprint projected on the ground.
The radar scenario automatically generates returns from the main beam footprint. Here we are looking at the measurement level model output, which are the detections shown with the pink dots. The blue area is showing the beam footprint of the radar projected on the surface. But you might want to generate radar returns from different regions of the surface.
For example, you might want to generate returns from the altitude region or the backflow region. Or maybe, instead of a 3D beam footprint, you want to generate to define a custom main load region to generate radar returns from, and that's something you can do with the Radar Toolbox and by configuring the clutter generator. Here we are looking at an example where we are generating IQ signal from these five different regions, including the main loop while the main loop is scanning through an area.
OK. Now let's look at an example where we are modeling an airborne radar looking at the surface of the ground. The elevation height map of the ground is modeled by importing a detailed file, and the clutter region is customized to capture the surface returns from a custom main load rather than the 3D beam footprint. We can look at the generated IQ signal in the Range-Doppler map, as shown here. Now we can turn on the train shadowing property in our radar scenario to take into account the effect of occlusion and surface shadowing.
When we look closely at the beam footprint of the radar on the ground, we notice that there are areas that there is a gap which there was not a gap before in those beam footprint. By looking at the Range-Doppler response, we can verify that the occluded areas that are shown with these gaps here are taken into account in the IQ signal as well, which ensures a realistic generation of IQ signals.
OK, now that we have all the building blocks and we have gone through the workflow of the radar scenario and we saw how we can model the land and sea surfaces in the radar scenario, let's go to MATLAB and look at an example where we model a sea motion and we generate IQ signal from the reflections that we get from this moving sea surface. In this example, we want to simulate radar returns from moving sea surfaces. For the radar we will model and expand radar that is used for oceanographic studies of different sea states.
We will start with defining radar system parameters. We will generate the moving sea surface model with sea state of four, and then we will generate IQ signal. And then we'll investigate the IQ signal by applying some signal processing on the data. Because we are using the waveform level model and it might take a couple of minutes for the IQ signal generation, I'll run the code while we are going through it.
OK. We start with defining radar system parameters. Here, for example, we define the frequency PRF, pulse width, waveform bandwidth, the sampling frequency, to be able to generate a waveform for the radar. We model some parameters of the antenna model, for example, the beam width and the antenna gain to be able to model the antenna, and also the sampling frequency to be able to model the radar receiver.
We are also defining some parameters for the scenario, including the update rate of the scenario and also the simulation time of the scenario. Next step is to model the sea surface. Here we are modeling a sea state of four for this sea surface. We defined the speed of the wind and the length of the sea surface that we want to model we are using the built in model based on health model, so what we need to define is the resolution of the sea surface.
Next, we set up sensor trajectory. For example, the height of the radar and the position of the radar. And then we create the radar scenario by passing the scenario update rate, the simulation time, and also we set the Earth centered property of the scenario to false to model a flat Earth. I mentioned that we are using the built in model, so here we are using sea spectrum for the resolution, and we define each resolution.
Then based on the polarization of the wave that we want to simulate, we will select the surface reflectivity for sea based on the Georgia Tech model for the sea state that we defined and the polarization that we defined. And then we also defined the wind speed over this sea surface, and then pass these parameters to a sea surface system object, including the spectral model, the radar reflectivity, the wind speed, wind direction, and also boundary to limit the boundary of the area that we are simulating. Here you can look at the properties for this sea surface.
Now, to verify our model for the sea surface, we can actually capture the wave height estimation and look at the troughs and crests of this wave and evaluate the variation of the wave height, which is in the order of 1.6 meters in this example. And verify that this variation is within the variation that we would expect from a sea state of four. And here, by running this test, we are verifying that this variation is actually within the limits. You can also plot the sea surface motion over time by using the helper function that is available to you.
After the simulation is run, you can actually run the animation in different speeds. Here we are looking at the motion of the sea that we model in our scenario. And at this time we have our radar scenario, we have our sea surface model, now we need to model our radar sensor. We are using the radar transceiver, which is our waveform level model, to be able to generate IQ signal.
For the radar transceiver we need to define its waveform. We are using a linear FM waveform for this radar design. We need to define parameters for the radar receiver, including the sampling rate and noise figure. And we also define a model for the radar transmitting and receiving antenna elements. Here we are using a sync antenna element with the beam base that we defined before. And we assign the antenna gain for both of the transmitting and receiving antenna elements.
OK, now, next is to mount this radar on the radar platform that we have defined in this scenario. It is good to look at the properties of our radar receiver shown here, which includes the waveform, the transmitter, the transmitter antenna, receiver antenna, and also receiver. You can also specify the scanning mode between mechanical or mechanical scanning or electronic scanning. Here, we are not using any scanning mode. And you define the mounting location and also mounting angles of the radar.
And at this point, we are ready to generate the data cube by advancing the scene, or in other words, advancing the time in our scenario and generating the data cube called IQ sig here. And then looking at the raw IQ signal that we generated. Now we can pass this IQ signal to our signal processing algorithms. Here, we are using a matched filter to generate the coefficients of this matched filter, and we are using the range response system object from the phase array systems toolbox to generate the range response as shown here.
One point that I would like you to notice is the variation of the range over time. If we think about a flat surface that is not moving, then we wouldn't expect to see variations. So what this variation over time is showing us is the fact that the sea surface is moving over time, which we would expect from the model that we generated.
We can also investigate a little bit further and capture the max beam, the range beam, that has the maximum reflection, shown here, and then pass the IQ signal of that range beam to a short time Fourier transform processing to be able to look at the speed versus time of the sea surface. Now we can also see that this speed versus time-- the speed is changing over time, which is an indication of movement of the sea surface.
You might expect to see a periodicity from this speed versus time of a sea surface. The good news is that if we run this simulation for longer duration, we would see that periodicity that you would expect. In summary, we looked at an example where we built up a radar scenario. In that scenario, we model the moving sea surface. We investigated the sea surface model to make sure that our model is valid. We generated IQ signal, and we performed some signal processing to be able to look at the time frequency response of the IQ signal.
OK. There are many applications that we can take advantage of modeling surfaces in the radar scenario. For example, coverage analysis for a ground radar or assessing the performance of moving target indicator radar and predict the performance of the algorithms for this radar. Or the other application that comes to mind is to generate raw signals from a synthetic aperture radar to be able to generate solid images.
So moving forward, I'll go through these applications and I'll show you how you can take advantage of the Radar Toolbox to analyze and assess the radar performance in these different applications. We will start with coverage analysis for a ground radar. You can evaluate and visualize radar vertical coverage. Here we are importing a detailed file to model the elevation height map of the area, and we locate our radar at a certain location shown here.
You can assign a radiation pattern to the radars antenna, and what you're looking for is the effect of the surface returns on the radiation pattern of this radar, and as a result, looking at the vertical coverage. The constructive and destructive interferences between the surface returns and the radiation from the radar would generate a different radiation pattern for the antenna, which is shown with the radar vertical coverage over the terrain here.
Now, you might want to assess the detectability of a target for that radar while that target is moving along a certain trajectory. By modeling the trajectory and simulating the movement of the target, you can see that the areas that are shown by red in this graph here are the areas that there is no line of sight from the radar to the target, while other color maps are showing the received signal to noise ratio at the radar receiver due to the target.
You can also take into account the effects of signal processing, for example, the gain that you obtain by applying policy integration and generate a detectability map across this trajectory. In this example, we see that this target within this trajectory is only detectable within a very short duration of this trajectory. This is useful when you want to decide where to put your radar to be able to ensure that certain targets within certain trajectories are detectable.
Another example is when you want to plan the radar network coverage. Let's assume that you have three radars and there are five different locations shown here that you can choose from to place your radar systems. Like before you bring in your detailed file, you assign the radiation pattern and ultimately you can generate the signal to noise ratio map across the area by placement of your radars at different locations.
You can also notice that there are areas within the signal to noise ratio heatmap that are occluded from the radar, and you can't have any coverage. These three examples that I showed you are benefiting from a power level abstraction model for the radar, which is based on the radar equation. Now let's go to see how we can take advantage of modeling surface returns in the radar scenario in understanding the performance of moving target indicator radar and predicting the performance based on the signal processing algorithms that we design. We will look at an example in the measurement level abstraction models and also waveform level abstraction models.
Here we are looking at another scenario where an airborne radar is looking at the surface of a flat ground with constant gamma reflectivity. We are using the measurement level model to generate statistical detections. When we look at the Range-Doppler map, the blue dots are showing the returns or the detections that this measurement level model has generated from the surface, and the red dot is the return from the target.
Now in this example, we can see that there is no separation between the clutter return and the target return. So if the returns from the surface are stronger than the return from the target, this target is not detectable and the measurement level model or the radar data generator does not generate detections for this scenario.
Now, if the target was moving with certain speed that there was good separation between the radar, the clutter return, and also the target return-- in other words, if the speed is high enough that the target happens within a different bin, a Doppler bin, than the surface return, the target becomes detectable. And as a result, the radar data generator generates a detection for this target. Now let's go to the waveform level and see how we can take advantage of the waveform level for the same scenario.
We are, again, looking at an airborne radar looking at the surface. The beam footprint shown here is we are zooming in here by showing the location of the target and the velocity of the target within the 3D beam footprint of the radar. The presentation of the surface clutter, as well as the location of the target and velocity of the target with respect to this representation, would define the minimum detectable velocity. Let's see how we can model this scenario.
By running the simulation and generating the-- by running the simulation and generating IQ signal, we can look at the range profile of this scenario. By looking at the range profile, we notice that we can't visually see any target within this range profile. And then when we look at the Doppler spectra, we see that there are two different returns. One is located at the zero range rate, and the other one is located around minus 20 meters per second range rate.
The black line is showing the response of the MTI filter. We notice that the returns from the surface are within the null of the MTI filter. As a result, the attenuation that these returns from the surface are experiencing is higher than the attenuation that the target is experiencing. The difference is about 11 DBs, and that's why, when we look at the range profile after applying the filter, we can actually visually see the target return within the returns from the surface.
Now, what happens when the target starts to move slower? In the Doppler spectra we can see that the return from the target is moving toward the null of the filter. As a result, when we apply this filter, the attenuation on the target return as well as the-- is as high as the attenuation on the clutter return. So when we look at the range profile, we can't see the target return.
Now, the required positive or negative range rate for detectability of the target depends on the location of target within the beam footprint. Let's keep the velocity the same, but move the target toward higher Doppler region of the beam footprint. By doing that, when we look at the Doppler spectra, we can see that the target return has been separated from the clutter return and by applying the MTI filter, this target becomes detectable within the range profile.
Now, what happens if this target starts to move in the other direction? We can simulate that. And notice that we can't actually-- by applying the same filter, we can't find the target after applying the filter. This is indicating an asymmetric in the minimum detectable velocity of these targets that are present for almost all the cases, except when the target is along the board side vector of the radar at the center of the beam footprint.
The problem can get more complicated when we look at the squinted MTI radar where the radar system is actually moving toward the target or away from the target. Here we are looking at an example where we place two targets for a squinted MTI radar system, one close to the center of the range profile and the other close to the higher range side of the range profile.
What we notice first is that, in our MTI filter, the null is no longer at the zero range rate because of the movement of the radar toward or away from the targets. And then by applying this filter on the range profile, we notice that the attenuation at the center point in the center of the range profile is higher than the lower range and higher range. As a result, the target that we placed in the center range becomes detectable after applying the MTI filter, while the other target is not detectable.
So we can see that the asymmetric behavior of this MTI filter can make the analysis complicated for cases that the target is not at the center of the beam footprint along the board side, and having modeling capabilities would be very beneficial in understanding the minimum detectable velocity of targets at different locations of the main beam footprint. And the next example I would like to show you that you can take advantage of modeling surfaces in the radar scenario is to generate a IQ signal from a synthetic aperture radar modeling to be able to assess our synthetic aperture radar imaging algorithms.
We start with modeling a custom elevation height map. I mentioned to you in the beginning that one of the options that you have to model a land surface is a custom elevation height map. Here we are trying to model a hilly environment where there are a lot of variations in the elevation height.
Next is to model the scenario. We are locating the airborne radar in this location looking at the surface of the ground while moving along the broad side trajectory. Notice that we limit the area that we model the land surface to minimize the memory requirement for this simulation. We also place three targets along this surface to be able to assess the performance of our image formation algorithms.
Now, next is to customize the reflectivity map. What do I mean by that? I mentioned that we are modeling a customized elevation height map to have a hilly environment with a lot of variation in height. One of the reasons we are doing that, we want to model an area that the lower elevation are covered with wooded area while the higher elevations are covered with-- are not covered with wooded areas and are represented by hills area.
These two areas have two different radar reflectivity models, and here I'm showing you the capability that you can use to customize the reflectivity map based on the area that you are modeling in your land surface. The next step is to run the simulation and generate the rod IQ signal. Here we are looking at the IQ signal that we generated from this scenario. We can pass this IQ signal to our image formation algorithms. Here we are using range migration to generate this SAR image.
If you recall, I mentioned that there are three targets that we are placing above the surface. But when we look at this image, we can only see two of those three targets. Why is that? We can actually test for occlusion because when we look at this picture, it sounds like one of the targets are not being seen by the radar.
So you can run a test for occlusion and verify that the first target is never being seen by the radar due to line of sight occlusion. The second target is being seen by the radar for a good portion of the data collection duration. And the third target is always visible to the radar. Before concluding this presentation, I would like to show you how you can learn more and where you can find more resources to be able to take advantage of these capabilities. For that, let's go to MATLAB.
OK. In MATLAB, if you type doc on the command line, it will bring up the MATLAB Documentation home. And in this page, if you click on the examples and then on the categories, scroll down to get to the Radar Toolbox. You'll see a list of available examples from examples that will help you to get started, to application specific examples for automotive radar, multifunction radar, AI for radar, synthetic aperture radar, and also examples specific for radar systems engineering, as well as scenario generation, where you see a lot of examples to that would help you to get you started.
What I would like to mention is this example here, Introduction to Radar Scenario Clutter, which will be a great start if you are trying to get started with the color simulation. And there are so many other examples that you can take advantage of, so please take a look at this page.
OK. Now in summary, we looked at the workflow that we can use to author scenarios and simulate the radar scenario that we have authored. For modeling surfaces and clutter, we went over two different steps that we take. For land surfaces we modeled the elevation height map. For sea surfaces, we model a sea motion. And we have a list of available radar reflectivity models for both land and sea surfaces beside the ability for you to bring in your own radar reflectivity models.
And then you can specify the regions of interest to generate radar returns from. This is very useful in many different applications, including coverage analysis for a ground radar, MTI radar performance prediction, and also synthesizing synthetic aperture radar data for evaluating our imaging algorithms. With that, I would like to thank you for taking the time to attend this presentation. Thank you.