Semidefinite relaxation - row by row (SDR-RBR) detector

The 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 Code

The 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

  • Input parameters

    • y - received signal vector mathbf{y} of dimension M by 1.

    • H - real channel realization matrix mathbf{H} of dimension M by N.

    • delta - (optional, default = 10^{-2}) parameter delta controlling the solution accuracy,

    • sigma - (optional, default = 10^{-2}/(N+1)) parameter sigma controlling the solution accuracy.

  • Output parameters

    • s_hat - detected BPSK symbols hat{mathbf{s}} of dimension N by 1.

    • iter - number of iterations used in the current run.

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 detector

The SDR-RBR detector deals with the ML detection problem with BPSK/QPSK constellation, i.e.,

 {bf hat{s}} = arg min_{{bf s} in {pm 1}^n} | {bf y} - {bf H}{bf s} |^2.

The SDR-RBR detector is based on the SDR the ML problem

 begin{aligned} min_{mathbf S in mathbb S^n, mathbf s in mathbb R^n} quad &{rm tr}(mathbf H^T mathbf H mathbf S) - 2 mathbf s^T mathbf H^T mathbf y + |mathbf y|_2^2 text{s.t.} quad & mathbf Ssucceq mathbf s^T mathbf s,         & S_{ii}=1, ~i=1,hdots, n, end{aligned}

where mathbb S^n 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 mathcal{O}(n^3). 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

  • H.-T. Wai, W.-K. Ma, A.M.-C. So, “Cheap Semidefinite Relaxation MIMO Detection Using Row-by-Row Block Coordinate Descent,” in Proceedings of the 2011 IEEE Intl. Conf. Acoustic, Speech, and Signal Processing, May 2011. [pdf]

Demonstration

We 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.