 Research
 Open Access
 Published:
Delay tolerant (delto) distributed TAST codes for cooperative wireless networks
EURASIP Journal on Wireless Communications and Networking volume 2012, Article number: 82 (2012)
Abstract
In a distributed cooperative communication system, as the distances between different relay nodes and the receiving nodes may be different, so the performances of distributed space time codes at receiving nodes may badly be degraded if timing synchronization is not assured. In this article, extending the work of Damen et al. we introduce the design of distributed threaded algebraic spacetime (TAST) codes offering resistance to timing delay offset. We present some new and useful techniques of constructing delay tolerant TAST code for distributed cooperative networks, which, like their brethren codes, are delay tolerant for any delay profile and achieve full diversity for arbitrary number of relays, transmit/receive antennas, and input alphabet size. Our proposed codes with minimum lengths achieve better performances than the existing codes retaining full rate and full diversity with or without use of guard bands. Simulations results confirm our claim of obtaining better performances.
1. Introduction
Wireless communication systems with multiple antennas have recently attracted considerable interests [1–3]. Perhaps, the reason is that the performance of a wireless system is often limited by fading and may significantly be improved by exploiting some sort of diversity, for example spatial diversity. But on other hand equipping the pocket size mobile handsets with additional radiofrequency (RF) hardware is not feasible. Therefore, thinking for alternate options, many researchers have proposed different solutions and proposals.
Sendonaris et al. [4] proposed the idea of cooperative diversity which enables the source/destination to use nearby nodes as virtual antennas. In other words, the nearby relay nodes may act as auxiliary receivers/transmitters for the original transmitter/receiver. But, again the main problem with cooperative terminals as indicated by Li and Xia [5, 6] is the asynchronous nature of transmission which forces the traditionally designed spacetime codes to lose their diversity and coding gain when used over distributed cooperative networks.
In fact in an unsynchronized cooperative network, the data from different relays reach the destination after different delays. In [7], it was shown that all the wellknown codes lose their diversity at receiver. Mei et al. [8] proposed a technique of using of guard bands between blocks of symbols. The proposed scheme in [8] could achieve fulldiversity but the main drawback of this technique is its limitation in the number of relays (only two are allowed) and a huge rate loss due to the insertion of guard bands.
The proposed delay tolerant codes for asynchronous cooperative network of Li and Xia [5, 6] were further generalized and refined in [9] by including fulldiversity delay tolerant spacetime trellis codes of minimum constrained length. In [7], delay tolerant distributed spacetime block codes based on threaded algebraic spacetime (TAST) codes [10] are designed for unsynchronized cooperative network. The distributed TAST codes of [7] preserve the rank of the spacetime codewords under arbitrary delays at the receiver. In a similar way, the authors in [7] further extend their study in [11] by introducing delay tolerant codes with minimum lengths. A latticebased maximum likelihood detector is used for decoding, which is computationally more complex than the decoupled decoding of orthogonal spacetime block codes.
Following the framework of [7, 11], in this article we introduce some new and useful techniques for designing delay tolerant TAST codes. The proposed codes achieve full diversity and are flexible with respect to signalling constellation, transmission rate, and number of transmit/receive antennas. Our proposed codes achieve better performances over the existing codes particularly at high SNR. For ease to write, hereafter, we will use delto code as short form of del ay to lerant code.
The rest of the article is organized as follows. The background and system model are given in Section 2. Some construction techniques of delay tolerant spacetime codes are discussed in Section 3. Multiple threads packing are given in Section 4. Section 5 elaborates the construction methods for delto codes with minimum lengths. Some construction examples are presented in Section 6. Simulation results are given in Section 7 and the conclusion is given in Section 8.
2. Preliminaries
2.1. System model
In a cooperative communication system, the communication between source and destination is modelled in two phases.
In phaseI, the source sends information to the destination and at the same time this information is also received by the relays.
In phaseII, the relays help the source by forwarding or retransmitting the received information to destination.
Initially proposed in [12], the relays use different protocols for processing and retransmitting the received signal from source to destination. In this article, we consider decodeandforward processing strategy at the relays.
Since the relay nodes use common time slots and frequency bandwidth for retransmissions of their signals, the relays may expose to overlap both in time and frequency, i.e. each node transmits a distinct coded bit stream, the superposition of which forms a spacetime code. In what follows, the design and performance analysis of such distributed STBC codes will be our main focus.
We assume the conventional MIMO system, modelled with N_{ t } transmit antennas corresponding to N relays and N_{ r } receive antennas at the destination. At time instant t, the received signal is expressed in vector notation as
where {\stackrel{\u0304}{r}}_{t}\in {\u2102}^{{N}_{r}\times 1} is the received vector at time t, {\stackrel{\u0304}{s}}_{t}\in {\u2102}^{{N}_{t}\times 1} is modulated signal vector transmitted during the t th symbol interval, {H}_{t}\in {\u2102}^{{N}_{r}\times {N}_{t}} is the channel matrix and {\stackrel{\u0304}{n}}_{t}\in {\u2102}^{{N}_{r}\times 1} denotes additive white Gaussian noise. The N_{ t } × T modulated spacetime codeword matrix s is transmitted over T symbol intervals by taking {\stackrel{\u0304}{s}}_{t} to be the t th column of s. The channel is assumed to be quasistatic, i.e. the channel transfer matrix H_{ t }is constant over a codeword interval but is generated randomly and independently from codeword to codeword. We further assume that no error occurs between sources and relays.
The nature of processing strategies at relays greatly impact the code design and decoding complexity, and it is beyond the scope of this article to discuss this issue in detail. In the simplest case, the timing offset from different relays at reception may be avoided by use of guard bands or some sort of timing advance protocols [13].
If the maximum possible timing offset among the different relay's transmissions is L' symbol intervals and a pad of duration L' symbols is used by each relay between its coded transmissions, then the different composite spacetime codewords never overlap in time. Each spacetime codeword can be decoded individually. For short spacetime block codes, the significant rate loss induced by the use of fill symbols or guard intervals can be mitigated by allowing the relays to transmit its coded streams one after another [13], but for long block size the code rate loss is an open problem. In what follows, we present the construction of spacetime codes which are robust to arbitrary delays without insertion of guard bands.
2.2. Delay tolerance of spacetime codes
For the sake of completeness we review some notations from [7]. Let \mathcal{S} be an STBC code with codeword of size N_{ t } × T. Assume s_{1} and s_{2} are two distinct codewords of \mathcal{S}. The diversity order of \mathcal{S} is the minimum rank of the difference matrix s_{1}s_{2} over all pairs of distinct codeword in \mathcal{S}. This condition is referred as rank criterion [14].
For our purposes, the transmitted symbols will finitely be generated from an underlying finite constellation using algebraic number field constructions. Let \mathcal{A} denote the twodimensional constellation chosen from Z[i] or Z[j], and let F = Q(i) or Q(j) denote the field of complex rational numbers and complex Eisenstein rational numbers, respectively. Let F(θ) be an extension field of degree [F(θ): F]. Then, the fundamental alphabet for our constructions is given by
where integer P ≤ [F(θ): F].
Each transmitted symbol s ∈ s is from Ω or, more generally, is from its image f(Ω) under some specified onetoone mapping: f: Ω→C.
A space time code \mathcal{S} is said to be τdelto for the quasisynchronous cooperative diversity scenario, if the difference between every nontrivial pair of codewords in \mathcal{S} retains full rank even though its rows are transmitted with arbitrary delays of duration at most τ symbols [15].
If all relays start transmitting all rows of a distributed STBC simultaneously, then different rows will reach destination with different delays δ_{ i } ≤ δ_{ max }, i∈{1, 2, ..., N}. If all relays continuously transmit the rows of different distributed STBC at different blocks, then the data of two consecutively transmitted STBC can be overlapped due to the timing errors. All relays start transmitting the assigned rows of the codeword simultaneously and as the values of the relatives delays are unknown, therefore each of them waits for δ_{ max } time interval after the transmission of the codeword is finished. Due to the delays in the reception, an N_{ t } × T transmitted STBC s is transmitted into an N_{ t } × (T + δ_{max}) codeword at the receiver as follows
where a 0 represents no transmission and δ_{max} denotes the maximum of the relative delays. Let W symbols be encoded into the original STBC S\in {C}^{{N}_{t}\times T}, then it can be seen from (3) that they take T + δ_{ max } time interval for transmitting s. Hence, the effective data rate in the asynchronous cooperative network is W/T + δ_{ max }, which is less than the data rate in a synchronous system W/T for which the STBC is traditionally designed.
Now, a spacetime code \mathcal{S} is called τdelto if for all delay profiles Δ with δ_{max}(Δ) ≤ τ, the effective spacetime code {S}^{\Delta} achieves the spatial diversity as high as that of \mathcal{S}. A spacetime code is fully delto if it is delto for any positive integer τ. For more detail examples, the readers are referred to [7]. Furthermore, in [7], it has also been proved that the spacetime codes constructed from cyclic division algebra [16], including the wellknown Golden code, are also not delay tolerant.
3. Construction of delto codes
In this section, we try to develop two useful techniques for construction of STBC codes based on threads that are delay tolerant. The constructed codes achieve maximal spatial diversity and are fully delto. They are also flexible with respect to signalling constellation, transmission rate, number of transmit/receive antennas and decoder complexity. For most of the cases, we use the fundamental signalling alphabet Ω derived from constellation \mathcal{A} in accordance with (2).
A layer is a mapping strategy that assigns a particular transmit antenna to be used at each individual time interval of a code word [17]. A layer is called a thread when it spans in spatial and temporal dimensions in such a way that at each time instant: 1 ≤ t ≤ T at most one antenna is used [18]. With a minor modification we relax the condition of antenna usage at each time interval and allow the signalling intervals to be empty, i.e. no symbol be transmitted from any antenna during certain signalling intervals.
We use a technique very similar to that of Huffman (HM) binary tree. We develop an HM binary tree of N_{ t } + 1 nodes. We assume that nodes 2 (node 1 is discarded) to N_{ t } + 1 of the HM binary trees represent the rows 1 to N_{ t } of codeword matrices, respectively. We further assume that the weights or more precisely hamming weights of nodes m_{ i }, i = 1, 2, ..., Nt + 1 are such that {m}_{i}>{m}_{i+1}>\cdots >{m}_{{}_{{N}_{t}+1}} and {m}_{{N}_{t}1}>+{m}_{{N}_{t}}+{m}_{{N}_{t}+1}. With these assumptions, we may construct the HM tree in a straightforward way starting from bottom node coming up to top node.
As an example, consider the HM thread Λ defined for N_{ t } transmit antennas, where
For N_{ t } = 3 and 4, to obtain HM threads, we draw two HM binary trees in Figures 1 and 2, respectively.
Putting the obtained numerical values in matrix form in a row endtostart manner by nonzero elements, i.e. after discarding the first node (i.e. m_{ i }) of the tree, the m_{i+2}th row is started immediately from next column in which m_{i+1}th has its last nonzero element. The process is repeated till {m}_{{N}_{t}+1}th row. The empty positions are filled by zeros, we get
and, for N_{ t } = 4, we have
As an alternate method, we can develop such type of codeword matrices by using the following expression, where the thread Λ_{HM} has (i, j) entry defined as
where the Kronecker delta function is defined as
Lemma 1: Let \mathcal{S}=\Omega {\Lambda}_{\mathsf{\text{HM}}} denote the spacetime code in which the repetition code over alphabet Ω is used over the thread Λ_{HM}, then \mathcal{S} achieves full spatial diversity and is fully delto.
Proof: One can see that \mathcal{S} encompasses multiples of Λ_{HM}, so all the differences between codeword in \mathcal{S} are multiples of {\Lambda}_{\mathsf{\text{HM}}}^{\Delta}, hence it is easy to show that {\Lambda}_{\mathsf{\text{HM}}}^{\Delta} is of full rank for all delay profiles. One can see that regardless of Δ size, the i th row of {\Lambda}_{\mathsf{\text{HM}}}^{\Delta} always contains the same number of ones as its index (i.e. m_{ i } = i), whereas the total number of nonzero elements in all lower numbered rows is i(i1)/2. Hence, for each i, there is a column in {\Lambda}_{\mathsf{\text{HM}}}^{\Delta} for which the entry in the i th row is 1 and all the elements above it are zeros. The set of these columns for i = 1 to N_{ t } forms an N_{ t } × N_{ t } submatrix that is lowertriangular with ones on the diagonal. Since this submatrix has determinant 1, so we can say that {\Lambda}_{\mathsf{\text{HM}}}^{\Delta} is of full rank.
One can see from the code structure that any permutation of rows or columns may be done in Λ_{HM} to produce an equivalent thread yet preserving the properties of its parent code, deletion of rows in Λ_{HM} also would not affect the delto property.
Now, generalizing the obtained results over DAST codes [19], for t=1,2,...,{T}_{{N}_{t}}^{\mathsf{\text{HM}}}, consider f_{ t }: Ω → C be a one to one function, and we derive the corresponding thread function matrix F_{Λ}(x) for thread Λ_{HM} by replacing the nonzero elements in matrix Λ_{HM} by the function F_{Λ}(x). For example, for N_{ t } = 4, we have
Lemma 2: let \mathcal{S} denote spacetime code of form s_{ a } = F_{Λ} (a) for some a ∈ Ω. Then, \mathcal{S} achieves full diversity and is delto.
Proof: If a and b are two distinct codewords of \mathcal{S}, then the difference codeword matrix f_{Λ} (a) and f_{Λ} (b) will adopt the same form as Λ_{HM} by replacing 1 for t=1,2,...,{T}_{{N}_{t}}^{\mathsf{\text{HM}}} by the difference matrix f_{ t }(a)f_{ t }(b).
Let an arbitrary delay profile Δ be applied to the difference matrix f_{Λ}(a)f_{Λ}(b) to produce the matrix F^{Δ}, then, as proved before, the columns {t}_{1},{t}_{2},...,{t}_{{N}_{t}} in F^{Δ} form a lower triangular matrix with diagonal entries equal to {f}_{{t}_{i}}\left(a\right){f}_{{t}_{i}}\left(b\right) for i = 1, 2, ..., N_{ t } and this matrix has determinant:
Since all the functions {f}_{{t}_{i}} are one to one, so the determinant D will be zero subject to condition if a = b, likewise F_{Λ}(a) will be equal to F_{Λ}(b) if a = b. Therefore, the matrix F^{Δ} is full rank.
Another method
The HM method for construction of codeword matrices may be lethargic for large value of N_{ t }, as one can see from the code structure that there is a large disparity or unevenness in usage of antennas. Here, we develop another method of thread matrix construction in which each antenna is used for the same number of time. We call this technique of thread construction as uniform use (UU) threads matrices. In this particular scheme, each transmit antenna is used twice per codeword. The two nonzero elements of the codeword matrix in row i (i = 1, 2, ..., N_{ t }) are spanned by {u}_{i}=\u230a{2}^{i2}+\frac{i}{{N}_{t}}\u230b,^{a} where u is the number of zeros between two nonzero elements in row i.
For example, for N_{ t } = 3 and 4, we have the following two matrices, where {T}_{{N}_{t}}^{\mathsf{\text{UU}}}=2{N}_{t}
The first nonzero element in row i lies in columns j according to Table 1.
The UU design is fully delto and offers full diversity.
Equivalently, we can construct such codeword matrices for UU threads as follows, where (i, j) th entry is defined as
where delmod is ordinary modulo N_{ t } function, and is not taken into account when Kronecker delta function δ_{ j } is active, and the Kronecker delta function is defined as
where P is a vector of first T elements of safe prime numbers.^{b}.
Lemma 3: Let S=\Omega {\Lambda}_{\mathsf{\text{UU}}} be the {N}_{t}\times {T}_{{N}_{t}}^{\mathsf{\text{UU}}} spacetime code in which the repetition code is used over the thread Λ_{UU}. Then, S achieves full spatial diversity and is fully delto.
Proof: As one can see from code structure, it is easy to show that for any delay profile Δ, the i th row of the thread matrix cannot be expressed as a linear combination of rows 1 through N_{ t }1.
The two nonzero elements in i th row are separated by u zero elements, where u is given by
or, more precisely
Furthermore, the leading nonzero element in row i_{1} and {i}_{{N}_{t}} always starts from column j_{2} and j_{1}, respectively, whereas the second nonzero element of same rows lies in j_{2} and {j}_{2{N}_{t}1}, respectively. Likewise, for the rest of the rows, the second nonzero elements lay in position j_{ i } + ϖ, where ϖ is the position of leading nonzero element in that row.
We know that in the linear combination of even weight rows, if the leading nonzero element in row N_{ t } lies in column j_{ i }, then there must be an odd number of rows having a nonzero element in column j_{ i } [7]. Therefore, we say that our proposed codeword is fully delto.
4. Multiple thread delto codes
In previous section, we discussed different techniques for construction of single thread delto codes. To improve the rate of these codes, we combine multiple delto threads in single codeword matrices. There is more than one way of packing such threads. Here, we discuss two methods as follows.
4.1. Cyclic shift
This method has a very simple and interesting structure. We use to shift each column of thread matrix Λ_{ k } (k = 1, 2, ..., N_{ t }) by one element in thread matrix Λ_{k+1}. We repeat the process till the last thread Λ_{ M }.
Let Λ_{ k } be thread k for N_{ t } transmit antennas and T vector channel uses. Then, for N_{ t } = 4 and {T}_{{N}_{t}}^{\mathsf{\text{HM}}}={N}_{t}\times \u2308\frac{{N}_{t}}{2}\u2309+\left(\frac{1+{\left(1\right)}^{{N}_{t}}}{2}\right)\u2308\frac{{N}_{t}}{2}\u2309, for thread matrix {\Lambda}_{1}^{\mathsf{\text{HM}}}, we get
For ease to understand, we replace the nonzero elements in their respective locations by alphabets a, b, c and d in Λ_{1} to Λ_{4}, respectively. So, the above codeword matrix is reproduced as
After making a shift by one element in each column in above codeword matrix, we get
After making a shift by one element in each column in above codeword matrix, we get
After making a shift by one element in each column in above codeword matrix, we get
Equivalently, we can construct such a codeword threads matrix {\Lambda}_{{N}_{t}}^{\mathsf{\text{HM}}} by following expression
where Xmod is ordinary modulo N_{ t } function with a small difference that it replaces the output zero by N_{ t }, and the Kronecker delta function is defined as
From this packing of threads, we get an N_{ t } × T spacetime code \mathcal{S} which transmits N_{ t } repetition codes simultaneously, one per thread by selecting the code codewords [7].
For {a}_{1},{a}_{2},...,{a}_{{N}_{t}}\in \Omega arbitrary.
(Note that the notations a, b, c, d... used in above codewords matrices are replaced by {a}_{1},{a}_{1},...,{a}_{{N}_{t}}).
For HM thread structure when N_{ t } = 4 and T={N}_{t}\times \u2308\frac{{N}_{t}}{2}\u2309+\left(\frac{1+{\left(1\right)}^{{N}_{t}}}{2}\right)\u2308\frac{{N}_{t}}{2}\u2309
by packing threads {\Lambda}_{1}^{\mathsf{\text{HM}}} to {\Lambda}_{4}^{\mathsf{\text{HM}}}, we get
Similarly for N_{ t } = 3, we have
and when N_{ t } = 2, we have
In case of UU threads
UU threads can also be packed in the same way as we did above for HM threads.
For N_{ t } = 4 and T = 2N_{ t }, we have
and packing all the four threads into a single codeword matrix, we get
For N_{ t } = 3, we get
and for N_{ t } = 2, get
4.2. Algebraically packed multiplethreads
The codes constructed in Section 3 are individually delto and fully diverse, but when they are packed together in a single codeword matrix in a way as we did above, it is not guaranteed that they are delto and fully diverse because the threads may interact in a detrimental way [7]. The remarkable work of El Gamal and Damen [10] can be used to make it sure that the packed codewords are delto and fully diverse.
Let Λ be the HM thread for N_{ t } transmit antennas and T={N}_{t}\times \u2308\frac{{N}_{t}}{2}\u2309+\left(\frac{1+{\left(1\right)}^{{N}_{t}}}{2}\right)\u2308\frac{{N}_{t}}{2}\u2309 vector channel uses. Let f_{i, j}: Ω → C be a onetoone function for each choice i = 1, 2, ..., N_{ t } and j = 1, 2, ..., T. For each thread, Λ_{ k }derived from Λ in accordance with (6), form the threaded matrix function F_{ k }(x) whose (i, j) th entry is f_{i, j}(x)·Λ_{ k }(i, j) [[7], th: 12].
Consider the N_{ t } × T spacetime code \mathcal{S} with L ≤ N_{ t } active threads consisting of all modulated codewords of the form:
for a_{1}, a_{2}, ..., a_{ L } ∈ Ω arbitrary.
Then, \mathcal{S} achieve full spatial diversity and is fully delto.
Proof: Assume a and b are two distinct codewords and are subject to the delay profile Δ.
Then, s^{Δ} is given as
where
Let m denote the largest index for which a_{ m } ≠ b_{ m } but a_{ i } = b_{ i } for i > m. Then,
The nonzero elements in main diagonal form a submatrix, and are given by
This submatrix has determinant
where G(ϕ) is a polynomial in ϕ over \mathbb{F}\left(\theta \right) of degree < N_{ t }(m1). Since the functions {f}_{i,{j}_{i}} are all onetoone and a_{ m } ≠ b_{ m } , Equation (35) is a nontrivial polynomial in ϕ of degree N_{ t }(m1) over \mathbb{F}\left(\theta \right).
By design choice, ϕ is not the root of any nontrivial polynomial of degree N_{ t }(m1) over \mathbb{F}\left(\theta \right). Hence, D(ϕ) ≠ 0, so the matrix is of full rank. We conclude that \mathcal{S} achieves full spatial diversity and is fully delto.
Code rate
In the multiple thread code construction, the rate of the spacetime code \mathcal{S} is given [7] as
Thus, we can make \mathcal{S} full rate by proper selection of parameters L and P for a given set of code parameters N_{ t }, N_{ r } and T. In other words, we make the modulation parameters flexible to match the specified spatiotemporal structure. This selection of modulation parameters can be done in different ways, a natural choice is to take L = min(N_{ t }, N_{ r }) and P = T.
4.3. Packing of threads (when L< N_{ t })
In previous section, we developed a technique of packing the single thread codeword matrices into L = N_{ t } threads codeword matrices. Selecting fewer threads than N_{ t } may increase the spectral efficiency of the code without increasing the constellation size by reducing the code interval length, but for that we have to relax the condition of antenna usage per time unit within each thread. In this section, we pack the threads in such a way that we allow the usage of more than one antenna per time unit within each thread.
4.3.1. HM thread
We denote the smallest code length for transmission of L threads from N_{ t } transmit antennas by {T}_{{N}_{t},L}^{\mathsf{\text{SHM}}}. From Section 3, we know that for HM threads the total number of channel usage is {n}_{1}+{n}_{2}+\cdots +{n}_{{N}_{t}}={N}_{t}\left({N}_{t}+1\right)/2, where n_{ i } = i.
Now let η_{1}, η_{2}, ..., η_{ L } denote permutation assigning the values {n}_{1}+{n}_{2}+\cdots +{n}_{{N}_{t}} to the transmit antennas 1,2,...,N_{ t }. Then, according to [7], we may write
From (36), for L = 1, we have
and for L > 1, we have
For N_{ t } = 4 and L = 1 and 2, we have for example
4.3.2. UU thread
We denote the smallest code length for transmission of L threads from N_{ t } transmit antennas by {T}_{{N}_{t},L}^{\mathsf{\text{SUU}}}. From Section 3, we saw that for UU thread, the maximum expansion between two channel uses is 2N_{ t }1. So, we may deduce that
For example, for N_{ t } = 4 and L = 1, we have
For N_{ t } = 4, L = 2
when N_{ t } = 4 and L = 3
For N_{ t } = 3 and L = 3 we have for example
Such type of codes will work efficiently for larger value of L. For smaller value of L, we can delete zero columns in (17) and (18), even after amputation of these columns the obtained codes still retain their properties of full diversity and delto.
5. Minimum length delto codes
The delto codes discussed in the previous sections have the codes length T > N_{ t }; therefore, for large size N_{ t } their performances may decrease. In this section, we extend our work and propose a technique for constructing delto codes with minimum delay length T = N_{ T }. Our construction method is based on tight packing of the HM threads as developed in Section 3.
In fact, an N_{ t } × T MIMO codeword matrix is a strand of algebraic SISO codes separated by Diophantine numbers ϕ, and the difference between distinct N_{ t } × N_{ t } submatrices is the diversity order of the codeword matrix [[10], th: 4].
In [11], the authors show that the minimum length delto STBC code s can be constructed by multiplying the designed thread codeword matrix with an N_{ t } × T matrix C, whose entries are rearrangement of \stackrel{\u0304}{c}\in \mathcal{C} (\mathcal{C} being a full diversity one dimensional block code of length N_{ t }T).
Of course the main problem in designing such type of codes is the design of thread codeword matrix. In [11], the authors have proposed two types of such matrices for two and three relays. In what follows, we discuss a new technique for construction of thread codeword matrices, and we claim that our proposed code get better performance over [11], particularly at high SNRs.
5.1. Construction of thread codeword matrix
Recall from Section 3 for HM generalized thread construction, here we develop a simple construction method for {T}_{{N}_{t}}^{\mathsf{\text{ML}}}={N}_{t} as follows:

