Semidefinite relaxation - row by row (SDR-RBR) detectorThe archive provided in this page contains ready-to-use binaries and MATLAB functions for the semidefinite relaxation (SDR) detector using the row-by-row (RBR) method, or simply the SDR-RBR detector. The binaries and functions can be freely distributed for academic or personal use. Please contact the authors if you intend to employ the binaries or functions in the archive for commercial purpose. Source CodeThe SDR-RBR BPSK detector is written using C MEX function with minor operation done by MATLAB.
The detector can be invoked as: [s_hat,iter] = sdr_rbr(y,H,delta,sigma) where the parameters are
In the archive we also provide an SDR-RBR program that is written entirely in MATLAB; that MATLAB function is easier to read and may give you some feel, but it runs slower than the C MEX-based code. SDR-RBR detectorThe SDR-RBR detector deals with the ML detection problem with BPSK/QPSK constellation, i.e., The SDR-RBR detector is based on the SDR the ML problem where is the set of positive semidefinite matrices. The RBR method is a new cheap heuristic to solving the SDR problem. The complexity per iteration of RBR is low and is . Simulation results have shown a ten-times speed up over a tailor-made primal-dual interior point method. Further details regarding the implementation and performance of SDR-RBR detector can be found in
DemonstrationWe demonstrate the performance of the SDR-RBR detector in a QPSK scenario.The figures are adopted from the cited paper above. In the figures above, 'ZF detector’ is abbreivated for the zero-forcing detector, 'SDR-IPM’ for the semidefinite relaxation (SDR) detector implemented using an interior point method (IPM), and 'LRA-MMSE-DFE’ for the lattice-reduction-aided minimum-mean-square-error decision feedback detector. |