Pulse-Doppler Radar | Understanding Radar Principles
From the series: Understanding Radar Principles
Watch an introduction to the concept of pulse-Doppler radar. Learn how to determine range and radial velocity using a series of radar pulses.
Pulse compression and the matched filter are covered, as well as how to amplify signal-to-noise ratio (SNR) with pulse integration. Two of the three axes in the data cube are introduced, and you will be shown the benefits of looking at the data across the so-called fast-time and slow-time dimensions.
Published: 13 Jun 2022
In this video, we're going to introduce pulsed Doppler radar. And specifically, I want to talk about how to determine range and radial velocity using a series of radar pulses. I think it's really interesting. And I hope this graphical introduction to the topic will provide a foundation on which you can build your knowledge going forward. So I hope you stick around for it. I'm Brian, and welcome to a MATLAB Tech Talk.
As the name suggests, pulse radar systems send out short bursts, or pulses, of high-energy waves, followed by long periods of silence, where the receiver is listening for the reflected signal. And so the transmitted waveform in pulsed radar would look something like this. At first, there's a period where the transmitter is silent and no signals are being sent. And then at the beginning of the pulse, it starts to transmit the IQ signals.
And there are different modulation schemes that can be used within the pulse. But here I'm just showing a fixed frequency of 2.8 gigahertz. So during the pulse, a constant 2.8 gigahertz signal is being transmitted.
The radar transmits for a certain amount of time called the pulse width. And in this example, I'm using a pulse width of 1 microsecond. Now, since the signal is oscillating 2,800 times within this pulse, it just looks like a solid block at this resolution. So instead of showing the signal itself, I'll just represent the pulse as an outline of the amplitude of the signal. This fixed frequency scheme is called a rectangular pulse, since the amplitude of the signal forms this rectangle as the pulse is turned on and off.
Now, in a pulsed radar system, the pulse has to radiate out, reflect off of an object, and return to the radar before the next pulse is sent. This is so that there's no ambiguity as to which pulse the echo belongs to. It's always the pulse that was just sent.
But because of this, if we want to design a radar that can operate over long distances, like with an airport radar, then we need to allow enough time between pulses to account for the speed of light travel to and from the object. Here I'm sending out a pulse every one millisecond, or with a pulse repetition frequency, or PRF, of 1 kilohertz. The max unambiguous range for this system, given a PRF of 1 kilohertz and a pulse width of 1 microsecond, is just under 150 kilometers. Or another way to think about it is that light travels about 300 kilometers-- that's the round trip distance to the object-- in 999 microseconds. That's the dead time between pulses.
OK, assuming there's a single object in the field of view of the radar at some distance less than 150 kilometers, then each pulse will have an associated echo pulse. As we talked about in the last video, these signals are much weaker than the transmit pulse, as much of the power is lost to the environment. Also, the reflected signal will be slightly shifted in frequency if the object has radial velocity. And if you recall with FMCW radar, we used that very slight frequency shift to create a beat frequency. And from that, we were able to determine velocity.
Now, we're going to take a slightly different approach for determining velocity with this pulsed Doppler radar system, where we aren't directly measuring the frequency shift, but instead are looking at the phase shift between pulses. And we're going to get to that shortly. But first, let's talk about determining range.
If we zoom in on one of these received signals, it might look something like this. After the pulse is sent, the receiver starts listening. And even before the pulse returns, there's going to be some amount of noise power from the electronics and the environment. And when the reflected signal does return, hopefully it's much greater than the noise. And we can determine the time between when the pulse was sent and when it returns.
Now, the range to the object is calculated by determining the round trip distance that light would have traveled in that amount of time. And there's two things that I want to point out about this. The first is that the pulse isn't a single point in time, but it has width to it, in our case 1 microsecond. And light can travel about 300 meters in that amount of time. And so we might want to come up with a way of determining exactly when the pulse returns to less than 1 microsecond if we need better accuracy.
And also, finding the pulse might not be too difficult if the object is close and the reflected signal power is really high, like I'm showing here. But as we know, signal power drops by the distance to the object raised to the power of 4. So as the object gets further away, it becomes more difficult to pull it out of the noise, which brings us to the second thing that I want to talk about, the signal-to-noise ratio and the threshold at which an object is detectable.
We set this detectability threshold such that the probability of a false detection is low enough to not constantly claim random noise spikes are objects and not so high as to miss the signal completely. The constant false alarm rate, or CFAR, is a common form of adaptive algorithm that's used to set this threshold in order to achieve the required probability of false alarm. All right, so hopefully it's obvious that to increase the probability of detection and decrease probability of false alarm, we need to find a way to amplify the signal relative to the noise. And one way that can be achieved is with a matched filter.
Now, I left a link below to a longer and better explanation of a matched filter. But let me summarize it here quickly. We know the pattern of the pulse that was transmitted. In this case, it's the rectangular pulse. And it shows up in this equation as the filter h. We also know that when the pulse is received, it will have the same general shape, since it's just being reflected by the object.
Now, there will be noise, like we talked about. But if we just consider the signal itself, then it has this rectangular shape. The received signal is x in our equation. And by multiplying x by h that has been reversed in time and then summing the result, we are amplifying areas of strong correlation between h and x.
Graphically it looks like this. We flipped the transmitted pulse in time, which is the exact same in this case, since it has symmetry along this axis. And then we multiply it with the sampled received signal and sum the result.
Now, I should note that I'm showing the summed value-- that's this x here-- in the center of the filter, when really it would be at the current time, which is this far right. However, in processing, we usually account for the width of the filter and offset the result, like I'm showing here, so that the peak of the received pulse isn't shifted in time. Remember, it's the location of the peak that we use to determine distance. So we want it to stay in the same location, just get narrower.
All right, so at the beginning here, the result is 0. Since there's no received signal at this point, it's perfectly noiseless. And so multiplying the pulse by this produces a value of 0. Now we slide the filter to the next sample time and do the same. And we do it again and again until we've swept across the entire received signal.
And this has the effect of amplifying the signal and making the signal more narrow by turning that wide rectangle into a single peaked triangle. And this is why the matched filter is also called pulse compression, since we're compressing that wide pulse into a narrower pulse. And this type of filter will amplify the signal more than it will amplify the noise, since there's a perfect correlation between the pulse and the receive signal, whereas there's going to be lower correlation with random noise.
So if we go back to our noisy return signal and we sweep a matched filter across it, we can see that it is, in fact, amplifying the noise some, since we're summing multiple values together. However, due to the fact that the filter matches the pulse, that summation is even greater for the pulse. And we get an increase in signal gain over noise gain. But importantly, not only is SNR improved, but the pulse itself is made more narrow. And so finding the exact peak also becomes easier.
We can now raise our detectability threshold to account for the processing gain from the matched filter. And we can see that we have more separation between the noise and the signal, giving us potentially a lower false detection rate. Now, even with pulsed compression, it's not guaranteed that the signal peak is going to be above the detectability threshold. And so we might need to look for another way to boost these signals out of the noise. And one way to do that is to integrate several pulses together in a row and sum up all of the energy in each of them until the signal rises above the detectability threshold.
Graphically it works like this. Let's say that this is the amount of signal power at the receiver after pulse compression. This signal, however, is swamped by noise. And so what we have here is the actual received power after the matched filter. And if we look across the entire received signal, well, it's kind of hard to tell exactly where the pulse is.
But all is not lost, because we can store this signal in a buffer and then wait for another pulse to return. The second pulse is also swamped by noise. And once again, it's hard to see the signal.
However, if we add these two pulses together, we can see that there is actually a little bit more of an obvious peak coming out of the noise in this integrated signal. And the reason this works is that the noise is uncorrelated from pulse to pulse. This means that if the noise was uncharacteristically high at some time in the first pulse, it may be randomly low at that time in the next. And so when they're summed together, you get more of an average increase for the uncorrelated noise.
However, the signal from pulse to pulse is correlated. And so we're always adding the same amount of signal each time we sum another pulse. And we can continue integrating the pulses, one after another, until the signal rises above the detectability threshold. And then at this point, we can find the time of this peak, and from it determine the range.
Now, something to note about this is that we're making the assumption that the range to the object doesn't change from pulse to pulse, since we're expecting the peak to be in the same location each time. And that assumption is pretty good, because remember, the time between pulses in this case is 1 millisecond. So 10 pulses are separated by 9 milliseconds.
And how far can an object travel in 9 milliseconds? Well, if it's traveling 180 meters per second, or 400 miles per hour, then the object would have traveled about 1 and 1/2 meters. Therefore, the round-trip distance would be 3 meters longer between the first and tenth pulse.
And at the speed of light, 3 meters takes about 10 nanoseconds. And since our pulse width is 1 microsecond, the pulses will still essentially line up perfectly. So hopefully you can see how a matched filter and pulse integration can help narrow the return signal and bring it out of the noise. And then from there, it's just a matter of determining the time between the transmitted pulse and the returned peak to calculate range.
And, by the way, this data here has units of time across the horizontal axis and time across the vertical axis. The horizontal axis is referred to as fast time, since it covers just the width of the pulse, in our case 1 microsecond. And the vertical axis is called slow time since it covers the longer time between pulses, or about 9 milliseconds in this particular case. And when we measure range, we do so across the fast time axis, but we're integrating the pulses across the slow time axis.
OK, let's move on from range and now talk about how we can use this data that we've collected to measure radial velocity. And for this, we're going to compare the data from pulse to pulse across the so-called slow time axis. For this, imagine these are the IQ signals of a single returned pulse. And for the sake of simplicity, let's say that there's no noise at the receiver at all. So after the pulse is transmitted, the received signal is perfectly silent while the pulse is traveling to the object and back. And then the reflected pulse is received.
Again, the time between the transmit pulse and the received pulse is associated with the range of the object. So if the object isn't moving, then the range is exactly the same between two successive pulses. And if the transmit signal is coherent, then the returned pulses would also be in phase with each other. And the third pulse would be the same and so on.
Essentially, each returned pulse reflecting off of a stationary object would be identical. And so if we sampled the return pulses at the same time relative to when that pulse was transmitted and plotted those measured IQ values, we would get something like this. We can now look at the frequency of this new signal to determine the velocity of the object. In this case, it's just two flat lines. And so the frequency is zero hertz or 0 miles per hour.
However, let's think about what happens if the object is moving away from the radar. In that case, the object will be a little further away for the second pulse than it was for the first. And therefore, the second pulse takes a little bit longer to return to the radar. And assuming that the velocity is constant for another millisecond, the third pulse takes a little bit longer to return compared to the second pulse.
So with an object traveling at a constant velocity, we're basically delaying each pulse in time the same amount relative to the one before it. And so when we sample each delayed pulse at the same relative time, we're essentially just sampling the transmitted pulse at a fixed interval. And that aliases the high-frequency transmit signal down into a lower frequency. And this lower frequency is exactly the Doppler shift created by the velocity of the object.
And so we can convert this Doppler frequency into a speed. And as the true speed of the object increases, the time delay between the pulses increase. And the Doppler shift then also increases.
In this way, we can estimate the speed by looking at the frequency of this sampled signal, at least up until a point. If the velocity increases too much, then the time delay between pulses will increase by more than half a wavelength. And when that happens, the Doppler frequency starts to decrease again with this method. So the velocity that produces exactly half a wavelength of delay between pulses is called the max unambiguous velocity of the radar.
In this example, the frequency of the pulse is 2.8 gigahertz. So it has half a wavelength of about 5 and 1/2 centimeters. So this means that an object can't travel more than 5 and 1/2 centimeters between pulses, or in 1 millisecond. So this puts the max unambiguous velocity at about 55 meters per second, or 120 miles per hour.
Now, eventually, if the object speed keeps increasing, the delay between pulses is such that we sample at exactly 1 wavelength. And at that point, the frequency of the sampled signal is 0 hertz again. And the object looks like it isn't moving. This is called the radar blind speed. And it occurs at velocities that produce integer multiples of the wavelength of the transmit signal.
All right, so if we go back to this image showing the buffered return pulses, hopefully we can put this whole range and radial velocity story together. Range is determined by looking at the time of the peak of the return signal across the fast time axis. And two popular things we can do is apply a matched filter and integrate multiple pulses together to increase the SNR and make the pulse narrower. And once we know where the peak is in time, we can sample each of the pulses at that time and find the frequency of the resulting sampled signal to determine the velocity of the object.
Now, if you recall from the second video in the series, we talked about how multiple receive antennas could be used to determine the direction to an object. And we can do the exact same thing with pulsed radar and have multiple receive antennas, each receiving and recording multiple pulses over time. And what we end up with is referred to as the data cube, three axes of information that we can use to determine range, radial velocity, and direction. And we're going to talk more about the data cube in the next video on phased array antennas.
All right, so the last thing I want to mention is that what's really cool about all of this is that it can work with multiple objects in the field of view at the same time. And I've linked to two examples in MATLAB showing how to determine the range and velocity of multiple objects using pulsed Doppler radar. And I think they're worth checking out, because it walks you through everything we just talked about in a more realistic way.
You can actually change the detection threshold and apply a matched filter to see how it affects the results. And at the end here, multiple pulses are integrated. And you can see clearly the three peaks corresponding to the ranges of the three different objects.
And a similar approach is taken in the other example, but it goes one step further to estimate velocity as well. All of this, I think, is really cool. And so I hope you check it out in more detail with the links that I've provided below.
But that's where I'm going to leave this video for now. If you don't want to miss any future Tech Talk videos, don't forget to subscribe to this channel. Also, if you want to check out my channel, Control System Lectures, you can find more control theory topics there as well. Thanks for watching. And I'll see you next time.