# Low-Complexity QRD-\(M\) with Path Eliminations in MIMO-OFDM Systems
## 4 Proposed Low-Complexity QRD-\(M\)  
The whole complexity of the conventional QRD-\(M\) is very high for achieving the error performance of the ML. The main reason for the high complexity is the calculation of many unnecessary survival paths at all layers. To reduce the complexity of the conventional QRD-\(M\), the authors try to eliminate unnecessary survival paths by comparing the ASEDs and adaptively calculated threshold at each layer. The proposed QRD-\(M\) starts with the QR decomposition and performs the same operations from Equations (2) to (5). As a result of Equation (5), \(T\) paths are selected in an ascending order, where \(T=\log_{2}\lvert S\rvert\) is the number of temporarily selected survival paths at each layer to calculate the threshold and to eliminate unnecessary survival paths. The number of survivor paths increases exponentially as the modulation order increases. The value of \(T\) increases linearly as the constellation size increases nonlinearly. So, the used modulation scheme in the system must be considered to calculate the reliable thresholds and successfully eliminate unnecessary survival paths. For general notation of the proposed QRD-\(M\), Equation (5) is rewritten as follows:  
\[\left[E_{N_{t},k}\right]_{N_{t}}=|Z_{N_{t}}-R_{N_{t}N_{t}}C_{k}|^{2}, \tag{8}\]  
where \(\left[.\right]_{I}\) denotes the \(l\)-th (\(2\leq l\leq N_{t}\)) operation loop to calculate the threshold \(\eta_{I}\). Figure 2: The tree structure of the conventional QR decomposition-\(M\) algorithm (QRD-\(M\)) (\(M=4\)) using quadrature phase shift keying (QPSK) modulation in a \(4\times 4\) system. In Equation (8), for easy explanation, it is assumed that \(\left[E_{N_{t},k}\right]_{N_{t}}\) is sorted in an ascending order with respect to \(k\). That is, \(\left[E_{N_{t},1}\right]_{N_{t}}\) is the smallest SED and \(\left[E_{N_{t},|S|}\right]_{N_{t}}\) is the largest SED at the \(N_{t}\)-th layer. So, \(T\) paths from \(\left[E_{N_{t},1}\right]_{N_{t}}\) to \(\left[E_{N_{t},T}\right]_{N_{t}}\) are temporarily selected at the \(N_{t}\)-th layer. With each temporarily selected path, the ASED \(\left[E_{N_{t}-1,k}^{p_{N_{t}}}\right]_{N_{t}}\) between \(Z_{N_{t}-1}\) and \(C_{k}\) which considers the \(p_{N_{t}}\)-th temporarily selected path is as follows:  
\[\left[E_{N_{t}-1,k}^{p_{N_{t}}}\right]_{N_{t}}=\left|Z_{N_{t}}-\left(R_{N_{t}- 1N_{t}-1}C_{k}+R_{N_{t}-1N_{t}}\hat{X}_{N_{t}}^{p}\right)\right|^{2}+\left[E_{ N_{t},p_{N_{t}}}\right]_{N_{t}}, \tag{9}\]  
and the error vector with respect to \(k\) in Equation (9) is as follows:  
\[\left[E_{N_{t}-1}^{p_{N_{t}}}\right]_{N_{t}}=\Big{[}\ \left[E_{N_{t}-1,1}^{p_{N_{t}}} \right]_{N_{t}}\ \ \left[E_{N_{t}-1,2}^{p_{N_{t}}}\right]_{N_{t}}\ \ \cdots\ \ \left[E_{N_{t}-1,|S|}^{p_{N_{t}}}\right]_{N_{t}}\ \Big{]}. \tag{10}\]  
Then, the smallest element in Equation (10) is selected and these operations continue until the first layer for all \(T\) paths. Except for the \(N_{t}\)-th layer, all layers calculate \(T|S|\) ASEDs. The matrix of ASEDs at the first layer of the \(N_{t}\)-th operation loop is as follows:  
\[\left[\mathbf{E}\right]_{N_{t}}=\left[ \begin{array}{c}\left[\mathbf{E}_{1} ^{1}\right]_{N_{t}}\\ \left[\mathbf{E}_{1}^{2}\right]_{N_{t}}\\ \vdots\\ \left[\mathbf{E}_{1}^{T}\right]_{N_{t}}\end{array} \right], \tag{11}\]  
where rows denote an index of temporarily selected path at the \(N_{t}\)-th layer and columns denote an index of reference symbol. In \(\left[\mathbf{E}\right]_{N_{t}}\), the smallest element is selected as the \(N_{t}\)-th threshold \(\eta_{N_{t}}\) to eliminate the unnecessary survival paths at the \(N_{t}\)-th layer. Then, each element in SEDs vector \(\left[\mathbf{E}_{N_{t}}\right]_{N_{t}}\) which is the set of \(\left[E_{N_{t},k}\right]_{N_{t}}\) with respect to all \(k\) in Equation (8) is compared with \(\eta_{N_{t}}\) and the element larger than \(\eta_{N_{t}}\) is eliminated by considering the unnecessary survival path.