Radar Cube#
Radar cubes represent the raw image create after the base-band processing of radar samples.
- class RadarCube(data, angle_bins=None, doppler_bins=None, range_bins=None, carrier_frequency=0.0)#
Bases:
HDFSerializable
A representation of raw radar image samples.
- Parameters:
data (np.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 (np.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 (np.ndarray) – Numpy vector specifying the represented discrete doppler frequency shift bins in Hz. Must be of dimension \(\mathbb{R}^{B}\).
range_bins (np.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.
- 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 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 doppler_bins: ndarray#
Discrete doppler shift estimation bins.
- Returns:
Numpy vector specifying the represented discrete doppler frequency bins in Hz.
- 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.
- property range_bins: ndarray#
Discrete range estimation bins.
- Returns:
Numpy vector specifying the represented discrete range bins in \(\mathrm{m}\).
- plot_range(title=None, axes=None, scale='lin')#
Visualize the cube’s range data.
- Parameters:
title (str, optional) – Plot title.
- Return type:
plt.Figure
- plot_range_velocity(title=None, interpolate=True, scale=None)#
Visualize the cube’s range-velocity profile.
- Parameters:
title (str, optional) – Plot title.
interpolate (bool, optional) – Interpolate the axis for a square profile plot. Enabled by default.
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.
- Return type:
plt.Figure
- normalize_power()#
Normalize the represented power indicators to unit maximum.
- Return type:
None
- classmethod from_HDF(group)#
De-Serialized the object state from HDF5.
Recalls the object’s state from a HDF5 group.
- Parameters:
group (Group) – The HDF5 group from which the object state is recalled.
- Return type:
Returns: The object initialized from the HDF5 group state.
- to_HDF(group)#
Serialize the object state to HDF5.
Dumps the object’s state and additional information to a HDF5 group.
- Parameters:
group (Group) – The HDF5 group to which the object is serialized.
- Return type:
None