▪ For row i, (i = 2, ..., N_{ t }), define a complex number ϕ whose power of 2 is simple addition of nonzero elements of row i in HM single thread codeword matrix.

▪ In the first row of HM single thread codeword matrix, the ituples of zeros above the nonzero elements in i th row (i = 2, ..., N_{ t }) are replaced by ϕ^{i1}.

▪ Fill the empty positions by 1.
For example for N_{ t } = 3, the {\Lambda}_{3}^{\mathsf{\text{HM}}} matrix from (3) can be represented as
For ease to understand, let α_{i, j}represent the location of ϕ in (46).
We show that by an appropriate selection of parameters ϕ and onedimensional code \mathcal{C}, the resulted spacetime code \mathcal{S} is delto for every delay profile.
Now let Ξ denote those N_{ t }tuples of α_{i, j}in Λ_{ML}, which are taken from different rows, and let {\varphi}^{{\alpha}_{\mathsf{\text{max}}}} be the highest number used, where {\alpha}_{\mathsf{\text{max}}}={2}^{{N}_{t}}.
Lemma 4: Let S=\Omega {\Lambda}_{\mathsf{\text{ML}}} denote the spacetime code in which the repetition code (with codewords of length {N}_{t}^{2}) over alphabet Ω is used as onedimensional SISO code in conjunction with thread Λ_{ML}, then \mathcal{S} achieves full spatial diversity and is fully delto, if the following conditions are satisfied.

