Schmidl Cox Synchronization

Inheritance diagram of hermespy.modem.waveforms.orthogonal.ofdm.SchmidlCoxSynchronization
class SchmidlCoxSynchronization(waveform=None)[source]

Bases: OFDMSynchronization

Schmidl-Cox Algorithm for OFDM Waveform Time Synchronization and Carrier Frequency Offset Equzalization.

Applying the synchronization routine requires the respective waveform to have a SchmidlCoxPilotSection pilot symbol section configured.

Refer to Schmidl and Cox[1] for a detailed description.

Parameters:

waveform (CommunicationWaveform, optional) – The waveform generator this synchronization routine is attached to.

synchronize(signal)[source]

Simulates time-synchronization at the receiver-side.

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

Parameters:

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

Return type:

List[int]

Returns:

List of time indices indicating the first samples of frames detected in signal.

Raises:

RuntimeError – If the synchronization routine is floating

yaml_tag: Optional[str] = 'SchmidlCox'

YAML serialization tag