I am trying to design a simple FMCW radar for the ideal case. Below are steps I planned.

  1. Transmit signal, Tx = cos(T)
  2. receive signal, Rx = cos(R)
  3. Mix transmitted signal and received signal, Sx1 = cos(T) * cos(R) = 0.5 * {cos(T+R) * cos(T-R)}
  4. Apply Low Pass filter, Sx2 = cos(T-R) (I won't consider 0.5 because what I need is phase and frequency)
  5. Apply FFT (Fast Fourier Transform) to get beat frequency to calculate range and velocity of the target.

In the process, I have a problem with step 5.

enter image description here After mixing the transmitted signal and received signal, LPF is applied to get only the difference of two frequencies. And then FFT is applied to extract beat frequency. However, in sawtooth chirp, there are two values. f_b (frequency difference in T_valid region) and B - f_b (frequency difference in t_d region. Assume B is bandwidth.). The value we need here is f_b. Since we don't know t_d yet, how do I apply FFT over T_valid?

enter image description here Similar question. I want to extract the up beat frequency and the down beat frequency. However, there are regions where beat frequency is not constant. I'll call this region T_invalid. If I include T_invalid region in FFT, I won't be able to get the constant value I need. How do I apply FFT over only the T_valid region?

  • \$\begingroup\$ What is the application? \$\endgroup\$
    – user57037
    Commented Jan 29, 2021 at 4:37
  • \$\begingroup\$ @mkeith Sorry, but what do you mean by application? I want to get beat frequency and finally get range and velocity of an object. To get beat frequency, I need to do FFT over from tau to T. Let tau = 2*R/c and T = sweep time. But the problem is, since I don't know the range (because the range is what I'm trying to find out) I don't know tau. Then from when to T do I use FFT? \$\endgroup\$ Commented Jan 29, 2021 at 4:46
  • \$\begingroup\$ What is the target? What will be done with the information about the target? \$\endgroup\$
    – user57037
    Commented Jan 29, 2021 at 4:50
  • \$\begingroup\$ @mkeith I want to design radar for a self-driving car. Suppose there's a random target in front of the car and the radar should calculate the distance and the relative velocity of the target with the beat frequency extracted from FFT. \$\endgroup\$ Commented Jan 29, 2021 at 4:57
  • \$\begingroup\$ @mkeith So I am trying to find a way to apply FFT to get the beat frequency. But if you see the first figure, Tc is sweep time and if I apply FFT over the whole Tc, there are two beat frequencies, fb and B - fb. And fb is the only one I need. So I wanna know what I can do to get only the value fb. \$\endgroup\$ Commented Jan 29, 2021 at 5:04

1 Answer 1


Look into windowed FFTs, basically you make the sweep long compared to the maximum range, then pick the middle bit, window to minimise lobes in whatever way makes sense for your use case, and run the fft.

FFT window functions were for a while the easy way to get your name on a paper, Blackman appears to have been particularly prolific.

  • \$\begingroup\$ So do you mean, I should set tau_max and apply FFT over tau_max to T? \$\endgroup\$ Commented Feb 1, 2021 at 1:20
  • \$\begingroup\$ You apply a windowed fft only over the samples falling within TValid, which you know because you know the maximum path length. \$\endgroup\$
    – Dan Mills
    Commented Feb 1, 2021 at 15:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.