MIMO: From Theory to Implementation