Correlation-Based Waveform Synchronization

PGT

Type of pilot-generating waveforms.

alias of TypeVar(‘PGT’, bound=hermespy.modem.waveform_generator.PilotWaveformGenerator)

class CorrelationSynchronization(threshold=0.9, guard_ratio=0.8, *args, **kwargs)

Bases: Generic[hermespy.modem.waveform_correlation_synchronization.PGT], hermespy.modem.waveform_generator.Synchronization[hermespy.modem.waveform_correlation_synchronization.PGT]

Correlation-based clock synchronization for arbitrary communication waveforms.

Parameters
  • threshold (float, optional) – Correlation threshold at which a pilot signal is detected.

  • guard_ratio (float, optional) – Guard ratio of frame duration.

  • *args – Synchronization base class initialization parameters.

yaml_tag: Optional[str] = 'PilotCorrelation'

YAML serialization tag.

property threshold: float

Correlation threshold at which a pilot signal is detected.

Returns

Threshold between zero and one.

Return type

float

Raises

ValueError – If threshold is smaller than zero or greater than one.

property guard_ratio: float

Correlation guard ratio at which a pilot signal is detected.

After the detection of a pilot section, guard_ratio prevents the detection of another pilot in the following samples for a span relative to the configured frame duration.

Returns

Guard Ratio between zero and one.

Return type

float

Raises

ValueError – If guard ratio is smaller than zero or greater than one.

synchronize(signal, channel_state)

Simulates time-synchronization at the receiver-side.

Sorts base-band signal-sections into frames in time-domain.

Parameters
  • signal (np.ndarray) – Vector of complex base-band samples of with num_streams`x`num_samples entries.

  • channel_state (ChannelStateInformation) – State of the wireless transmission channel over which signal has been propagated.

Returns

Tuple of signal samples and channel transformations sorted into frames

Return type

List[Tuple[np.ndarray, ChannelStateInformation]]

Raises
  • ValueError – If the number of received streams in channel_state does not equal one. If the length of signal and the number of samples in channel_state are not identical.

  • RuntimeError – If the synchronization routine is floating

classmethod to_yaml(representer, node)

Serialize an CorrelationSynchronization object to YAML.

Parameters
  • representer (CorrelationSynchronization) – A handle to a representer used to generate valid YAML code. The representer gets passed down the serialization tree to each node.

  • node (CorrelationSynchronization) – The CorrelationSynchronization instance to be serialized.

Returns

The serialized YAML node

Return type

Node