OFDM: Modulator
This module implements the cyclic prefix (CP) OFDM. The 5G transmitter side modulate the physical resource grid using
\(\bar{s}_l^{(p, \mu)}(t)=\sum_{k=0}^{N_{\mathrm{grid}, \mu}^{\mathrm{size}}, N_{\mathrm{sc}}^{\mathrm{RB}}-1} a_{k, l}^{(p, \mu)} e^{j 2 \pi\left(k+k_0^\mu-N_{\mathrm{grid},}^{\mathrm{size}, \mu} N_{\mathrm{sc}}^{\mathrm{RB}} / 2\right) \Delta f\left(t-N_{\mathrm{c}, l}^\mu T_{\mathrm{c}}-t_{\mathrm{start}, l}^\mu\right)}\)
The module provided below implements the discrete version of the above equation as detailed below.
\(\bar{s}_l^{(p, \mu)}(n)=\sum_{k=0}^{\text{N}_\text{FFT}-1} a_{k, l}^{(p, \mu)} e^\frac{j 2 \pi(k-\text{N}_\text{FFT} / 2) (n-N_{\mathrm{c}, l}^\mu )}{N_{\text{FFT}}}\). This expression is derived by setting
Parameter |
Definition |
Value |
---|---|---|
\(k_0^\mu\) |
0 |
Initial subcarrier offset |
\(t\) |
\(t = n.T_{c}\) |
time instant |
\(t_{\mathrm{start}, l}^\mu\) |
0 |
Start of time window associated with symbol l and numerology \(\mu\) |
\(T_{c}\) |
\(T_{c} = \frac{1}{\text{N}_\text{FFT} *\Delta f}\) |
Sample Duration |
The details of the input and output interface for OFDM Modulator is shown below.
- class toolkit5G.OFDM.OFDMModulator(cyclic_prefix_length, **kwargs)[source]
Computes the time-domain representation of an OFDM resource grid with (optional) cyclic prefix.
- Parameters:
cyclic_prefix_length (int) – Integer indicating the length of the cyclic prefix that it prepended to each OFDM symbol. It cannot be longer than the FFT size.
- Input:
[…,num_ofdm_symbols,fft_size], tf.complex – A resource grid in the frequency domain.
- Output:
[…,num_ofdm_symbols*(fft_size+cyclic_prefix_length)], tf.complex – Time-domain OFDM signal.