Skip to content
Go back

Basic FMCW Radar Cube

Table of Contents

Open Table of Contents

Intro

This is a followup to my FMCW radar adventure.

This Post will showcase the so called radar cube, which not only allows an arbitrary number of objects to be detected, but also gives information about the angle.

Concept & Key Ideas

In the last post I looked at different beat frequencies to distinguish the range of different objects. This had a limitation in that each additional object would require another chirp rate to provide a supply with enough different beat frequencies to resolve them all. This is impractical and is therefore only useful in teaching.
Additionally the difference in beat frequency due to doppler is very small, so it’s hard to measure.

The alternative is using the phase difference of the signal caused by the changing time delay of a moving object. E.g. The object moves further away and so it takes the signal a different time to travel and the returning signal will have a phase shift compared to the previous. By measuring the phase difference over multiple chirps one can calculate the frequency of the phase-shift. This is proportional to velocity.

How does one measure the phase of a signal? It’s always relative, but one can measure it by looking at the difference to the transmitted signal over multiple chirps using IQ Signals (see bottom of page).

Additionally the idea can be expanded to measure also angles. When the signal arrives at multiple recievers spaced apart you get the signals seperated by a fixed phase difference.

More elaborate information can be found in this amazing article by wireless pi.

Putting this all together one can get range, velocity and angle information from the received signal resulting in a 3-dimensional FFT called a radar cube.

Demonstration

You can interact with a live FMCW radar cube simulation below.

It shows a slice of half the radar cube along the doppler axis, therefore showing range- and angle-fft magnitude. The red arrow shows the true range + angle at its origin and velocity as its length, while the green one shows the same for the detection.

Caveats:

Regardless, the principle is visible.

Some things to try:

Conclusion

Building these small models is actually a lot of fun. I definitely understand things in more depth this way.

The “mosquito frying laser cannon using acoustic radar detection” is for now just an idea 😏


IQ Signals

Instead of just mixing with one frequency we use two frequencies that are in quadrature to each other (meaning they are shifted by a quarter wavelength) to measure the phase of a signal. In this case cosine and sine. IQ demodulation allows splitting a cosine/sinus into an “In-Phase” (I) cosine and a quadrature (Q) “Phase shifted” by 90° sinusoid, where the amplitudes of both determine the phase. Using the identities

cos(a)cos(b)=12[cos(ab)+cos(a+b)]cos(a)\cdot cos(b) = \frac{1}{2}\left[ cos(a-b) + cos(a+b) \right] cos(a)sin(b)=12[sin(a+b)sin(ab)]cos(a)\cdot sin(b) = \frac{1}{2}\left[ sin(a+b) - sin(a-b) \right]

if we mix the received signal y(t)y(t) with the cosine and sine of the carrier frequency together we get

I(t)=y(t)cos(2πfct)=A2[cos(2πt(frfc)+ϕ)+cos(2πt(fr+fc)+ϕ)]I(t) = y(t)\cdot cos(2\pi f_c t) = \frac{A}{2}\left[\cos(2\pi t \left( f_r-f_c\right) + \phi) + \cos(2\pi t \left( f_r+f_c\right)+\phi) \right] Q(t)=y(t)sin(2πfct)=A2[sin(2πt(fr+fc)+ϕ)sin(2πt(frfc)+ϕ)]Q(t) = y(t)\cdot sin(2\pi f_c t) = \frac{A}{2}\left[\sin(2\pi t \left( f_r+f_c\right) + \phi) - \sin(2\pi t \left( f_r-f_c\right)+\phi) \right]

Just like before we can apply a low pass filter on both to get just the low frequency component.

Ibeat(t)=A2cos(2πt(frfc)+ϕ);Qbeat(t)=A2sin(2πt(frfc)+ϕ)I_\text{beat}(t) = \frac{A}{2}\cos(2\pi t \left( f_r-f_c\right) + \phi)\quad;\quad Q_\text{beat}(t) = -\frac{A}{2}\sin(2\pi t \left( f_r-f_c\right)+\phi)

The Ibeat(t)I_\text{beat}(t) can be plotted on the X axis and the Qbeat(t)Q_\text{beat}(t) component on the y. You will then have a rotating arrow for a single signal.

As you can see it is not symmetric anymore, because no matter the phase shift we have two components. The amplitude of both together gives us the phase and magnitude.

ϕ(t)=arctan2(Qbeat(t)Ibeat(t))\phi(t)=\arctan2\left(\frac{Q_\text{beat}(t)}{I_\text{beat}(t)}\right) A(t)=Qbeat(t)2+Ibeat(t)2A(t)=\sqrt{Q_\text{beat}(t)^{2}+I_\text{beat}(t)^{2}}

Finally giving us a the complex signal

z(t)=A(t)eiϕ(t)z(t)=A(t)e^{i\phi(t)}

This complex signal can then be plugged into an FFT to find the spectrum of frequencies and phase.


Share this post on:

Next Post
Basic FMCW Radar