▪ ϕ is chosen as an algebraic or transcendental number such that the numbers \left\{1,\varphi ,...,{\varphi}^{{\alpha}_{\mathsf{\text{max}}}}\right\} are algebraically independent over the field \mathbb{F}\left(\theta \right) that contains Ω [20].

▪ The parameters α_{i, j}are chosen such that the summation of the entries of every N_{ t }tuples in Ξ is unique.
Since the onedimensional code C is a repetition code, it is sufficient to show that {\Lambda}_{\mathsf{\text{ML}}}^{\Delta} is full rank for every arbitrary delay profiles \Delta =\left({\delta}_{1},{\delta}_{2},\dots ,{\delta}_{{N}_{t}}\right). To verify the diversity order of the code, we need to find out the largest square submatrix in {\Lambda}_{\mathsf{\text{ML}}}^{\Delta} which is full rank.

▪ First column is chosen such that it contains a nonzero element in row N_{ t }.

▪ j th Column is chosen such that it contains a power of ϕ at i th row (i, j = 2, ..., N_{ t }1)

▪ As a last step chose N_{ t }th column (for which we have only one choice)
As a result, the obtained N_{ t } × N_{ t } submatrix has at least one thread L with all nonzero elements containing N_{ t } elements of power ϕ.
If the sum of the powers of ϕ in L threads is m, then the determinant of the submatrix is given by
where g(ϕ) is a polynomial of ϕ with degree less than or equal to α_{max}. Since m is unique, g(ϕ) does not contain any term in ϕ^{m}. Therefore, if the number \left\{1,\varphi ,...,{\varphi}^{{\alpha}_{\mathsf{\text{max}}}}\right\} are algebraically independent over F(θ), det(D) is not zero and the code achieves full diversity for every delay profile. Due to the nice structure of our codes, we may use more than one method to verify the determinant of the largest N_{ t } × N_{ t } submatrix, for example we can use (35) or the same proof as used for Lemma 1.
6. Examples
In this section, we lay down some examples of delto distributed TAST codes. Similar to of TAST codes [10], the construction of delto codes are carried out by appropriate selection of the SISO codes and the numbers ϕ. Fulldiversity SISO codes over fading channels can be constructed by applying fulldiversity unitary transformations to input signals drawn from lattices or multidimensional constellations carved from a ring. Damen et al. [20] provided a systematic way of constructing N_{ t } × N_{ t } fully diverse unitary transformations over the field that contains the elements of information symbols, as
where R= W^{H}.diag(D), W being a discrete Fourier transform matrix built from the transmit QAM symbols vector of size P; we have
and D is a vector of the following form
where θ is a transcendental or an algebraic numbers of suitable degree to guarantee the full diversity of the rotation [20].
For N_{ t } = N_{ r } = L = 2, P = T = 3, using HM thread construction guideline from Section 3, we get delto distributed TAST code as follows:
where X= (x_{1}, x_{2}, x_{3})^{T} = R.U and Y= (y_{1}, y_{2}, y_{3})^{T} = R.V, U, V are two 3 × 1 vectors of QAM symbols and R_{3} is optimal 3 × 3 complex rotation according to (49). By setting ϕ = exp(2πi/15), this code provides the rate of 2QAM symbols per channel use and achieves a transmit diversity of 2 regardless of the delay profile.
Another example is the wellknown Alamouti code, which is not delto, but its extension to HM threads makes it delto, as shown in Equation (51)
For N_{ t } = 3, N_{ r } = L = 2, P = T = 5, we have the SUU STBC code (45) with codeword matrices
where X= (x_{1}, x_{2}, x_{3}, x_{4}, x_{5})^{T} = R.U and Y= (y_{1}, y_{2}, y_{3}, y_{4}, y_{5})^{T} = R.V, U, V are two 5 × 1 vectors of QAM symbols and R_{5} is optimal 5 × 5 complex rotation according to (48). By setting ϕ = exp(2πi/25), this code provides the rate of 2QAM symbols per channel use and achieves a transmit diversity of 3 regardless of the delay profile.
In (52), the number of active threads L is less than the number of transmit antennas N_{ t }. One can reconstruct (52) to get a delto distributed TAST code of smaller latency by reducing the number of zeros in transmission.
Thus, for N_{ t } = 3, N_{ r } = L = 2, P = 5 and T = 4, one has the STBC code with codeword matrix
In this case, by setting ϕ = exp(2πi/36), Equation (53) guarantees full diversity irrespective of the delay profile. This code provides the rate of 2.5QAM symbols per channel use.
Although the above examples are independently derived from the thread construction techniques discussed in Sections 3 and 4, but they resemble to that of Damens' codes designed in [7], and it was also confirmed by the simulation results that they have exactly same performances as that of [7], but we hope that the simplicity in construction techniques of our codes may reduce hardware complexity.
In Section 5, we introduced a technique for T = N_{ t } codeword matrix construction, where the information symbols are chosen from Z[i] for N_{ t } = 2 with a required fulldiversity rotations of 4 × 4, and ℤ[j] when N_{ t } = 3, with a required fulldiversity rotations of size 9 × 9.
For N_{ t } = N_{ r } = T = 2, we get a delto STBC codeword matrix of the form
where X= (x_{1}, x_{2}, x_{3}, x_{4})^{T} = R.U, U is 4 × 1 vectors of QAM symbols and R_{4} is optimal 4 × 4 complex rotation according to (48). By setting ϕ = exp(2πi/3), this code provides a rate of 2QAM symbols per channel use and achieves a transmit diversity of 2 regardless of the delay profile among its rows.
The noiseless received signal of (54) can be written as
We remark that x_{1} = R(1,:)_{1 × 4}.U_{4 × 1}, x_{2} = R(2,:)_{1 × 4}.U_{4 × 1}, x_{3} = R(3,:)_{1 × 4}.U_{4 × 1} and x_{4} = R(4,:)_{1 × 4}.U_{4 × 1} with U_{4 × 1} = [u_{1}, u_{2}, u_{3}, u_{4}]^{T} denoting the vector of transmitted QAM symbols. Hence, we have
This can be equivalently written in columns as
This can be summarized in matrix form as
So, the transformation of the transmit constellation is obtained by multiplication with the equivalent matrix:
Note that when the number of equations is less than the number of unknowns it is necessary to use a decision feedback equalizer (DFE) to help the sphere decoding to converge. For example it is possible to proceed like as following.
At each time instant the first n_{ m } transmitted symbols in a packet correspond to last n_{ m } decoded symbols in the last packet. The matrix B can be partitioned in the following way
and the transmitted symbol vector can be partitioned as: \mathit{U}=\left[{\mathit{C}}_{{n}_{m}\times 1};{\mathit{D}}_{4{n}_{m}\times 1}\right]; where {\mathit{C}}_{{n}_{m}\times 1} is the last n_{ m } decoded symbols in the last packet, thus we have
and we can run the sphere decoding algorithm with the following transformation: Z'→ZB_{1}.C and U→D. The new system involves the calculation of vector D of lower size and this can be done with the classical sphere decoding algorithm.
In the case of one delay symbol period
We suppose that first row is delayed by one symbol period. In this case, the new space time code can be written as
The noiseless received signal can then be written
We remark that x_{1} = R(1,:)_{1 × 4}.U_{4 × 1}, x_{2} = R(2,:)_{1 × 4}.U_{4 × 1}, x_{3} = R(3,:)_{1 × 4}.U_{4 × 1} and x_{4} = R(4,:)_{1 × 4}.U_{4 × 1}. Hence, we have
This can be equivalently written in column
This can be summarized in matrix form as
For N_{ t } = T = 3, and N_{ r } = 2, w get a delto distributed TAST codeword of the form
where X= (x_{1}, x_{2}, ..., x_{9})^{T} = R.U, U is a 9 × 1 vector of information symbols belonging to a 4array constellation in ℤ[j] and R_{9} is optimal 9 × 9 complex rotation according to (48). By setting ϕ = exp(πi/12), this code provides the rate of 3 symbols per channel use and achieves a transmit diversity of 3 regardless of the delay profile.
7. Simulation
Similar to that of TAST codes, we use sphere decoder for decoding our delto codes. In case of delay profiles where the received signals may contain some unknown equations are dealt by the use of minimum mean square errordecision feedback equalization (MMSEDFE) processing, as explained in previous section and can originally be found in [21, 22].
The simulation figures illustrated below show bit and symbol error rates (SERs) as function of E_{ b }/No in decibels, which is adjusted as follows.
where E_{ s } is the average signal energy per receive antenna and R is the code rate in bit per channel use (bpcu).
Figure 3 shows the bit error rate (BER) and SER of the delto distributed TAST code (50) with and without delay. We repeat that in case of code (50), the code parameters are N_{ t } = N_{ r } = L = 2 and P = T = 3. In case of delay, the first row is shifted by one symbol right to the second row.
In Figure 4, we simulated the BER and SER performances of delto distributed TAST codes (52) with and without delay. The code parameters of (52) are N_{ t } = 3, N_{ r } = L = 2, and P = T = 5. For delay profile, the first row is shifted by one symbol right to the second row.
In Figure 5, we considered the BER and SER performances of delto distributed TAST code (53) with and without delay. The code parameters of (53) are N_{ t } = 3, N_{ r } = L = 2, P = 5 and T = 4. For delay profile, the first row is shifted by one symbol right to the second row.
Figure 6 shows the BER and SER performances for codeword matrix (54) without delay. The results are compared with the result of the wellknown golden code [23] and the code proposed in [11]. The associated code parameters of (54) are N_{ t } = N_{ r } = T = 2. One can see that at high SNRs our proposed code (54) gets better performances.
Figure 7 shows the BER and SER performances for codeword matrix (54) with delay. For delay case, we shifted the first row by one symbol interval as shown in (63). The results are compared with the result of wellknown golden code [23] and the code given in [11].
Figure 8 shows the BER and SER performances for codeword matrix (68) without delay. The associated code parameters (68) are N_{ t } = T = 3, and N_{ r } = 2. The results are compared with the result of the code given in [11].
From this figure, one can observe that our proposed code gets better performance by 0.5 dB at the BER of 10^{3}. The proposed code gets better performances at high SNRs.
Figure 9 shows the BER and SER performances for codeword matrix (68) with delay. The code parameters for (68) are N_{ t } = T = 3, and N_{ r } = 2. For delay case, we shifted the first row by one symbol interval. The results are compared with that of the code given in [11].
Figure 10 shows the BER and SER performances for codeword matrix (32) with delay. Delay profile is obtained by shifting the first row in (68) by one symbol to the right of other rows. The associated code (68) parameters are N_{ t } = N_{ r } = T = 3. The results are compared with that of the code in [11]. Our proposed delto distributed TAST code (68) gets better performances particularly at high SNRs.
Figure 11 shows the BER and SER performances for codeword matrix (68) without delay. In this case, the associated code (68) parameters are N_{ t } = N_{ r } = T = 3, The results are compared with that of the code in [11]. One can see that the error performance of our proposed delto distributed TAST code (68) is improved by about 2 dB at the BER of 10^{5}.
8. Conclusion
Within the same framework developed in [7, 11], we introduced some easy and useful techniques for the construction of delay tolerant distributed STBC codes having full diversity and full rate. Like their brethren codes, our proposed codes are flexible with respect to constellation size, number of receive/transmit antennas. We introduced two useful techniques for constructing threads codewords matrices. The packing of different threads into a single codeword matrix provides different code structures to be used over cooperative networks with different setup of relays and antennas. In term of error rates, the codes with T > N_{ t } developed in (50) to (53) do not outperform the codes introduced by Damen but we hope that their simple structures may reduce the hardware complexity. The codes with T = N_{ t } developed in (54) and (68) outperform the existing codes without sacrificing decoding complexity and other nice characteristics. For example, the error performance of the code proposed in (68) is improved by about 2 dB at the BER of 10^{5} when N_{ t } = N_{ r } = 3, and 0.5 dB at 10^{3} when N_{ t } = 2 and N_{ r } = 2.
Endnotes
^{a}For N_{ t } > 4, plus sign is replaced by minus sign. ^{b}A safe prime is a prime number of the form 2p + 1, where p is also a prime. For example, first seven safe prime numbers are [5,7,11,23,47,59,83].
References
Biglieri E, Calderbank R, Goldsmith A, Yaswami A, Paulraj A, Vincent Poor H: MIMO Wireless Communications. Cambridge University Press, New York; 2007.
Tsoulos G: MIMO System Technology for Wireless Communications. CRC Press, New York; 2006.
Gesbert D, Shafi M, Shiu D, Smith PJ, Naguib A: From theory to practice: an overview of MIMO space time coded wireless system. IEEE J Sel Commun 2003, 21(3):281302. 10.1109/JSAC.2003.809458
Sendonaris A, Erkip E, Aazhang B: User cooperative diversity. PartI. System description. IEEE Trans Commun 2003, 51(11):19271938. 10.1109/TCOMM.2003.818096
Li Y, Xia XG: Full diversity distributed space time trellis codes for asynchronous cooperative communication. ISIT, Adelaide, SA 2005, 911915.
Li Y, Xia XG: A family of distributed spacetime trellis codes with asynchronous cooperative diversity. IEEE Trans Commun 2007, 55(4):790800.
Damen MO, Hammons AR: Delay tolerant distributed TAST codes for cooperative diversity. IEEE Trans Inf Theory 2007, 53(10):37553773.
Mei Y, Hua Y, Swami A, Daneshrad B: Combating synchronization errors in cooperative relays. In Proc IEEE International Conference on Acoustic, Speech, and Signal Processing. Volume 3. Philadelphia, PA, USA; 2005:16.
Shang Y, Xia XG: Limitedshiftfullrank matrices with applications in asynchronous cooperative communications. IEEE Trans Inf Theory 2007, 53(11):41194126.
El Gamal H, Damen MO: Universal spacetime coding. IEEE Trans Inf Theory 2003, 49(5):10971119. 10.1109/TIT.2003.810644
Torbatian M, Oussama M: On the design of delay tolerant distributed space time codes with minimum length. IEEE Trans Wirel Commun 2009, 8(2):931939.
Cover TM, El Gamal AA: Capacity theorems for the relay channel. IEEE Trans Inf Theory 1979, 25(5):572584. 10.1109/TIT.1979.1056084
Hammons AR Jr, Conklin RE Jr: Spacetime block codes for quasisynchronous cooperative diversity. In Proc Military Communications Conf (MILCOM). Washington, DC; 2006:17.
Tarokh V, Seshadri N, Calderbank AR: Spacetime codes for high data rate wireless communication: performance criterion and code construction. IEEE Trans Inf Theory 1998, 44(2):744765. 10.1109/18.661517
Hammons AR Jr: Algebraic spacetime codes for quasisynchronous cooperative diversity. Proc IEEE Int Conf Wireless Networks, Communications and Mobile Computing 2005, 1: 1115. WirelessCom, Maui, HI
Oggier F, Belfiore JC, Viterbo E: Cyclic Division Algebras: A Tool for SpaceTime Coding now Boston. 2007.
Foschini GJ: Layered space time architecture for wireless communication in fading environment when using multiple antennas. Bell Labs Technol 1996, 4159.
Gamal H, Hammon AR: A new approach to layered space time coding and signal processing. IEEE Trans Inf Theory 2001, 47(6):23212334. 10.1109/18.945250
Damen MO, Meraim KA, Belfiore JC: Diagonal algebraic space time block codes. IEEE Trans Inf Theory 2002, 48(3):628636. 10.1109/18.985979
Damen MO, Gamal HE, Beaulieu NC: Systematic construction of fulldiversity algebraic constellations. IEEE Trans Inf Theory 2003, 49(12):33443349. 10.1109/TIT.2003.820024
Murugan AD, El Gamal H, Damen MO, Caire G: A unified framework for tree search decoding: rediscovering the sequential decoder. IEEE Trans Inf Theory 2006, 52(3):933953.
Damen MO, El Gamal H, Caire G: On maximumlikelihood detection and the search for the closest lattice point. IEEE Trans Inf Theory 2003, 49(10):23892401. 10.1109/TIT.2003.817444
Belfiore JC, Rekaya G, Viterbo E: The golden code: a 2 × 2 fullrate spacetime code with nonvanishing determinants. IEEE Trans Inf Theory 2005, 51(4):310310.
Author information
Affiliations
Corresponding author
Additional information
Competing interests
The authors declare that they have no competing interests.
Authors’ original submitted files for images
Below are the links to the authors’ original submitted files for images.
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License (https://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
About this article
Cite this article
Ahmed, Z., Cances, J. & Meghdadi, V. Delay tolerant (delto) distributed TAST codes for cooperative wireless networks. J Wireless Com Network 2012, 82 (2012). https://doi.org/10.1186/16871499201282
Received:
Accepted:
Published:
DOI: https://doi.org/10.1186/16871499201282
Keywords
 spacetime coding system
 spacetime block codes
 threaded algebraic spacetime (TAST) code
 timing offset
 asynchronous transmission
 cooperative relay networks
 delay tolerant TAST codes.