Radar Cube

class RadarCube(data, angle_bins=None, doppler_bins=None, range_bins=None, carrier_frequency=0.0)[source]

Bases: HDFSerializable

A representation of raw radar image samples.

Parameters:
  • data (numpy.ndarray) – Raw radar cube data. Three-dimensional real-valued numpy tensor \(\mathbb{R}^{A \times B \times C}\), where \(A\) denotes the number of discrete angle of arrival bins, \(B\) denotes the number of discrete doppler frequency bins, and \(C\) denotes the number of discrete range bins.

  • angle_bins (numpy.ndarray) – Numpy matrix specifying the represented discrete angle of arrival bins. Must be of dimension \(\mathbb{R}^{A \times 2}\), the second dimension denoting azimuth and zenith of arrival in radians, respectively.

  • doppler_bins (numpy.ndarray) – Numpy vector specifying the represented discrete doppler frequency shift bins in Hz. Must be of dimension \(\mathbb{R}^{B}\).

  • range_bins (numpy.ndarray) – Numpy vector specifying the represented discrete range bins in \(\mathrm{m}\). Must be of dimension \(\mathbb{R}^{C}\).

  • carrier_frequency (float, optional) – Central carrier frequency of the radar in Hz. Zero by default.

Raises:

ValueError – If the argument numpy arrays have unexpected dimensions or if their dimensions don’t match.

normalize_power()[source]

Normalize the represented power indicators to unit maximum.

Return type:

None

property angle_bins: ndarray

Discrete angle estimation bins.

Returns:

Numpy matrix of dimension \(\mathbb{R}^{A \times 2}\), the second dimension denoting azimuth and zenith of arrival in radians, respectively.

property carrier_frequency: float

Central carrier frequency of the radar in Hz.

property data: ndarray

Raw radar cube data.

Three-dimensional real-valued numpy tensor \(\mathbb{R}^{A \times B \times C}\), where \(A\) denotes the number of discrete angle of arrival bins, \(B\) denotes the number of discrete doppler frequency bins, and \(C\) denotes the number of discrete range bins.

Returns: Radar cube numpy tensor.

property doppler_bins: ndarray

Discrete doppler shift estimation bins.

Returns:

Numpy vector specifying the represented discrete doppler frequency bins in Hz.

property plot_angles: _AnglePlot

Visualize the cube’s angle-power profile.

Parameters:

title (str, optional) – Plot title.

Returns: The generated image plot.

property plot_range: _RangePlot

Visualize the cube’s range-power profile.

Parameters:
  • title (str, optional) – Plot title.

  • scale (Literal['lin', 'log'], optional) – Plot the power axis in linear or logarithmic scale. If not specified, linear scaling is preferred.

Returns: The generated line plot.

property plot_range_velocity: _RangeVelocityPlot

Visualize the cube’s range-velocity profile.

Parameters:
  • title (str, optional) – Plot title.

  • scale (Literal['frequency', 'velocity'], optional) – Plot the velocity axis in frequency (Hz) or velocity units (m/s). If not specified, plotting in velocity is preferred, if the carrier frequency is known.

Returns: The generated image plot.

property range_bins: ndarray

Discrete range estimation bins.

Returns:

Numpy vector specifying the represented discrete range bins in \(\mathrm{m}\).

property velocity_bins: ndarray

Discrete doppler estimation bins.

Returns:

Numpy vector specifying the represented discrete doppler velocity bins in \(\mathrm{m/s}\).

Raises:

RuntimeError – If the carrier frequency is not specified.