CW Radar using Red Pitaya and GNU Radio
Perhaps the simplest waveform a radar can use is a continuous unmodulated tone. You will get no direct range measurements from such a system, but you will inherently get Doppler beat frequency fbeat measurements proportional to radar transmit frequency ftx for target radial velocity v using speed of light c. From the program CW_doppler.py:
fbeat = 2 * v * ftx/(c-v)
A software defined radar implementation of a CW Doppler radar using GNU Radio might look like this diagram:
Avoid zero center frequency: IQ imbalance by the technique of moving our main transmit/receive frequency away from the center frequency of the complex baseband, to avoid interference from IQ imbalance.
Estimate radial velocity from CW software defined radar with unmodulated CW (pure everlasting sinewave emission, delta functional in frequency domain). The estimation problem is accurately determining fbeat by which v is estimated. Of course, the return signal is highly corrupted by noise, not least of which is the phase noise of the transmitter, particularly under 100 MHz where the Doppler shift is relatively small, compared to a 2.4 GHz radar.
A peak-finding algorithm on the frequency domain representation of the return signal obtained via FFT is typically not the best choice. If noise is a problem, and you want to find multiple targets, subspace frequency estimation methods are known to be highly precise for solvable problems. Subspace frequency estimation code for Python, Fortran, C and C++. Matlab’s implementation is very inefficient by comparison–Matlab takes far longer to solve and with poorer results.
Expected beat frequencies: the radar transmits at 47.010 MHz, and for vehicles on the highway, by the equation above, most return signals will be in the 47.0099 MHz to 47.0101 MHz range, that is, the beat frequencies will be less than 100 Hz magnitude and most less than 10 Hz magnitude. The exact beat frequency for a given trajectory and fixed radar parameters depends entirely on the radial velocity.
Target true velocity estimation can be obtained from radial velocity. This can be computed and used to invert measurements to get an estimate of true target velocity given oblique measurements. The usual non-uniqueness issues apply.
Target range estimation: CW radar
Attempting to estimate bounds on range using unmodulated CW radar from targets with known travel paths and speeds can be a thought exercise, but not necessarily a fruitful pursuit. It is more practical to apply frequency modulation, whether stepped or swept in frequency to enable traditional range measurements with fewer a priori constraints. An example of stepped frequency FSK CW radar paper.