Chains#
- class OFDMTransmitter(N_carrier_data: int, N_cp: int, carrier_type: ndarray | list | None = None, pilots: ndarray | list | None = None)#
OFDM transmitter processing chain.
This class encapsulates the sequence of operations to generate an OFDM time-domain transmit signal from input data symbols.
Processing steps: - Serial to parallel conversion - Allocation of data and pilot symbols to OFDM subcarriers - IFFT to move from frequency to time domain - Addition of cyclic prefix to mitigate inter-symbol interference - Parallel to serial conversion to output the time-domain signal
Parameters#
- N_carrier_dataint
Number of carriers (subcarriers) for data
- carrier_typenp.ndarray or list
Array indicating the carrier allocation types (e.g., data, pilot, null).
- N_cpint
Length of the cyclic prefix.
- pilotslist or np.ndarray
Pilot symbols to be inserted on pilot subcarriers.
Attributes#
- chainProcessor
Sequential processor implementing the transmitter chain.
- class OFDMReceiver(N_carrier_data: int, N_cp: int, h: ~numpy.ndarray | list = <factory>, carrier_type: ~numpy.ndarray | list | None = None)#
OFDM receiver processing chain.
This class encapsulates the sequence of operations to recover data symbols from a received OFDM time-domain signal.
Processing steps: - Serial to parallel conversion - Cyclic prefix removal - FFT to transform to frequency domain - Frequency-domain equalization using channel response - Extraction of data and pilot subcarriers - Parallel to serial conversion to output recovered data symbols
Parameters#
- N_carrier_dataint
Number of carriers (subcarriers) for data
- carrier_typenp.ndarray or list
Array indicating the carrier allocation types (e.g., data, pilot, null).
- N_cpint
Length of the cyclic prefix.
- hnp.ndarray or list
Channel impulse or frequency response used for equalization.
Attributes#
- chainProcessor
Sequential processor implementing the receiver chain.