- Research Article
- Open Access

# Full-Diversity Space-Time Error Correcting Codes with Low-Complexity Receivers

- MohamadSayed Hassan
^{1}Email author and - Karine Amis
^{1}

**2011**:653506

https://doi.org/10.1155/2011/653506

© Mohamad Sayed Hassan and Karine Amis. 2011

**Received: **3 August 2010

**Accepted: **11 January 2011

**Published: **18 January 2011

## Abstract

We propose an explicit construction of full-diversity space-time block codes, under the constraint of an error correction capability. Furthermore, these codes are constructed in order to be suitable for a serial concatenation with an outer linear forward error correcting (FEC) code. We apply the binary rank criterion, and we use the threaded layering technique and an inner linear FEC code to define a space-time error-correcting code. When serially concatenated with an outer linear FEC code, a product code can be built at the receiver, and adapted iterative receiver structures can be applied. An optimized hybrid structure mixing MMSE turbo equalization and turbo product code decoding is proposed. It yields reduced complexity and enhanced performance compared to previous existing structures.

## Keywords

## 1. Introduction

Space-time block (STB) code designs have recently attracted considerable attention, since they improve the reliability of communication systems over fading channels. Tarokh et al*.* [1] developed some criteria for designing STB codes (for the high SNR regime), in order to minimize the pairwise error probability. Among the resulting proposed schemes (based on these criteria), orthogonal space-time block (OSTB) codes, introduced by Alamouti [2] and generalized by Tarokh et al. [3], are attractive due to their low optimal decoding complexity. Their practical use is limited to the Alamouti scheme (two transmit antennas) as their rate decreases rapidly with an increase in the number of transmit antennas, and they cannot achieve the MIMO system capacity. Hassibi and Hochwald proposed the linear dispersion codes (LDCs) [4] that maximize the mutual information between transmitted and received signals in order to achieve the maximum ergodic capacity of the equivalent MIMO system.

Then full rate and full diversity STB codes were designed. The application of the threaded layering principle yielded the threaded algebraic space-time (TAST) codes [5]. Belfiore et al*.* added a nonvanishing determinant constraint [6–8] to achieve the optimal diversity/multiplexing tradeoff [9] and defined the perfect space-time block codes [10, 11].

However, in any transmission system the forward error correction coding is used in conjunction with interleaving. All the above STB codes deal with the forward error correcting code as an independent entity of the transmitter scheme. A joint design of FEC, modulation, and space-time scheme was considered in [1], in order to construct the space-time trellis codes (STTCs) that provide maximum diversity and maximum coding gain. STTCs exhibit higher coding gains than STB codes, but due to their trellis nature, the optimal decoding has a high computational cost incompatible with a practical implementation.

An interesting method to design full diversity space-time block codes with an error correction capability has been developed in [12–14]. In the current paper, these codes are referred as space-time error correcting codes (STECCs) in order to stress on their ability to correct errors due to the transmission. We name also concatenated STECC the serial concatenation of a STECC and an outer linear FEC code. In [12], a binary rank criterion has been introduced in order to construct full diversity STECCs for binary phase shift keying (BPSK) modulation. A generalization of this criterion to design full diversity STECCs with higher spectral efficiency using quadrature amplitude modulation (QAM), has been considered in [14]. But, since the generalized rank criterion implies that the error correcting code must be defined over a finite field where its dimension depends on the modulation order, the construction of full diversity STECCs for higher-order modulations cannot be realized in practice using this approach. In [13], an unified construction of STECCs achieving the optimal rate-diversity tradeoff [15] from binary error correcting codes for different types and orders of modulation has been presented. Independently, an explicit construction of concatenated STECCs for 2 transmit antennas based on explicit linear combinations of FEC codewords has been presented in [16]. Thanks to the linearity of FEC codes, it has been shown in [17] that STECCs seem more adapted than other STB codes to be concatenated with linear forward error correcting codes.

- (i)
Compared to [16], a theoretical analysis of STECC is given resulting in the design of full diversity STECCs for two transmit antennas.

- (ii)
It is proved that a product code can be reconstructed from a concatenated STECC. An optimized hybrid receiver associating a turbo equalizer (interference canceller) based on the minimum mean square error (MMSE) criterion and a turbo product code decoder is proposed, yielding reduced complexity and enhanced performance.

