Introduction
Radar technologies remain essential to critical national security functions. Modern radars dramatically eclipse the capabilities of the first radars deployed in WWII, but the foundational principles of electromagnetic sensing animate all radars deployed over the past eighty years. I developed a low-cost Frequency-Modulated Continuous Wave (FMCW) radar to improve my understanding of radars and practical radio frequency (RF) design.
System Parameters
FMCW radars, unlike traditional pulsed radars, transmit continuously. The radar mixes the transmitted frequency-modulated waveform with the reflected waveform, producing a beat frequency that indicates the distance to an object. Doppler frequency shifts provide velocity information, although my radar design doesn’t (yet) exploit the Doppler effect.
| Parameter | Value |
| Chirp Bandwidth | 100 MHz |
| Ramp Time | 5 ms |
| Maximum Unambiguous Range | 112.5 m |
| Receiver Bandwidth | 15 kHz |
The maximum unambiguous range is determined by the chirp bandwidth, the receiver bandwidth (the design constraint I chose), and the ramp time. Simple hardware, including low-end oscilloscopes and even PC sound cards, can sample data at 30 kHz (2 * 15 kHz, per the Nyquist criterion). The maximum unambiguous range of 112.5 m permitted by my chirp parameters is more than sufficient for my low-power transmitter (18 dBm).
Simple relationships describe how these parameters interact. The round-trip propagation time for electromagnetic radiation launched at an object 112.5 m away is , producing a beat frequency of
.
Antenna Design
I based my antennas on the Cantenna design popularized by MIT, a quarter-wave monopole resonator inside a circular waveguide. I used a beans can for the waveguide. (The can had corrugated sides, so it cannot be modeled purely as a circular waveguide.)
At 2.4 GHz, the quarter-wave resonator is roughly 3 cm long. Ideally, the length of the monopole would be trimmed until S11 was less than -10 dB across 2370-2470 MHz, but I didn’t have access to a VNA. The antenna was positioned one-quarter of a wavelength from the back wall of the waveguide. Note that the wavelength of the signal inside the waveguide differs from the free space wavelength.
The gain of the antenna can be estimated using the following relation. This is critical for applying the radar equation. Gain is normally measured in decibels relative to an isotropic radiator.
Notably, the Cantennas have a significant -3 dB beamwidth. Radars typically use antennas with narrower beamwidths.
Receiver Modeling
With my antennas selected, I turned my attention to modeling the receiver. The radar equation determines the amount of power received by the radar for an object a given distance away. The radar cross section (RCS) describes how much energy a target reflects back to the radar. I used an RCS of
, which is typical for a human, an antenna gain of
, and a transmit power of
. I swept the distance from 0 to 112 m.

Microstrip Transmission Line Design
Like any RF design, care must be taken to ensure low-loss signal transmission. RF engineers achieve a particular characteristic impedance for a planar transmission line by varying the trace width and the distance between the microstrip line and the ground plane, affecting the inductance and capacitance per unit length of the line.
JLCPCB provides a set of four-layer board stackup options, so the only parameter I could vary was the trace width. I wrote a MATLAB script using Hammerstad’s formulas to solve for the trace width that achieved 50 Ω.
Warning: Unable to solve symbolically. Returning a numeric solution using vpasolve.
> In sym/solve (line 313)
In Microstrip_Line_Solver (line 16)
Width: 0.187268 mm (7.372736 mil)
Wavelength in TX Line: 0.067843 m
The TXLINE tool in the AWR suite provides a similar result, but it is more accurate, since it incorporates frequency-dependent behavior. Calculators like TXLINE appear to render manual calculations obsolete; however, I always like to validate the results of third-party tools. The MATLAB calculation also provides other useful information, like the wavelength of the signal in the transmission line. Transmission line effects only need to be considered when the length of the line obeys
.

AWR can provide more insight into the behavior of transmission lines across the frequencies of interest. I modeled my substrate and a quarter-wavelength length of my transmission line in a schematic file.

I plotted S11 (reflection loss) and S21 (insertion loss) from 2.4 to 2.5 GHz, demonstrating the transmission line’s excellent performance. The phase shift of the quarter-wavelength line is around 90°, as we expect. (Quarter-wavelength lines are useful for narrowband impedance matching.)


As useful as closed-form solvers are, they don’t always reveal issues in board layouts. Microstrip calculations expect free space above the transmission line. I mistakenly routed portions of my line under components, breaking this assumption. The EM simulation capabilities in AWR or a dedicated tool like CST (the subject of another project) help catch such mistakes.
Baseband Analog Circuitry
The baseband circuitry follows the mixer and has two responsibilities: (1) Amplifying the uV signal from the mixer output and (2) providing a low-pass filter response to avoid aliasing. Two LT6230 op-amps were used (the LT6231 contains two LT6230 devices in one package).
Amplifier
The baseband amplifier magnifies the small-signal AC variation from the mixer output and adds a DC offset centered midway between the 3.3V and ground rails. I began my design of the baseband amplifier by considering the AC RMS output voltage from the mixer as a function of distance. Because the system is normalized to 50 Ω, I can easily calculate the AC RMS voltage using the power output from the mixer: . The power output from the mixer is determined using the received power from the radar equation, the gain of the receiver PA (21 dB), and the conversion loss of the mixer (6.79 dB).

