The goal of this project is to create a simulation of a basic baseband communication with MIMO using Python. The following sub-goals are expected to be achieved.
- Bits to sample mapping based on the modulation scheme. Currently supporting BPSK, QPSK, 16QAM, 64QAM, 256QAM, and 1024QAM.
- Modeling various channel matrices, H.
- Implementation of AWGN channel.
- Channel estimation algorithms.
- Sample detection algorithms.
- Useful plotting capability
- Time and frequency domain representation
- Constellation
- Channels:
- AWGN
- Random fading channel based on condition number
- Equalizer: Zero-Forcing, MMSE
- Measurement of Symbol error rate and EVM
- Basic Sphere decoding with Babai radius estimate
- Diversity ratio combining
- Equal gain combining
- Selection combining
- Maximal ratio combining
- Improve the efficiency of the sphereDecoder. Check if the Babai estimate needs to be calculated for all samples.
- Numpy
- Matplotlib
- Argparse
- Enum