In Section 2, we describe the system model and show through theoretical analysis the suboptimality of STECCs proposed in [16] for 2 transmit antennas. In Section 3, we apply the threaded layering principle and the binary rank criterion to design full transmit diversity STECCs. In Section 4, considering STECCs concatenated to an outer FEC code, we first show how a product code can be reconstructed at the receiver. Then we combine the turbo equalization and turbo product code decoding principles to develop an adapted receiver with reduced complexity and enhanced performance. In Section 5, we present simulation results and finally, we give our conclusions in Section 6.

Notations

Column vectors (resp., matrices) are denoted by boldface lower (resp., capital) case letters. Superscripts and stand for transpose and conjugate transpose, respectively. represents the identity matrix. , , and denote, respectively, the ring of rational integers, the field of complex numbers and the ring of complex integers. (resp., ) denotes the matrix having all its elements equal to 0 (resp., 1). Subscripts of matrices indicate their dimensions.

## 2. System Model

We first recall the usual criteria applied to design space-time codes for a MIMO system with transmit antennas and receive antennas considering a transmission over a nonfrequency selective block fading channel. We assume that the channel state information (CSI) is known at the receiver. In the second part, we give a theoretical analysis of the family of rectangular STECCs presented in [16] for transmit antennas to show that they do not achieve full transmit diversity.

where is the transmitted space-time error correcting codeword, is the channel matrix with independent and identically distributed (i.i.d.) zero-mean complex circular Gaussian entries and is the i.i.d. zero-mean complex circular Gaussian noise.

### 2.1. Space-Time Code Design Criteria

The maximum diversity advantage in this context is . Space-time codes that achieve such a diversity are called full diversity space-time codes [1, 18].

### 2.2. Definition of a STECC

A STECC is a space-time code defined as an symbol matrix based on the modulation of basic binary matrices , which can be grouped to form a binary matrix where each entry is a binary -tuple so that is the modulation efficiency. Matrix is a spatial rearrangement of a FEC codeword of . is called the inner code. Its length is equal to .

### 2.3. STECCs: Theoretical Analysis

We consider, in this subsection, the family of rectangular STECCs proposed in [16] and we verify that they do not fulfill the preceding criteria, and thus do not achieve full diversity.

where , , represents the -QAM symbol associated to the th binary -tuple denoted by and represents the -QAM symbol associated to the binary -tuple denoted by . To prove that the rank criterion is not realized, we verify that it is possible to find two STECC codewords such that their difference matrix has a rank of 1 inferior to the maximum possible rank .

Let thus . Let us denote by and the STECC codewords associated to and , respectively. If is odd, then the difference matrix has all entries of the second row equal to 0. In the other case ( is even), all the columns of are equal. Therefore, for all values of , the difference matrix has a rank equal to and as a consequence this family of STECCs does not achieve a full transmit diversity.

Furthermore, if we consider the minimum Hamming distance ( ) of the basic binary code defined in (2), one can see that and for , . For example, the Hamming weight of this basic binary codeword matrix for all is equal to 4. As a consequence, inner FEC codes defined for will not enable to increase the maximum time diversity achieved by the STECC.

In the following, we focus only on the cases and in order to illustrate the construction of full diversity STECCs.

## 3. Full-Diversity STECCs

where is the modulation symbol rate per channel use (p.c.u.), the quantity is termed the transmit diversity gain, and is the extension degree of the transmission symbol set drawn from the modulation symbol set. In our construction, a transmission symbol is drawn from a constellation set, thus . Moreover, a full transmit diversity is quantified by , therefore the optimal rate-diversity tradeoff implies a maximum rate of one modulation symbol p.c.u., that is, a full diversity STECC has a maximum rate equals to . As a consequence, we use for the construction -rate inner codes.

As the maximum rate of the inner code is determined, it is important to note that in the following for and , the selected inner codes have the maximum of the minimum Hamming distance for a combination of transmit antennas and time periods.

### 3.1. Full-Diversity STECC Designs

In order to realize the full spatial diversity, we recall that the binary rank criterion is a sufficient but not necessary condition to guarantee a full spatial diversity [12]. We apply the unified construction proposed in [13] to ensure a full spatial diversity for high-order modulations.

