Keywords

1 Introduction

Ever since H. Jafarkhani, Choi and Nimmagadda proposed the Quasi-Orthogonal Space-Time Block Codes (QO-STBC) [13], there has been considerable interest in codes with low decoding complexity. A variety of methods have been proposed to reduce decoding complexity [4]. M.Y. Chen constructs a class of QO-STBCs based on symbol-by-symbol maximum likelihood detection by Chen [5], but the complexity of this decoding method is still high. Leuschner stated a kind of QO-STBCs using a sphere decoding algorithm to reduce decoding complexity [6]. However, this detection method sometime has high decoding latency at low SNR (Signal to Noise Ratio), so the complexity still remains high.

However, those algorithms cannot attain full-diversity, full rate transmission. A QO-STBC with full-diversity, full-rate transmission and double-symbol decoding has been proposed for a four transmit antennas system [7, 8]. However, the decoding complexity is high due to the nonlinear characteristic [912]. To reduce the complexity, a class of three- and four-antenna QO-STBCs based on a given rotation scheme is proposed, and the decoding complexity is linear [13], because some element of channel matrix are canceled. However, these algorithms need 16 times the multiplication and double the square root operations which are relative to the channel matrix procedure, still maintain high complexity. So a fast decoding algorithm using a Jacobi transform is proposed to reduce the computation complexity at the receiver. Simulation results are provided to compare the bit error probability between the proposed scheme and the conventional method.

2 System Model

Consider a MIMO wireless communication system with N transmits antennas and one receive antenna. The number of transmit time slots is T. The received signal is given by

$${r} = {Sh} + {n}$$
(1)

where r = (r 1, r 2, …, r T)T is a received signal vector. rt(t = 1, …, T) is a received signal at t time slot, [.]T represents transpose. N × 1 matrix h = (h1 h2 … hN) represents the channel gain between the N transmitters and the receiver, and hm(m = 1, …, N) is assumed to be independent and identically distributed (i.i.d) complex Gaussian random sample, whose real and imaginary variance are both 0.5, n = (n1 n2 … nT)T is the addictive noise matrix, where \( n_{t} \) (t = 1, 2, …, T) denotes the i.i.d zero-mean and unit-variance complex Gaussian random noise variable. According to [1], the 4 × 4 transmitted code matrix S(2) denotes a full-rate quasi-orthogonal space-time block codes matrix.

$$ {\mathbf{S}} = \left( {\begin{array}{*{20}c} {\tilde{s}_{1} } & 0 & {\tilde{s}_{3} } & 0 \\ { - \tilde{s}_{3}^{*} } & 0 & {\tilde{s}_{1}^{*} } & 0 \\ 0 & {\tilde{s}_{2} } & 0 & {\tilde{s}_{4} } \\ 0 & { - \tilde{s}_{4}^{*} } & 0 & {\tilde{s}_{2}^{*} } \\ \end{array} } \right) $$
(2)

where \( \tilde{s}_{1} = \alpha s_{1} + \beta s_{3} , \, \tilde{s}_{2} = \alpha s_{2} + \beta s_{4} , \, \tilde{s}_{3} = \beta s_{1} - \alpha s_{3} , \) \( \tilde{s}_{4} = \beta s_{2} - \alpha s_{4} \). Here, \( \alpha = \sqrt {({P \mathord{\left/ {\vphantom {P 2}} \right. \kern-0pt} 2}) - \lambda } \) and \( \beta = \sqrt \lambda , \) \( \left( {0 < \lambda < {P \mathord{\left/ {\vphantom {P 2}} \right. \kern-0pt} 2}} \right) \) are the power scaling of M-ary constellation s i (i = 1, 2, 3, 4), P is the total transmit power of the N transmit antennas in each slot, which is normalize t to be 1.[.]* represents the conjugate.

3 Decoding Algorithm

Conducting an appropriate transformation of the receiving signal r at the receiver-end, we take conjugate of r2, r4, which are vectors of the received signal in the second time slot and fourth time slot, respectively. Then we transform matrix S with drawing sent signal vector s = (s1 s2 s3 s4)T, and channel gain vector h becomes channel matrix H. The received signal becomes r  = Hs + n . Next both sides of the equation are left multiplied by H H, \( \left[ \cdot \right]^{H} \) represents conjugate and transpose, the receiver signal becomes as

