Transform Decoding
This module implements the OFDM demodulator to recover the resource Grid back from the received samples.
- class toolkit5G.OFDM.TransformPrecoding(numSubcarriers)[source]
This class implements the transform precoding required for implementation of DFT-s-OFDM or SC-FDM. Details of the implementation can be found in the section 6.3.1.2 Transform precoding of 3GPP TS 38.211.
- Parameters:
numSubcarriers (int) – Defines the number of subcarriers considered for transform precoding. The length of the input (inputs.shape[-1]) must be a multiple of numSubcarriers.
- Input:
inputs ([…, numSubcarriers*numSets], np.complex) – Defines the streams of symbols to be tranform precoded. The numSets must be positive integer (>0). In 5G DFT-s-OFDM numSets is generally equal to number of OFDM symbols.
- Output:
[…,numSubcarriers*numSets], np.complex – Transform precoded symbols. These symbols are mapped into the resource grid before OFDM.
Note
The length of input (inputs.shape[-1]) must be an integer multiple of numSubcarriers.
- Raises:
ValueError – “[Error-TransformPrecoding]: ‘inputs’ must be numpy array of real or complex numbers!”
ValueError – “[Error-TransformPrecoding]: shape of ‘inputs’ is inconsistent with ‘numSubcarriers’! The length of the input (inputs.shape[-1]) must be a multiple of numSubcarriers!”
ValueError – “[Error-TransformPrecoding]: ‘numSubcarriers’ must be positive (>0)!”
ValueError – “[Error-TransformPrecoding]: ‘numSubcarriers’ must be an integer!”