In [12], the authors prove that if every nonzero codeword of a linear binary code matrix has a maximum rank over the binary field , then for a binary phase shift keying (BPSK) transmission, the STECC achieves full spatial diversity, that is, . Moreover, it is demonstrated in [13] that if a STECC achieves full spatial diversity for BPSK transmission then using the Lu and Kumar construction (unified construction), we can obtain a full diversity STECC for high-order modulations based on full rank linear binary code matrices.

It yields a sufficient but not necessary condition on the linear binary inner code matrix to guarantee full diversity STECCs.

### 3.2. Threaded Layering Approach

To maximize the STECC diversity, we consider the threaded layering approach [5]. We assume rectangular STECCs of size . To design full diversity STB code, the threaded layering approach consists in splitting information symbols into disjoint threads. The threads must be active over the transmission intervals. For each layer (thread) and at each transmission interval, symbols of this layer are transmitted. Threads use equally often the transmit antennas. To ensure a maximum diversity, each thread must achieve a maximum diversity when symbols corresponding to the other threads are put to zero and threads must be transparent to each other. This can be realized by affecting weighting numbers to each thread such that resulting threads span disjoint algebraic subspaces. These numbers are "Diophantine number".

where denotes the mod- operation. Table 1 shows the threaded layering for and structures using 2 threads. We associate the information symbols (resp., redundancy symbols) to the first layer (resp., second layer). Let us denote by the information symbol vector and by the vector associated to the redundancy symbols. is an integer permutation matrix such that the STECC, built up from , , and a diophantine number, achieves a full spatial diversity ( must also keep properties of STECCs defined in (6), i.e., each entry of a space-time codeword matrix is composed of one modulation symbol).

(a)

1 | 2 | 1 |
---|---|---|

2 | 1 | 2 |

(b)

1 | 2 | 1 | 2 |
---|---|---|---|

2 | 1 | 2 | 1 |

#### 3.2.1. Full-Diversity STECC

It clearly appears that the first and the second row of are linearly independent over the binary field . Thus for a BPSK transmission, the STECC constructed from achieves a full spatial diversity. Therefore, using the unified construction presented in [13], the STECC built up from this linear binary code matrix ensures a full spatial diversity for any order QAM modulation. We also note that this construction can be extended to phase shift keying (PSK) and pulse amplitude (PAM) modulations.

#### 3.2.2. Full-Diversity STECC

The inner code corresponds to the extended Hamming code. Due to the fact that the all-one vector is a codeword, the binary rank criterion is false whatever the spatial arrangement into a binary matrix. We thus apply the threaded layering approach.

To ensure full diversity diophantine number is chosen such that and . In that case, the maximization of the coding gain yields an optimum value for depending of the modulation order. However, in practice the STECC will be serially concatenated to an outer FEC and it was shown in [20] that the asymptotic global coding gain is independent of the choice of the parameter provided that and . In [21], we proposed a way to construct full diversity STECCs defined from an inner half-rate invertible linear binary codes.

## 4. Receiver Structures

This section aims at designing reduced complexity and efficient receivers for concatenated STECCs. A maximum likelihood receiver for the concatenated STECC has a prohibitive complexity, and cannot be implemented in practice. We thus consider lower complexity receivers consisting of the cascade of elementary devices and based on the exchange of reliability information from a device to its neighbour in an iterative manner.

For the sake of generality, we consider the unified construction of Lu and Kumar [13] which encompasses, from a decoding point of view, the STECCs presented in the previous section (as the diophantine number can be viewed as a rotation of the second thread versus the first one, it does not appear at the decoding stage). We first show how a product code can be built from the concatenated STECC. Hybrid receivers combining both MMSE turbo equalization (successive interference cancellation) and turbo product code decoding will be designed.

### 4.1. Reconstruction of a Product Code from a Concatenated STECC

where , and stands for mod-2 addition. It can be space-time formatted to provide space-time codes achieving full spatial diversity using the threaded layering approach presented in the previous section or the unified construction [13].

where the inner code (resp., outer code) is applied along columns (resp., rows). We note that the linear outer FEC has no constraints on its rate neither on its length. Moreover, the information rate of the inner code can be increased by reducing the spatial diversity of the STECC according to the optimal rate-diversity tradeoff [13].

