Resource

Inheritance diagram of hermespy.modem.waveforms.orthogonal.waveform.GridResource, hermespy.modem.waveforms.orthogonal.waveform.PrefixType
class GridResource(repetitions=1, prefix_type=PrefixType.CYCLIC, prefix_ratio=0.0, elements=None)[source]

Bases: Serializable

Configures one sub-section of a resource grid in both dimensions.

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:

GridResource

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

elements: list[GridElement][source]

Individual resource elements

property mask: ndarray[tuple[int, int], dtype[bool]][source]

Boolean mask selecting a specific type of element from the OFDM grid.

Mask of dimension num_element_types`x`num_subcarriers*num_repetitions.

property num_references: int[source]

Number of references symbols this resource can modulate.

property num_subcarriers: int[source]

Number of occupied subcarriers.

property num_symbols: int[source]

Number of data symbols this resource can modulate.

property prefix_ratio: float[source]

Ratio between full block length and prefix length.

Raises:

ValueError – If ratio is less than zero.

prefix_type: PrefixType[source]

Prefix type of the frame resource

property repetitions: int[source]

Number of block repetitions along the frequency axis.

Returns: Number of repetitions.

class PrefixType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: SerializableEnum

Type of prefix applied to the grid resource in time-domain.

CYCLIC = 0[source]

Cyclic prefix repeating the resource waveform in time-domain

NONE = 2[source]

No prefix applied

ZEROPAD = 1[source]

Prefix zero-padding the prefix in time-domain