Duplex JCAS Operator

Inheritance diagram of hermespy.jcas.jcas.DuplexJCASOperator, hermespy.jcas.jcas.JCASTransmission, hermespy.jcas.jcas.JCASReception
class DuplexJCASOperator(waveform=None, receive_beamformer=None, detector=None, min_range=0.0, selected_transmit_ports=None, selected_receive_ports=None, carrier_frequency=None, seed=None)[source]

Bases: Generic[CWT], RadarBase[JCASTransmission, JCASReception], TransmittingModemBase[CWT], ReceivingModemBase[CWT]

Base class for duplex joint communication and sensing operators.

Duplex joint communication and sensing operators transmit a modulated waveform while simultaneously deriving a radar cube from the received backscattered power.

Parameters:
  • waveform (TypeVar(CWT, bound= CommunicationWaveform) | None) – Communication waveform emitted by this operator.

  • 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:

TypeVar(_DJOT, bound= DuplexJCASOperator)

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.

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

class JCASTransmission(transmission)[source]

Bases: CommunicationTransmission, RadarTransmission

Information generated by transmitting over a joint communication and sensing operator.

Parameters:
  • signal – Transmitted communication base-band waveform.

  • frames – Individual transmitted communication frames.

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:

JCASTransmission

Returns:

The deserialized object.

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

class JCASReception(communication, radar)[source]

Bases: CommunicationReception, RadarReception

Information generated by receiving over a joint communication and sensing operator.

Parameters:
  • signal – Received communication base-band waveform.

  • frames – Individual received communication frames.

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:

JCASReception

Returns:

The deserialized object.

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