Multiple-Input Multiple-Output Channel Models: Theory and Practice