Frequency Modulated Continuous Waveform Radar#

class FMCW(num_chirps=10, bandwidth=100000000.0, chirp_duration=1.5e-06, pulse_rep_interval=1.5e-06, sampling_rate=None, adc_sampling_rate=None)#

Bases: RadarWaveform, Serializable

Frequency Modulated Continuous Waveform Radar Sensing with stretch processing.

This class generates a frame consisting of a sequence of unmodulated chirps. They are used for radar detection with stretch processing, i.e., mixing the received signal with the transmitted sequence, (under)sampling and applying an FFT.

Parameters:
  • num_chirps (float) – number of chirps in a radar frame

  • bandwidth (float) – Sweep bandwidth of the chirp in Hz

  • sampling_rate (float) – simulation sampling rate of the baseband signal in Hz

  • chirp_duration (float) – chirp duration in seconds

  • pulse_rep_interval (float) – pulse repetition interval in seconds

  • adc_sampling_rate (float) – sampling rate of ADC after mixing

yaml_tag: Optional[str] = 'Radar-FMCW'#

YAML serialization tag.

ping()#

Generate a single radar frame.

Returns:

Model of the radar frame.

Return type:

Signal

estimate(input_signal)#
Return type:

ndarray

property max_range: float#

Maximum detectable radial range of the radar waveform.

Returns: Maximum range in m.

property range_resolution: float#

Resolution of the radial range sensing in m.

Returns: Range resolution in m.

property max_relative_doppler: float#

Maximum relative detectable radial doppler frequency shift in Hz.

\[\math{\Delta f_\mathrm{Max}} = \frac{v_\mathrm{Max}}{\lambda}\]

Returns: Shift frequency delta in Hz.

property relative_doppler_resolution: float#

Relative resolution of the radial doppler frequency shift sensing in Hz.

\[\math{\Delta f_\mathrm{Res}} = \frac{v_\mathrm{Res}}{\lambda}\]

Returns: Doppler resolution in Hz.

property relative_doppler_bins: ndarray#

Realtive discrete sample bins of the radial doppler frequency shift sensing.

Returns:

Doppler shift bins in Hz.

Return type:

np.ndarray

property frame_duration: float#

Duration of the radar frame.

Returns: Frame duration in seconds.

property num_chirps: int#

Number of chirps per transmitted radar frame.

Returns:

Number of chirps.

Return type:

int

Raises:

ValueError – If the number of chirps is smaller than one.

property bandwidth: float#

Bandwidth swept during each chirp.

Returns:

Sweep bandwidth in Hz.

Return type:

float

Raises:

ValueError – If bandwidth is smaller or equal to zero.

property chirp_duration: float#

Duration of a single chirp within the FMCW frame.

Returns: Duration in seconds.

Raises:

ValueErorr – For durations smaller or equal to zero.

property adc_sampling_rate: float#

Sampling rate at ADC

Returns:

sampling rate in Hz.

Return type:

float

Raises:

ValueError – If sampling rate is smaller or equal to zero.

property sampling_rate: float#

The optional sampling rate required to process this waveform.

Returns:

Sampling rate in Hz.

Return type:

sampling_rate (float)

property pulse_rep_interval: float#

Pulse repetition interval

Returns:

pulse repetition interval in seconds

Return type:

float

Raises:

ValueError – If interval is smaller or equal to zero.

property slope: float#

Slope of the bandwidth sweep.

Returns:

Slope in Hz / s.

Return type:

float

Raises:

ValueError – If slope is smaller or equal to zero.

property energy: float#

Energy of a radar pulse

Returns:

pulse energy.

property power: float#

Power of the radar waveform.

Returns: Radar power in \(\mathrm{W}\).