Discrete Fourier Transform Precoding

class DFT(fft_norm=None)

Bases: SymbolPrecoder, Serializable

A precoder applying the Discrete Fourier Transform to each data stream.

Object initialization.

Parameters

fft_norm (str, optional) – The norm applied to the discrete fourier transform. See also numpy.fft.fft for details

yaml_tag: str = 'DFT'

YAML serialization tag.

encode(symbols)

Encode a data stream before transmission.

This operation may modify the number of streams as well as the number of data symbols per stream.

Parameters

symbols (StatedSymbols) – Symbols to be encoded.

Returns: Encoded symbols.

Raises

NotImplementedError – If an encoding operation is not supported.

Return type

StatedSymbols

decode(symbols)

Decode a data stream before reception.

This operation may modify the number of streams as well as the number of data symbols per stream.

Parameters

symbols (Symbols) – Symbols to be decoded.

Returns: Decoded symbols.

Raises

NotImplementedError – If an encoding operation is not supported.

Return type

StatedSymbols

property num_input_streams: int

Required number of input symbol streams for encoding / number of resulting output streams after decoding.

Returns

The number of symbol streams.

Return type

int

property num_output_streams: int

Required number of input symbol streams for decoding / number of resulting output streams after encoding.

Returns

The number of symbol streams.

Return type

int