In FMCW radars, a sinusoidal waveform with varying frequency is transmitted for a time \(T_{c}\). Linear sweeps of the frequency bandwidth \(B\) are known as chirps. The waveform is reflected by the target and captured by one or more receiving antennas after a time delay \(\tau\), proportional to the distance and velocity of the target.
For Doppler velocity estimation, a number
\(N_{c}\) of chirps can be transmitted in a single measurement frame. The received signal is mixed with the transmitted one and low-pass filtered, to provide so called Intermediate Frequency (IF) signal, whose real part is [
1,
23]:
$$x_{\mathrm{IF}}(t)=A_{R}\cos(2\pi f_{\mathrm{IF}}t+\phi_{\mathrm{IF}})$$
(3)
where
\(A_{R}\) is the signal amplitude,
\(f_{\mathrm{IF}}\) is the constant beat frequency corresponding to the difference between transmitted and received waveforms, and
\(\phi_{\mathrm{IF}}\) is the mixed signal phase. Finally, the mixed signal is sampled
\(N_{s}\) times at the ADC frequency
\(f_{s}\) to provide the raw time domain data which we are interested in to model. Radars allowing low level access can be configured by varying
\(N_{s}\),
\(N_{c}\),
\(f_{s}\),
\(B\) and
\(T_{c}\). These parameters are chosen on the basis of desired maximum range, velocity and resolution. The proposed simulation framework allows the configuration of all these quantities. The generation of the time domain signal is summarized in the following: The mixed signal is first evaluated at each pixel, by discretizing the IF equations for all samples and chirps. For one pixel of coordinates
\(\{u,v\}\), we have:
$$\begin{aligned}\tau[n]_{u,v} & =2(R_{u,v}+v_{u,v}n)n_{c}/c\end{aligned}$$
(4)
$$\begin{aligned}f[n]_{u,v} & =2\pi f_{c}\tau[n]_{u,v}+2\pi S\tau[n]_{u,v}n-\pi S\tau[n]_{u,v}^{2}\end{aligned}$$
(5)
$$\begin{aligned}x_{\mathrm{IF}}[n]_{u,v} & =A_{R}\cos(f[n]_{u,v})\end{aligned}$$
(6)
where
\(1\leq n_{c}\leq N_{c}\) is the chirps index,
\(n=n_{s}/f_{s}\), with
\(1\leq n_{s}\leq N_{s}\) is the samples index,
\(S=B/T_{c}\) is the chirp’s slope and
\(A_{R}\) is the pixel intensity. The pixel’s velocity
\(v\) is computed from the difference between radial distance values
\(R^{k}\) and
\(R^{k-1}\) obtained at two consecutive steps
\(k\) and
\(k-1\), with
\(\Delta t\) as simulation rate. The values of
\(R\) are simply given by the distance maps computed in the shader, after the transformation and cutting process. The pixels’ contributions are summed up, and everything is repeated for each simulated antenna, obtaining the raw time domain signal
\(x_{\mathrm{IF}}\), reshaped into the so-called
\(N_{c}\times N_{s}\times N_{a}\) radar cube, where
\(N_{a}\) is the number of Rx antennas.
Radar tracking performances are highly dependent on the target detection algorithm, related to the peaks in the Range-Fast Fourier Transform (FFT) spectrum. In real sensors, low-amplitude peaks corresponding to targets with low Radar Cross Section (RCS) might not exceed the noise floor level and therefore will not be detected. The proposed simulation takes this effect into account. Noise is usually modeled at the receiver level [
24] and is a mixture of thermal noise, phase noise and other effects, the sum of which is approximated as additive white Gaussian noise. Having modeled the mixed signal, White Gaussian Noise (WGN) samples are added to obtain the final time domain radar signal
\(x_{R}[n]=x_{\mathrm{IF}}[n]+w[n]\). The variance of
\(w[n]\) can be adjusted by the user, as its value varies with each device and in different conditions.