Skip to Main Content
We propose a reduced complexity QRD-M algorithm based on two techniques: Diagonal Loading Preconditioning (DLP) to mitigate the impact of weak main diagonal elements of the channel matrix, and Per-Survivor Slicing (PSS) to allow for pruning of unnecessary branch computations. Both techniques can be combined. In comparison to previously published detectors, both techniques allow for fixed low complexity that is independent of the SNR. For PSS, a local slicer carries out P tentative decisions on possible symbols based on the symbol alphabet A of size |A|. Only for the P symbols closest in Euclidean distance to the received symbol soft estimate, branch metrics are computed, the remaining |A|-P symbols are dropped. M survivors are retained at each stage. In addition, we show that the previously proposed MMSE QRD- M algorithm (MQRD-M algorithm) has an error floor at high SNR. We show that DLP improves the QRD-M algorithm and outperforms the MQRD-M algorithm. In comparison to MQRD-M algorithm, neither the noise variance needs to be estimated, nor a prefilter (which would require a matrix inversion) is needed. Further, in order to take into account the different strengths of the layers, we propose to partition an available fixed number of branches in relation to the SNR of the layers. The proposed PSS technique is improved by this approach. DLP and PSS significantly lower the complexity. For 16-QAM modulation in a 4 times 4 MIMO system, e.g., the number of branches using the proposed PSS technique is 31.25% of the ordinary QRD-M algorithm if M = 16. With DLP used together with PSS, M can be lowered further, so that with 10.2% of the branches of QRD-M algorithm, only a small loss of 1 dB occurs.