When full diversity algebraic STB codes (like the perfect STB codes, LDCs, …) are serially concatenated with linear FEC codes, the maximum order of diversity that can be achieved is equal to where is the minimum Hamming distance of the outer code. For concatenated full diversity STECCs, the maximum diversity order is equal to , where is the minimum Hamming distance of the inner code. Thus, concatenated STECCs are better adapted to a serial concatenation with linear outer forward error correcting codes.

### 4.2. Turbo Product Code Decoding for Concatenated STECC

The existence of a product code for concatenated STECCs enables a better information exchange between the inner code decoder, the outer code decoder and the STECC detector through the application of turbo product code decoding principles [22].

*a posteriori*(MAP) FEC decoder. Each elementary decoder benefits from two inputs: the soft values (

*intrinsic*information) delivered by a detector, and the previous elementary decoder

*extrinsic*information (

*a priori*information). So as to ensure the convergence, weighting coefficients ( ) are applied to the

*a priori*information generated by the FEC decoder.

*a priori*soft information from the SISO turbo product code decoder. This structure exploits the channel diversity. But unfortunately, the complexity of MAP detector remains high especially for high-order modulations. To reduce the complexity of the detector, we propose an hybrid structure mixing the MMSE interference canceller and the turbo product code decoder. The resulting receiver scheme is given in Figure 3. The MMSE interference canceller does not take into account the STECC existence. It considers each symbol duration independently of the others and assumes that each received sample only depends on symbols simultaneously transmitted. It thus works as if symbols were transmitted using a spatial multiplexing scheme. The time correlation between transmitted symbols is taken into account in the product code decoder.

Complexity Analysis

In the MMSE turbo equalizer presented in [25], the MMSE interference canceller is the same as the one used in this paper. It is followed by an inner code decoder to take into account the STECC structure, an outer code decoder and another inner code decoder before going back to the equalizer. The structure proposed in this paper, based on the turbo product code decoding algorithm, has a lower complexity since one iteration consists of only one inner code decoding instead of two. Nevertheless, it outperforms the receiver given in [25] thanks to the identification of a turbo product code and to an optimization of the *extrinsic* information exchange (see Figure 3).

At the detection stage, the MMSE interference canceller is a linear filter, thus its complexity is determined by the size of matrices to be inverted. Moreover, the proposed receiver structure deals with concatenated STECCs as a spatial multiplexing scheme concatenated with an outer product code. Therefore, the MMSE interference canceller must invert a square matrix of dimension at each iteration. An STECC detection thus requires inversions of matrices of size , that can be carried out in parallel. Considering a similar transmitter and receiver scheme involving an usual full rate algebraic STB code (like perfect STB code, LDC, TAST code), we need one inversion of a matrix of size . Indeed, at the receiver, an algebraic STB code is equivalent to a spatial multiplexing scheme with receive antennas and transmit antennas. Concatenated STECCs thus enable lower complexity receivers compared to linear dispersion codes concatenated to the same outer code.

## 5. Simulation Results

In this section, different transmission schemes are compared via simulations. Furthermore, we evaluate the performance of the iterative receiver structure based on the turbo product code decoding algorithm with a MMSE interference canceller versus the first MMSE turbo equalizer [25].

For our simulations, we consider transmit antennas using a QAM Gray-mapped constellation over a Rayleigh nonfrequency selective block fading channel, constant over symbol durations, and receive antennas. The channel is also assumed to be perfectly estimated at the receiver. For the outer FEC code, we use an half-rate convolutional code which is decoded using the SISO BCJR algorithm [26]. The inner code is maximum likelihood decoded according to the rules given in [25]. Plotted curves correspond to the convergence state of the iterative process.

### 5.1. Performance of the Full-Diversity STECC

In that case, a maximum likelihood (ML) detection is considered at the receiver and as space-time error correcting codewords (resp., Alamouti space-time codewords) are independent from each others, the BER performance remains the same for every multiple of (resp., 2). One can see that the BER slope of the full diversity STECC for and is equal to , which confirms the full spatial diversity of this structure. On the other hand, as it was expected by the theoretical analysis in the Section 2.3, the BER slope of the STECC is equal to which means that this transmission scheme cannot fully exploit the transmit diversity. For a gain of 5.3 dB is achieved at a BER of with the full spatial diversity STECC. Moreover, the full diversity STECC performs 0.5 dB worse compared to the Alamouti scheme which is satisfactory as it is obtained without taking into account the outer FEC code. When , the full diversity STECC benefits from the additional time diversity of the channel. For a , the gain over the Alamouti scheme is equal to 0.5 dB.

