I understand that, For an FMCW radar, the velocity of a target is proportional to the phase changes at same time instants across the chirps. I have a MxN data cube with N chirps(columns) & M samples across each chirp(rows). So, why not first perform FFT across the chirps-to get the velocity and then perform a second FFT inside a chirp- to get the range? In short, does it make sense to estimate velocity from first stage FFT across the chirps?
When forming a range-Doppler map using FMCW, you need to do both FFTs if you want to reliably detect a target.
Let's say we collect an MxN data matrix, where we have M fast-time samples (range dimension) and N collected chirps (Doppler dimension). Here we've simulated a target at 150 m in range moving towards the radar at 75 m/s. There is no noise and we're using I/Q mixing.
If we do only the Doppler FFT and then take the squared-magnitude (scale in dB) it looks like this:
Notice the constant vertical ridge at the 75 m/s line. Taking the FFT across every chirp's range samples, we get energy at the frequency corresponding to the target's velocity. However, we have no information on the target's range. Trying to estimate a target's velocity at this point is possible, but you don't know if this ridge is a result of one target or many.
If we do only the range FFT and then take the squared-magnitude we now get this:
A similar situation like the above, except now that we have a constant horizontal ridge at the 150 m line. Here we're showing that for each collected chirp, we've correctly determined the target's range (beat frequency) but we have no information on it's velocity.
Finally, doing both FFT's yields the target return at both the expected range and Doppler:
Now you can reliably determine velocity and be confident that it is due to a single target.