Pre-Conference Tutorial: Radar Scenario Generation & Data Synthesis with MATLAB - MATLAB & Simulink
Video Player is loading.
Current Time 0:00
Duration 1:01:04
Loaded: 0.27%
Stream Type LIVE
Remaining Time 1:01:04
 
1x
  • Chapters
  • descriptions off, selected
  • captions off, selected
  • en (Main), selected
    Video length is 1:01:04

    Pre-Conference Tutorial: Radar Scenario Generation & Data Synthesis with MATLAB

    Overview

    In this session, you will learn how to use Radar Toolbox to create realistic scenarios that can be used to evaluate a radar system design and drive system level simulations. We will translate a preliminary radar design into a statistical model which will be used to generate detections, clustered detections, and tracks. We will then show how to move to a signal-level model directly from the statistical model.

    Highlights

    Using a series of examples, we will demonstrate how to:

    • Model complex, multi-target scenarios including environmental and clutter effects
    • Validate results between different modeling abstraction levels
    • Integrate radar signal and data processing to process the synthesized data

    About the Presenter

    Rick Gentile, Product Manager MathWorks

    Rick Gentile is the product manager for radar and sensor fusion products at MathWorks. Prior to joining MathWorks, Rick was a Radar Systems Engineer at MITRE and MIT Lincoln Laboratory, where he worked on the development of a range of large radar systems. Rick also was a DSP Applications Engineer at Analog Devices where he led embedded processor and system level architecture definitions for high performance signal processing systems used in aerospace, defense, automotive and industrial applications. Rick is a co-author of the textbook "Embedded Media Processing". He received a B.S. in Electrical and Computer Engineering from the University of Massachusetts, Amherst and an M.S. in Electrical and Computer Engineering from Northeastern University, where his focus areas of study included Microwave Engineering, Communications and Signal Processing.

    Recorded: 10 Dec 2021

    Good, well, welcome everyone to this pre-conference tutorial as part of the CII radar communications technologies for aerospace and defense virtual conference. And a lot of the activities happen later, or actually tomorrow, I guess, but later my time today. And I'm focused-- my name is Rick Gentile. I work at MathWorks, and we're sponsoring the event.

    And this is part of a pre-conference tutorial that we want to offer that's focused on radar scenario generation and data synthesis using MATLAB. And I'm based in the US outside Boston there, our headquarters in Natick. My role is a product manager for the radar and sensor fusion products. So I'm happy to be able to share some of this with you.

    The session tomorrow is-- got some great attendees, icons in the radar industry in India. So we're very lucky to have that. I'm trying to provide you some insights into some of the tools that we have that will help with the kinds of systems that will be discussed tomorrow.

    So with that short introduction, welcome to folks that are part of the conference and also other folks that have joined the session through other invites. My contact information is here if you have questions on the content or anything that I go through and you want to ask afterwards. My email address is here for you. You want to note it down. I'll provide it at the end as well.

    Also, if you want a copy of the slides, that will also be an option to send me an email. I'd be happy to provide you with a copy of what I go through today. So I thought a mix of some slides, just to set some of the context, but I'll spend more time in MATLAB showing you some of the basic building blocks for radar scenario generation and data synthesis. I should note if you have questions during the session, please get them to Q&A or the chat, and I'll try to address them as we go here.

    So a lot of what I'll talk about today is focused and enabled with a product that we launched earlier in '21 as part of '21a, which is the Radar Toolbox. And prior to the Radar Toolbox being out, we had a lot of our radar building blocks in Phased Array System Toolbox. But we really expanded what we offer for radar, including the environment and the scenarios and a lot more options on data synthesis. So that's really what I want to focus on in this session today.

    When we think of all the components that are required to make a radar system, certainly it starts with the antenna and RF, as well as signal processing, all the hardware and software that's required to generate the detections of a system. But also more recently with our Sensor Fusion and Tracking Toolbox, we've brought into the data processing, and even the resource management, control aspects of the system.

    So really, when you think about the whole block diagram of what a radar consists of, we've got building blocks that I'll show you today that you can use to design and analyze each subsystem in a radar and then also reuse those as part of a larger system model. So I'll try to go through that today.

    Equally important to the building blocks is the environment, the scenes, the scenarios, all the aspects of what goes into the operating conditions of a radar. It's just as important to be able to model with the goal of being able to augment the data that you collect in the field, but also to generate the corner cases that are difficult to create. So I want to show you some of that as well.

    And then, I'll-- we won't have time to go into the larger picture and integrating it with some of the other things like AI or some of the other MathWorks workflows that bring you deeper and integrate across the teams, but I wanted to let you know I will talk a little bit about that in the session that I have during the conference itself if you're interested.

    OK, with that background, I've got three topics today that I'll go through, the radar system engineering piece, which is really about setting the stage for the design and some of the work that we'll show in the modeling. The second piece is really about that scenario generation and the environment and being able to model those things and put those together. And then, I'll talk a little bit about putting those together in a modeling and simulation system.

    So we'll start with radar system engineering. And for radar system engineering, we're really talking about the up front portion of a project, either a new project or an upgrade to an existing project, where we're looking to see what's possible. We've got a set of requirements, and we're really trying to account for-- on paper, is it going to work?

    And this is an area that I think in a lot of the places that I've worked-- prior to MathWorks I worked in a lot of radar companies. And every place I worked a lot of this was done in the spreadsheets. And it works, but it's very difficult to share across teams, and it's actually difficult to connect with models and the actual development. It's very easy to make mistakes. It's very custom to the person that puts the spreadsheet together, so we're really trying to help with that process in this first section of this discussion.

    So we think of the radar equation, we really expand that out into a radar budget of gains and losses that represent the whole system. And that starts with the basic parameters of the radar, including frequency and bandwidth, and pulse repetition frequency, and all the kind of building blocks like that. There's also losses and gains associated with the hardware, including what the beam looks like, and how much gain the antenna brings, and those kinds of aspects.

    There's processing gains and losses, of course, scanning gains and losses. And then we know that whatever we put in, there's always going to be custom things that you bring in to the table. So there's always a way to add your own models to this piece.

    I should mention everything that I show you today is written in MATLAB as well. So when you have Radar Toolbox, you also have the source code in MATLAB to see how these systems are put together, how the building blocks are put together.

    A lot of what we start with here is these fundamental building blocks for the radar design. As a result of that work, we've added in a bunch of functions that will help you make those trade-offs with a goal of making a decision, but also calculating parameters that will be used in your system model and eventually your system design.

    You'll see some new plots that we've added in to help visualize the radar link budget as well. I'll show you those in a minute. I've talked about the radar, the radar itself, but there's also an aspect of the environment which is just as important, if not more important, to be able to model that correctly because you're going to be getting returns. You want to be able to develop algorithms before you develop your system, before you have to go collect data in the field.

    So this includes everything from the target to the clutter to the atmospheric conditions, rain, gas and fog, precipitation, all the aspects of that. And so those will be building blocks that you can use, both from a function standpoint, like you you'll see here, but also from a modeling component. So when we do the channel models, we talk about those. That will actually be another way to bring these directly into the model and reuse what you do during the system engineering portion back into your modeling case.

    I mentioned some of the visualizations. A lot of what the radar equation provides fundamentally is the components of what makes a system capable of detecting a target. It takes into account all the gains and losses of the hardware, the propagation losses, and all these. And when you put them together hopefully you end up with a strong enough signal to noise ratio to detect the target or targets that are in the field of the view of the radar.

    So what we've done, and you'll see this both in MATLAB, but also in an app that we have called the Radar Designer app, which I'll talk about in a minute, which allows you to take the key parameters of the radar equation and work with them interactively and produce a set of metrics that you can evaluate, both from a threshold standpoint, meaning the minimum set that the system achieves, as well as the objective goals.

    And so the threshold and the objective are things that you enter in, and they're specific to your radar. And then, depending on the type of radar you're building, you can have the evaluation that says doesn't meet the objective. In this case, green represents that it does meet the objective and threshold. Yellow means that it meets the threshold, but not the objective. And then red would mean that it doesn't achieve it. I'll show you that in a minute.

    Other visualizations that we've added in, the scene geometry ranged out the coverage, clutter, noise ratio, plots, and also the expanded vertical coverage diagram to see exactly what the radar is going to see in this vertical coverage diagram-type Blake chart. So a lot of the system engineering functions are spread across working with different aspects of the radar equation and being able to generate an answer and/or a plot conveniently directly from the radar equation.

    There's also a set of performance analysis aspects that if you're developing SAR, I encourage you take a look at that allow you to figure out the key parameters that would go into either an airborne or a spaceborne SAR system. By the way, I should mention anywhere where there's a tile here means that there's a shipping example that you can look at as well.

    We don't have time to go through all the examples, but I just want to let you know that there are examples for all these that I'm talking about. Another category is the effectivity of the MTI processing, and this is also an area where the function-- there's a whole bunch of functions that allow you to work directly with this type of design.

    All right, so let's get into MATLAB a little bit now. So I mentioned that the radar equation is really the fundamental starting point for the system engineering piece and being able to interactively describe that and look at how you can make a change and see how it affects the design. What you'll see in this is that we have a set of pre-configured radars that are here as starting points because there's a lot of parameters to start with.

    So I want to make it easy for you to get started, but you can also define your own system and I'll show you how to do that. There's a tool strip on top we'll go through. And then, I think the key thing is that as you make changes on the left, you'll see the effects of those changes directly as you're making the changes in the middle of the app.

    As with all the apps that I talk about today, and really, I think that you can use with radar, there's always an export button that allows you to generate a script and also a report in this case. So I'll talk about that, and I'll show you that in a minute here.

    So let's go to MATLAB and we'll open this up. So the premise of this first example that I want to show you is really about comparing the changes to an existing system and being able to see if the changes that you're making are going to-- what types of changes you need to make to respond to an evolving target, an evolving requirement.

    So in this case, the premise is that we have an X-band radar that's built to look at large targets. And of course, we know with the introduction of drones and UAVs and things like this where the target becomes much smaller, how do we-- what kinds of changes do we need to make to an existing radar system to make that detectability possible.

    So a lot of what we're talking about here is starting with the X-band system and looking at things like power, and where the radar is mounted, and what its field of view is. And of course, this idea that we have a much smaller target, 1 meter squared or even below that for UAVs, allows you to take those requirements and put them directly into the app and see what's happening. Also, environmental conditions, all the information about what the radar does, probability detection, all those kinds of aspects, are accounted for.

    So let's go through this, and I'll show you this in the app here. So I've opened up the app already and if you're not familiar with the apps we have, I have all the tools installed. So there's a lot of apps showing up here, but basically I've done the Radar Designer here and shortly I'll also show you the Tracking Scenario Designer as well.

    Let's go back to that app. And as I mentioned in the slides there, the way it's set up is that when you log in or when you open up the app and you say new session, you've got this palette of existing radars that are already pre-configured, airborne, airport, automotive, tracking, weather. And the idea here is that you can use those as starting points because you'll see there's a lot of parameters to configure. So it's good to start somewhere.

    Once you've populated that, you can actually save the session that you want. Now, I've created a session for this webinar. So I'm going to open this session that I've created here, which is a surveillance radar data with small targets. Actually, I did one for the webinar here. I'll use that one. So this is a scenario that I created already in MATLAB. I saved it and I can come back and pick it up.

    This of course is something that I'd also be able to share with my colleagues. So I say without this, I might do something in a spreadsheet and send them an Excel file. And then a lot of room for error or different units and things like that. But with this, I can now save my session and share it as well.

    Now, you can see I've got, like in the case that I'm talking about, I was considering two designs, a next generation radar and then an alternate design. And for each of the radars that I have here, the alternate design and the initial design, I can create tabs for each of these radars. And when I look at the radars, I can look at them side by side to see exactly how a change in the design affects one versus the other. So it's a convenient way to compare designs for us for a given target and scenario.

    Part of the main configurations here are the ones you'd expect, the frequency, pulse, bandwidth, PRF, all the aspects here, things like the high-level portions of the hardware configurations. Every time that you want to expand, there's a button there to further expand on different information, like in this case, the quantization noise.

    You can define your antenna and scanning information. There's metrics for detection and tracking other loss factors, including custom losses and also some initial track confirmation logic. So a lot of parameters to configure the initial set of the radar. We're also talking about putting it in a scene.

    So currently we have an option to have a target, and you can specify the information about the target, including the cross section and the swirling model and information about what it looks like. The other pieces, the environmental conditions-- so right now by default, it's set to free space. When you uncheck that, you're also given a bunch of other options to configure this directly in and define the kind of scenario that you're looking for here.

    So as you start looking through this, you can start to define things like what the atmospheric conditions are there, what type of surface that it's going to be reflecting off of, and information about precipitation, rain, gas, and fog, as I mentioned. And there's a lot of details here that probably will take a long time to go through, but I just wanted to give you a sense of that.

    The other piece that I mentioned, I mentioned some of the new plots we talked about, and a lot of these are the visualizations I showed you in PowerPoint. But you're able to, just by clicking on one of these buttons, you're able to change the view that you see in the panel here. So for example, this is the detectability factor. This is like the gains and losses of your budget to see exactly where you're going to be and what size, what SNR value target you'll be able to detect in this kind of a system.

    I mentioned a little bit down here, the red and green here, so yellow-- so in this case, I see a lot of reds here on my alternate design. So right now, as of right now, that wouldn't meet my threshold or my objective. So I've got that starting point. Notice also the units here. This is a common error for mistake, or area for mistake, when you're sharing these in spreadsheets.

    So you're able to specify the types of units you want here, and it really enforces that through the model so you have an apples to apples comparison as you're using numbers. That's an important piece. As I mentioned, the export here, you can export a code to generate these plots that I've generated, as well as a metrics report directly in MATLAB. So if you generate this, you're going to get the code.

    So let me just show you that. If I say export, I end up with a code here that has all the functions that I'd use to specify that design. So now when I say this off, I can rerun this and recreate what I did in the app. And now, I've got a starting point with some of the new functions that would be easier to discover when you're looking at it this way. So just wanted to highlight that.

    The other piece I should mention is if you do miss spreadsheets, you can also export this to a report, and so that's an option as well. So if you do it through report value, you produce a tabular form that if you run this code you will get a table in MATLAB. Optionally, there's some code produced here that allows you to-- if you comment this out, this will generate a CSV file that you can then use back in the spreadsheet software.

    So I'm going to come back to that. But I think one of the key parameters here is that when you export this, one of the things that you're going to get is a set of-- so this is basically what I just did. If I run that code, I get something like this as a table. And what I can now do is use this in the next stage of the model.

    So some of the information that I wanted is going to have-- some of these parameters are going to have a home when I actually start to specify the next level of model. So let's go let's go to that step. Part of also what I'm doing here-- remember that waterfall display that I showed you that showed detectability. I can determine when a target is detectable.

    So before I go too far in the model, I may want to import a scenario from a map. In this case, detailed information where I'm able to-- in this case, I'm looking into the mountains in Colorado. And I've got a radar in the distance that I'm trying to look at a small target that's loitering above the mountain. So the radar is where this red line is. And if I play this out, I put a target in a loitering circular trajectory over the mountains.

    And what you see visualized here is the-- anywhere where it's red is showing a-- it doesn't have line of sight to the target. So first I'm looking, getting a sense of how is the system going to work specific to this area. And anywhere where it's red, as I mentioned, it's no line of sight. Anywhere where it's not red, the value is scaled to the level of SNR.

    But as you know, just having a non-- just having line of sight doesn't mean that you can detect the target. So these areas where the SNR is present, we can now take that and use the information that we got out of the app to figure out exactly where the target should be detected, given the parameters that we specify for probability, detection, and probably false alarm, and the basic information of the radar.

    It's pretty easy to set a system like this up. And we can then apply the information out of the app to figure out exactly where the target should be detectable. So when we move to the right, what you see is the red includes the areas where it's either there's no line of sight or the SNR is not sufficient for detectability.

    Now how do we make that line go green? Well, we could maybe increase the power of the radar. That's a knob in the parameter that we talked about. That's also in the app that I just showed. I could potentially mount the radar higher. I might improve my signal processing. There's a bunch of different things you can do at the power level to see, radar equation level, to see what's going to happen in this case.

    So it gives you a good framework to start with. You've got the basics of the model of what the radar is going to do. You have access to the knobs to make quick changes. And then you can put it into a system like this and see all right, I have confidence that this is possible. I could start moving to the next step.

    Now, part of what we've focused on also is making it easy to use that same kind of scenario starting point in your power level analysis, like in a case that I just showed you, then re-use that across the other abstraction level that you might need. This includes the waveform-level modeling and measurement-level modeling.

    Now, what do I mean by those two? So measurement-level modeling is generated from the radar equation as well. And it's a statistical model that allows you to generate either detections directly, clustered cluster detections, or tracks directly from a radar model. I'm going to go through this next.

    And what we use for this is something called radar data generator. So it's a model that you can configure, and some of the parameters are going to be unique to your system. Some of the parameters are going to be directly taken from what comes out of the app that I showed you in those metrics. So I'll show you those. This is about 60 parameters you can configure.

    The good news is once you configure them, you don't have to-- you can reuse those across your code. And you can also use those and share those parameters with your colleagues if you're sharing that level of model. Why have that access of model? Well, a couple of reasons. One is sometimes the work you're doing only requires detections, cluster detections, or tracks.

    So one hand, if you're doing tracking or sensor fusion, or even if you're a system engineer and you're looking at the upfront portion of your work, and you want to see what's in the realm of possibilities, being able to generate those things quickly, can put together a radar model quickly, can be very useful.

    So the two things. One is the work you're doing dictates that you want those directly. And maybe you're running, if you're a system engineer, maybe you're running a much longer scenario, and, of course, this is much faster if you're using the radar equation to generate these statistically. What does statistically mean? Well, if I have a beam that's facing out for sight of the radar and I have a large target in the field of view, then the likelihood-- there's a high chance that there will be a detection in that field of view.

    If I've got a small target that's really far away in the Cisco model, then most likely it won't generate a detection. So it works like that As we go to the left of this picture, the waveform level piece really is the one that says, OK, well, I want to be able to model everything from the array to the waveforms to the channel model, all the aspects that you would normally see that would equate to pieces that you're building in the real system.

    The output of this model, the waveform-model, includes IQ signals that really represent-- this could be built up and used for the data cube. So you might have fast-time and slow-time processing where you're building up the data cube. And you can perform all the signal processing, spatial signal processing like beamforming, direction of arrival, of course all the match filtering and CFR detection that would go into that kind of a system.

    Now, what's the advantage of that? Well, I might be developing signal processing algorithms. So I want to be able to use that output to figure out what needs to be done. I also may have a corner case where a certain interference is present, or aircraft or targets are maneuvering in a certain way that I really want to see exactly what happens in the signal, so that I know when I build my algorithm I have the chance to respond to it properly.

    I'm going to show you that how to do this next. The other thing is that sometimes it's easier to start with the measurement-level model, and we'll show a way to move directly to a waveform-level model with our radar transceiver capabilities. See here, yes, so OK, let me just take a quick break here. I see a couple of questions in the Q&A here.

    So if one of them is on, can it also confuse staff loss for a mode? Yeah, so we have a bunch of different staff workflows, and I'll show you those before the end here as well. Great question. With the staff piece, part of it is setting up the scenario and part of it is-- it's applying, eliminating, the effects of clutter and interference. I'll show you an example of that at the end here.

    When you set a-- OK, so another question is when you select a surface type, does it use a constant gamma clutter model to assess the clutter impact on that scenario? Yes. Yes, exactly. So there's two worlds-- this is a good picture to show this on-- there's two worlds, statistical and and waveform. So we use-- currently we have a constant gamma clutter.

    One thing I would encourage you to stay tuned on for the clutter, especially if you have access to the pre-release, is some additional cluttering models that are going to be available. So we're excited about that and so stay tuned for that. And if you have specific questions, then I can probably share some things. But lots of good work coming on cloud and that go beyond Constant Gamma.

    So I started off, I sort of alluded to trajectories because you saw in the case where I had the detect information and I had that target that was moving around the mountains. Obviously, we can set a trajectory in motion. The goal here is to be able to generate a scene that can be used across all aspects of this modeling case. So I think the nice thing is that you can create the scenario once and then reuse it across there.

    So if you're doing something, if you're a signal processing engineer, or a data processing engineer, or system engineer, you could say, look, these are the five scenarios we want to focus on. And in some ways, everybody has a place to integrate with that scenario. So it doesn't matter what you're using across the board here. You have that scenario as a starting point that you can use.

    And even though the data that comes out of each of the modeling types is different, you have a common framework to build on to say, well, OK, I'm going to get IQ signals in this case, but at least the airplane is moving in the same place, or the radar's mounted in the same spot, or the UAV is here or there. And that's an important piece.

    There's another question about automotive as well. Automotive radar modeling, and absolutely. In fact, we have a version of this presentation that also applies to automotive radar modeling or UAV radar modeling. I've talked this a little bit more for the aero def applications, but there's an equivalent workflow that goes for automotive as well in that sense. So I'll show you a picture of that as we go forward here if you're interested in as well.

    But most of what I have is focused on aero def in the slides and examples, but it will there. And I think probably the key difference for automotive and I think I have one simple example to show you here, is that when we think of automotive and the effects of multipath on radar in generating ghost detections, that's an area that we have a lot of focus on. So I'll show you an example of that coming up. Good question.

    So we have the need for the common scenario because we want to have a common scenario that drives each of the modeling levels across each of the cases that I showed you. So what does our radar scenario look like? Well, we start off by defining platforms and targets. Platforms and targets are-- they can be systems that are moving or static in the scene. And they can have dimensions because they can also be targets to other sensors. And we can assign them an RCS pattern that varies with angle, aspect angle. and frequency.

    And we can also then set those platforms in motion. Now, there's a couple of different ways to set these in motion, one with kinematics, also waypoints. And I'll show you something else in another app that I want to show you how to generate these. You can also use like lat long as well. We can mount the sensor's radars on the platforms. So if I had a tower, I can mount it at the top of the tower. If I have a UAV, I can mount it on the side of the UAV and have it looking off the side.

    We can mount an INS. This is an important initial navigation system as a way to capture the motion of the platform. So for example, if I had a UAV with a side-mounted radar and I wanted to maneuver the UAV, like let's say in a circular orbit like I showed you earlier. Well, what's going to happen is when the radar takes a measurement and it's looking off the side, we need to understand the orientation with respect to what the platform's doing. So that's an important aspect.

    And then we have the option of generating radar data directly. And again, IQ signals, detections, and tracks. I also am really excited about this Monte Carlo aspect that allows you to perturb ground truth. This can be in the form of the trajectories that you generate, as well as the sensor parameters as well. And what's nice about this is you can go from one to many to improve robustness. Or, if you're training a network for a deep learning network, for example, it's very easy to generate this data directly using the Monte Carlo piece. I'll show you a quick example of that as well.

    This is actually data that one of our customers had shared with us and allowed us to use in this kind of forum. And what you see here is an autonomous system that's moving. That's this blue circle here that's moving. And the other blue circles are actually radar detections that are being generated from a radar mounted on that platform. You'll notice the yellow lines. Those are actually from a passive sensor.

    So the key thing is you'll see you can actually integrate with-- generate radar data and integrate it with other sensor modalities. That's really part of our Sensor Fusion workflow. This is just a close up of the same picture here around two targets. And you can see the blue circles here are radar detections and notice the sphere around them. That's the uncertainty in the measurement that you have, based on how you configured your radar model to begin with.

    What's nice about this is if you already have data and you want to start using the tools to augment the data or to build up other data sets, you can get a sense of what your radar data looks like in the scenario through visualization. And then once it's in there, you can actually try to recreate the scene directly using the sensor models that I showed you.

    So in this case, what you'll see is that this is kind of a similar system of what I showed to say, well, OK, I had a scenario. I know what my radar. How do I get it running in the scenario that you have here. This is like this is an example of that case. This is the system with the platform on it. The radar coverage is shown in this blue beam. And then this orange one that's scanning is the passive sensor, and then you can see those passive detections that are being generated.

    Now the nice thing is, once it's in the scenario, what can happen. Well, now I can actually use that perturb methods that I have on the truth, which includes the sensor parameters and the trajectory. And so what's nice about that is now I can go from one to many, just like I was talking about here. So how do I do that? Well, here's a case where I'm just showing you the trajectory, but the same thing could be used for the data model itself, the sensor model itself.

    So what you see is the baseline scenario. Here is an aircraft approaching the landing, and those black boxes around the trajectory are what we define as a nominal trajectory or an anomalous trajectory. So what we want to do is generate some data. So we'll perturb the ground truth, and with just a few lines of code in MATLAB and using this perturb capability, we're able to generate multiple trajectories with just that small loop. And now, I've just gone from one to many.

    And now, if I want to be able to do more testing, I want to do more access on data. And in this case, we want to use it for training and network, seeing how the tracker responds and being able to detect how well the tracker does in identifying an anomalous trajectory, as an example. But there's many other applications you could use.

    I talked about targets being modeled at any level. The key fundamental piece, if we have a target way in the distance, it's typically done with a point target, different swirling models, different values of RCS. If you have your own measurements, or you want to simulate your own measurements, we have a container that you can map your measurements directly in by azimuth and elevation into the container.

    That container effectively provides a lookup table for the radar model, such that regardless of what the target's doing, its orientation and everything, you can see how it maps back to the value that gets returned in the radar model. So that's a key aspect of it. Of course, we also have some functions to do basic shapes.

    You can use basic shapes, cones and cylinders, for example. Or you can put basic shapes together to build your more complex targets. Cuboids are also there. I showed that with the extent a little bit. Moving to the right, things like non-rigid bodies, so getting micro-Doppler from blades and pedestrians walking, or anything that's moving, wind turbines, things like this.

    And then also on the far right here, it's really about taking the solved component and taking the returns and then generating something that goes into that pattern. That could come from another tool. It could come from our Antenna Toolbox. This could also come from measurements in the field or in the chamber.

    I talked a little bit about the trajectories here. But just to give you a sense of this, the different frames, the scenario incorporates or encompasses the idea of this global frame, as well as, which in this case would be ECEF, but also the concept of the local frame to the platform. So the sensor has its own coordinate system. That has to be mounted on the platform, and that platform has to live in, operate in, a larger theater. So those are all accounted for as well.

    I want to start now, let me show you this example in MATLAB because I think it goes through some nice things that I wanted to go through here. So let's see, I'm going to start with a quick example that just walks through some different things on the scenario and I'll show you a couple of other examples that build on this piece here.

    So it's pretty simple to start a radar scenario. So we're just seeing radarScenario here. There's no semicolon here, so it shows up in the live editor on the right. And you can see it has some basic information, including update rate, whether it's Earth-centered while it's simulation time, and it has some basic parameters in that setup.

    This is going to be the container that includes all the things that are going to happen in the scenario. So we can add platforms to that scenario. Scenario is our scenario name. And we're going to define a platform, and the platform has a bunch of different information.

    It's got an ID so that we can distinguish it from other ones, the class that it is, also its position, orientation, and dimensions. It can have a length, width, and height, so we can give it dimensions and its pose, and whether or not it has emitters or sensors mounted on it. In this case, since we just defined it, it doesn't have one. But it also can have a signature, so what does it look like to other sensors.

    So if I was going to define an aircraft here and I had multiple aircraft in the same scenario, I want the RCS to be defined so that when the other guy's radar sees it, it generates a return. Now, these come up as default empty, but I can add an emitter, an RF emitter, on it. Or I can add a radar, for example, or an RF receiver directly on the platform.

    I can assign it a class ID, which is dot to denote this tower in this case. We can define the signature. So this is just populating the ones that were by default set up. So this you can see the-- we're using a pattern from a cylinder. So maybe it looks like a-- the target looks like a cylinder.

    You could use our functions to generate other RCSes. You may have your own RCS. But notice what I mentioned here, is a pattern, and it's specified by azimuth and elevation and frequency. So that's a common container that can be used across all the different modeling types.

    We talked about the platform dimensions. So in this case, there's no dimensions by default, but you can go in and just set the dimensions up. And now, we can set up a trajectory. Of course, for the tower, the trajectory is basically just its orientation and where it's located. It's not moving. And when I visualize the plot here, I've got a tower that's looking in the 3D scene that we can use directly in the system.

    Now, when we turn this on, the tower doesn't have any radar on it. So we can add this radar data generator to the tower. OK, so this is going to introduce the concept of radar data generation, so I want to show you that next. So let's do this, do this here, show you here. So this is going to be the model that I mentioned for data generation.

    And a couple of things that I want to note about this, notice the transceiver here. We're going to talk about that next. But when I look at the radar data generator, this is a building block that you can use to specify all the parameters here. There's about 60 parameters here, remember. I mentioned the output of the app.

    Those can be used directly in this kind of a system. It includes things like the ID, the mounting location, the scanning settings, electronic mechanical electronic note scanning and custom, this is kind of a stair mode, all the aspects that, depending on which scan you do, you can further specify the information. Notice also you can specify whether it's monostatic. It's more of an EW type system or a bistatic system.

    You can define what measurement looks like here in terms of ambiguities and inaccuracies, noise levels, false alarms. This is also a key one here. With this same one, I can specify whether I want cluster detections out, tracks, or detections. So with just one parameter in one line of code, a subset of a line of code, you can specify what you want the output to look like. If you do specify tracks here, that means that when you run that scenario, you can get just as if you had the output of a tracker.

    Now, the other piece that I wanted to mention-- and you can see there's a lot of different pieces here that help you define further what it's going to look like. So a lot of times, this would take a little bit more time to go through and map to your system. But you've got all the knobs accessible to see exactly what to define the kind of system that you want to do.

    Now I mentioned the radar transceiver, and this is going to be the one that we use where we say when we got a good version of the data generator, we can generate a scene. But when we're done, we want to convert it over to an IQ system. And the container for the transceiver basically looks like the output arguments of the transceiver here. Oops, include the detailed building blocks that you would expect to build your system, waveform, transmitter, transmit antenna, receiver, so you have a starting point directly in that system.

    So let's go back. Let me show you an example here of-- go back to MATLAB here. So I want to show you this guy. This is a very simple example, but I think it helps describe exactly what we're talking about here. So in my scene, I'm going to show you a radar surrounded by three targets. So it's very simple, but it'll show you the plumbing of what needs to be done for this work.

    We're going to have a fixed location surveillance radar with three targets around here. So if I plot that out, what I see is three targets that are in the field of view. I can now add my sensor, which in this case is radar data generator. Notice that I'm setting this up with many fewer than 60 parameters because a lot of the parameters have smart defaults or are optional if you just want to extend the fidelity,

    So with just a few lines of code here, I can define a radar that scans, has a high probability of detection, has a specific update rate, and has a scanning, a rotating scan. So that's all required to set that up. I place that in the scene. So the radar is here and the targets around here.

    Now, I want to generate my data. So what I'm going to do is I'm going to have one loop here where I use my sensor, which is my radar data generator definition. That's what I've assigned to radar data generator. And I want to see what it looks like for these three targets across this loop. And what I'm going to end up with is a plot that looks like this.

    So there's a beam that scans around here, and what I hope to have is that, since I set the probability detection so high, I've got three detections to correspond to each of these targets. Now, they were close targets. There was a high probability detection. So for this purpose, that's what these green diamonds are. You see it superimposed over the ground truth.

    Here's the piece I want to show you. So now, if I take that same sensor definition-- sensor is our radar data generator configuration-- and I use the radar transceiver component that I showed you, the output of this piece here, sensor IQ, includes the waveform, the transmitter, and all the aspects here. Such that now, when I run this, instead of getting a detection in our object detection format, what I'm going to get is a signal that-- the output of this loop is actually going to generate the signal that I can then do signal processing on, apply a threshold detector, apply a CFR detector on it.

    So when I'm done-- that's exactly what I'll do here is I'll apply a threshold detector. And we can see that, we can see whether or not we get the same answer. So as we run through this, if we plot this with the hold on where we're showing the statistical detections, the ground truth, and the IQ detection, what's nice about this is that the model generates the same results.

    So these are all superimposed here, which means that I can get the same answer, same starting point, and use that same framework in there. It's a very simple example. But once you have that scenario, that same scenario can be used across both models. And what I get out varies from a signal to a versus an object detection, which comes out-- sorry, in this case here, these are object detections-- that are, it's a defined format that we use our sensor models.

    Now, there's been a couple of questions on automotive radar. So let me just show you something quickly. I think it's applicable to this, is we have an example here that-- I'll just show you a plot here that I think will help show this nicely. There's a corresponding automotive example that we have that maps out the workflow that I just showed you.

    We start off with a data generator for automotive. We generate the data, and I'm just going to scroll down to the bottom and show you the results here. But basically what we end up with is this view, which I think shows you the kind of thing that you can do in a little more complex version but for automotive.

    And basically, what you see here is on the left. This is the output of the radar data generator plot for a given scenario. And the ghost detections are here. These are from multipath outward reflections. And also on the right here, is the result of the IQ simulation for the same system. So it just gives you the same picture of what I just showed you more in the surveillance radar set with an automotive case.

    So there's a lot of information along this, so I encourage you to take a look at that afterwards. All right, let's go back to the presentation here. I want to show you we're almost at the end here. I went through this one. I've included this in the slides just in case people wanted a copy of the slides. So I've got some slides I'll skip through that I just showed you the same thing in the system here.

    OK, so let me just show you this. I just went through this quickly, but let me just show you a couple more plots that I want to show you here. So the output, the output of the sensor IQ, that loop that I showed you that generated the IQ data, includes this kind of data. So exactly the signal that comes out, the IQ signal over time, and I can apply a threshold detector and generate the detection. So that's the output of those kinds of things here.

    So there's a question about terrain simulation. Yes, so you can. In that first picture I showed you, I've imported terrain and I can look at the terrain piece. So that first one was taking into account terrain. I've imported-- DTED is a terrain data. If you have your own data, you can bring that in as well. And then I've used that in the scenario to see exactly what's happening. I can look at the coverage over terrain. So that's definitely the case.

    There's also some, as I mentioned earlier, there's some things coming that will expand that. And if you have access to the pre-release which just came out, you'll see some expanded versions of terrain support and clutter. So if you're interested, please follow up afterwards. I can walk you through that.

    All right, the only other piece I want to show you on this was that-- I showed you the output of the radar transceiver. And the default antenna pattern looks like this because we want to make it give you the same answer as you get if you use the data generator. But each of these parameters can be configured. I just show you one as a simple example here.

    So with one line of code, I can replace the pattern that I use, the default pattern, with another pattern. In this case, I pick the cosine element, but this could be a pattern that you define or this could be a pattern that comes from a tensile box or that you measured in a chamber or whatever. So each of these building blocks, waveforms, they can be changed in a similar way.

    All right, so I talked a little about the IQ piece here. I've given you a little bit of a hint on this. But basically anything you want to do with the array and antenna piece, those can all be added in directly into the IQ simulation. So this includes detailed array designs, effects of mutual coupling, all those can be brought in.

    You can also bring the effects of RF into the system. So this is actually in Simulink that I'm showing you here, but a lot of this can be done in MATLAB as well with our RF system object that's been recently introduced. And what you see here is the receiver of an X-band radar, and it's got some specifications that we want to try to meet.

    And when we look at this kind of a system, we're basically going to-- we can look at things like the harmonic distortion, and you can look at the parameters for this stye. And also with the same framework, you can look at other parameters like, in this case, we're looking at the intermodulation distortion. We can look at this piece.

    And so once we have the right RF design or antenna design, we can continue to expand the level of fidelity of our IQ model. So it doesn't just stop at the high level. So if you have colleagues that are doing RF or antenna, they also have a place in the model. So as your project progresses, you can take the outputs of those styes and bring them into the model.

    I talked a little bit about propagation effects. This includes things like wideband, fading, all the aspects that you'd expect, reflections off of multiple objects. I did have this picture here, but you saw-- I just showed you the other picture in the example. It's a little bit better.

    But the idea here is that-- I'll use the automotive example here just to show the case. But one of the parameters that you can set is to have ghost detections. And this could be in an urban environment from a UAV radar as well. But let's say that your ego vehicle is going down the road here. There's a reflector in the form of a guardrail, and you're getting these reflections. And so there's no target over here. These are actually ghost targets, but the effect the-- they're the result of multipath reflections.

    Somebody asked about clutter earlier. There's multiple examples on STAP and so there's a nice introduction to STAP. It shows exactly the kinds of things you can model, set up the scenario, and also deal with the effects of the clutter and interference. Somebody also asked about MTI. There's also a couple of examples, both at the IQ level and statistical level, to cover MTI systems.

    But you can, once you have your array defined, you can actually put the beam down and define a clutter region that you're actually generating clutter from. Currently we have Constant Gamma, but if clutter is important to you, please take a look at the pre-release if you have access to it. And I think you'll like what you see.

    This is also a nice one because we get the question a lot about weather. And I mentioned weather from the standpoint of, the weather already from the standpoint of losses, but also what about weather as a target. So in this case, this is a project we did with the University of Oklahoma. The ARRC there, they focus on weather radars and weather research.

    And we collaborated with them on this, and it's a nice piece to show. We got data from-- there's publicly available data from that was collected with NEXRAD and we can see exactly how NEXRAD did. And we can compare it to what the model shows, and visually the plots look good as you look at different parameters in the weather system.

    But there's also analytic metrics that you can look at to see how close they are, actually are. So this is good from two reasons. One is weather is a concern, so being able to model it is enabled with polarization. But also, being able to see that if you model a system, how does it compare it to a real system. So it's a good reference from that standpoint.

    I showed a threshold example, but there's a lot of different signal processing algorithms you can use, spatial signal processing all the way up through tracking. So I encourage you to take a look at those. We have sessions just dedicated to that topic.

    I mentioned quickly Sensor Fusion and Tracking Toolbox. We provide a basic track multi-object tracker in Radar Toolbox, but there's a lot of advanced trackers in Sensor Fusion and Tracking Toolbox, including customizable filters, and motion models, and assignment algorithms.

    We've got a lot of information on our website. If you need information, feel free to send an email to one of us. I think there's a lot of different lengths you can go to. But all the examples that I showed you and all the workflows I showed you, one place to start could be this radar piece. If you go to our website and just type radar, you can also find other resources. I'm happy to send them to you as well, but but this is a great place to start.

    I do want to remind folks that tomorrow, or tomorrow my time, I think, we've got the virtual conference. It's Saturday, and these times are local India time. But as I said, this group of prestigious radar folks are going to be speaking. There's talks and there's also a panel as well. So I encourage you to do it, to attend. If you're outside India, the time's a little tricky, but yeah.

    So that brings us to the end of the session. I can stay for questions. I've been answering questions as it goes, so I've tried to keep up with the questions that have come in. Some great questions here. This is just scratching the surface of what you can do with Radar Toolbox. A lot of what we do for the data synthesis piece also feeds into AI.

    So we've got a lot of applications where we show use of AI for everything from things you'd expect, classification, signal identification, spectrum monitoring, micro-Doppler recognition, gesture, or pedestrians, bicycle, all these things that can be extended to other applications as well. So the workflows are in place. The building blocks are there.

    And I think that brings us to the end of this session. Thank you for your time today. Hopefully this is helpful and look forward to hearing from you. Again, if you're interested in a copy of the slides, I'm happy to send them. The deck that I have, I took screenshots of a lot of demos I have here. So the number of slides you see will be longer than what we went through, but it's because I showed the, I showed there.

    I think my colleagues are also sharing some additional links that might be useful directly in the chat as well. Any other questions? OK Great, so feel free to-- I'll just put my email address up again if you want slides or if you have questions. And you also have my colleagues that are in the chat also sharing there that are available as well.

    Thank you very much for your time and it was great talking with you.