### 5.2. Optimization of the Concatenated STECC Iterative Receivers

For a and for (resp., ) a gain roughly equal to 0.9 dB (resp., 0.8 dB) is offered by the proposed iterative receiver with respect to the existing one. This hybrid receiver scheme is thus selected.

### 5.3. Performance of Concatenated Full-Diversity STECCs

We compare for and the performance of the concatenated full diversity STECC with the concatenated STECC [16] in order to further highlight the advantage of optimizing STECCs from a space-time point of view.

### 5.4. Puncturing

A drawback of concatenated STECCs is their low coding rate. However, puncturing can be used to increase the system throughput. Unfortunately, puncturing the inner code induces a degradation of the transmit diversity. In order to guarantee a full spatial diversity, we apply puncturing on the outer code. We consider -rate and -rate punctured convolutional codes generated from the half-rate parent convolutional code .

The outer code puncturing yields a decrease of its error-correction capability and thus a lower exploitation of the available time diversity. Maximization of the space-diversity is all the more essential.

## 6. Conclusion

In this paper, we have presented the construction of space-time codes with error correction capability and we have optimized the receiver in case of serial concatenation with an outer FEC code.

The application of both binary rank criterion, associated to the Lu and Kumar unified construction, and threaded layering technique yields a systematic procedure for developing full diversity STECCs. When concatenated with an outer FEC code, an equivalent product code can be constructed at the receiver side enabling an hybrid iterative receiver combining both MMSE turbo equalization and turbo product code decoding. Compared to equivalent linear dispersion codes, STECCs are better adapted for a serial concatenation with an outer FEC code and the optimized receiver exhibits a lower computation cost, associated to a better convergence state and a simple stopping criterion yielding power consumption saving.

## Declarations

### Acknowledgments

The authors would like to thank Orange Labs for supporting their research. Part of the content of this manuscript has been published in IEEE ISWCS 2009 and in IEEE PIMRC 2009.

## Authors’ Affiliations

## References

