OFDM Radar

Inheritance diagram of hermespy.jcas.ofdm_radar.OFDMRadar

A radar implementation estimation range-doppler maps from OFDM symbols as suggested by [1].

An OFDM radar can be created as follows:

 1# Configure a OFDM radar
 2device = SimulatedDevice(carrier_frequency=24e9)
 3radar = OFDMRadar(OFDMWaveform(
 4    grid_resources=[
 5        GridResource(16, PrefixType.CYCLIC, .1, [GridElement(ElementType.DATA, 7), GridElement(ElementType.REFERENCE, 1)]),
 6        GridResource(128, PrefixType.CYCLIC, .1, [GridElement(ElementType.DATA, 1)]),
 7    ],
 8    grid_structure=[
 9        SymbolSection(64, [0, 1])
10    ],
11    num_subcarriers=1024,
12    subcarrier_spacing=90.909e3,
13    oversampling_factor=4,
14))
15radar.detector = MaxDetector()
16device.add_dsp(radar)
17
18# Generate a single target
19radar_channel = SingleTargetRadarChannel(.75 * radar.max_range, 1., velocity=10, attenuate=False)
20transmission = device.transmit()
21propagation = radar_channel.propagate(transmission, device, device)
22reception = device.receive(propagation)
23
24# Visualize radar image
25reception.operator_receptions[0].cube.plot_range()
26reception.operator_receptions[0].cube.plot_range_velocity(scale='velocity')
27reception.operator_receptions[0].cloud.visualize()
class OFDMRadar(waveform=None, selected_transmit_ports=None, selected_receive_ports=None, carrier_frequency=None, seed=None)[source]

Bases: DuplexJCASOperator[OFDMWaveform], Serializable

A joint communication and sensing approach estimating a range-power profile from OFDM symbols.

Refer to [1] for the original publication.

Parameters:
  • waveform (OFDMWaveform, optional) – Communication waveform emitted by this operator.

  • selected_transmit_ports (Sequence[int] | None) – Indices of antenna ports selected for transmission from the operated Device's antenna array. If not specified, all available ports will be considered.

  • selected_receive_ports (Sequence[int] | None) – Indices of antenna ports selected for reception from the operated Device's antenna array. If not specified, all available antenna ports will be considered.

  • carrier_frequency (float, optional) – Central frequency of the mixed signal in radio-frequency transmission band. If not specified, the operated device’s default carrier frequency will be assumed during signal processing.

  • seed (int, optional) – Random seed used to initialize the pseudo-random number generator.

property max_range: float

Maximum range detectable by OFDM radar.

Defined by equation (12) in [1] as

\[d_\mathrm{max} = \frac{c_0}{2 \Delta f} \quad \text{.}\]

Returns: Maximum range in m.

property max_relative_doppler: float

The maximum relative doppler shift detectable by the OFDM radar in Hz.

property power: float

Expected power of the transmitted signal in Watts.

Note

Applies only to the signal-carrying parts of the transmission, silent parts shuch as guard intervals should not be considered.

property range_resolution: float

Range resolution achievable by OFDM radar.

Defined by equation (13) in [1] as

\[\Delta r = \frac{c_0}{2 B} = \frac{c_0}{2 N \Delta f} = \frac{d_{\mathrm{max}}}{N} \quad \text{.}\]
property relative_doppler_resolution: float

The relative doppler resolution achievable by the OFDM radar in Hz.