1. A method of soft-decision maximum likelihood demodulation for decoding a data vector transmitted by a multiple-output transmitter, in a multiple-input multiple-output (MIMO) communications channel, the method comprising: obtaining a plurality of candidate signal values associated with the transmitted data vector; partitioning the candidate signal values into a plurality of signal bit groups; performing a sphere search over the candidate signal values within a search radius value to determine a smallest distance metric for each signal bit group; updating the search radius value based on a current smallest distance metric for each signal bit group; selecting a first set of signal streams of the transmitted data vector for soft decoding, wherein each signal bit group corresponds to a different candidate signal value of the first set of signal streams; generating, for each signal bit group, a tree having layers of nodes, wherein only the candidate signal values in the each signal bit group are associated with the nodes of the tree; computing a log-likelihood ratio (LLR) from the determined smallest distance metrics for each signal bit group using a soft-decision demodulator; and decoding the transmitted data vector based on the computed LLR.