Velocity in FMCW Radar
| 1 | If a target moves with a certain velocity, its distance changes over successive chirps. | |
| 2 | As a result, the propagation path of the reflected signal differs from chirp to chirp. | |
| 3 | This causes a frequency and phase difference in the received signals from the same target across chirps. |

1. Signal Flow and Processing
The Doppler FFT is applied along the chirp index axis of the Range FFT output at a fixed range bin,
enabling the estimation of Doppler frequency and target velocity from phase variations over time.

Phase is different in a range bin across chirps

one target

multi-target

2. Velocity Formula
Velocity is typically calculated by collecting and processing data over one frame
and then estimating the Doppler frequency fdf.
| Velocity | ![]() |
fd Measured value converted from kd, kd is doppler bin index λ Wave length N Doppler FFT size Tc Chirp to Chirp Interval |
|
| Resolution | ![]() |
Frame time limit the resolution between 2 objects
λ Wave length of RF center frequency Tf Frame time |
|
| Max Limit | ![]() |
Chirp-to-Chirp interval limit the measurable max velocity
λWave length of RF center frequency Tc Chirp to Chirp Interval |
3. Example report in Radar Sensor SoC
| 구분 | 필드명 | Dword | Bit Range | 설명 | |
| Header | Fixed Pattern | Dword 0 | [31:24] | 1010 1010 | |
| Header | Reserved | Dword 0 | [23] | 0 | |
| Header | Fixed Pattern | Dword 0 | [22:20] | 100 | |
| Header | DFFT_chirp_index | Dword 0 | [19:11] | Chirp sequence number (frame 내, 0부터 시작) | |
| Header | DW_LEN | Dword 0 | [10:0] | Doppler FFT data count (0부터 시작) | |
| Data | DFFT_real_data[0] | Dword 1 | [31:16] | Doppler FFT real part (signed) | |
| Data | DFFT_imag_data[0] | Dword 1 | [15:0] | Doppler FFT imaginary part (signed) | |
| Data | DFFT_real_data[1] | Dword 2 | [31:16] | Doppler FFT real part (signed) | |
| Data | DFFT_imag_data[1] | Dword 2 | [15:0] | Doppler FFT imaginary part (signed) | |
| Data | DFFT_real_data[n] | Dword … | [31:16] | Doppler FFT real part (signed) | |
| Data | DFFT_imag_data[n] | Dword … | [15:0] | Doppler FFT imaginary part (signed) | |
| Data | DFFT_real_data[m-1] | Dword m | [31:16] | Doppler FFT real part (signed) | |
| Data | DFFT_imag_data[m-1] | Dword m | [15:0] | Doppler FFT imaginary part (signed) | |
| Tail | Check_sum | Dword m+1 | [31:16] | Doppler FFT data checksum (low 16bit sum 결과) | |
| Tail | FFT_FRAME_INDEX | Dword m+1 | [15:12] | Frame counter (0부터 시작) | |
| Tail | Reserved | Dword m+1 | [11:10] | 0 | |
| Tail | CFG_MSG | Dword m+1 | [9:8] | User defined bits | |
| Tail | Fixed Pattern | Dword m+1 | [7:0] | 0101 0101 |