$$ {\hat{\mathbf{r}}} = \underbrace {{\left( {\begin{array}{*{20}c} {e\alpha } & 0 & {e\beta } & 0 \\ 0 & {f\alpha } & 0 & {f\beta } \\ {e\beta } & 0 & { - e\alpha } & 0 \\ 0 & {f\beta } & 0 & { - f\alpha } \\ \end{array} } \right)}}_{{\mathbf{A}}}\left( {\begin{array}{*{20}c} {s_{1} } \\ {s_{2} } \\ {s_{3} } \\ {s_{4} } \\ \end{array} } \right) + \left( {\begin{array}{*{20}c} {h_{1}^{*} n_{1} + h_{3} n_{2}^{*} } \\ {h_{2}^{*} n_{3} + h_{4} n_{4}^{*} } \\ {h_{3}^{*} n_{1} - h_{1} n_{2}^{*} } \\ {h_{4}^{*} n_{3} - h_{2} n_{4}^{*} } \\ \end{array} } \right) = = {\mathbf{As}} + {\hat{\mathbf{n}}} $$
(3)

where \( e = \left| {h_{1} } \right|^{2} + \left| {h_{3} } \right|^{2} , f = \left| {h_{2} } \right|^{2} + \left| {h_{4} } \right|^{2} \), and

$$ {\mathbf{H}} = \left( {\begin{array}{*{20}c} {h_{1} } & 0 & {h_{3} } & 0 \\ {h_{3}^{*} } & 0 & { - h_{1}^{*} } & 0 \\ 0 & {h_{2} } & 0 & {h_{4} } \\ 0 & {h_{4}^{*} } & 0 & { - h_{2}^{*} } \\ \end{array} } \right) $$
(4)

Matrix A in (3) can be expressed by (a ij ). It is found that if a 13 and a 24 both equal to 0, the self-interference terms can be totally avoided. So we need to transform symmetric matrix A in formula (3) into a diagonal matrix A with bilateral Jacobi methods.

To perform the transformation, first decompose matrix A to find a diagonal matrix K = diag(k1, k2, k3, k4) satisfying A = KBK. Because matrix K is a diagonal matrix, after decomposition of matrix A, matrix B is a symmetric matrix too. According to the traditional decomposition method, we find a diagonal matrix K  = diag(k 1 , k 2 , k 3 , k 4 ) to decompose unitary matrix R, and make R = K TK −1. Next, multiply the right side of this formula by KT −1. Then we get the relationship between matrix T and matrix K, K  = RKT −1, where T meets the following formula: T = I − (1 − t ii )e i e T i  − (1 − t jj )e j e T i  + t ij e i e T j  + t ji e j e T i , and t ii and t jj are diagonal elements of matrix T. t ij and t ji are non-diagonal elements of matrix T. Which yields:

$$ {\mathbf{R}} = {\mathbf{K^{\prime}TK}}^{ - 1} = \left( {\begin{array}{*{20}c} {\frac{{k^{\prime}_{1} }}{{k_{1} }}t_{11} } & 0 & {\frac{{k^{\prime}_{1} }}{{k_{3} }}t_{13} } & 0 \\ 0 & {\frac{{k^{\prime}_{2} }}{{k_{2} }}} & 0 & 0 \\ { - \frac{{k^{\prime}_{3} }}{{k_{1} }}t_{31} } & 0 & {\frac{{k^{\prime}_{3} }}{{k_{3} }}t_{33} } & 0 \\ 0 & 0 & 0 & {\frac{{k^{\prime}_{4} }}{{k_{4} }}} \\ \end{array} } \right) = \left( {\begin{array}{*{20}c} c & 0 & s & 0 \\ 0 & 1 & 0 & 0 \\ { - s} & 0 & c & 0 \\ 0 & 0 & 0 & 1 \\ \end{array} } \right) $$
(5)

Now we have A  = RAR T = K TBT T K  = K B K . From the equation, we can see that the transformation from symmetric matrix A to diagonal matrix A is equivalent to the transformation from symmetric matrix B to diagonal matrix B . In other words, in order to figure out how many steps in the transformation of symmetric matrix A, we only need to solve the step number in the transformation of symmetric matrix B.

According to Jia’s paper [10], setting the proper value of matrix K , the multiplication and the operation number of square root will cut in half through transforming matrix B We find from the above process that the computational complexity has been reduced by half when using this fast algorithm. Now we examine the case where a 13 turns to zero, and turns into A . The received signal of (3) has the following expression

