1. A method of detecting data in a received multiple-input-multiple-output (MIMO) signal, the method comprising: receiving, via a transmission channel, N signals from N respective antennas, the received signals being associated with (i) M sets of data values, (ii) a set of symbols, and (iii) a set of carrier frequencies, wherein N and M are non-zero positive integers; forming the N signals into a received signal vector y and performing one or more transformations on the received signal vector y to obtain a transformed vector, forming a plurality of samples from the transformed vector, each sample of the plurality of samples being associated with (i) a spatial stream of a set of spatial streams, (ii) a symbol of the set of symbols, and (iii) a carrier frequency of the set of carrier frequencies; selecting, for samples of the plurality of samples, a data detection technique of a plurality of data detection techniques to be used in detecting data of a given sample, the selecting being based on at least one of the spatial stream, the symbol, and the carrier frequency associated with the given sample; and using the selected data detection technique to detect data of the given sample; the selecting and using the selected data detection technique further comprising, based on a first data detection technique being selected, using a set of equalizer modules of a communication device to implement the first data detection technique, and based on a second data detection technique being selected, (a) disabling one or more equalizer modules of the set of equalizer modules to implement the second data detection technique, or (b) modifying one or more operations performed in an equalizer module of the set of equalizer modules, and modifying one or more inputs to the set of equalizer modules to implement the second data detection technique.