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
Return type

float

property range_bins: ndarray

Sample bins of the depth sensing.

Returns

Ranges in m.

Return type

np.ndarray

property velocity_bins: ndarray

Sample bins of the radial velocity sensing.

Returns

Doppler shift in Hz.

Return type

np.ndarray

property frame_duration: float
Return type

float

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.

Return type

float

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 range_resolution: float

Depth sensing resolution.

Returns

Range resolution in m.

Return type

float

Raises

ValueError – If resolution is smaller or equal to zero.

property doppler_resolution: float

Doppler sensing resolution.

Returns

Doppler resolution in Hz.

Return type

float

Raises

ValueError – If resolution 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 max_velocity: float

Maximum relative target velocity detectable.

Returns

Maximum target velocity in m/s.

Return type

float

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

Return type

float

Returns

pulse energy.

property power: float

Power of the radar waveform.

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

Return type

float