In FMCW radar signal processing a sequence of chirps, uniformly spaced in time, are transmitted. The reflected signal may be received across multiple RX antennas (say N). In many applications, it is desirable to know the Angle of Arrival (AoA) of the reflected signals, to know the angle at which an object is. Traditionally, this is calculated using a Fourier Transform (FFT) based technique for the signals received at the RX antennas. This technique utilises the relative phase differences across the RX antennas to estimate the AoA of the signal. The major issue with this FFT-based technique is that it has a poor angular resolution (theta_res = 2/N).
Capon Beamforming is an algorithm which helps improve the angular resolution of a sensor. Beamforming is the process of focussing a receiving device in a particular direction to "listen" to signals from that direction. This "listening" is done through a steering vector, which enables us to focus the receiver in a desired direction. A simple beamformer applies a time delay (Delta) and an amplitude weight (w) to the received signal at each antenna to form the steering vector. These weights have to be tuned to "listen" properly to a particular direction. Capon Beamforming uses optimization techniques to find the most optimal weights for a beamformer, hence giving us a good angular resolution.
We see in the above comparision that Capon Beamforming gives a better angular resolution than FFT-based AoA estimation. Additionally, we see that we also have much lesser side lobes in case of Capon Beamforming.
The structures to be used by the user are well-commented in the caponBeamforming.h file.
Description: Capon Beamforming init function. It allocates memory to store its internal data object and returns a handle if it executes successfully.
Parameters:
initCfg – initCfg Pointer to initial configuration parameter.
errCode – errCode Pointer to errCode generates by the API.
Return values:
Success = valid handle
Error != 0: NULL
Description: Capon Beamforming configuration. Configures the Capon Beamforming DPU
Parameters:
handle – DPU handle.
cfg – Pointer to configuration parameters.
Return values:
Success = 0
Error != 0: DPU_CAPONBEAMFORMING_ERROR_CODE
Description: Capon Beamforming process function. Performs the Capon Beamforming algorithm
Parameters:
handle – DPU handle.
cfg – Pointer to configuration parameters.
Return values:
Success = 0
Error != 0: DPU_CAPONBEAMFORMING_ERROR_CODE
Description: Capon Beamforming DPU deinit
Parameters:
handle – DPU handle.
cfg – Pointer to configuration parameters.
Return values:
Success = 0
Error != 0: DPU_CAPONBEAMFORMING_ERROR_CODE
| N_ant | N_snaps | Angles Sampled | Time (us) |
|---|---|---|---|
| 6 | 128 | 32 | 648 |
| 4 | 64 | 64 | 314 |