- Tarokh V, Seshadri N, Calderbank AR: Space-time codes for high data rate wireless communication: performance criterion and code construction.
*IEEE Transactions on Information Theory*1998, 44(2):744-765. 10.1109/18.661517MathSciNetView ArticleMATHGoogle Scholar - Alamouti SM: A simple transmit diversity technique for wireless communications.
*IEEE Journal on Selected Areas in Communications*1998, 16(8):1451-1458. 10.1109/49.730453View ArticleGoogle Scholar - Tarokh V, Jafarkhani H, Calderbank AR: Space-time block codes from orthogonal designs.
*IEEE Transactions on Information Theory*1999, 45(5):1456-1467. 10.1109/18.771146MathSciNetView ArticleMATHGoogle Scholar - Hassibi B, Hochwald BM: High-rate codes that are linear in space and time.
*IEEE Transactions on Information Theory*2002, 48(7):1804-1824. 10.1109/TIT.2002.1013127MathSciNetView ArticleMATHGoogle Scholar - El Gamal H, Damen MO: Universal space-time coding.
*IEEE Transactions on Information Theory*2003, 49(5):1097-1119. 10.1109/TIT.2003.810644MathSciNetView ArticleMATHGoogle Scholar - Oggier F, Belfiore JC, Viterbo E: Cyclic division algebras: a tool for space-time coding.
*Foundations and Trends in Communications and Information Theory*2007, 4(1):1-95. 10.1561/0100000016View ArticleMATHGoogle Scholar - Liao H, Xia XG: Some designs of full rate space-time codes with nonvanishing determinant.
*IEEE Transactions on Information Theory*2007, 53(8):2898-2908.MathSciNetView ArticleMATHGoogle Scholar - Wang G, Xia XG: On optimal multilayer cyclotomic space-time code designs.
*IEEE Transactions on Information Theory*2005, 51(3):1102-1135. 10.1109/TIT.2004.842630MathSciNetView ArticleMATHGoogle Scholar - Zheng L, Tse DNC: Diversity and multiplexing: a fundamental tradeoff in multiple-antenna channels.
*IEEE Transactions on Information Theory*2003, 49(5):1073-1096. 10.1109/TIT.2003.810646View ArticleMATHGoogle Scholar - Belfiore JC, Rekaya G, Viterbo E: The Golden code: a 2 × 2 full-rate space-time code with nonvanishing determinants.
*IEEE Transactions on Information Theory*2005, 51(4):1432-1436. 10.1109/TIT.2005.844069MathSciNetView ArticleMATHGoogle Scholar - Oggier F, Rekaya G, Belfiore JC, Viterbo E: Perfect space-time block codes.
*IEEE Transactions on Information Theory*2006, 52(9):3885-3902.MathSciNetView ArticleMATHGoogle Scholar - Hammons AR, Gamal HE: On the theory of space-time codes for PSK modulation.
*IEEE Transactions on Information Theory*2000, 46(2):524-542. 10.1109/18.825816View ArticleMathSciNetMATHGoogle Scholar - Lu HF, Kumar PV: A unified construction of space-time codes with optimal rate-diversity tradeoff.
*IEEE Transactions on Information Theory*2005, 51(5):1709-1730. 10.1109/TIT.2005.846403MathSciNetView ArticleMATHGoogle Scholar - Liu Y, Fitz MP, Takeshita OY: A rank criterion for QAM space-time codes.
*IEEE Transactions on Information Theory*2002, 48(12):3062-3079. 10.1109/TIT.2002.805074MathSciNetView ArticleMATHGoogle Scholar - Lu HF, Kumar PV: Rate-diversity tradeoff of space-time codes with fixed alphabet and optimal constructions for PSK modulation.
*IEEE Transactions on Information Theory*2003, 49(10):2747-2751. 10.1109/TIT.2003.817469MathSciNetView ArticleMATHGoogle Scholar - Lalam M, Amis K, Leroux D: Space-time error correcting codes.
*IEEE Transactions on Wireless Communications*2008, 7(5):1472-1476.View ArticleGoogle Scholar - Hassan MS, Amis K: Turbo product code decoding for concatenated space-time error correcting codes.
*Proceedings of the 20th IEEE Personal, Indoor and Mobile Radio Communications Symposium (PIMRC '09), September 2009, Tokyo, Japan*Google Scholar - Vucetic B, Yuan J:
*Space-Time Coding*. Willey, New York, NY, USA; 2003.View ArticleGoogle Scholar - Hassan MS, Amis K: Multilayer space-time error correcting codes.
*Proceedings of the 6th International Symposium on Wireless Communication Systems (ISWCS '09), September 2009, Sienna, Italy*318-322.Google Scholar - Hassan MS, Amis K: Constellation labeling optimization for iteratively decoded concatenated multilayer space-time error correcting codes.
*Proceedings of the 5th International Conference on Wireless and Mobile Communications (ICWMC '09), August 2009, Cannes, France*196-199.Google Scholar - Hassan MS, Amis K: Construction of full diversity space-time codes based on half-rate invertible linear binary codes.
*Proceedings of the 6th International Symposium on Turbo Codes and Iterative Information Processing (ISTC '10), September 2010, Brest, France*117-121.Google Scholar - Pyndiah RM: Near-optimum decoding of product codes: block turbo codes.
*IEEE Transactions on Communications*1998, 46(8):1003-1010. 10.1109/26.705396View ArticleMATHGoogle Scholar - Tüchler M, Koetter R, Singer AC: Turbo equalization: principles and new results.
*IEEE Transactions on Communications*2002, 50(5):754-767. 10.1109/TCOMM.2002.1006557View ArticleGoogle Scholar - Laot C, Le Bidan R, Leroux D: Low-complexity MMSE turbo equalization: a possible solution for EDGE.
*IEEE Transactions on Wireless Communications*2005, 4(3):965-974.View ArticleGoogle Scholar - Lalam M, Amis K, Leroux D: Iterative decoding of space-time error correcting codes.
*Proceedings of the 18th Annual IEEE International Symposium on Personal, Indoor and Mobile Radio Communications (PIMRC '07), September 2007*Google Scholar - Bahl LR, Cocke J, Jelinek F, Raviv J: Optimal decoding of linear codes for minimizing symbol error rate.
*IEEE Transactions on Information Theory*1974, 20(2):284-287.MathSciNetView ArticleMATHGoogle Scholar

## Copyright

This article is published under license to BioMed Central Ltd. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.