Section#

class FrameSection(num_repetitions=1, frame=None)[source]#

Bases: object

OFDM Frame configuration time axis.

abstract demodulate(signal)[source]#

Demodulate a time section of a complex OFDM base-band signal into data symbols.

Parameters:

signal (np.ndarray) – Vector of complex-valued base-band samples.

Return type:

ndarray

Returns: Sequence of demodulated data and reference symbols.

abstract extract_channel(csi, reference_position)[source]#

Extract the channel state information relevant to this section given perfect CSI. :type csi: ndarray :param csi: Channel state information. :type csi: np.ndarray :type reference_position: ReferencePosition :param reference_position: Position of the reference within the OFDM grid. :type reference_position: ReferencePosition

Returns: Extracted channel state information.

Return type:

ndarray

abstract modulate(symbols)[source]#

Modulate this section into a complex base-band signal.

Parameters:

symbols (np.ndarray) – The palced complex symbols encoded in this OFDM section. This includes both reference and data symbols to be transmitted.

Returns:

The modulated signal vector.

Return type:

np.ndarray

pick_symbols(grid)[source]#
Return type:

ndarray

place_symbols(data_symbols, reference_symbols)[source]#
Return type:

ndarray

property frame: OFDMWaveform | None#

OFDM frame this section belongs to.

Returns:

Handle to the OFDM frame. None if this section is considered floating.

property num_references: int#

Number of data symbols this section can modulate.

Returns:

The number of symbols

Return type:

int

property num_repetitions: int#

Number of section repetitions in the time-domain of an OFDM grid.

Returns:

The number of repetitions.

Return type:

int

abstract property num_samples: int#

Number of samples within this OFDM time-section.

Returns:

Number of samples

Return type:

int

property num_subcarriers: int#

Number of subcarriers this section requires.

Returns:

The number of subcarriers.

Return type:

int

property num_symbols: int#

Number of data symbols this section can modulate.

Returns:

The number of symbols

Return type:

int

property num_words: int#

Number of OFDM symbols, i.e. words of subcarrier symbols this section can modulate.

Returns:

The number of words.

Return type:

int

property resource_mask: ndarray#