*This article appeared in **Electronic Design** and has been published here with permission.*

**What you’ll learn:**

- Radar waveforms
- Components of FMCW radar
- Radar range processing
- Range resolution calculation
- Velocity calculation using FMCW chirp
- Design of FMCW chirp

With autonomous driving gaining traction and top OEMs investing a huge chunk of their capital for development, radar applications in the automotive industry have dramatically risen in importance. For instance, it’s used in advanced driver-assistance systems (ADAS) with features like blind-spot monitoring, park assist, collision avoidance, and more.

Frequency-modulated continuous-wave (FMCW) has become the go-to format for automotive radar applications. This article talks about chirp configuration of FMCW in automotive radar.

With standards from governing bodies for 77-GHz radar in place, its application has expanded across multiple industries. Let’s take a look at some basic concepts involved in automotive radar.

### Radar Basics

Automotive radar is broadly classified into the 24- and 77-GHz bands. The former has a very narrow band of 24 to 24.5 GHz, making it difficult to use radar in automotive ADAS. That’s why applications have moved to the 77-GHz band—it has a bandwidth sweep of 4 GHz (up to 81 GHz).

The primary goal of using radar in the automotive industry is to facilitate object detection for cars. It can be used in ADAS or in full autonomy along with imaging sensors. Radar helps identify the distance, velocity, and elevation angle.

Radar uses multiple waveforms for detection. However, automotive systems predominantly use FMCW.

Components of FMCW radar include:

- Transmitting and receiving antenna
- LNA (low-noise amplifier)
- ADC (analog-to-digital converter)
- Low-pass filter
- Microcontroller

### Range Processing Using FMCW Chirps

An FMCW chirp consists of an electromagnetic wave that’s ramped up in frequency linearly over a period in time. These signals are transmitted and reflected by objects and received. In general, an FMCW transmitted chirp can be expressed as:

x(t) = Ac * cos((wc + Ab * t) * t) (1)

where “wc” represents the carrier frequency, “Ab * t” represents the frequency ramp over time, and “Ab” is the slope of this ramp.

The received signal reflected from the object will be a time-shifted version of the input signal. The received signal is expressed as:

x(t − Tp) = Ac * cos((wc + Ab * (t − Tp)) * (t − Tp)) (2)

Since Tp is the time difference between the input and the received signal, it can be inferred that the farther the object, the larger the value of Tp. Thus, the distance can be found out by measuring the difference in frequency between the transmitted and received chirps. By passing these signals through a mixer with an appropriate cutoff frequency, we can generate an intermediate frequency signal whose frequency is the beat frequency between the transmitted and received signals. The beat frequency is calculated as:

Fb = (Ab/(2 * pi) * Tp) (3)

This relationship shows that the round-trip time of the target is directly proportional to the beat frequency. Thus, the equation can be further simplified as:

fb = ((Δf/Tb) * 2R/c) (4)

By having the intermediate frequency, we can observe that by performing a Fourier transform on the signal, we’re able to calculate fb. From the above equation, we can then further calculate the distance of the object because the slope of the ramp and the speed of light are known parameters.

In the case of multiple objects, based on the distances of the objects, we receive different intermediate frequencies. Performing the Fourier transform, we observe multiple peaks in different bins that correspond to the different distances.

### Range Resolution

As discussed in the previous section, the range processing on FMCW chirps can detect multiple objects by processing the received chirp. However, there’s a limitation on the minimum distance between chirps so that the processing can distinguish these objects, which is known as the range resolution.

Since the beat frequency is calculated by a fast Fourier transform (FFT), the limitation on the resolution is drawn from the fact that the frequencies can be separated if the two intermediate frequency tones are 1/T Hz, where T is the observation window for the FFT. Thus, the resolution criteria is determined as:

Δfb ≥ 1/Tb

By substituting the values given in Equation 4, we see that:

Δfb = ((Δf/Tb) * 2ΔR/c)

Upon simplification, we observe:

ΔR = c/(2 * Δf)

Thus, we’re able to conclude that the range resolution is inversely proportional to the bandwidth in an FMCW chirp configuration. By observing these formulas, we can now appreciate the interesting interplay between the bandwidth and chirp time and its influence on the maximum range and range resolution. One must carefully consider all of these parameters while designing an effective chirp configuration to meet real-world constraints.

### Calculation of Velocity Using FMCW Chirp Design

In a general case, an entire frame in an FMCW design consists of multiple chirps to potentially calculate the velocity of an object. But what about calculating the velocity using the Doppler frequency shift of a moving object?