I chose 33 kΩ biasing resistors to produce a biasing current of approximately 50 uA. Notably, the LT6231 is a non-ideal op-amp, and both the inverting and non-inverting inputs draw 5 uA, according to my SPICE simulations. This input current sets the DC offset of the output terminal 0.5 V above the biasing of the non-inverting input. The size of the mismatch between the expected and actual output DC bias voltage depends on the value of R7, limiting the maximum gain of the amplifier. (If R7 is too large, the output voltage will have a large DC offset, causing the op-amp to saturate.) R7 and R8 produce a non-inverting gain of 101.
C21 influences the location of the high-pass pole by shorting R8. The high-pass pole is located at , consistent with the amplifier Bode plot. C19 is a coupling capacitor that shorts the parallel combination of R3 and R6 at
, providing supply noise suppression. R13AN0003EU0100 from Renesas should be reviewed for more information.



Anti-Aliasing
The anti-aliasing filter enforces the 15 kHz receiver bandwidth. I implemented a second-order Butterworth filter using the Sallen-Key topology. The design relations for the Butterworth Sallen-Key topology are well-documented in this TI application note. I fixed the values of R4 and R5 and calculated C16 and C20 to achieve a 15 kHz cutoff frequency.


Noise Analysis
Noise analysis helps radar designers track the degradation of SNR from input to output through the receiver chain. In this design, the antenna is fed to a PA and mixer before the baseband circuitry. This noise analysis excludes the baseband op-amp filters and the MCU ADC because they operate at low frequencies and contribute relatively little to the noise floor compared to the mixer and PA.
Applying Friis’ formula requires the gain and noise factor (linear-scale/non-dB noise floor) of the mixer and PA.
| Component | Gain | Noise Factor | Conditions |
| ADL5545 (PA) | 125.89 (~21 dB) | 2.51 (4 dB) | 2.4 GHz |
| ADE-30+ (Mixer) | 0.21 (-6.79 dB) | 4.78 (6.79 dB) | RF = 2450 MHz LO = 2480 MHz LO Power = +7 dBm |
With this information, we can calculate the noise figure.
Because of the large PA gain, the mixer has effectively no contribution to the noise figure of the receiver chain. The PA’s large noise figure dominates. This is why receivers typically use LNAs instead of PAs.
The mixer also has a local oscillator (LO) input, which is driven by the VCO through a coupler and attenuator. LO phase noise can mix with blockers through reciprocal mixing, producing interference in the baseband that masks target detections. We can calculate the threshold at which blocker power becomes comparable to the receiver chain noise floor.
The minimum noise power in a receiver with a 14.5 kHz bandwidth is -132.4 dBm ( where
is the Johnson noise at 290 K). At the input of the mixer (after the PA), the noise power is multiplied by
, producing -107.4 dBm (-132.4 dBm + 25 dB). The following table summarizes the blocker powers at particular frequency offsets that are required for reciprocal mixing to overtake input noise power (-107.4 dBm). Reciprocal mixing noise power is calculated as
, where
is the phase noise at offset
from the oscillator center frequency.
| Frequency Offset | LO Phase Noise | Blocker Power Threshold |
| 0.1 MHz | -93 dBc/Hz | |
| 1 MHz | -117 dBc/Hz | |
| 10 MHz | -130 dBc/Hz |
Radar designers can increase the blocker power threshold (and thus reduce the sensitivity to interferers in the environment) by using a phase-locked loop as the LO, reducing the phase noise.
Software Design
Firmware
An FMCW radar must synchronize transmission and reception; this is necessary for proper measurement of the beat frequency. The STM32 family of microcontrollers was chosen for its rich set of hardware timing peripherals and support for DMA, transferring the responsibility of synchronization to hardware.
A common timer, clocked at 51.2 kHz, drives the ADC (RX stage) and DAC (transmit stage). The DAC accesses a pre-calculated lookup table to sweep the VCO. The ADC uses half transfer and full transfer callbacks to access the sampled values. By the Nyquist theorem, a 51.2 kHz sampling rate can be used with frequencies up to 25.6 kHz without aliasing, well above the anti-aliasing filter’s cutoff frequency.
During the assembly process, the USB connector broke off the board (I forgot to solder the mechanical attachment through-hole pins). To access the sampled data for post-processing in Python, I developed a PowerShell script that used the OpenOCD debugger to interrupt the firmware when the ADC buffer was fully populated and write the buffer contents to a hex file. I developed the firmware using STMicroelectronics’ Eclipse-based STM32CubeIDE, which lacked the ability to write buffer contents to a file in the debugger.
VCO Sweep
My FMCW radar uses a linear frequency sweep, also known as a chirp. However, the output frequency of a VCO doesn’t vary linearly with the applied tuning voltage. I received assistance from Artificial Intelligence to develop a Python script that modelled the tuning voltage curve and generated a lookup table that the MCU could sweep to produce a chirp.

Results
Initially, I developed my board using a baseband amplifier gain of 301, producing the following oscilloscope capture. The large DC offset caused the op-amp to saturate, producing a distorted output.

Photos

