This relates to space-time coding, and more particularly, to channel estimation in space-time coding arrangements.
Space-Time coding (STC) is a powerful wireless transmission technology that enables joint optimized designs of modulation, coding, and transmit diversity modules on wireless links. A key feature of STC is that channel knowledge is not required at the transmitter. While several non-coherent STC schemes have been invented that also do not require channel information at the receiver, they suffer performance penalties relative to coherent techniques. Such non-coherent techniques are therefore more suitable for rapidly fading channels that experience significant variation with the transmission block. However, for quasi static or slowly varying fading channels, training-based channel estimation at the receiver is commonly employed, because it offers better performance.
For single transmit antenna situations, it is known that a training sequence can be constructed that achieves a channel estimation with minimum mean squared error (optimal sequences) by selecting symbols from an Nth root-of-unit alphabet of symbols
when the alphabet size N is not constrained. Such sequences are the Perfect Roots-of-Unity Sequences (PRUS) that have been proposed in the literature, for example, by W. H. Mow, “Sequence Design for Spread Spectrum,” The Chinese University Press, Chinese University of Hong Kong, 1995. The training sequence length, Nt, determines the smallest possible alphabet size. Indeed, it has been shown that for any given length Nt, there exists a PRUS with alphabet size N=2 Nt, and that for some values of Nt smaller alphabet sizes are possible. It follows that a PRUS of a predetermined length might employ a constellation that is other than a “standard” constellation, where a “standard” constellation is one that has a power of 2 number of symbols. Binary phase shift keying (BPSK), quadrature phase shift keying (QPSK), and 8-point phase shift keying (8-PSK) are examples of a standard constellation. Most, if not all, STC systems employ standard constellations for the transmission of information.
Another known approach for creating training sequences constrains the training sequence symbols to a specific (standard) constellation, typically, BPSK, QPSK, or 38-PSK in order that the transmitter and receiver implementations would be simpler (a single mapper in the transmitter and an inverse mapper in the receiver—rather than two). In such a case, however, optimal sequences do not exist for all training lengths Nt. Instead, exhaustive searches must be carried out to identify sub-optimal sequences according to some performance criteria. Alas, such searches may be computationally prohibitive. For example, in the third generation TDMA proposal that is considered by the industry, 8-PSK constellation symbols are transmitted in a block that includes 116 information symbols, and 26 training symbols (Nt=26). No optimal training sequence exists for this value of Nt and constellation size and number of channel taps to estimate, L.
When, for example, two transmit antennas are employed, a training sequence is needed for each antenna, and ideally, the sequences should be uncorrelated. One known way to arrive at such sequences is through an exhaustive search in the sequences space. This space can be quite large. For example, when employing two antennas, and a training sequence of 26 symbols for each antenna, this space contains 82×26 sequences. For current computational technology, this is a prohibitively large space for exhaustive searching. Reducing the constellation of the training sequence to BPSK (from 8-PSK) reduces the search to 22×26 sequences, but that is still quite prohibitively large; and the reduction to a BPSK sequence would increase the lowest achievable mean squared error. Moreover, once the two uncorrelated sequences are found, a generator is necessary for each of the sequences, resulting in an arrangement (for a two antenna case) as shown in
An advance in the art is achieved with an approach that recognizes that a training sequence can be created for any training sequence length, while limiting the training sequence to a standard constellation. Specifically, given a number of channel unknowns that need to be estimated, L, a training sequence can be creates that yields minimum means squared estimation error for lengths Nt=kNPRUS+L−1, for any positive integer k≧1, where NPRUS is a selected perfect roots-of-unity sequence (PRUS) of length N, that is smaller than Nt. The training sequence is created by concatenating k of the length N perfect roots-of-unity sequences, followed by L−1 initial symbols of that same PRUS. Alternatively, k+1 instances of the selected PRUS can be concatenated, followed by a dropping of symbols in excess of Nt. Good training sequences can be created for lengths Nt that cannot be obtained through the above method by concatenating a requisite number of symbols found through an exhaustive search. That is, such lengths can be expressed by Nt=kNPRUS+L−1+M , where k and NPRUS are chosen to yield a minimum M.
The following mathematical development focuses on a system having two transmit antennas and one receive antenna. It should be understood, however, that a skilled artisan could easily extend this mathematical development to more than two transmit antennas, and to more than one receive antenna.
where z(k) is noise, which is assumed to be AWGN (additive white Gaussian noise).
The inputs sequences si and s2 belong to a finite signals constellation and can be assumed, without loss of generality, that they are transmitted in data blocks that consist of N, information symbols and Nt training symbols. If Nt training symbols are employed to estimate the L taps of a channel in the case of a single antenna, then for a two antenna case such as shown in
When a training sequence of length Nt is transmitted, the first L received signals are corrupted by the preceding symbols. Therefore, the useful portion of the transmitted Nt sequence is from L to Nt. Expressing equation (2) in matrix notation over the useful portion of a transmitted training sequence yields
where y and z are vectors with (Nt−L+1) elements, S1(L, Nt) and S2(L, Nt) are convolution matrices of dimension (Nt−L +1)×L , and h1(L) and h2(L) are of dimension L×1; that is,
If the convolution matrix is to have at least L rows, Nt must be at least 2L−1. In the context of this disclosure, the S matrix is termed the “training matrix” and, as indicated above, it is a convolution matrix that relates to signals received from solely in response to training sequence symbols; i.e., not corrupted by signals sent prior to the sending of the training sequence.
The linear least squared channel estimates, ĥ, assuming S has full column rank, is
where the ()H and ()−1 designate the complex-conjugate transpose (Hermitian) and the inverse, respectively. For zero mean noise, the channel estimation mean squared error is defined by
MSE=E[(h−ĥ)H(h−ĥ)]=2σ2tr(SHS)−1), (6)
where tr(.) denotes a trace of a matrix. The minimum MSE, MMSE, is equal to
which is achieved if and only if
where I2L is the 2L×2L identity matrix. The sequences s1 and s2 that satisfy equation (8) are optimal sequences. Equation (8) effectively states that the optimal sequences have an impulse-like autocorrelation function (e.g. S1HS corresponds to the identity matrix, I, multiplied by a scalar) and zero cross-correlations.
A straightforward approach for designing two training sequences of length Nt each is to estimates two L-taps channels (i.e., two channels having L unknowns each, or a total of 2L unknowns) is to design a single training sequence s of length N′t (N′t=Nt+L) that estimates a single channel with L′=2L taps (i.e., a single channel having 2L unknowns). Generalizing, N′t=Nt+(n−2)L , where n is the number of antennas. One can thus view the received signal as
y=S(L′,N′t′)h(L′)+z (9)
where S is a convolution matrix of dimension (N′t−L′+1)×L′. Again, for optimality, the imposed requirement is that
S
H(L′,N′t)S(L′,N′t)=(N′t−L′+1)I2L, (10)
and once the sequence s is found, the task is to create the subsequences s1 and s2 from the found sequence s. Preferably, the subsequences s1 and s2 can be algorithmically generated from sequence s. Conversely, one may find subsequences s1 and s2 that satisfy the requirements of equation (8) and be such that sequence s can be algorithmically generated. This permits the use of a single training signal generator that, through a predetermined algorithm (i.e., coding) develops the subsequences s1 and s2. Both approaches lead to embodiment depicted in
Actually, once we realized that the complexity of the training sequence determination problem can be reduced by focusing on the creation of a single sequence from which a plurality of sequences that meet the requirements of equation (8) can be generated, it became apparent that there is no requirement for s to be longer than s1 and s2.
In response to the training sequences transmitted by antennas 11 and 12, receiving antenna 21 develops the signal vector y (where the elements of the vector y are the signals received from antennas 11 and 12). Considering the received signal during the first Nt/2 time periods as y1 and during the last Nt/2 time periods as y2, and employing only the useful portion of the signal (that is, the portions not corrupted by signals that are not part of the training sequence) one gets
where S is a convolution matrix of dimension (Nt−L+1)×L . In accordance with the principles disclosed herein, the
where
If the sequence s is such that SHS=(Nt−L+1)I1, then
If the noise is white, then the linear processing at the receiver does not color it, and the channel transfer functions correspond to
h
1=1/2(Nt−L+1)r1
h
2=1/2(Nt−L+1)r2 (15)
with a minimum squared error, MSE, that achieves the lower bound expressed in equation (7); to wit,
The above result can be generalized to allow any matrix U to be used to encode the training sequence, s, so that
as long as UHU=21 for a two antennas case, and UHU=KI for an K antenna case.
Whereas
The
With a signal arrangement as shown in
where the matrices Di and {tilde over (D)}i (for i=1,2) are convolution matrices for d1 and {tilde over (d)}1, respectively, of dimension (Nt−L+1)×L . Recalling from equation (8) that MMSE is achieved if and only if DHD has zeros off the diagonal; i.e.,
−{tilde over (D)}1T{tilde over (D)}*2+(D*2)TD1=0 (19)
and
−{tilde over (D)}2T{tilde over (D)}*1+(D*1)TD2=0, (20)
and identity matrices on the diagonal; i.e.,
{tilde over (D)}
2
T
{tilde over (D)}*
2+(D*1)TD1=2(Nt−L+1)IL (21)
and
{tilde over (D)}
1
T
{tilde over (D)}*
1+(D*2)TD2=2(Nt−L+1)IL. (22)
Various arrangements that interrelate sequences d1 and d2 can be found that meet the above requirement. By way of example (and not by way of limitation), a number of simple choices satisfy these conditions follow.
(1) (D*1)T D1=(Nt−L+1)IL, {tilde over (D)}1=D1, and D2=D1. To show that equation (21) holds, one may note that {tilde over (D)}2T{tilde over (D)}*2 (the first term in the equation) becomes D1TD*1, but if (D*1)T D1 is a diagonal matrix then so is {tilde over (D)}2T{tilde over (D)}*2. Thus, according to this training sequence embodiment, one needs to only identify a sequence d1 that is symmetric about its center, with an impulse-like autocorrelation function, and set d2 equal to d1. This is shown in
(2) (D*1)T D1=(Nt−L+1)IL, and {tilde over (D)}2=D1. To show that equation (21) holds, one may note that the {tilde over (D)}2T{tilde over (D)}*2 first term in the equation also becomes D1TD*1. Thus, according to this training sequence embodiment, one needs to only identify a sequence d1 with an impulse-like autocorrelation function, and set d2 equal to {tilde over (d)}1 . This is shown in
(3) (D*1)T D1=(Nt−L+1)IL, and {tilde over (D)}*2=D1. To show that equation (21) holds, one may note that the {tilde over (D)}2T{tilde over (D)}*2 first term in the equation becomes (D*1)T D1. Thus, according to this training sequence embodiment, one needs to only identify a sequence d1 with an impulse-like autocorrelation function, and set d2 equal to {tilde over (d)}*1. This is shown in
Consider a trellis code with m memory elements and outputs from a constellation of size C, over a single channel with memory 2mC(L−1)−1. To perform joint equalization and decoding one needs a product trellis with 2mC(L−1) states. For a space-time trellis code with m memory elements, n transmit antennas and one receive antenna, over a channel with memory (L−1), one needs a product trellis with 2mC(L−1) .
The receiver can incorporate the space-time trellis code structure in the channel model to create an equivalent single-input, single output channel, heq, of length m+L. The trellis, in such a case, involves C(m+L−1) states. The approach disclosed herein uses a single training sequence at the input of the space-time trellis encoder to directly estimate heq used by the joint space-time equalizer/decoder. The channel heq that incorporates the space-time code structure typically has a longer memory than the channel h1 and h2 (in a system where there are two transmitting antennas and one receiving antenna).
To illustrate, assume an encoder 30 as depicted in
With such an arrangement, the received signal at time k can be expressed as
where
A block of received signals (corresponding to the useful portion of the training sequence block) can be expressed in matrix form by
y=Sh
eq
+z (25)
where
and following the principles disclosed above, it can be realized that when the training sequence is properly selected so that SHS is a diagonal matrix, i.e., SHS=(Nt−L)IL+1, an estimate of heq, that is, ĥeq, is obtained from
If the training sequence were to comprise only the even constellation symbols, ei2πk/8, k=0,2,4,6 , per equation (24), the elements of ĥeq would correspond to
h
eq
even
=[h
1(0), h1(1)+h2(0), h1(2)+h2(1), . . . h1(L−1)+h2(L−2), h2(L−1)]. (28)
If the training sequence were to comprise only the odd constellation symbols, ei2πk/8, k=1,3,5,7, the elements of ĥeq would correspond to
h
eq
even
=[h
1(0), h1(1)−h2(0), h1(2)−h2(1), . . . h1(L−1)−h2(L−2),−h2(L−1)]. (29)
If the training sequence were to comprise a segment of only even constellation symbols followed by only odd constellation symbols (or vice versa), then channel estimator 22 within receiver 20 can determine the heqeven coefficients from the segment that transmitted only the even constellation symbols, and can determine the heqodd coefficients from the segment that transmitted only the even constellation symbols. Once both heqeven and heqodd are known, estimator 22 can obtain the coefficients of h1 from
and the coefficients of h2 from
What remains, then, is to create a single training sequence s of length Nt where one half of it (the seven portion) consists of only even constellation symbols (even sub-constellation), and another half of it (the Sodd portion) consists of only odd constellation symbols (odd sub-constellation). The sequences s1 and s2 of length Nt are derived from the sequence s by means of the 8-PSK space-time trellis encoder. The sequences s1 and s2 must also meet the requirements of equation (8). Once seven is found, sodd can simply be
sodd=αseven, where α=eiπk/4 for any k=1,3,5,7. (32)
Therefore, the search for sequence s is reduced from a search in the of 8N
For a training sequence of length Nt=26, with an 8-PSK space-time trellis encoder, we have identified the 12 training sequences specified in Table 1 below.
While the above-disclosed materials provide a very significant improvement over the prior art, there is still the requirement of selecting a sequence s1 with an impulse-like autocorrelation function. The following discloses one approach for identifying such a sequence without having to perform an exhaustive search.
A root-of-unity sequence with alphabet size N has complex roots of unity elements of the form
As indicated above, the prior art has shown that perfect roots-of-unity sequences (PRUS) can be found for any training sequence of length Nt, as long as no constraint is imposed on the value of N. As also indicated above, however, it is considered disadvantageous to not limit N to a power of 2. Table 2 presents the number of PRUSs that were found to exist (through exhaustive search) for different sequence lengths when the N is restricted to 2 (BPSK), 4 (QPSK), or 8 (8-PSK). Cell entries in Table 2 with “-” indicate that sequence does not exist, and blank cells indicate that an exhaustive search for a sequence was not performed.
A sequence s of length Nt is called L-perfect if the corresponding training matrix S of dimension (Nt−L+1)×L satisfies equation (8). Thus, an L-perfect sequence of length Nt is optimal for a channel with L taps. It can be shown that the length Nt of an L-perfect sequence from a 2p-alphabet can only be equal to
which is a necessary, but not sufficient, condition for L-perfect sequences of length Nt. Table 3 shows the minimum necessary Nt for L=2,3, . . . 10, the size of the corresponding matrix S, and the results of an exhaustive search for L-perfect sequences (indicating the number of such sequences that were found). Cell entries marked “x” indicate that sequences exist, but number of such sequences it is not known.
It is known that with a PRUS of a given length, NPRUS, one can estimate up to L=NPRUS unknowns. It can be shown that a training sequence of length Nt is also an L-perfect training sequence if
N
t
=kN
PRUS
+L−1 and k≧1. (34)
Accordingly, an L-perfect sequence of length kNPRUS+L−1 can be constructed by selecting an NPRUS sequence, repeating it k times, and circularly extending it by L−1 symbols. Restated and amplified somewhat, for a selected PRUS of a given NPRUS, i.e.,
s
p(NPRUS)=[sp(0) sp(1) . . . sp(NPRUS−1)], (35)
the L-perfect sequence of length kNPRUS+L−1 is created from a concatenation of k sp(NPRUS) sequences followed by the first L−1 symbols of sp(NPRUS), or from a concatenation of the last L−1 symbols of sp(NPRUS) followed by k sp(NPRUS) sequences.
To illustrate, assume that the number of channel “taps” that need to be estimated, L, is 5, and that a QPSK alphabet is desired to be used. From the above it is known that NPRUS must be equal to or greater than 5, and from Table 2 it is known that the smallest NPRUS that can be found for QSPK that is larger than 5 is NPRUS=8. Employing equation (34) yields
While an L-perfect training sequence cannot be constructed from PRUS sequences for values of Nt other than values derived by operation of equation (34), it is known that, nevertheless, L-perfect sequences may exist. The only problem is that it may be prohibitively difficult to find them. However, in accordance with the approach disclosed below, sub-optimal solutions are possible to create quite easily.
If it is given that the training sequence is Nt long, one can express this length by
N
t
=kN
PRUS
+L−1+M, where M>0 (37)
In accord with our approach, select a value of NPRUS ≧L that minimizes M, create a sequence of length kNPRUS+L−1 as disclosed above, and then extend that sequence by adding M symbols. The M added symbols can be found by selecting, through an exhaustive search, the symbols that lead to the lowest estimation MSE. Alternatively, select a value of NPRUS>L that minimizes M′ in the equation,
N
t
=kN
PRUS
+L−1−M′, where M′>0 (38)
create a sequence of length kNPRUS+L−1 as disclosed above, and then drop the last (or first) M′ symbols.
The receiver shown in
This Application is a Continuation of U.S. patent application Ser. No. 11/488,342 filed Jul. 18, 2006. This Application is also related to U.S. patent application Ser. No. 09/957,293 filed Sep. 20, 2001. This invention claims priority from provisional application No. 60/282,647, filed Apr. 9, 2001.
Number | Date | Country | |
---|---|---|---|
Parent | 11488342 | Jul 2006 | US |
Child | 12638032 | US |