Matched Filtering

Inheritance diagram of hermespy.jcas.matched_filtering.MatchedFilterJcas
class MatchedFilterJcas(max_range, waveform=None, receive_beamformer=None, detector=None, min_range=0.0, max_velocity=0.0, velocity_resolution=1.0, selected_transmit_ports=None, selected_receive_ports=None, carrier_frequency=None, seed=None)[source]

Bases: DuplexJCASOperator[CommunicationWaveform], Transmitter[JCASTransmission], Receiver[JCASReception], Serializable

Joint Communication and Sensing Operator.

A combination of communication and sensing operations. Senses the enviroment via a correlatiom-based time of flight estimation of transmitted waveforms.

Parameters:
  • max_range (float) – Maximally detectable range in m.

  • waveform (CommunicationWaveform | None) – Communication waveform used for transmission. If not specified, transmitting or receiving will not be possible.

  • receive_beamformer (ReceiveBeamformer | None) – Beamforming applied during signal reception. If not specified, no beamforming will be applied during reception.

  • detector (RadarDetector | None) – Detector routine configured to generate point clouds from radar cubes. If not specified, no point cloud will be generated during reception.

  • min_range (float) – Minimal range considered for the generated radar cubes. Zero by default, but can be adjusted to ignore, for example, self-interference.

  • 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 | None) – 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 | None) – Random seed used to initialize the pseudo-random number generator.

classmethod Deserialize(process)[source]

Deserialize an object’s state.

Objects cannot be deserialized directly, instead a Factory must be instructed to carry out the deserialization process.

Parameters:

process (DeserializationProcess) – The current stage of the deserialization process. This object is generated by the Factory and provides an interface to deserialization methods supporting multiple backends.

Return type:

MatchedFilterJcas

Returns:

The deserialized object.

frame_duration(bandwidth)[source]

Duration of a single communication frame in seconds.

Parameters:

bandwidth (float) – Target bandwidth of the communication waveform in Hz.

Return type:

float

Convenience wrapper for the waveform frame_duration method.

notify_transmit_callbacks(transmission)[source]

Notify the registered callbacks about the generated transmission.

Parameters:

transmission (JCASTransmission) – Transmission to be passed to the callbacks.

Return type:

None

range_resolution(sampling_rate)[source]

Resolution of the Range Estimation.

Parameters:

sampling_rate (float) – Sampling rate of the transmitted and received signal in Hz. Defined as the waveform’s bandwidth times the oversampling factor.

Returns:

Resolution in m.

Return type:

float

Raises:

ValueError – If the range resolution is smaller or equal to zero.

samples_per_frame(bandwidth, oversampling_factor)[source]

Number of samples required to process at least a single frame.

Parameters:
  • bandwidth (float) – The processed signal’s bandwidth in Hz.

  • oversampling_factor (int) – Factor by which the processed signal is oversampled.

Return type:

int

Returns:

Number of samples.

serialize(process)[source]

Serialize this object’s state.

Objects cannot be serialized directly, instead a Factory must be instructed to carry out the serialization process.

Parameters:

process (SerializationProcess) – The current stage of the serialization process. This object is generated by the Factory and provides an interface to serialization methods supporting multiple backends.

Return type:

None

property max_range: float[source]

Maximally estimated reange in m.

Raises:

ValueError – If max_range is smaller or equal to zero.

property max_velocity: float[source]

Maximal absolute detectable velocity in m/s.

Raises:

ValueError – If max_velocity is smaller than zero.

property power: float[source]

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 velocity_resolution: float[source]

Velocity resolution in m/s.

Raises:

ValueError – If velocity_resolution is smaller or equal to zero.