Transforming information-carrying signals from source to destination is called the process of communication. We carry out modulation for long-distance transmission by transmitting the message signal after modifying the carrier wave’s phase, frequency, or phase. Channel coding is used for error detection and repair. In this project, we use MATLAB to model the modulation methods M-PSK and M-QAM and compare them to bit error rates. We model channel equalization strategies such as Maximum Likelihood beamforming, Minimum Mean Square Equalizer, and Zero Forcing Equalizer. To increase the reliability of communication in presence of fading we simulate a multiple input multi- ple output system with diversity using MATLAB. We compare the capacity of multiple input multiple output, single input multiple output, single input sin- gle output and multiple input single output and capacity of a MIMO system for a different number of transmit and receive antennas. We simulate the per- formance of MIMO with Alamouti coding in presence of Rayleigh fading. We also simulate the performance of various multiple access techniques orthogo- nal frequency division multiple access, single carrier frequency division multi- ple access, code division multiple access using gold codes.