Pragmatic Space-Time Codes for Cooperative Relaying in Block Fading Channels

We address the problem of construction of space-time codes for cooperative communications in block fading channels. More precisely, we consider a pragmatic approach based on the concatenation of convolutional codes and BPSK/QPSK modulation to obtain cooperative codes for relay networks, for which we derive the pairwise error probability, an asymptotic bound for frame error probability, and a design criterion to optimize both diversity and coding gain. Based on this framework, we set up a code search procedure to obtain a set of good pragmatic space-time codes (P-STCs) with overlay construction, suitable for cooperative communication with a variable number of relays in quasistatic channel, which outperform in terms of coding gain other space-time codes (STCs) proposed in the literature. We also ﬁnd that, despite the fact that the implementation of pragmatic space-time codes requires standard convolutional encoders and Viterbi decoders with suitable generators and branch metric, thus having low complexity, they perform quite well in block fading channels, including quasistatic channel, even with a low number of states and relays.


INTRODUCTION
In wireless communications, signal fading arising from multipath is one of the main impairments and it can be mitigated through the use of diversity.A classical diversity solution is given by the adoption of multiple receiving antennas, spaced sufficiently apart from each other to obtain independent copies of the transmitted signal (see, e.g., [1][2][3]).In addition, also the use of multiple transmitting antennas can give similar improvements [4][5][6].
Cooperative communications are gaining increasing interest as a new communication paradigm involving both transmission and distributed processing which promises significant increase of capacity and diversity gain in wireless networks, by counteracting fading channels with cooperative diversity.
Several issues arise with cooperative diversity schemes such as, among others, channel modeling and implementation aspects [7,8], protocols and resource management [9], the choice of proper relays [10], power allocation among cooperating nodes [11], and cooperative/distributed STCs [12,13].This work is devoted to this latter aspect.
In addition to physical antenna arrays, the relay channel model [14] enables the exploitation of distributed antennas belonging to multiple relaying terminals.This form of space diversity is referred to as cooperative diversity because terminals share antennas and other resources to create a virtual array through distributed transmission and signal processing [15,16].
With the introduction of STCs, it has been shown how, with the use of proper trellis codes, multiple transmitting antennas can be exploited to improve system performance obtaining both diversity and coding gain, without sacrificing spectral efficiency [6,[17][18][19][20][21].
In particular, the design of STCs over quasistatic flat fading (i.e., fading level constant over a frame and independent frame by frame) have been addressed in [18], where some handcrafted trellis codes for two transmitting antennas have been proposed.A number of extensions of this work have eventually appeared in the literature to design good codes for different scenarios, and STCs with improved coding gain has been presented in [22][23][24].In [25][26][27], a pragmatic approach to STC, called P-STC, has been proposed; it simplifies the encoder and decoder structures and also allows a feasible method to search for good codes in block fading channel (BFC).P-STCs consist in the use of standard convolutional encoders and Viterbi decoders over multiple transmitting and receiving antennas, achieving maximum diversity and excellent performance, with no need of specific encoder or decoder; the Viterbi decoder requires only a simple modification in the metrics computation.
The parallel between spatial diversity and cooperative diversity encouraged researchers to investigate design criteria for STCs in relay networks, in most cases by considering only one relaying node, a quasistatic channel and limitations on the number of antennas per node.In this paper, a methodology to design P-STCs for relay networks is provided, resulting in increased flexibility with respect to the above issues.We model the channel between transmitting and receiving as BFC [28][29][30] that represents a simple and powerful model to include a variety of fading rates, from fast fading (i.e., ideal symbol interleaving) to quasistatic.Moreover, after the proposal of the P-STC structure for cooperative communication with various numbers of relays and transmitting antennas, we will derive the pairwise error probability, asymptotic error probability bounds, and design criteria to optimize diversity and coding gain.Finally, we will perform an efficient search for P-STCs with overlay construction over BFC to provide good (with respect to our performance bound) convolutional generators for various constraint lengths and number of relays.
The paper is organized as follows.In Section 2, we describe the system model and assumptions for the cooperative scheme.In Section 3, we describe the P-STCs approach for relay networks.Then in Section 5, we address design and search procedures for cooperative codes.The performance of P-STCs for relay networks is then given in Section 7, and our conclusions are in Section 8.

SYSTEM MODEL
The cooperative scheme is depicted in Figure 1 and follows time-division channel allocations with orthogonal cooperative diversity transmission [31].Each user (i.e., the source) divides its own time-slot into two equal segments, the first from time t 1 to t 1 + Δ and the second from t 2 = t 1 + Δ to t 2 + Δ, where Δ is the segment duration.In the first segment, the source broadcasts its coded symbols; in the second all the active relays which are able to decode the message forward the information through proper encoding trying to take advantage of the overall available diversity.Thus, the design of proper STCs for the two phases is crucial to maximize both achievable diversity and coding gain.
We assume n transmitting antennas at each terminal and m receiving antennas at the destination.Hence, n 1 = n antennas will be used in the first phase and a total of n 2 = Rn antennas will be used in the second phase, where R is the number of relays able to decode and forward the source message.We indicate with c (t) r,i the modulation symbol transmitted by relay r (0 ≤ r ≤ R, and r = 0 is the source) on the antenna i at discrete time t, that is, at the tth instant of the encoder clock.With superscripts H, T, and * we denote conjugation and transposition, transposition only, and conjugation only, respectively.Each symbol is assumed to have unit norm and to be generated according to the modulation format by suitable mapping.Note that symbol c (t)  0,i is transmitted at time t 1 + t, while symbols c (t) r,i for r > 0 are transmitted at time t 2 + t.The received signals corresponding to all symbols c (t)  r,i are jointly processed by the decoder at the reference time t.We also denote with C (t) = [c (t)  0,1 , c (t) 0,2 , . . ., c (t) R,n ] T a supersymbol, which is the vector of the (R + 1)n outputs of the overall "virtual encoder" constituted by the source encoder and the relays' encoders.
A codeword is a sequence c = (C (1) , . . ., C (N) ) of N supersymbols generated by the source and relays' encoders.This codeword c is interleaved before transmission to obtain the sequence c I = I(c) = (C (σ1) , . . ., C (σN ) ), where σ 1 , . . ., σ N is a permutation of the integers 1, . . ., N, and I(•) is the interleaving function.Note that with this notation the permutation is the same for all the transmitting terminals in the two phases.
The channel model includes additive white Gaussian noise (AWGN) and multiplicative flat fading, with Rayleigh distributed amplitudes assumed constant over blocks of B consecutive transmitted space-time symbols and independent from block to block [28][29][30].Perfect channel state information is assumed at the decoder for each node.
In the BFC model, these channel matrices do not change for B consecutive transmissions, thus we actually have only L = N/B possible distinct channel matrix instances per codeword (for the sake of simplicity, we assume that N and B are such that L is an integer).Denoting by Z = {Z 1 , . . ., Z L } the set of L channel instances, we have H (σt) = Z l for σ t = (l − 1)B + 1, . . ., lB, l = 1, . . ., L. ( When the fading block length, B, is equal to one, we have the ideally interleaved fading channel (i.e., independent fading levels from symbol to symbol), while for L = 1, we have the quasistatic fading channel (fading level constant over a codeword); by varying L, we can describe channels with different correlation degrees [28][29][30].
At the receiving side, the sequence of received signal vectors is r I = (R (σ1) , . . ., R (σN ) ), and after deinterleaving we have r = I −1 (r I ) = (R (1) , . . ., R (N) ), where the received vector 1 , r (t,2) 1 , . . ., r (t,2) m ] T with components in the first phase and in the second phase.In this equation, r (t,l) s is the signalspace representation of the signal received by antenna s at time t in phase l, the noise terms η (t,l) s are independent, identically distributed (i.i.d.) complex Gaussian random variables (r.v.s), with zero mean and variance N 0 /2 per dimension, and the r.v.s h (σt)  r,i,s represent the deinterleaved complex Gaussian fading coefficients.Since we assume spatially uncorrelated channels, these are i.i.d. with zero mean and variance 1/2 per dimension, and consequently |h (σt) r,i,s | are Rayleigh distributed r.v.s with unit power.The constellations are multiplied by a factor E s in order to have a transmitted energy per symbol equal to E s , which is also the average received symbol energy (per transmitting antenna) due to the normalization adopted on the fading gains.This is motivated by the use of a power control technique which keeps constant the average received symbol energy.
The total energy transmitted per supersymbol is E sT = (n 1 + n 2 )E s and the energy transmitted per information bit is E b = E s /(hR c ), where h is the number of bits per modulation symbol and R c is the overall code rate of the cooperative space-time code.Thus with ideal pulse shaping, the spectral efficiency is nhR c /2 [bps/Hz].
For following discussions sections, it is worthwhile to recall that, over a Rayleigh fading channel, the system achieves a diversity D if the asymptotic error probability is P e ≈ K(E s /N 0 ) −D , where K is a constant depending on the asymptotic coding gain [1,32].In other words, a system with diversity D is described by a curve of error probability with a slope approaching 10/D [dB/decade] for large signal-tonoise ratio (SNR).

PRAGMATIC SPACE-TIME CODES FOR COOPERATIVE RELAYING
In the case of the two-phase relaying scheme shown in Figure 1, the probability of transmission failure over the two phases depends on the number of relays available for cooperation and on the link qualities on source-destination, source-relays, and relays-destination.We envisage two main applications.
(a) With static set of relays.The set of relays is initialized at the beginning of a data communication session and is kept unchanged over a long period of many slots.The set of relays is chosen by looking at active terminals able to guarantee a good average link quality (depending on terminal position and slow fading) with the source terminal.During this period, a cooperative coding scheme is used by the source and the set of relays to protect the transmission of data frames between source and destination.Sometimes, due to fast fading fluctuations, it may happen that one or more relays are not able to decode the source codewords in phase 1.In the simplified case of equal quality on all source-relay links, denoting by P (S-D) e the error probability for the link from source to destination, P (S-R) e the error probability for the source-relay link (i.e., P (S-R1) for the cases of 1 and 2 potential relays, respectively.These can be generalized to the case of R potential relays as (b) With dynamic set of relays.The set of cooperating relays is determined frame by frame as those relays which are active as well as able to hear and decode the source in phase 1.By means of a suitable signaling, they agree on the cooperative coding scheme and complete transmission in phase 2. In this case, the error probability P e is given by where P{•} indicates probability, R is the total number of relays, and P{k cooperating relays} depends on the spatial distribution of the nodes in the network as well as fast and slow fading statistics.
For the design of the coding scheme with cooperative relays, it is generally recognized that the code components

Rate k nh
Mapper Mapper Symbol interl.

Symbol interl.
H (σt )   (a) Figure 2: Architecture of pragmatic space-time codes.For cooperative P-STCs, the "distributed" convolutional encoder is the ensamble of R + 1 single encoders, one for each transmitter; hence, instead of n, we must consider the overall number of antennas (R + 1)n.Demod.
Output bits

Branch metric
Figure 3: Receiver structure for the proposed P-STCs in cooperative communications.The Viterbi decoder is the same as for the single convolutional code adopted in transmission, but the metric on the generic branch is, for example, for n = 2 and R = 1, m s=1 |r , are the four symbols associated to the branch.Note that r (t,1) used by the source in phase 1 should maximize diversity and coding gain for each link connecting the source to relays and destination.The other code components should be designed to maximize diversity and coding gain of the entire cooperative code, that is, the code including all the code components transmitted during phases 1 and 2, for any possible number of cooperative relays [12].
In this paper, we are considering the design of space-time trellis codes for relaying networks by using the pragmatic approach of [25,27].Our proposed "pragmatic" approach uses a low-complexity architecture for STCs where the code components are built by the concatenation of a binary convolutional encoder and binary phase shift keying (BPSK) or quaternary phase shift keying (QPSK) modulator.This code architecture was also referred to as algebraic STCs in [33].Our "pragmatic" approach thus consists in using common convolutional codes as space-time codes, with the architecture presented in Figure 2. Here, k information bits are encoded by a convolutional encoder with rate k/(nh).The nh output bits are divided into n streams, one for each transmitting antenna, of BPSK (h = 1) or QPSK (h = 2) symbols that are obtained from a natural (Gray) mapping of h bits.By natural mapping; we mean that for BPSK an information bit b ∈ {0, 1} is mapped into the antipodal symbol c = 2b − 1, giving c ∈ {−1, +1}; for QPSK a pair of information bits, a, b, is mapped into a complex symbol Then, each stream of symbols is eventually interleaved (we focus our attention on symbol interleaving: bit interleaving is addressed in [34]).If μ is the encoder constraint length, then the associated trellis has N s = 2 k(μ−1) states.
We can describe P-STCs for cooperative communication, obtained by joining the R + 1 code components used by the cooperating transmitters, by using the trellis of each encoder (the same as for the convolutional codes (CC)), labelling the generic branch from state S i to state S j with the supersymbol C Si→Sj = [ c 0,1 , . . ., c R,n ] T , where for BPSK, the symbol c r,i is the output (in antipodal form) of the ith generator of the rth transmitter.
One of the advantages of the pragmatic architecture is that the maximum likelihood (ML) decoder is the same Viterbi decoder of the convolutional encoder adopted in transmission (same trellis), with a simple modification of the branch metrics.Being { c r,i } the set of output symbols labelling the branch, the branch metric for the Viterbi decoder is thus given by m s=1 r (t,1) For example, in Figure 3 we show the receiver architecture for the cooperative P-STCs, that simply consists in the usual Viterbi decoder for the convolutional code adopted in transmission, with the only change of the metric on a generic trellis branch, as illustrated in the caption.Thus, the advantages of P-STCs with respect to STCs are as follows: (i) the encoder is a common convolutional encoder; (ii) the (Viterbi) decoder is the same as for a convolutional code, except for a change in the metric evaluation; (iii) P-STCs are easy to study and optimize, even over BFC.
These advantages apply also when P-STCs are used for cooperative communications, as it will be further investigated in the next sections.

PERFORMANCE ANALYSIS FOR COOPERATIVE SPACE-TIME CODES OVER BFC
We first consider the derivation of the pairwise error probability (PEP).Given the transmitted codeword c and another codeword g / = c, the PEP, that is, the probability that the ML decoder favors the codeword g over c, conditional to the set of fading levels Z, can be written as where erfc(x) (2/ √ π) ∞ x e −t 2 dt is the complementary error function, and the conditional Euclidean squared distance at the channel output, d 2 (c, g | Z), is given by [18] To specialize this expression for BFC, we first rewrite the squared distance as follows: where h (σt)   s = [h (σt) 0,1,s , h (σt) 0,2,s , . . ., h (tσt) R,n,s ] is the (1 × (R + 1)n) vector of fading coefficients related to the receiving antenna s.In (10), the ((n 1 + n 2 ) × (n 1 + n 2 )) matrix A (t) (c, g) is Hermitian nonnegative definite [27] and has the following block structure: where after having split the generic supersymbol C (t) in the two parts transmitted during phase 1 and phase 2, respectively, that is, C (t) = [c (t,1) c (t,2) ] T , where c (t,1) = [c 0,1 , . . ., c 0,n ] and Due to the BFC assumption, for each frame and each receiving antenna, the fading channel is described by only L different vectors h (t)   s ∈ {z (1) s , z (2)  s , . . ., z (L) s }, s = 1, . . ., m, where z (l)  s is the sth row of Z l .By grouping these vectors, we can rewrite (10) as where and T(l) {t : H (σt) = Z l } is the set of indexes t where the channel fading gain matrix is equal to Z l .This set depends on the interleaving strategy adopted.Note that in our scheme (Figure 2), the interleaving is done "horizontally" for each transmitting antenna and in the same way for each transmitter, and that the set T(l) is independent of s, in other words, that the interleaving rule is the same for all antennas.
The matrix F (l) (c, g) is also Hermitian nonnegative definite, being the sum of Hermitian nonnegative definite matrices.It has, therefore, real nonnegative eigenvalues.Moreover, it can be written as F (l) (c, g) = U (l) Λ (l) U (l)H , where U (l) is a unitary matrix and Λ (l) is a real diagonal matrix, whose diagonal elements λ (l)  i with i = 1, . . ., n = n 1 + n 2 are the eigenvalues of F (l) (c, g) counting multiplicity.Note that F (l) and its eigenvalues λ (l)  i are functions of c − g.As a result, we can express the squared distance d 2 (c, g | Z) in terms of the eigenvalues of F (l) (c, g) as follows: where s U (l) .It should be observed that the form of matrix F (l) (c, g) is different from the matrix of the same space-time code working on a system with n 1 + n 2 transmit antennas defined in [27] due to the use of two distinct transmission phases in the cooperative system.Therefore, the same code used in the cooperative system may achieve different diversity and coding gains.It should also be noted that this matrix is diagonal (hence full-rank) only when n = 1 and R = 1.When transmitters have more than one antenna or more than one relay cooperate to transmission, only a suitable choice of the code may lead to a full-rank matrix, as shown later.
Vector z (l) s has independent, complex Gaussian elements, with zero mean and variance 1/2 per dimension.Since U (l) represents a unitary transformation, B (l)  s has the same statistical description of z (l)  s .Moreover, for BFC, vectors B (l) s and B ( j) s are independent for all l / = j.Hence, the unconditional pairwise error probability (PEP) becomes where E{•} indicates expectation with respect to fading (i.e., over the distribution of the β (l) i,s ).By evaluating the asymptotic behavior for large SNR, we obtain (see [35]) where A looser bound can be obtained by observing that K(d) ≤ 1/4.The integer η l = η l (c, g) is the number of nonzero eigenvalues of F (l) (c, g), and η (which we call the pairwise transmit diversity) is the sum of the ranks of F (l) (c, g), that is, The PEP between c and g shows a diversity mη, that is, the product of transmit and receive diversity.Therefore, it is clear that the performance analysis of a cooperative space-time codes with fixed number of cooperating relays is similar to the analysis of common spacetime codes as in [18,27].The only difference lies in the structure of the matrix F (l) (c, g) which has some zero offdiagonal elements and may therefore have different rank and eigenvalues.Bearing in mind this fact, it is easy to derive an error probability bound as where P{c} is the probability of transmitting the codeword c (i.e., for P-STCs, equal to 2 for equiprobable input bit sequence and 2 −k(N −μ+1) for a zero-tailed code) and P w (c) is the codeword error probability for the transmitted codeword c.By using the asymptotic approximation (17), and by observing that the retained dominant terms are those with transmit diversity η min = min c η min (c), where η min (c) = min g η(c, g) and E (c, x) = {g / = c : η(c, g) = x} is the set of codeword sequences at minimum diversity, the asymptotic error probability bound can be written as From ( 21), we observe that the asymptotic performance of STCs in BFC depends on both the achievable diversity, η min •m, and the performance factor which is related to the coding gain in (21).
Note also that η min and the weights L l=1 η1 i=1 λ (l) i for each c and g do not depend on the number of receiving antennas.Therefore, when a code is found to reach the maximum diversity η min in a system with one receiving antenna, the same code reaches the maximum diversity η min •m when used with multiple receiving antennas.However, due to the presence of the exponent m in each term of the sum in ( 22), the best code (i.e., the code having the smallest performance factor) for a given number of antennas is not necessarily the best for a different number of receiving antennas.Thus, a search for optimum codes in terms of both diversity and performance factor must in principle be pursued for each m.
To summarize, the derivation of the asymptotic behavior of a given STC with a given length requires the computation of the matrices F (l) (c, g) in ( 14) with their rank and product of nonzero eigenvalues.Moreover, according to [36], by restricting in the bound the set of sequences g to those corresponding to paths in the trellis diagram of the code diverging only once from the path of codeword c, the union bound becomes tighter and can be evaluated in an effective way, by using the methodology illustrated in [27] through the concept of space-time generalized transfer function.

PRAGMATIC SPACE-TIME CODE DESIGN FOR RELAYING
In this section, we address the issues of how to set up design criteria for good cooperative STCs and how to perform an efficient search for the optimum (in a sense defined later) generators for the code components of cooperative STCs in BFC.
In general the design of good cooperative STCs may be based on one of the following approaches.
(a) By assuming that the cooperative code is working with a predefined number of cooperative relays R, it may be designed as P-STC with k binary inputs and n(R + 1) output symbols which maximize diversity gain and coding gain.A pragmatic suboptimal solution to this problem may be to build the code using the rate k/(nh(R + 1)) maximum free distance convolutional code, optimum for the AWGN channel.This design method does not guarantee that the first rate k/nh component code used in phase 1 is the best performing code.It also does not guarantee good performance when some code components are not used by relays unable in some frames to decode the source message.Moreover, the pragmatic solution may be not optimal even in terms of diversity gain and therefore should be checked by means of simulations.However, we observed that in many cases this solution leads to quite good results.
(b) By assuming that the cooperative code is obtained by joining code components in phase 2 from every relay able to decode the source message, the code may be designed as STC with overlay construction [37].With this method, a good code for R relays is designed starting from a good code for R − 1 relays and by adding the best code component that maximizes diversity and coding gain of the final code.In this way, the first code component used by the source in phase 1 is always a good code.In the case of a fixed set of cooperating relays, the sequence of additional code components can be assigned to the relays ranked in order of average link quality in such a way that the second code component is assigned to the relay with the best link quality and so on, thus they are used with high probability in the same combinations for which they have been designed.Moreover, it is easier to design the additional code components than the entire cooperative code.
The design of STCs with overlay construction was addressed in [37], but not in the special case of cooperative codes.Algebraic design criteria were derived for maximizing diversity gain, without addressing coding gain issues.The work in [12] proposed to use this STC with overlay construction as a cooperative STC but without specializing the design for the cooperative scenario.In this section, we propose to set up an STC code search that aims at seeking cooperative codes covering both the outlined design approaches, that is, the design of an entire rate k/(nh(R + 1)) P-STCs, and the design of rate k/nh code components in an overlay structure.
The search criterion proposed here is based on the asymptotic error probability in (21), so that the optimum code with fixed parameters (n, k, h, μ), among the set of noncatastrophic codes, is the code that (i) maximizes the achieved diversity, η min ; (ii) minimizes the performance factor F min (m); where the values of η min and F min (m) can be extracted from the space-time generalized transfer function (ST-GTF) of the code [27].Therefore, an exhaustive search algorithm should evaluate the ST-GTF for each code of the set.
Another search criterion for STC has been addressed in [22,24] where a method based on the evaluation of the worst PEP was proposed.Although the worst PEP carries information about the achievable diversity, η min , it is incomplete with respect to coding gain, thus producing a lower bound for the error probability.Even though our method based on the union bound is still approximate with respect to coding gain (giving an upper bound), it includes more information than the other method, leading often to the choice of codes with better performance.
When applying our search criterion, we must consider that, as shown in [38], the union bound for the average error probability is loose and in some cases (long codes and small diversity) is very far from the actual value.This problem can be partially overcome by truncating the sum to the most significant terms, but this technique leads to an approximation.However, this approach gives good results in reproducing the correct performance ranking of the codes among those achieving the same diversity η min , as will be checked in the numerical results section.
Of course, the achievable diversity is the most important design parameter.Since η min cannot be larger than η(c, g) ≤ (R + 1)nL and the free distance d f of the convolutional code used to build the P-STCs, it appears that to capture the maximum diversity per receiving antenna offered by the channel, (R + 1)nL, the free distance of a good code for a given BFC should be at least (R +1)nL or larger.On the other hand, there is a fundamental limit on the achievable diversity related to the Singleton bound for BFC [30].Let us define the reference block fading channel (RBFC) for the system as the ideal equivalent BFC with (R + 1)nL fading blocks that would describe the space-time fading channel if the (R + 1)n transmitters determine (R + 1)n independent channels.The achievable diversity, which cannot be larger than the diversity achievable on the reference BFC, is bounded by As an example, to achieve full diversity (R + 1)n with P-STCs in a quasistatic channel (L = 1), the value k/h cannot be larger than 1, thus the code rate of each convolutional code component cannot be larger than 1/n, or the value of h cannot be smaller than k (see also [18]).

CODE SEARCH RESULTS
In this section, we report the results obtained in our search for good cooperative STCs with overlay construction for different system configurations with R = 1, 2, 3 relays, n = 1, 2 transmitting antennas, m = 1 receiving antennas.Note that according to the analytical framework in Section 4 the diversity gain of the proposed codes increases as Dm for m > 1.All the codes proposed are full-diversity codes.Two approaches are considered for overlay construction: the first considers the use of the maximum free distance (optimum for AWGN channel) rate k/hn code as the first code component; the second as the first code component considers the best rate k/hn P-STCs reported in [27].When possible, these codes are compared with the cooperative STCs proposed in [12].Suboptimal cooperative STCs, working with a predefined number of cooperative relays R and constructed by pragmatically choosing the best (maximum distance) convolutional codes for AWGN, can be easily obtained by using the convolutional code generators reported in [2,Section 8.2].It has been checked that this easy approach leads in most cases to acceptable results.However, it sometimes leads to cooperative STCs not achieving full diversity.As an example, this is the case of the rate 1/4, 4-state code with generators (5, 7, 7, 7) 8 for systems with BPSK, n = 2 and R = 1 cooperative relays, which achieves a maximum diversity of 3. Note that, according to the Singleton bound, full-diversity rate k/(h(R + 1)n) codes can be constructed if k ≤ h.
The results are collected in Tables 1-5.It is interesting to note that the proposed codes are able to capture the maximum available diversity with only 2-4 states in the Table 2: Optimum overlays for rate 1/(2R) COP-STC with BPSK, n = 2, m = 1, R = 1, in quasistatic channel.The basic code for a single transmitter is STC with the best convolutional code for the AWGN channel.Superscript (1) refers to C-STC as in [12].
Generators r = 0 Generators r = 1 F min (1)/N Generators (1)  trellis.By increasing the number of trellis states, only a small coding gain improvement is obtained.It is also worth noting that cooperative codes obtained by using the best P-STCs as a first code component usually perform better than the others, including the best available one from the literature [12].It is also found in Table 5 that the 4-state code in [12] for R = 2 does not achieve full diversity.

NUMERICAL RESULTS
In this section, we report the performance results, in terms of frame error rate (FER) as a function of SNR, for cooperative pragmatic space-time codes (CP-STCs) and cooperative overlay pragmatic space-time codes (COP-STCs) in different conditions.The SNR is defined as E b /N 0 per receiving-antenna element where, for a fair comparison among situations with different number of relays, E b is the total energy per information bit over all transmitting nodes and averaged with respect to fading.We refer here to applications with a static set of relays in the simplified case of equal quality on all source-relay links.The probability that a relay cooperates with the source, P coop , is given by We first investigate in Figure 4 the effect of the number of states (ranging from 4 to 64) on the achievable diversity, in case of two relays cooperating with the source (i.e., R = 2 and   P coop = 1).We assume CP-STCs with the rate 1/6 generators optimal for the AWGN channel, two transmitting antennas per node, one receiving antenna, a quasistatic fading channel (i.e., L = 1), and BPSK modulation.It is noticeable that only a portion of the available space-time diversity can be Table 5: Optimum overlays for rate 1/(2R) COP-STC with QPSK, n = 1, m = 1, R ∈ {1, 2, 3}, in quasistatic channel.The basic code for a single transmitter is the best convolutional code for the AWGN channel.The bottom part of the table refers to C-STC as in [12].P coop = 0, 0.5, 0.8, 0.9, 0.95, 0.99, 1 achieved depending on the number of states, that is, η min = 3 for 4-state codes, η min = 4 for 8 and 64 states, η min = 5 for 16 and 32 states, respectively.Note also that the generators for 64 state codes achieve a diversity smaller than that for 32 state codes.This is due to the the fact that pragmatic suboptimal construction does not always lead to the best possible generators for the direct and the relay phases.For understanding the impact of space-time diversity given by the cooperation phase, we also plot the case of rate 1/6 code with 4 states in the absence of relaying, showing that this code is not able to capture the same diversity degree as with relaying (achieving diversity 2).This is due to the fact that, in this case, the cooperative diversity of relaying is not available as can be seen from the branch metric evaluation.
In Figures 5 and 6, we show the FER versus SNR for CP-STCs with BPSK modulation, optimal generators for AWGN, 8 states, one relay, 2 transmitting antennas per node, and one receiving antenna in the quasistatic fading channel (L = 1).Here, the probability of cooperation P coop takes values 0% (no cooperation), 50%, 80%, 90%, 95%, 99%, and 100% (i.e., certainty of cooperation).We investigate both the situations where up to 1 relay is available and  optimal rate 1/4 generators for AWGN are used, and up to 2 relaying nodes are available and optimal rate 1/6 generators for AWGN are used.We can note from the figures that to approach the best performance a probability of cooperation larger than 0.95 and (0.9) are needed for 1 and 2 relays, respectively.On the other hand, the code used for 2 relays only achieves diversity 4. We now study the impact of fading velocity, related to L, in the case of CP-STCs with BPSK modulation, optimal 8 state code generators in AWGN, two transmitting antennas per node, one receiving antenna at the destination.We consider the extreme cases of absence of cooperation (i.e., P coop = 0), as well as of perfect cooperation (i.e., P coop = 1) when varying L. The performance is reported in Figure 7.It is possible to note that, for the given number of states, as the available temporal diversity L increases, the performance with one relay approaches that with two relays, while a significant performance improvement is obtained with respect to the situation of absence of relaying.It is easy to see that the best results are obtained with the second

e
= • • • = P (S-Rr ) e = P (S-R) e), and withP (SR1•••Rk−D)e the error probability for the link from the source plus k relays to destination, the overall error probability P e is given by P e = P (S-R)

Table 4 :
Optimum overlays for rate 1/(2R) with QPSK, n = 2, m = 1, R = 1, in quasistatic channel.The basic code for single transmitter is STC with best convolutional code for the AWGN channel.