# FMCW radar: understanding of doppler fft

I am using fmcw radar to find out distance and speed of moving objects using stm32l476 microcontroller. I transmit the modulation signal as sawtooth waveform and I read the recieved signal in the digital form using ADC function available. Then, I copy this recieved ADC data into fft_in array(converting it into float32_t)(fft_in array size = 512). After copying this fft_in array, I apply fft on this array and process it for finding out range of the object. Until here everything works fine.

Now, in order to find velocity of the object, first, I copy this arrays(fft_in) as rows of the matrix for 64 chirps(Matrix size[64][512]). Then, I take Peak range bin column and apply fft for this column array. So while processing this column array by applying fft, its length reduce to half[32 elements]. Then finding out peak value bin multiplied by frequnecy resolution gives the phase differnce 'w' from which velocity can be calculated as "𝐯=𝛌𝛚/𝟒𝛑𝐓 𝐜".

while running this algorithm, I find that when object is stationery, I get peak value at 22th element(out of 32 elements). what does this imply?

I have sampling frequency for ADC as 24502hz. So per bin value for range estimation is 47.8566hz (24502/512).

I have 64 chirps and Tc is 0.003625s. So 1/0.006325 gives 158.10Hz.What would be per velocity bin resolution, Is it 2.47Hz(158.10/64)? I have bit confusion in this concept.How does 2nd fft works for finding out velocity in fmcw radar?

It seems your procedure is correct but I do not understand why you lost half of the samples (64 to 32). Max velocity with no ambiguity will have phase difference equal to pi ($$\omega = \pi$$), so $$V_{max} = \frac{\lambda}{4Tc}$$.
So, you know sample 64 is equivalent to $$\frac{\lambda}{4Tc}$$ meanwhile sample 1 is equivalent to $$-\frac{\lambda}{4Tc}$$ or the opposite. Using this information you can calculate your velocity bin and calculate any velocity.