Fundamental overview and simulation of MIMO systems for Space-Time coding and Spatial Multiplexing