If a moving object is detected across chirps, then the signal received is going to be shifted by the Doppler frequency, i.e., there’s a constant phase shift between the received signals across chirps. Thus, the range FFT of the object will have peaks in the same frequency bin, but with a phase shift—one that’s constant across chirps corresponding to a motion of vTc, where “v” is the velocity and “Tc” is the chirp time.

This phase shift can be calculated by doing a FFT across chirps of the corresponding range FFT bin of the corresponding object. As a result, we can summarize both operations—range and velocity calculation—across a frame by performing a 2D FFT, one being across the number of samples of each chirp and the other being an FFT across chirps. By measuring the peak in the doppler FFT bin, we can quickly map the bin value to a velocity by using the following equation:

V= λ * ω/(4π * Tc)

There is, however, a caveat that one must consider when designing FMCW chirps. It’s assumed in the above method that the object, while having a velocity, hasn’t moved enough to be present at different range bins across multiple chirps. That is, the movement of the object is constrained to the range resolution across the entire frame.

Thus, FMCW chirps provide us with a convenient method of calculating both range and velocity of multiple objects.

### Maximum Velocity and Velocity Resolution

Since velocity is calculated by measuring the phase difference, the maximum velocity is constrained by making sure the calculated phase is unambiguous. The ambiguity is maintained by the following condition:

ΔΦ < π

i.e.:

v < λ/(4 * Tc) (5)

where “Tc” represents the chirp time.

Similar to the resolution criteria observed in the range-processing scenario, the maximum resolution between two velocities of moving objects at the same distance is given the fact that the two frequencies calculated by a FFT must a frequency bin apart. Therefore:

Δω > 2π/N

where N represents the number of chirps as per the configuration.

The equation can be simplified by substituting Equation 5, giving:

Vr = λ/(2 * Tf)

where Tf is the frame time and is calculated as N*Tc.

### Design of FMCW Chirps

Considering all of the influences of the above discussed parameters, we must now design the chirp configuration to meet all of the given requirements. Depending on the use case, the known parameters are maximum range, range resolution, maximum velocity, and velocity resolution.

Total chirp time consists of an idle time; in general, a ramp time. The ramp time can be further divided into ADC start time, effective time, and ramp excess time. The effective bandwidth is the frequency bandwidth that’s ramped only during the T effective.

*Calculation of effective bandwidth*

The first design parameter is the bandwidth, which can be directly calculated by the relationship with the range resolution. We know that:

△R = C/(2 * B)

Therefore, bandwidth can be easily calculated.

*Calculation of ramp time*

From the relationship between intermediate frequency and range in an FMCW configuration, we can calculate the value of ramp time. Given that we know the maximum intermediate frequency supported by a hardware manufacturer, we have the following equation:

IF_{max} = (2 * R_{max}/C) * B_{eff}/T_{eff}

Thus, the ramp time is given by:

T_{eff} = (2 * R_{max} * B_{eff})/(C * IF_{max})

In addition, assuming that ADC start time and ramp excess time are constants, we can calculate the ramp time. Consequently, we can find the extended bandwidth that spans across the ramp time as the slope remains constant. That is:

B_{eff}/T_{eff} = B_{ex}/T_{ramp}

Now that extended bandwidth can be calculated, the idle time is shown to be a function of the extended bandwidth.

At this point, we have calculated the total chirp time that meets our requirements. However, due to the interplay of all these parameters, it’s possible that we may have designed our system inefficiently. Thus, we propose a check mechanism that compares the maximum velocity calculated as per the designed chirp time versus the given maximum velocity. If the maximum velocity is greater than the desired value, then we have overestimated the chirp time.

We go about reducing the chirp time in order to design a more efficient chirp configuration. Therefore, the chirp time given by the maximum velocity equation should be used to re-calculate the range resolution and the maximum range.

T’ = ^{ }λ/(4 * V_{res})

The value of idle time remains the same, therefore the new T_{ramp} is given by:

T’_{ramp} = T’ − T_{idle}

and

T’_{eff }= T’_{ramp} − T_{adc} − T_{ramp-ex}

Using these new values, we now go back and calculate the value of B_{ex}, range resolution, and maximum range. Using these values, we observe a reduction in range resolution and an increase in maximum range, thereby still meeting the requirements of the design.

We now can calculate the minimum number of chirps required to meet the velocity resolution:

N= λ/(2 * △v*T’)

Since the velocity is calculated by performing an FFT across the number of chirps, we must round up the value of the number of chirps to the order of 2^{n}.