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)#

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#

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.

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:

RadarCube

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