• FMCW Chirp Gen

    Darren Winter03/04/2026 at 19:56 0 comments

    IMAGES ARE NOT WORKING FOR SOME REASON.

    The next part of the trial was to look at applying a ramp to the radar and turning this from a CW Radar to a FMCW Radar. 

    The ESP32 was chosen for this trial because it had an integrated 8-bit DAC.

    To produce a chirp, a DAC is required to interface with the VCO_in pin on the radar module. The waveform generated is a sawtooth wave.

    We adjust these parameters in the min value we set, the max value we want to set and the duration of the ramp. A gpio is also toggelled to indicate the start of each new chirp. Useful when debugging.

    Several issues became very present upon attempting to get this to read. The first was the initial script in viewing the response. We had quite a strong 250Hz peak, a strong peak around the 12500Hz mark and a few others. Upon first sight it is easy to think that “Oh maybe these are picking up reflections everywhere and this is it!” quite wrong.

    Initially starting out with a 20ms chirp which was not very effective as our approximate beat was given as 42Hz per meter. This was getting lost in the noise and other random artifacts. It becomes apparent over the hardware you chose to get something up and running to prove an idea. The 12.8kHz spike is the DAC it perfectly coincides as:

    Fupdate = 256 (steps)  /  0.02 (chirp duration) = 12800Hz

    The DAC has very minimal filter a simple rc lowpass filter which probably does not help.

    We know that our response range is below the 2kHz so we can adjust the graph to take a closer look at what is happening.

    Though even before that, what was our signal coming out of our radar in FMCW mode? Absolutely miniature!

    This was sitting 50mV and upon movement oscillations had only gone up to 70mV max. This was obviously getting drowned out somewhere in the plotting. The audio interface was most likely just picking up a majority of noise. It does help to read the application notes and datasheet.

    Averaging was certainly not the way to go for trying to see “peaks” A moving target introduces Doppler and phase changes from chirp to chirp, by averaging we are almost smushing the data or even part cancelling what we need. What we needed was a waterfall/spectrogram again or a peak tracker.

    Chirp aligning was also an issue prior we did not have it before so our FFT was taking arbitrary slices, which causes smearing. Due to lack of hardware chirp aligning was done via software by doing some boundary detects (through the reset transition) Later, it will be added a hardware wire to our USB audio interface for a more deterministic approach. This will reduce segmentation jitter, improve on sharper peaks. Chirp sync is what allows the software FFT slices to line up in time, frequency, and phase

    This waterfall graph showcases how frequency content changes over time. It is a sequence of short-time Fourier transforms stacked vertically. Our signal moves, amplitude changes and the averaging was not a good idea. This normal type of spectrum view is good if we know where to look and it is a station signal. 

    The bright bands show static reflectors at a fixed range and these bands appear when an object is moved across the radar's view. If the band shifts slightly, this indicates a change in range/velocity.

    The waterfall representation was essential because FMCW beat signals are weak and time-varying. Single averaged spectra were dominated by noise and analog slope, stacking spectra over time revealed coherent frequency ridges corresponding to real targets and their motion.

    The captured I/Q data already contained both range (FMCW beat frequency) and velocity (Doppler-induced phase/frequency variation) information. However, due to low IF signal amplitude and the use of single-chirp spectral analysis, only qualitative detection was initially possible. Quantitative extraction of range and velocity requires improved SNR via IF amplification and subsequent range–Doppler processing across...

    Read more »

  • Basic Testing the Radar Module

    Darren Winter02/25/2026 at 19:45 0 comments

    As a reminder, this is what our basic block diagram looks like:

    To start off , the radar is set to continuous wave (CW). Many times than not we forget that we must start off simply and build our way up. Whether this is even as simple as making a LED blink with a microcontroller. Setting this to continuous wave means we can see if our module works and decreasing the amount of parts in this trial.

    For context, the VCO pin on the module allows you set a ramp. This ramp allows you to control the chirp, thus making a frequency modulated radar.

    The datasheet of our radar module stated a minimum of +3.2V is needed. There were issues in reading the radar output, the current consumption was also below the 90mA specified in the datasheet. The datasheet is treated as gospel usually, at least I used to, though we should really verify these instead of trusting blindly. After steadily ramping the input voltage to +4V data was able to be seen.

    With +4V applied to the VCO pin of the radar as well, there is no ramp, a set frequency is applied and this set frequency could be 24.125GHz for example, the radar will transmit that.

    Taking a slight step back on how we selected our equipment for this trial, our USB audio converter. Based on Nyquist we can safely sample to roughly 20kHz with a 48kHz sample rate. Our maximum beat frequency in this case must be below 20kHz.

    Beat frequency grows in range and slope, and a faster chirp means a higher beat frequency. This is something to know.

    That said, how do we know what our beat frequency is or the worst case to design for?

    Example

    We to estimate the beat freuqency produced by a target at 10 meters using an FMCW radar with: Bandwidth: 150MHz

    Chirp Duration: 5ms

    Target Range: 10m

    Speed of Light: 3 × 10⁸ m/s

    Step 1:

    Chirp Slope, S (Hz/s)

    This tells us how fast the transmit frequency increases.

    S = B / T

    Where S = Chirp Slope

    B = Bandwidth (Hz)

    T = Time (S)

    S = 150 x 10^6 / 5 x 10^-3

    S = 3 x 10 ^ 10

    The transmit frequency rises at 30GHz per second.

    Step 2:

    Round trip delay T

    The radar signal must travel to the target, reflect and then travel back.

    A target at range R causes a round trip delay:

    T = 2R / e

    Where R is the distance, in this case 10 meters

    E is the speed of light: 3 x 10^8

    Substitute that in and you get 6.667 x 10 ^-8s 

    or 

    66.7nS

    Step 3:

    Beat Frequency

    In a FMCW radar we mix the current transmit signal and delayed received signal and because the chirp is linear, a time delay becomes a frequency offset.

    For a stationary target ignoring Doppler the beat frequency is:

    Fb = S x T

    Where,

    Fb = Beat frequency 

    S = Chirp slope

    T = Round trip time delay

    These values we had calculated at S = 3 x 10^10 , T = 6.667 x 10^-8

    This gives us a beat frequency of 2kHz.

    So at 10 meters, with 150Mhz over 5mS the beat frequency is 2kHz.

    Hopefully that example gave some further understanding.

    Back to our USB audio converter, it did not require any drivers and such which was delightful. It did require some fiddling however with the settings within Audacity and some PC specific settings such as setting it to stereo and setting the quality as 48kHz.

    When plugging everything in, it is to note that it does not matter which channel you use for the input channels on the USB audio converter but for consistency sake and this is actually important that you decide which channel is used for the Q parameter and which channel is used for the I parameter. Data could come in swapped if you mix it up. In this trial I had used the right input for the Q parameter and the left input for the I parameter.

    As mentioned before, Audacity was used and this is a great tool that is free to use. Using Audacity lets us see if the data streams through.

    It is always good to remember the goal of your project or test, do not let scope creep be a thing. Remember for this trial the condition is “Does my hardware work and can I see a waveform?” or otherwords, “Does...

    Read more »

  • Utilising commercial off the shelf components to build a radar

    Darren Winter02/21/2026 at 21:42 0 comments

    The goal of this trial was to have a starting ground for software development and to gain a practical understanding of how a radar functions. Off-the-shelf components were used in this trial to decrease the itimidation of toying around with the dark arts of RF.

    The primary goal in this was to extract information off a comercial radar module, digest its output information and being able to plot it on a useful graph of some kind.

    First step in anything is the requirements, what does the build need to achieve?

    • The radar must be flexible to use and test
    • The radar must work within the specified targeted frequency band
    • Suitable towards FMCW purposes
    • Easy to work and prototype with
    • Sufficient documentation
    • The data digested must be readable and able to display distance and velocity.

    Some of these things we may not be able to acheive in our first trial, but it is good to have something to aim towards that is concrete.

    The range we had determined for this test was 24GHz. Why 24GHz?

    It is useful to know on what you are going to detect, range, velocity, proximity to other objects, clarity of the object you are going to detect.

    When we consider frequencies, higher frequencies do come with benefits. A smaller wavelength, in the case of 24GHz we have a wavelength of 12.5mm. This is small enough to interact with small objects and humans but as well large enough that noise. Errors in alignment and tolerances can be a bit more forgiving in PCB design, manufacturing and antenna calibration. Antennas are generally smaller.

    For reference at 2.4GHz we have a wavelength of 12.5cm. Motion detection could be more difficult to characterise with a weaker Doppler.

    Bandwidth

    For a FMCW Radar, we need to look at the bandwidth. This is the ramp start frequency to the stop frequency. This is important to what sort of range resolution we can achieve.

    The range resolution is the minimum distance at which two targets need to be seperated to be considered as two seperate targets.

    ΔR=c*2B

    Where,

    c= Speed of light (3×108m/s)

    B = Bandwidth of the signal

    For 24GHz we approximately get 60cm of range resolution.

    Unfortunately one of the drawbacks into our decision is the accessibility of hardware, as we go up the frequency ladder things get progressively expensive and fast. Settling in the 24GHz gives us a nice level field in which things are not too expensive and can be acheived with consumer friendly items.

    It is also important to note that it is not permissible to operate in any frequency band one desires. There is allocated frequency bands which are free. Another free band would be 2.4GHz which most of us are familiar with (Bluetooth and WiFi!). Transmit power is also limited, these things we need to take care of and not to overstep our bounds.

    Component Decisions

    Searching the realms of Digikey I had landed on this radar module:

    K-LC7-RFB-00H

    Radar Transceiver Module 24GHz ~ 24.25GHz Integrated, Ceramic Patch Through Hole

    The module was small, low cost, had I/Q outputs, integrated VCO which has an input to modify chirp, two receive antennas and was in our target frequency.

    We need something to help intake the data outputted by the radar module. Since it was an analog output, I had opted for an USB Audio Interface. I had landed with this Behringer UCA222 off amazon, as it was afordable and could do what I needed it to do.

    Having bought extra RCA cables as well I had stripped them and put a 2.54mm dupont end cable.

    The assembly looked like so:


    With this our basic setup was complete and we were ready to start testing.

  • FMCW Radar

    Darren Winter02/18/2026 at 20:31 0 comments

    The next part of this project was to understand what exactly is a FMCW Radar?

    In a Frequency-Modulated Continuous Wave (FMCW) Radar, a signal is transmitted in which its frequency increases with time, this is known as "chirp"

    “Chirpiness” is the rate of change of the instantaneous frequency.

    The same concept applies and the signal is reflected off a target and comes back delayed.

    Both signals are compared against each other the transmitted and received. This is done using a mixer. The difference between the two is called the “beat frequency”

    This is done because frequency is changing with time, and the two frequencies the one transmitted and received are slightly different. This beat frequency lets you compute range.

    The closer the target is the lower the beat frequency, and the farther the target is, the higher the beat frequency.

    What do we do with this?

    Fast Fourier Transform (FFT) transfers this data from the time domain into the frequency domain. This is done on the radar. The beat frequency is sampled, runs an FFT, and each FFT bin corresponds to a distance.

    This produces a range of spectrum:

    Peaks = targets

    Peak position = distance

    With motion as we discussed before, this gives rise to the Doppler effect. When the target is moving the beat frequency shifts slightly, this gives the velocity. Doing so and we process these multiple chirps as the radar is doing, the distance is derived and so the velocity from phase change over time.

    I/Q signal preserve direction and phase.

    This is what the radar outputs:

    I (in-phase)

    Q (quadrature)

    In a radar system they are 90 degrees out from each other. These are fundamental components that are used to capture amplitude, phase and frequency of the radar echo.

    In-phase (I) signal

    This represents the amplitude of the received signal that is in phase with the original transmitted carrier signal. Convection is a cosine wave.

    Quadrature (Q) signal

    This represents the amplitude of the received signal that is 90 degrees (π / 2) radians out of phase with the original carrier signal (by convection, sine wave)

    Together I and Q signals come together and allow the radars digital signal processor to treat it as a complex number.

    A FMCW radar turns time delay into frequency, then frequency into distance.

    An FMCW radar transmits a frequency-swept signal, compares the received echo with the current transmit signal, and converts the time delay of the echo into a measurable low-frequency tone. The frequency of this tone gives distance, and changes in its phase over time give velocity.

    Once this base knowledge has been established we can utilise off the shelf components and are able to start trialling and building a basic radar before proceeding to hardware development. As much as it is really exciting to start drawing out a schematic and such, it is important to validate first and know what you are actually going to design.

  • Continuous Wave Radar

    Darren Winter02/18/2026 at 20:21 0 comments

    I have been wanting to dabble in the world of RF, I have not done an RF design before and thought it would be an interesting way of understanding more with a practical application. The best way to do something is always by trial and application.


    There is a certain amount of base knowledge I knew that was required before diving straight into a design and that was well what is a radar? A google search yields "A system for detecting the presence, direction, distance, and speed of aircrafts, ships, and other objects, by sending out pulses of radio waves which are reflected off the object back to the source"

    There had to be a start to break down the parts of a radar. Looking at Continuous Wave (CW) radars, these transmit a constant frequency signal and simultaneously receive the refelected echo scattered from objects continuously. These types are typically used in compact, short-range, low-cost applications. CW Radars can utilise any part of the Radio Frequency (RF) electromagnetic spectrum. An Unmodulated CW Radar continuously transmits a pure tone such as a sine wave, which is the carrier. The echo is the received scattered from objects. All simultaneously. By doing so, we measure the Doppler Shift from a moving object. Doppler shift is the change in a wave's frequency and wavelength due to relative motion between the waves source and observer.

    An example of this is an ambulance's siren, the pitch rises as it approaches and falls as it moves away. When moving toward's you, the waves compress (higher frequency) and when moving away they stretch (lower frequency). If a target / object is static, the frequency of the echo signal is unchanged from that transmitted. If the target / object is moving the frequency of the echo is altered due to the Doppler effect. This Doppler frequency is how the object's motion can be determined.

    The faster the object moves in a given direction, the larger the Doppler frequency.

    FD = 2Vr/λ

    where,

    Vr = Radial velocity of the object (m/s)
    λ = Wavelength of the CW signal (m)
    FD = Doppler frequency (Hz)