Multipath propagation in wireless channels has traditionally been considered a pitfall that degrades the performance of wireless communication systems. The concept of multiple-input multiple-output (MIMO) channels has turned this view, and today it is evident that users actually benefit from the multipath channel. The MIMO channel promises an information theoretic capacity in bits/s/Hz that grows linearly with the minimum of the number of transmitter and receiver antennas rather than logarithmically as in the case of single-input single-output (SISO) channels. This remarkably finding has led to considerable research in the MIMO-area. In systems where channel state information (CSI) is available, parallel subchannels can be found by Singular-Value Decomposition (SVD) and power can be distributed using the water-filling (WF) procedure. In WF, more power is allocated to "better" subchannels in order to maximize the capacity. Obviously, the resulting performance is dependent of the quality of the CSI estimates. In this paper a MIMO-system simulator for wireless communications is implemented in Matlab. The transmitter and receiver utilize channel estimation and WF in order to maximize capacity. The bit error rate (BER) performance of the system is evaluated in the presence of channel estimation errors of varying degrees.