$$ \begin{aligned} {\tilde{\mathbf{r}}} & = {\mathbf{K^{\prime}B^{\prime}K^{\prime}s}} + {\mathbf{K^{\prime}B^{\prime}K^{\prime}A}}^{ - 1} {\hat{\mathbf{n}}} \\ & = \underbrace {{\left( {\begin{array}{*{20}c} {l^{\prime}_{1} b^{\prime}_{11} } & 0 & 0 & 0 \\ 0 & {l^{\prime}_{2} b^{\prime}_{22} } & 0 & {a_{24} } \\ 0 & 0 & {l^{\prime}_{3} b^{\prime}_{33} } & 0 \\ 0 & {a_{24} } & 0 & {l^{\prime}_{4} b^{\prime}_{44} } \\ \end{array} } \right)}}_{{{\mathbf{A^{\prime}}}}}{\mathbf{s}} + {\tilde{\mathbf{n}}} \\ \end{aligned} $$
(6)

Similarly, transform matrix A with Jacobi methods can make a24 = a42 = 0. Then the matrix A turns into diagonal matrix A . Thus we can use maximum likelihood decoding algorithm to decode the received signals. It can be found out that we use the Jacobi transform twice, but only need 16 multiplications and 16 additions and one square root operation when computing c and s. The comparison of computational complexity between Park’s paper [13] and the fast algorithm is shown in Table 1. The expression of maximum likelihood estimation is given by (7), \( \left\| \cdot \right\| \) denotes the norm of a matrix.

$$ \begin{aligned} {\hat{\mathbf{S}}} & = \mathop {\arg \,\hbox{min} }\limits_{{\mathbf{S}}} \left\| {{\mathbf{r}} - {\mathbf{Sh}}} \right\|^{2} = \mathop {\arg \,\hbox{min} }\limits_{{\mathbf{s}}} \left\| {{\mathbf{H}}^{H} {\hat{\mathbf{r}}} - {\mathbf{As}}} \right\|^{2} \\ & = \mathop {\arg \,\hbox{min} }\limits_{{\mathbf{s}}} \left\| {{\mathbf{H}}^{H} {\hat{\mathbf{r}}} - ({\mathbf{K^{\prime}}})^{2} {\mathbf{B^{\prime}s}}} \right\|^{2} \\ \end{aligned} $$
(7)
Table 1 Comparison of complexity for the two algorithms

4 Simulation

In all simulations, we consider four transmit antennas and one receive antenna. The whole transmit slot T = 4. We provide simulation results to verify the efficiency of our proposed algorithm at the different signal power P and λ (which denote p and q values respectively in Fig. 1). Assuming that the communication system utilizes QPSK (Quadrature Phase Shift Key) to modulate and demodulate. The receiver uses fast Jacobi decoding algorithm to detect the received signals. The bit error rate (BER) of the proposed algorithm with the traditional decoding algorithm proposed by Park et al., Jia and Xiao, Xiao and Dai at different signal-to-noise ratio (SNR) is compared in Fig. 1. [10, 11, 13].

Fig. 1
figure 1

BER comparison of algorithm proposed by Park et al., Jia and Xiao, Xiao and Dai [10, 11, 13] and proposed algorithm against T = 4 and QPSK

From these figures, we see that the BER performance of the system using the fast Jacobi decoding algorithm is improving with the increasing the signal power P than the algorithms in [10, 11, 13]. The proposed decoding algorithm can improve the performance but with lower computation complexity. Furthermore, the number of Multiplication and Open Square decreases by about 50 % compared to the algorithm proposed by Park et al. [13]. Furthermore, the algorithm proposed by Xiao and Dai [11] requires the computation of the inverse of the matrix, so it is more complex than the fast algorithm, which is approximately equal to the algorithm proposed by Jia and Xiao [10].

5 Conclusion

In this paper, we construct a new full-rate quasi-orthogonal space-time block code. Based on the traditional Bilateral Jacobi transformation decoding algorithm, we propose a new fast algorithm, which can reduce the multiplication and rooting computation complexity at the receiver. Simulation results show that the system bit error probability of our scheme is comparable to the previously proposed algorithm while the computation complexity is much lower. This has important significance for the signal processing of the MIMO communication system.