# Radar primitives

The primitives and modules collected in this library where developed by Karim Khiar from Thomson CSF. They are used by a demonstration named `RadarChainProcessing` which can be found in `MLD Librariesâ†’HOF Domainâ†’Demo`. The radar simulation, though five-dimensional, is implemented using SDF, which is a one-dimensional data flow model.

## Data models

- RadarAntenna
- Generate a specified number of Doppler filter outputs. This module consists of a cascade of a network of antennas, a bank of matched filters, a bank of windows, and a Doppler filter. The bank of matched filters convolves the antenna outputs with a filter matched to a complex pulse train.
- RadarTargets
- Model the observed data as the addition of the receive signal plus sensor noise. The received signal consists of a summation of the emissions of all targets.
- GenTarget
- Model the reception of signals by one sensor. A complex pulse train is delayed and then multiplied by a complex exponential.
- RectCxDoppler
- Generate a rectangular pulse of width
`width` (default 240). If `period` is greater than zero, then the pulse is repeated with the given period.

## Sensor and antenna models

- SubAntenna
- Models a sub-antenna. It multiplies the input by a complex exponential.
- sensor
- Compute the excitation of a plane wave arriving at a sensor at the given position with the arrival angle specified as an input. Position (0,0) is assumed to receive phase zero for any angle of arrival.
- ThermalNoise
- Generate thermal noise as a complex noise process whose real and imaginary components are identically independently distributed Gaussian random processes.
- Psi
- Model sub-antenna excitation.
- SpheToCart
- Compute the inner product of two vectors, one given by a
`magnitude` and two angles in spherical components, the other given by three Cartesian components.

## Doppler effects

- PulseComp
- This module generates any number of targets and performs pulse compression. It uses the original chirp to perform the pulse compression. This output represents the output of the radar processing along the range bin axis. The y-axis represents the target magnitude on a linear, logarithmic scale.
- OneDoppler
- Generate one Doppler output. This module performs an antenna to pulse multi-projection transformation followed by a decimator.

## Beamforming methods

- steering
- Multiply a sensor signal by a window sample and apply a steering correction.