Data Detection and Equalization for MIMO Communications