The present invention relates to the transmission of digital data and, more particularly, to a method of data transmission that uses space time block codes.
Communication data rates are increasing rapidly to support endpoint application requirements for ever-growing bandwidth and communication speed. First generation cellular telephony equipment supported a data rate of up to 9.6 kbps. Second generation cellular telephony equipment supported a data rate of up to 57.6 kbps. Now, the third generation cellular telephony standards support a data rate of up to 384 kbps, with a rate of up to 2 Mbps in local coverage. The WLAN 802.11a supports a data rate of up to 54 Mbps. The 802.11b supports a data rate of up to 11 Mbps. Both of these rates are much higher than the 3 Mbps data rate of the 802.11 standard.
Although the rates specified by the communication standards are increasing, the allowed transmit power remains low because of radiation limitations and collocation requirements. Higher data rates with fixed transmit power result in range degeradation. With modern error correction codes having almost achieved Shannon's limit, the desired data transmission rates can be achieved only via space diversity: MIMO (multiple input, multiple output), SIMO (single input, multiple output) or MISO (multiple input, single output) instead of SISO (single input single output). Size limitations on personal cellular telephony transceivers mandate that cellular telephony downlinks be MISO: several antennas at the base station transmitting to one antenna at the personal transceiver.
In U.S. Pat. No. 6,185,258, which patent is incorporated by reference for all purposes as if fully set forth herein, Alamouti et al. teach a block code for implementing both space and time diversity using two transmission antennas. Symbols are transmitted in pairs. Given two complex symbols s0 and s1 to transmit, first s0 is transmitted via the first antenna and s1 is transmitted via the second antenna, and then −s1 is transmitted via the first antenna and s0 is transmitted via the second antenna. At the receiver, a maximum likelihood detector recovers the two symbols from the received transmission.
One useful way of looking at the method of Alamouti et al. is that the two symbols are encoded as a matrix
Each row of this matrix corresponds to a different transmission antenna. Each column of this matrix corresponds to a different transmission time. If the symbols are normalized, as for example in PSK modulation, this matrix is unitary. The only constraint, however, on the matrix is that it is unitary. The two symbols s0 and s1 are otherwise independent. In other so-called “space time block codes”, the matrix elements are selected in an effort to optimize channel diversity. For example, A. Shokrollahi et al., in “Representation theory for high rate multiple antenna code design (IEEE Trans. Information Theory vol. 47 no. 6 pp. 2335-2367, September 2001) studied the use of unitary matrix representations of fixed-point-free groups for this purpose. Given 2m such matrices, each of the 2m possible binary patterns for m bits is allocated to a respective one of the matrices. The data to be transmitted are partitioned into groups of m bits. For each group, the corresponding matrix is transmitted.
For example, one 2×2 representation of the quaternion group Q2 is:
and their negatives. The eight possible binary patterns of three bits are allocated as follows: (0,0,0) to Qi, (1,0,0) to Qj, (0,0,1) to Qk, (1,0,1) to Ql, (0,1,1) to −Qi, (1,1,1) to −Qj, (0,1,0) to −Qk and (1,1,0) to −Ql. The data to be transmitted is partitioned into triplets of bits. To transmit the bit triplet “0,0,0”, first the first transmitter transmits the number “1” while the second transmitter is silent, and then the second transmitter transmits the number “1” while the first transmitter is silent. To transmit the bit triplet “1,0,0”, first the second transmitter transmits the number “−1” while the first transmitter is silent, and then the first transmitter transmits the number “1” while the second transmitter is silent. To transmit the bit triplet “0,0,1”, first the first transmitter transmits the number “i” while the second transmitter is silent, and then the second transmitter transmits the number “−i” while the first transmitter is silent. To transmit the bit triplet “1,0,1”, first the second transmitter transmits the number “−i” while the first transmitter is silent, and then the first transmitter transmits the number “−i” while the second transmitter is silent. To transmit the bit triplet “0,1,1”, first the first transmitter transmits the number “−1” while the second transmitter is silent, and then the second transmitter transmits the number “−1” while the first transmitter is silent. To transmit the bit triplet “1,1,1”, first the second transmitter transmits the number “1” while the first transmitter is silent, and then the first transmitter transmits the number “−1” while the second transmitter is silent. To transmit the bit triplet “0,1,0”, first the first transmitter transmits the number “−i” while the second transmitter is silent, and then the second transmitter transmits the number “i” while the first transmitter is silent. To transmit the bit triplet “1,1,0”, first the second transmitter transmits the number “i” while the first transmitter is silent, and then the first transmitter transmits the number “i” while the second transmitter is silent. “Transmitting” a complex number means modulating a carrier wave according to the number, for example by multiplying the amplitude of the carrier wave by the absolute value of the number and shifting the phase of the carrier wave by the phase of the number. (So in the above example, silencing an antenna is equivalent to transmitting the number “0” via that antenna.)
The present invention is a generalization of the prior art fixed-point-free matrix representations that further optimizes the diversity achieved using space time block codes.
According to the present invention there is provided a method of transmitting data, including the steps of: (a) providing a set of at least 2m n×n matrices that represent an extension of a fixed-point-free group, each matrix including n2 matrix elements, where m is a positive integer and n is an integer greater than 1; (b) allocating each binary number between 0 and binary 2m−1 to a respective one of the matrices; (c) mapping the data into the matrices according to the allocating; and (d) for each matrix into which the data are mapped, transmitting the matrix elements of the each matrix.
According to the present invention there is provided a transmitter for transmitting data, including: (a) a coder for mapping the data into a set of 2m n×n matrices obtained by providing a set of at least 2m n×n matrices that represent an extension of a fixed-point-free group and allocating each binary number between 0 and binary 2′-1 to a respective one of the at least 2m matrices, each matrix into which the data are mapped including n2 matrix elements, m being a positive integer, n being an integer greater than 1, the mapping being according to the allocating; and (b) at least one antenna for transmitting the matrix elements.
According to the basic method of the present invention, a set of at least 2m n×n matrices is provided, where m is a positive integer and n is an integer greater than 1. Each matrix includes n2 (generally complex) matrix elements. The set represents an extension of a fixed-point-free group. In other words, the set includes a complete set of matrices that form a representation of a fixed-point-free group, and also includes at least one other matrix. To a respective one of each of 2m of the matrices is allocated one of the binary numbers between binary 0 and binary 2m−1. To transmit a data stream of bits, the bits are mapped into the matrices according to the allocation, meaning that the bits are considered m at a time, and the matrix corresponding to each group of m bits is determined, e.g. using a lookup table. The matrix elements of each matrix into which the bits are mapped then are transmitted.
Preferably, the columns of a transmitted matrix are transmitted successively, with each matrix element of each row being transmitted via a respective antenna (space-time diversity). Alternatively, the matrix elements of each column of a transmitted matrix are transmitted via respective antennas, and the matrix elements of each row of a transmitted matrix are transmitted at respective frequencies (space-frequency diversity). As another alternative, the columns of a transmitted matrix are transmitted successively, with each matrix element of each row being transmitted at a respective frequency (time-frequency diversity).
In one preferred embodiment of the present invention, the fixed-point-free group is a quaternion group and the extension of the fixed-point-free group is a super quaternion set. In another preferred embodiment of the present invention, the fixed-point-free group is a Gm,r group and the extension of the fixed-point-free group is a union of the fixed-point-free group and at least one coset determined by an element of an algebra in which the fixed-point-free group resides.
The transmitted matrix elements may be received at a receiver via either a known channel or an unknown channel.
The scope of the present invention also includes a transmitter for transmitting data. The transmitter includes a coder for mapping the data into a set of 2m n×n matrices according to the method of the present invention and at least one antenna for transmitting the matrix elements. Preferably, the transmitter has n antennas, and each row of each matrix into which the data are mapped is transmitted using a respective one of the antennas.
The invention is herein described, by way of example only, with reference to the accompanying drawings, wherein:
The present invention is of a method of transmitting digital data using space time is block codes. Specifically, the present invention can be used to transmit digital data with a lower bit error rate (BER) at a given signal-to-noise ratio (SNR) than according to the prior art.
The principles and operation of digital data transmission according to the present invention may be better understood with reference to the drawings and the accompanying description.
The theory of the present invention is described in the accompanying Theory Section. Two specific extensions of fixed-point-free groups are discussed in the Theory Section: super-quaternion extensions of quaternion groups and coset extensions of Gm,r groups. Table 1 lists an exemplary set of 2×2 matrix representations of the super-quaternion extension SQ
Referring now to the drawings,
For example, to transmit the bit pattern “00100011” (binary 67), the matrix
is transmitted. First, modulation and transmission section 14 modulates the carrier wave by multiplying the amplitude of the carrier wave by 0.8944 and shifting the phase of the carrier wave by −90°, and transmits the thus-modulated carrier wave via antenna 16. Simultaneously, modulation and transmission section 14 modulates the carrier wave by multiplying the amplitude of the carrier wave by 0.4472 without shifting the phase of the carrier wave, and transmits the thus-modulated carrier wave via antenna 18. Then, modulation and transmission section 14 modulates the carrier wave by multiplying the amplitude of the carrier wave by 0.4472 and shifting the phase of the carrier wave by 180°, and transmits the thus-modulated carrier wave via antenna 16. Simultaneously, modulation and transmission section 14 modulates the carrier wave by multiplying the amplitude of the carrier wave by 0.8944 and shifting the phase of the carrier wave by 90°, and transmits the thus-modulated carrier wave via antenna 18.
At the receiver, the received signal is demodulated and conventional maximum likelihood estimation is used to estimate the transmitted matrix. Then the bit pattern associated with the closest matrix, in a look-up table identical to Table 1, to the estimated matrix is interpreted as the transmitted bit pattern.
The receiver may receive the signal via a known channel or via an unknown channel. In a known channel, the receiver knows the channel response from every transmitter antenna to every receiver antenna. For example, in some channels, before the transmission of a block of data, a predefined preamble is transmitted. The receiver learns the characteristics of the channel from the preamble. If the channel characteristics change much more slowly than the time it takes to transmit a block of data, the channel is considered “known”. Otherwise, the channel is considered “unknown”. Both cases are treated in the Theory Section.
An alternative transmitter 30 of the present invention is illustrated in
For example, to transmit the bit pattern “100111000” (binary 312), the matrix
is transmitted. First, modulation and transmission section 34 modulates the carrier wave by multiplying the amplitude of the carrier wave by 0.4835 (the absolute value of the 1,1 matrix element) and shifting the phase of the carrier wave by −156.0° (the phase of the 1,1 matrix element), and transmits the thus-modulated carrier wave via antenna 36. Simultaneously, modulation and transmission section 34 modulates the carrier wave by multiplying the amplitude of the carrier wave by 0.6557 (the absolute value of the 2,1 matrix element) and shifting the phase of the carrier wave by 148.3° (the phase of the 2,1 matrix element), and transmits the thus-modulated carrier wave via antenna 38. Also simultaneously, modulation and transmission section 34 modulates the carrier wave by multiplying the amplitude of the carrier wave by 0.5798 (the absolute value of the 3,1 matrix element) and shifting the phase of the carrier wave by −71.4° (the phase of the 3,1 matrix element), and transmits the thus-modulated carrier wave via antenna 40. Then, modulation and transmission section 34 modulates the carrier wave by multiplying the amplitude of the carrier wave by 0.6815 (the absolute value of the 1,2 matrix element) and shifting the phase of the carrier wave by 142.9° (the phase of the 1,2 matrix element), and transmits the thus-modulated carrier wave via antenna 36. Simultaneously, modulation and transmission section 34 modulates the carrier wave by multiplying the amplitude of the carrier wave by 0.1546 (the absolute value of the 2,2 matrix element) and shifting the phase of the carrier wave by 51.1° (the phase of the 2,2 matrix element), and transmits the thus-modulated carrier wave via antenna 38. Also simultaneously, modulation and transmission section 34 modulates the carrier wave by multiplying the amplitude of the carrier wave by 0.7153 (the absolute value of the 3,2 matrix element) and shifting the phase of the carrier wave by 40.20 (the phase of the 3,2 matrix element), and transmits the thus-modulated carrier wave via antenna 40. Finally, modulation and transmission section 34 modulates the carrier wave by multiplying the amplitude of the carrier wave by 0.5493 (the absolute value of the 1,3 matrix element) and shifting the phase of the carrier wave by ˜45.7 (the phase of the 1,3 matrix element), and transmits the thus-modulated carrier wave via antenna 36. Simultaneously, modulation and transmission section 34 modulates the carrier wave by multiplying the amplitude of the carrier wave by 0.7390 (the absolute value of the 2,3 matrix element) and shifting the phase of the carrier wave by 70.8° (the phase of the 2,3 matrix element), and transmits the thus-modulated carrier wave via antenna 38. Also simultaneously, modulation and transmission section 34 modulates the carrier wave by multiplying the amplitude of the carrier wave by 0.3501 (the absolute value of the 3,3 matrix element) and shifting the phase of the carrier wave by 20.5° (the phase of the 3,3 matrix element), and transmits the thus-modulated carrier wave via antenna 40.
At the receiver, the received signal is demodulated and conventional maximum likelihood estimation is used to estimate the transmitted matrix. Then the bit pattern associated with the closest matrix, in a look-up table identical to Table 2, to the estimated matrix is interpreted as the transmitted bit pattern.
While the invention has been described with respect to a limited number of embodiments, it will be appreciated that many variations, modifications and other applications of the invention may be made.
Abstract
Space Time Block Codes (STBC) are designed for Multiple Input—Multiple Output (MIMO) channels. The recently developed advanced codes (Turbo codes and LDPC) have been able to achieve rates at almost the channels' capacity in Single Input—Single Output (SISO) channels. Given a fixed transmit power and bandwidth it is necessary to take advantage of space diversity if one wishes to exceed the Shannon limit for data rate. Furthermore, in order to avoid errors, SISO fading channels require long coding blocks and interleavers that result in high delays. STBC codes take advantage of space-time diversity to reduce errors. Joined STBC with error correction codes can achieve high rates with low Bit Error Rate (BER) at low delays.
Early STBC, that where developed by Alamouti [2] for known channels and by Tarokh [3] for unknown channels, have been proven to increase the performance of channels characterized by Rayleigh fading. It has been shown in [4,6] that the diversity of STBC codes is a good criterion for its performance. Codes that are based on groups or division algebras have by definition non-zero diversity and therefore they are suitable for STBC in order to achieve high rates at low Symbol to Noise Ratio (SNR). This work presents a new high diversity group based on STBC with improved performance both in known and unknown channels.
1. Introduction
Current communications data rates increase rapidly in order to support endpoint application requirements for ever growing bandwidth and communication speed. While 1st generation cellular equipment supported up to 9.6 kbps data rate, 2nd generation cellular supported up to 57.6 kbps rates, and today, 3rd generation standards support up to 384 kbps rates (local area coverage of up to 2 Mbps). The WLAN standard 802.11a supports up to 54 Mbps and 802.11b supports up to 11 Mbps, while the maximal data rate of the 802.11 standard is 3 Mbps.
Although the rates of the communication standards are increasing, the transmit power remains low due to radiation limitations and collocation requirements. Naturally, higher data rates with fixed transmit power result in range degradation. Since Shannon's limit has almost been achieved by recently developed error correction codes, it is necessary to exceed SISO channels performance by taking advantage of space diversity.
2. Preview on STBC
In this section we give a short preview on STBC and the motivation for using receive and transmit diversity.
2.1. STBC Constellation
The STBC codes, that we presented here are based on constellations of the form α·eiβ=a+i·b, where α is the amplitude of the modulation and β is the phase of the modulation. When we refer to a code we mean a set of matrices, where each matrix is a codeword.
The matrices represent n2 constellations each (for n-transmit diversity) where the column represents the transmission antenna and the row represents the time. If the matrix {cij}i,j=1n is transmitted at times T, T+1, . . . , T+n−1 then the symbol cij will be transmitted at time i from antenna j. The following example illustrates the transmission of a code word cij for 2-transmit diversity (n=2) at times T, T+1:
Transmit diversity refers to multiple transmitter antennas, and receive diversity refers to multiple receiver antennas. The STBC codes are usually designed according to the Transmit diversity, while receive diversity has merely effect on the performance. The receiver estimates the transmitted codeword according to n (n is the number of transmitter antennas) time samples from the receiver antennas.
We consider two channel types:
Multipath channels in urban and suburban areas are very difficult to estimate. Beside the specific dependency on place, speed, and surrounding moving objects (cars, people) the channels characteristics are specific to topography, building style and density, frequency, antenna height, type of terrain and other parameters. Small change in one of these parameters may affect completely the channel response. Many channel response simplification models have been introduced to estimate the channel performance. Some of the most commonly used models are given below.
The model used in our simulations is the Rayleigh model [12], which is adequate for urban communications with no line of sight. The channel's response of a MIMO channel (
where rij is the path loss from transmitter antenna i to receiver antenna j, i=1, . . . , n, j=1, . . . , m, n is the transmit diversity, and m is the receive diversity. rij are assumed to be independent (this is usually the case when all the antennas are placed more than half wavelength from each other) and the distribution of rij is given by EQ. 1.
The channel's noise at the receiver antennas is assumed to be i.i.d normal Gaussian noise, with random, uniformly distributed phase. Since the total transmission power over all the transmitter's antennas is normalized to 1, the average SNR at the receiver antennas is a from EQ. 1, given in dB.
The new proposed algorithms were simulated to estimate their performance. The simulations were performed over a large number of independent tests to assure accurate results. All symbols/bits at the bit/symbol generator were chosen randomly and independently and the channel noise was generated as i.i.d. normal Gaussian noise for all time samples and receiver antennas. At the known channel simulations the channel response was generated independently for each codeword and was also delivered to the receiver as side information. At the unknown channel simulations the channel response was generated for a block of codewords, while the first codeword in every block was transmitted as reference and was not estimated in order to eliminate simulation dependency (for large enough number of tests) on block length. The bit allocation was decided prior to the simulation according to numerical optimization simulations. In cases bit allocation was not possible the symbols were generated directly and the BER was estimated according to chapter 7. The flow of the simulation scheme is given in
In this section we will assume that the receiver has perfect knowledge of the channel (i.e. in noiseless channel there would have been a perfect reconstruction). We assume that the number of transmitters is n and the number of receivers is m. Given that the codeword
{right arrow over (c)}=c11c12 . . . c1nc21c22 . . . c2nc31 . . . cn1 . . . cnn
was transmitted, then the received signal,
{right arrow over (d)}=d11d12 . . . d1md21d22 . . . d2md31 . . . dn1 . . . dnm
is given by
where j is the receiver antenna and t is the time sample, αi,j is the channel response from transmitter i to receiver j, cti is the transmitted signal from transmitter i at time t, Es is the normalization factor for the transmission power in order to keep the average constellation equal to 1, vtj is a Gaussian white noise at the receiver antenna.
Consider that the following signal
{right arrow over (e)}=e11e12 . . . e1ne21e22 . . . e2ne31 . . . ek1 . . . ekn
is the receiver's decision upon maximum-likelihood criteria.
When white Gaussian noise is present, the probability of deciding in favor of e, when c was transmitted is ([6,4]):
where N0/2 is the noise variance per receiver's element and
Define Ωj(α1,j, . . . , αn,j). We get after some manipulations that
and * is the conjugate-transpose (conjugate for scalars). Thus, the error probability can be estimated to be
Since A({right arrow over (c)}, {right arrow over (e)}) is a Hermitian matrix there exists a unitary matrix V, which consists of the eigenvectors of A, such that VA(c,e)V*=D is diagonal. Di,i=Λi are the eigenvalues. Clearly, the matrix
is a square root of A(c,e), i.e A({right arrow over (c)},{right arrow over (e)})=B({right arrow over (c)},{right arrow over (e)})*B({right arrow over (c)},{right arrow over (e)}).
Let
Now we can estimate the probability of EQ. 2 by:
Assume we have an independent channel response among different paths (i.e. αi,j are independent). Since V is unitary, it is easy to show using definition 3 that βi,j are i.i.d. After averaging over βi,j, we get for Rayleigh fading the following expression:
We can assume for high SNR that 1+λiEs/4N0 λiEs/4N0, then
where r is the number of non-zero eigenvalues of A.
By assuming that A is regular (r=n), we get
but |A|=|B|2 and therefore
P({right arrow over (c)}→{right arrow over (e)}|αi,j)≦|B|−2m(Ex/4N0)−rm, 1≦i≦n, 1≦j≦m.
Since B is the difference between two distinct signals, c and e, we define the diversity to be
for all distinct code words Cl and Cl′. It is obvious that codes that assure maximal diversity will achieve smaller error probabilities.
2.4. Receive and Transmit Diversity
The STBC codes are designed to take advantage of the transmit diversity. However, it is a well known fact that the capacity and the performance of a MIMO channel depends on the receive diversity. The standard formula for Shannon capacity is given by:
C=log2(1+ρ|H|2) (6)
where ρ is the transmission power (normalized to the channel noise) and H is the channel transfer power characteristic. Assume that the transmitted signals at the transmitter's antennas are independent, have equal power and mutually Gaussian distributed. The capacity of a MIMO channel [12] is:
C=log2[det(IN+(ρ/N)HH*)] bps/Hz. (7)
For example, for N independent deterministic channels, i.e. H=IN, we get
The capacity in this case is linear with ρ, while the dependency is logarithmic in Eq. 6. Next we consider the case of M receiver antennas and a single transmitter antenna. The capacity is:
For a Rayleigh fading channel the capacity of this channel is:
The capacity of a MIMO channel with N transmitter antennas and a single receiver antenna in a fading channel is
C=log2(1+ρχ22). (11)
The inferior capacity of transmit diversity, compared to receive diversity, is due to the constraint on the overall transmit power.
The capacity of a SISO fading channel is
C=log2(1+ρχ22). (12)
Due to the convexity of the log function the MIMO channel with transmit diversity has in average a larger capacity than the SISO channel.
From EQ. 5 we can see that the error probability depends exponentially on the number of receiver antennas, for a fixed transmit diversity.
3. Prior Related Work
In this section we present a short review of known STBC constellations that are based on algebraic structures. The new STBC codes, developed in this invention, resemble some of the codes presented in this section.
3.1. Usage of Group Structures for Space Time Coding
The usage of groups to design unitary space-time constellations has high potential to provide constellations with good diversity product. We will review some of these groups which were analyzed in [8].
Cyclic Groups:
Cyclic groups are used for differential modulation in [7], and also referred to as “diagonal designs”. The elements of these groups are diagonal Lth roots of unity.
Vl=Vsl and Vs=diag[ei2πu
The um are chosen to maximize the diversity product ζV, which is given by
In this constellation, the transmitter's antennas are activated one at a time, sequentially, and in the same order. Notice that these groups are Abelian (commutative), and that they have full diversity, i.e. positive diversity. Diagonal designs perform well in low rates, but other works such as in [8] tried to find designs with matrices that are not “sparse” and will achieve good diversity at high rates.
Quaternion Groups:
The quaternion groups are also called “dicyclic groups” in [9], and have the form
Qp=<α,β|+2
where <·> refers to the groups generated from the elements that are in the brackets. The group order is L=2p+1. The matrix representation for the 2×2 quaternion group appears in [9], so the rate of the constellations will be R=(p+1)/2 and the group is generated from two unitary matrices:
These groups will be used in our work for the development of new constellations, which are not necessarily groups, but have high diversity, and exceedingly good performance at low SNR.
Fixed Point Free Groups:
A necessary condition for a finite group of matrices to have full diversity (ζ>0) is that it be fixed point free. These types of groups were explored by Burnside, Zassenhaus, Amitsur and others. Cyclic groups and quaternion groups are specific examples of such groups. A recent comprehensive survey is [8]. There are six types of fix-point free groups: Gm,r, Dm,r,l, Em,r, Fm,r,l, Jm,r and Km,r,l. Gm,r, for example, has the form of
Gm,r=<a,b|am=1,bn=at,ba=arb> (13)
where n is the order of r modulo m (i.e. n is the smallest positive integer such that rn≡1 mod m), t=m/gcd(r−1,m), and gcd(n,t)=1. The matrix representation of Gm,r is AsBk, s=0, . . . , m−1, k=0, . . . , n−1 where
It can be proved that a finite group is fixed-point-free if and only if it is isomorphic to one of the above six groups [8]. Many of the fixed-point-free group representations have good diversity product and therefore provide high rate constellations.
3.2. Extensions for Group-Related Structures
Although we saw that group constellations have better chance to have full diversity, sometimes the group constraint does not really help, and we may want to look at matrix sets that are not necessarily groups. Moreover, there is a strong motivation to develop group-related structures, that still have small number of distinct pairwise distances.
Orthogonal Designs:
Orthogonal designs were introduced in the early stages of space-time codes development (see [5,2]). A complex orthogonal design of size N is an N×N unitary matrix whose rows are permutations of complex numbers ±x1, ±x2, . . . , ±xn, their conjugates ±x1*, ±2*, . . . , ±xn*, or multiples of these indeterminates by ±√{square root over (−1)}. The matrix representation of orthogonal designs for two transmitter antennas is:
where x and y are subject to a power constraint. In order to have unitary matrices we can use the constraint that |x|2=|y|2=1. The unitary constellations are then obtained by letting x,y be the Qth roots of unity, so
V={OD(x,y)|x,yε{1,e2πi/Q, . . . , e2πi(Q−1)/Q}}. (16)
These constellations do not generally form a group, but perform well as space-time block codes [5].
Nongroup Generalizations of Gm,r:
As shown in this section Gm,r (Eq. 6) has a matrix representation of dimension n, where n is a function of m and r. We can try and relax the constraint on the elements of the matrices that form Gm,r and look at the general case of the set Sm,s, consisting of the matrices AlBk where l=0, . . . , m−1, k=0, . . . , min(s,n),
where α,β are the primitive mth and sth roots of unity, and u1, . . . , un are integers. Deeper analysis of these constellations can be found in [8].
Products of Group Representations:
Consider two fixed-point free groups SA and SB and their unitary M×M matrix representations {A1, . . . , AL
SA,B={AjBk|j=1, . . . , LA, k=1, LB}. (18)
SA,B has at most LALB distinct elements, and the constellation rate is at most R=RA+RB. The diversity product is then:
Notice that we use the fact that the determinant of the unitary matrix equals 1, and that SA and SB are groups. Finally, we see that even though SA,B is not a group, it has at most L−1, rather then L(L−1)/2, distinct pairwise distances. Therefore, it has a good chance of having full diversity. Deeper analysis of group products can be found in [8].
3.3. Projective Groups and Their Performances
In order to achieve high performance space-time coding we design a code that is based on unitary matrices that provide us with good diversity product values. One of the structure that we explore is the projective groups. A projective group is a collection of elements V that satisfies the property that if A,BεV, then AB=αC where CεV and α is a scalar. In other words, the product of every two elements in V, is also an element of V, multiplied by a scalar. Projective groups have a less strict requirement to satisfy for a collection of signal matrices, but can still maintain the decoding complexity criterion. This is because for differential space time modulation, the matrix multiplication can be replaced by a group lookup table. For example, Sa
We design a set of matrices that form a projective group by the following construction: let α,β be some non rational numbers, and let ζ=e2πi/3. The elements of the projective group Pα,β,3 are given by AiBj where j=0, 1, 2, i=0, 1, 2 and
The relation between α,β and the diversity product ζseems to be chaotic. Some of the diversity products for different α and β are given in the following table. In this table. R is the transmission rate, L is the size of the group, M is the number of transmitting antennas and ζ is the diversity product.
4. Extensions of the Quaternion Groups—New STBC
This section presents new STBC codes, that are based on extensions of the quaternion groups and the performance of STBC, both for known and unknown channels.
4.1. Super Quaternion Sets
When we examine the diversity product of the matrices in the constellations that form a group with respect to matrix multiplication, we realize that the performance of the quaternion group outperforms other structures. This fact led us to search extended sets of quaternion that have more elements while preserving a high diversity product. We may lose the group structure in this construction. However, if we think of the diversity product as the minimum distance between the elements of the constellation, we can design a structure where the elements are “well-spaced”, in the sense that the distance between every two elements is sufficiently big.
We begin with 2×2 matrix representation of the quaternion group Q2. It has eight elements. The transmission rate is R=log2 8/2 and the diversity product is ζQ
We now define the super-quaternion of Q2 with n layers (explained later), for matrices of degree 2, as a set of all linear combinations of the matrices Qi that satisfy:
The matrices in SQ
Super-quaternions are constructed by Layers. Assume that the quaternion group Qp has a matrix representation of m×m matrices. Let SQ
When p=2 and m=2 then SQ
x12+x22+x32+x42=1. (21)
In this case, L1 is Q2 in Eq. 2 and it has eight elements. The calculation of the number of elements in each layer (which is the number of solutions to EQ. 21), shows that |L2|=24, |3|=32, |L4|=24,etc.
By examining the layers Li of the super quaternion, we observe that in some cases the same matrix element can exist in more than one layer. If (x1, . . . , xn) is in layer Li, then (αx1, αx2, . . . , αxn) must be in layer Lα
The Quaternion is a division algebra over R defined by D={a+bî+cĵ+d{circumflex over (k)}|a,b,c,dεR}, where the product of elements in D is defined by îĵ=−ĵî={circumflex over (k)}, î2=−1. Define f:D→M2 such that f is a ring homomorphism from D to M2, where M2 is a set of 2×2 matrices over the complex field:
f(a+bî+cĵ+d{circumflex over (k)})=a·1+bQi+cQj+dQk.
If we define the M2 norm as determinant, then it is easy to see that f is a homomoiphism. Since D is a division algebra every element in D is invertible, so D has no two sided ideals. This means that f is either an injection or the trivial zero transform (which it is obviously is not). Since f is an injection, all the matrices in its image are regular and furthermore the difference between any two matrices in M2 is also regular. In other words, we construct a full diversity STBC code for two transmit elements.
4.2. Super Quaternion Diversity
In this section we present the diversity of the Super Quaternion structure. First we calculate the diversity of the commonly used orthogonal design for comparison. For each couple of constellation symbols S1, S2 we transmit the matrix
The diversity is defined by
where the min is over all the codewords CS
for n-PSK code (the normalization by 1/√{square root over (2)} aims to maintain transmit power of 1).
Substituting EQ. 24 in EQ. 23 we have
The following table summarizes the diversity of some of the quaternion structures: In this table, R is the transmission rate, L is the size of the constellation, M is the number of antennas and ζ is the diversity product.
For comparison, the quaternion groups Q2,Q4 and Q5 diversity is shown in the following table:
Generally, the diversity decreases as the rate increases, as can be seen from the table above.
4.2.1. Quaternion Group Example
In Q2 there are eight code words (eight matrices):
The rate for this code is ½ log2 (8)=1.5 bits per channel use. The diversity of this code is ζ{Q2}=0.707, which is equal to the diversity of Orthogonal Design [2] code for BPSK constellation that has a mere 1 bit per channel use rate.
4.2.2. Super Quaternion Set Example
The Super Quaternion set Q2∪L2∪L4 contains 48 code words. The rate of this code is 2.7925 and the code diversity is 0.3827. By applying Orthogonal Design to 6-PSK we get merely a 0.3536 diversity for a lesser rate of 2.585.
5. Fixed-Point-Free Groups
This section elaborates on the groups Gm,r and Jm,r. We have chosen in the invention some of these groups, with the best performance and performed on them bit allocation. In some cases the groups were united with Super Quaternion codewords or some of the groups' members were removed in order to achieve optimal integral rate codes. Section 6 elaborates on methods to improve the performance of codes based on Gm,r groups.
5.1. The Gm,r Groups
Let
Gm,r=a,b:am=1,bn=at,bab−1=ar.
Since
(bab−1)r=barb−1=b(bab−1)b−1barb−1=bn+1ab−n−1ar
We get the following restriction on r, n and m:
rn≡(mod m). (25)
Raising ar to the power of t we get:
batb−1=artbbnb−1=artbn=artat=art.
Therefore,
To assure irreducible group we demand
gcd(n,t)=1. (27)
We choose n such that n is the smallest integer that satisfies EQ. 25. We define z=1 in EQ. 26. The group is Fixed-Point-Free if all the prime divisors of n divide gcd(r−1,m) ([8]). The group Gmr has mn elements because it contains the subgroup <a> of order m and n distinct cosets:
Gm,r=a∪ab∪ . . . ∪abn−1.
There is an embedding
LG:Gm,r→KG
of Gm,r in the division algebra KG defined as follows. Let K be the cyclotomic of by an m-th root of 1, ζ, and KG the cyclic algebra defined by the relations bn=ζmt=γ, bζmb−1=σ(ζm)bb−1=ζmr.
LG is defined by the formulas
LG(a)=ζm, LG(b)=b.
We take ζm=e2πi/m.
A matrix representation of KG:
Π:KG→Mn( )
where Mn is the algebra of n×n matrices over is given by:
Explicitly, the element a0+a1b+a2b2+ . . . +an−1bn−1 maps to
The element ‘1’ is transformed to the identity matrix In×n. All the matrices in this representation are unitary and therefore this code can be implemented for unknown channels as well as for known channels.
5.2. The Jm,r Groups
We present here a specific fixed point group with exceedingly good performance which are due to Amitsur ([13])
Jm,r=SL2(F5)×Gm,r (29)
where m,r are as in section 5.1, gcd(mn,120)=1, and SL2(F5) is the group of 2×2-matrices over F5 with determinant 1. SL2(F5) has a presentation
SL2(F5)=u,γ|μ2=γ3=(μγ)5,μ4=1 (30)
The order of Jm,r is 120mn.
We define the following matrix representation:
Π:Jm,r→M2n(F5)
where M2n(F5) is the set of 2n×2n-matrices over F5.
where η=ζ5=e2πi/5, In is the n×n and denotes the Kronecker product.
where ζm is defined in section 5.1. The constellation consists of the matrices
AsBk(PQ)jX, s=0, . . . , m−1, k=0, . . . , n−1, j=0, . . . , 9
and Xε{I2n,P,Q,QP,QPQ,QPQP,QPQ2, QPQPQ, QPQPQ2, QPQPQ2P, QPQPQ2PQ, QPQPQ2PQP}.
The smallest group of type Jm,r is J1,1, which is isomorphic to SL2(F5), and has 120 elements (3.5 rate). This group is given by the matrices (PQ)jX. This group has diversity of 0.3090 and exceeding performance in comparison to all other methodologies shown in this invention for rate 3.5 and 2-transmit diversity as shown in
6. Cosets of Fixed-Point-Free Groups—New STBC
The basic idea in using cosets is that if we have a unitary matrix that has good diversity with a specific group, then this diversity will be preserved when taking the union of the group and the coset determined by this element. Indeed, if G is a group of unitary matrices, and h is a unitary matrix not in G, we can take the coset determined by h, i.e. all the elements of the form hg, where g E G. If |h−g|>d,∀gεG, and the diversity of G is at least d, then we claim that this will be the diversity of the union. This is true since
|hg1−hg2|=|h∥g1−g2|=|g1−g2|>d
and
|hg1−g2|=|(h−g2g1−1)g1|=|h−g2g1−1∥g1|>d.
We can now repeat this process, choosing a unitary matrix that has good diversity with the union already chosen. In fact, there are cases where it is advantageous to choose a pair of matrices simultaneously and add the cosets of both matrices. In this section we construct large sets of “unitary” elements in division algebras that are finite dimensional over Q. The construction will occur in “cyclic algebras” which we now describe. In Particular we will elaborate on the implementations of this method on the groups Gmr.
6.1. Cyclic algebras
Let K/k be a cyclic Galois extension of dimension n, so that its Galois group is cyclic of order n. Let σ be a generator of the Galois group. Assume that 0≠γεk. The cyclic algebra associated with this data is defined, as a left K vector space, as
K⊕Kb⊕ . . . ⊕Kbn−1.
The multiplication is be defined by the following equations
bn=γ
ba=σ(a)b ∀aεK
We will denote such an algebra as (K/k, γ).
Let m,r be relatively prime integers, and let n be the order of r in the multiplicative group (Z/(m))*. Let s=(r−1,m) and t=m/s. Suppose that (n,t)=1 and n|s. We can now define a central simple algebra over Q. This algebra is constructed by taking the cyclotomic extension, K, generated by the roots of unity of order m. The Galois group of this extension is the multiplicative group (Z/(m)), and r defines a cyclic subgroup of order n in the Galois group, whose generator is an automorphism, σ, which raises roots of unity to the rth power. The center of our algebra will be the fixed subfield of this automorphism, k, and σ is a generator of the Galois group of the extension K/k. Let ζ be a primitive root of unity of order m, and denote γ=ζt. The algebra is defined as the cyclic algebra Am,r=(K/k,γ). For certain values of m,r, Am,r is a division algebra, for instance (m,r)=(21,4). The precise conditions are quite complicated, and are spelled out completely by Amitsur [13].
There is a natural embedding of this algebra in Mn( ), which comes from the regular representation of the algebra as a left vector space of dimension n over K. Explicitly, the element a0+a1b+a2b2+ . . . +an−1bn−1 maps to
A quick check shows that all the fixed-point-free groups of type Gm,r can be embedded into Am,r so we will be looking for “unitary” elements in
6.2. Finding Unitary Elements in Cyclic Algebras
In order to find “unitary” elements in Am,r we define an anti-automorphism, τ, of the algebra, which corresponds to taking the conjugate transpose of a matrix. The “unitary” elements will be those such that τ(x)=x−1. The field k will be invariant under τ. Thus, it is enough to define τ on a primitive root of unity, and we take τ(ζ)=ζ−1. This is simply the restriction of complex conjugation to K under a fixed embedding of K in C. It remains to define τ on b, and since b should be unitary, we must have τ(b)=b−1=γ−1bn−1. From the requirement that τ be an anti-automorphism, this defines τ completely, and it is easy to see that it is well defined. Note that τ2=id.
We are now in a position to find many unitary n X n matrices that have positive diversity, since all the elements we find will be in a division algebra. In fact, we will need to divide by square roots. If n is odd, then adding a square root cannot split the algebra, hence we will still have a division algebra.
When looking for unitary elements, we are looking for
Note that
Now, we require xτ(x)=1. If z=xτ(x) then let
It is easy to see that τ(z)=z so we get α0=τ(a0) and αi=γ−1σi(τ(αn−i)). For instance, if n=3, the equation xτ(x)=1 is really just two (and not three) equations, because if α1=0 then automatically α2=0.
Continuing with the case n=3, let us consider the case where a0, a1 are known, and are in our extended algebra. In this case we get
xτ(x)=(a0+a1b+a2b2)(τ(a0)+γ−1σ(τ(a2))b+γ−1σ2(τ(a1))b2)=(a0τ(a0)+a1τ(a1)+a2τ(a2))+(γ−1a0σ(τ(a2))+a1σ(τ(a0))+γ−1σ(τ(a1)a2))b+a2b2
so there are really only two equations, the second of which is of the form
ασ(τ(a2))+βa2=δ
where α=γ−1a0, β=γ−1σ(τ(a1)), δ=−a1σ(τ(a0)), and in particular α,β,δεK.
Since K is a vector space over Q of dimension φ(m), we get φ(m) linear equations in the φ(m) coordinates of a2 as an element in K.
Thus, given a0, a1εK, we check if there are solutions to the linear set of equations. For each solution, a2, we calculate
a0τ(a0)+a1τ(a1)+a2τ(a2)=s(a0,a1,a2)εK.
We divide all three values by √{square root over (s(a0,a1,a2))}, to get a unitary matrix. Note, that to calculate σ(√{square root over (s)}) we can simply take √{square root over (σ(s))}.
If a0, a1 are rational, it can be seen that if a02≠a12 then there is a solution. Indeed, if we set a2=xγ+yγ−1, we have σ(a2)=a2 and τ(a2)=yγ+xγ−1. The equation becomes
γ−1a0(yγ+xγ−1)+γ−1a1(xγ+yγ−1)=−a0a1.
Thus, we have in fact two equations a0y+a1x=−a0a1 and a1y+a0x=0. There is one
6.3. Finding Elements for Cosets
The following refers to trying to find a good coset extension of some Gm,r group, which has n=3 (i.e. describes 3×3 matrices). Using the terminology above, we know that there is an infinite number of unitary matrices we can try, simply by taking a0, a1 to be rational. In fact, if we take a0=1 and a1 very small, we will get a unitary matrix that is very close to being the identity. This gives us the ability to make small “changes” to elements of the algebra.
We can now describe two different methods for trying to find cosets. In the first method, we construct a number of elements of the algebra in the way described above. We then simply take random multiplications of these elements. For each new element we get we check the diversity against the set of matrices we have so far. It is easy to see that this will be the diversity of the entire coset. We do this many times, and choose the coset that has the best diversity.
The second method is to construct a set of matrices that are close to the identity. One way to do this is to take a1=1, and for each basis element of K over Q and each of the three elements of the first row of the matrix, we add a small rational multiple of this basis element. We can decrease this multiple as we go along, so that we make smaller and smaller changes. If we have a set of matrices, and a trial matrix, we try changing it “slightly” in all the directions, and take the best one. If we can no longer improve, we decrease the multiple and try again. We can also try to add two or more cosets at a time, and try changes in one or more of the matrices. So far, when attempting to add two cosets, the best method seems to be taking two additional elements and trying to change both of them slowly.
The following refers to trying to find a coset extension of some Gm,r group, which has n=3 (i.e. describes 3×3 matrices). This fixed-point-free group resides in a cyclic algebra, which has the following structure. Take F to be the cyclotomic extension of the rationals by the roots of unity of order m. Let ζ be a primitive root of unity of order m, and we can assume that r^3=1 modulo m (n=3). Thus, we can also assume that 3 divides m, and we set s=gcd(m,r−1), t=m/s. We now define the cyclic algebra A over F by adjoining an element b such that b^3=ζ^t. The fixed-point-free group will be the group generated by ζ and b, and will be of order 3m. When we want to take cosets of the group, we would like to find some more unitary elements in the algebra (since when the algebra is a division ring, we know that the diversity will remain non-zero). In order to do so, we simply check what will have a unitary image. Any element of the algebra will be defined by 3 elements in F, a1, a2, a3. They define the matrix
where γ=ζt and σ is the Galois automorphism of F over the rationals. For such a matrix to be unitary we need that each row has absolute value (as complex numbers) 1, and that each pair of rows are orthogonal, in the sense that the dot product of row by the complex conjugate of the other row is zero. A simple calculation shows that in the matrices given above, it is enough to check the absolute value of the first row, and whether the first two rows are orthogonal (note that this is true only for 3×3 matrices. If n is larger, there are conditions that need to be met). Note, that if we have a matrix where the two first rows are orthogonal, but the absolute value is k, then we can always divide the first row by the square root of k, the second row by the square root of σ(k), and the last row by the square root of σ2(k). Note that adjoining these square roots to F cannot split the algebra, since if is of odd degree over F. Suppose now that we give a1 and a2 some set values. The orthogonality condition becomes (note that σ and the complex conjugate commute)
Since a1 and a2 are known, we get linear equations in a3 and σ(
We can now describe two different methods for trying to find cosets. In the first method, we construct a number of elements of the algebra in the way described above. We then simply take random multiplications of these elements. For each new element we get we check the diversity against the set of matrices we have so far It is easy to see that this will be the diversity of the entire coset. We do this many times, and choose the coset that has the best diversity.
The second method is to construct a set of matrices that are close to the identity. One way to do this is to take a1=1, and for each basis element of F over the rationals and each of the three elements of the first row of the matrix, we add a small multiple of this basis element. We can decrease this multiple as we go along, so that we make smaller and smaller changes. If we have a set of matrices, and a trial matrix, we try changing it “slightly” in all the directions, and take the best one. If we can no longer improve, we decrease the multiple and try again. We can also try to add two or more cosets at a time, and try changes in one or more of the matrices. So far, when needing three cosets in total (including the original group) the best method seems to be taking two additional elements and trying to change both of them slowly.
6.4. Results of Coset Search
When attempting to find a good set of 512 3×3 unitary matrices, using the Gm,r groups, the best diversity we can get is 0.184, for m=186,r=25 (there are actually 558 matrices, but for practical purposes it is often best to take a power of 2 number of matrices). However, when taking m=63,r=37 and adjoining two additional cosets (using the second method mentioned above, adding both cosets at the same time), we achieved a diversity of 0.224. When running simulations of error rates compared to SNR, we see that around an error rate of 10−2, the new set has an SNR that is better by almost 1 db than the best Gm,r group.
7. Bit Allocation
An important issue in any code constellation (higher than 2) is the bit allocation. Bit allocation is the look-up table that assigns bits to symbols. In codes with integral rate, i.e. codes that have 2n code words (i.e. the code rate is an integer number), the bit allocation is simple. In MIMO channels, if the rate is N (m is the transmit diversity), we can still allocate bits for each symbol using look-up table, because each matrix includes m channel uses. In order to take better advantage of the rate, for other rates, we have to allocate bits for sequences of symbols. This allocation may result in a very high complexity. In this work we will limit ourselves to an integral rate bit allocation.
In cases we would use codes with not integral rates, the allocation is made by maximizing the diversity over the maximal subgroup of code words that has an integral rate. For example the Super Quaternion structure SQ
Consider a code with 2n code words and rate n/m. First we calculate the BER from the FRAME ERROR if we choose a random bit allocation. Assume we have mistakenly reconstructed in the receiver a code word e, while c was transmitted. Since the bit allocation was randomly chosen, we can calculate the average number of bits interpreted wrongly by
It follows that for random bit allocation the ratio between BER and FER(Frame Error Rate) is
However in channels with small noise most of the errors occur due to reconstruction of symbols, which are close to the transmitted original. If the bit allocation is optimally made, close symbols will differ by minimal number of bits (merely a single bit if possible) and at high SNR the ratio between BER and FER will be approximately 1/n. Thus, we can reach the same BER as in random bit allocation with lower SNR (adjusted for FER higher by
8. Rate Bound for 2-Transmit Diversity and Exhaustive Search
This section presents general bounds for 2-transmit diversity both for the case of orthogonal design and the specific case of unitary design.
8.1. Isometry to R4
Let M2 be a set of orthogonal matrices of the form
for each m2±M2 where S1, S2 are some complex symbols.
We define the following isometry
g:M2→R4 (31)
Let
where S1=a+bi and S2=c+di. Then g(m2)=(a,b,c,d). It is easy to see that g is an isometry if we define the distance between two matrices m2, m2′ in M2 to be
and the distance between two vectors in R4 to be half the Euclidian distance:
The minimal distance among the matrices in M2, according to EQ. 32 is the diversity of M2 by definition.
8.2. Orthogonal Design
Assume we have a set of n vectors {(ai,bi,ci,di)}i=1n with minimal distance (diversity) ζ, and maximal norm (distance from (0,0,0,0)) A. What is the relation among the parameters n, ζ and A?
Every vector {(ai,bi,ci,di)} is surrounded by a 4-dimensional sphere with radius ζ/2 that does not have other vectors. The volume of this sphere is
Define zζ cos θ, dz−ζ sin θdθ. Then
Since all the vectors have at most norm A, all the spheres that are defined in EQ. 34 are confined within the sphere with radius A+ζ/2, which has the volume
It follows that
Given a maximal transmit power of a matrix in M2, i.e. max{det(m2)|m2εM2}=P, and a minimal diversity ζ, the maximal number of matrices in M2 is
and the maximal rate is
Rmax≦2(log2(√{square root over (P)}+ζ)−log2(ζ)). (37)
8.3. Unitary Design
For unitary matrices a tighter bound can be found. Since unitary matrices have determinant 1, the isometry of a unitary set of matrices to R, is equivalent to placing vectors on the envelope of a 4-dimensional sphere, whose volume is given by EQ. 34. The ‘area’ of this envelope is
In order to calculate the free space around each vector on the envelope of the four dimensional sphere we change variables:
The absolute value of the Jacobian of these variables is:
Without loss of generality we calculate the free space around the vector {right arrow over (r)}0=(w0,x0,y0,z0), (equivalently defined by R0,γ0,θ0 and φ0) on the w axis, i.e.:
w0=1, x0=y0=z0=0
or in our new coordinates:
R0=1, γ0=π/2.
For diversity ζwe calculate the free three-dimensional area around {right arrow over (r)}0 by integrating over the envelope of the sphere and over the vectors within distance smaller than ζ/2 (by saying distance we mean the definition in Eq. 3). The vector {right arrow over (r)} on the sphere satisfies:
The free ‘area’ is therefore confined to
Now, we can calculate the free ‘area’ around {right arrow over (r)}0:
Using the identity:
sin(2arc sin x)=2 sin(arc sin x)cos(arc sin x)=2x√{square root over (1−x2)}
we get that the free ‘area’ is:
The size of a unitary constellation with diversity ζ according to EQS. 41 is smaller than
and the maximal rate is
The group J1,1 (given in EQ. 29) has the diversity=0.309 and rate R=3.45, while the bound on a unitary set with such diversity is Rmax≦3.66 (EQ. 43).
The Super Quaternion group Q2ωL2ωL4 has diversity ζ=0.3827 and rate R=2.79, while the bound on the rate of a set with diversity ζ=0.3827 is Rmax≦3.2.
The Super Quaternion set SQ
8.4. Exhaustive Search
The bounds calculated above gives us an insight on the characteristics of good codes. The isometry g of good orthogonal codes will result in uniformly distributed vectors in a 4-dimensional sphere, while the isometry of good unitary codes will result in vectors that are uniformly distributed on the envelope of a 4-dimensional sphere with radius 1.
One way to achieve uniform distribution of unitary codes is to generate the code by exhaustive search over γ, θ, and φ (EQ. 39). The exhaustive search we present here is based on the following set in R4
V={(x,y,z,w)|x=cos(γ)cos(θ)cos(φ),y=cos(γ)cos(θ)sin(φ),z=cos(γ)sin(θ),w=sin(γ),γ=kC+γ0,θ=lC/cos(γ)+θ0(γ),φ=mC/cos(γ)/cos(θ)+φ0(γ,θ),k,l,mεN,0<C<π} (44)
The search is done over C, which changes monotonically with the diversity and over γ0, θ0 (γ), and φ0(γ,θ). Each vector set is isomorphic to a unitary code according to EQ. 31. Results of exhaustive search are shown in
9. Unknown Channels
Symbols in unknown SISO channels are transmitted differentially to each other. If at time t we intend to send the symbol St and the previous transmitted symbol was Xt−1, we transmit Xt−1·St, i.e. at time t we transmit
Assume that the channel is quasi-static (changes much slower than the symbol rate), then the symbols can be differentially decoded over unknown channel. This transmit algorithm is only effective for phase and frequency modulations since amplitude modulations are more difficultly separated from channel fading.
9.1. Encoding Algorithm
Due to the unitarity of the code used (shown in section 4) it is also applicable for an unknown channel. All the unitary codes can be transmitted over unknown channels. We use the SISO differential decoding principles for MIMO unknown channels in the following way: Instead of multiplying symbols we multiply matrices. If at time t−1 we transmitted the matrix Xt−1 and the next matrix we want to send is St then we would transmit at time t the matrix
Xt=St·Xt−1. (45)
It is important to notice that for n transmitters, each matrix contains n time samples, i.e. when we refer to transition at time t we actually refer to the n time samples
nk, nk+1, . . . , (n+1)k−1
where nk=t.
We assume m receiver antennas. Define the channel response at time t as
where αi,j is the response from transmitter i to receiver j. We removed the time dependency (n) due to the quasi-static channel assumption. Let the channel noise be
where νti,j is the noise at antenna j at time t+i. The received symbols at time t are
where yti,j is the received symbol at antenna j at time t+i.
Yt=XtR+Υt.
9.2. Decoding Algorithm
The decoding is performed by estimating every codeword St according to the last two received matrices Yt and Yt−1. The decoding algorithm is given by
and Yn is the received symbol, Sk, k=1, . . . , N are the constellation's matrices and N is the size of the constellation. Applying
Yn=XnR+Υn
to EQ. 46 we get
Gnk=(XnR+Υn−Sk(Xn−1R+σn−1))·(XnR+Υn−Sk(Xn−1R+Υn−1))*=((Sn−Sk)Xn−1R)·((Sn−Sk)Xn−1)+((Sn−Sk)Xn−1R)·(Υn−SkΥn−1)*+((Sn−Sk)Xn−1R)*·(Υn−SkΥn−1)+(σn−SkΥn−1)·(Υn−Skσn−1)*.
9.3. Fast Decoding Algorithm
When trying to decode a symbol sent using two or more antennae in the fashion described above, we use a Maximum Likelihood decoder. In our case, in either known or unknown channels, the computation of the likelihood is quite straightforward. In the known channel case, if the matrix A was transmitted, and the channel coefficients are described by the vector α, then the vector describing the values received, x, will be x=Aα+n, where n is the vector of noise values. Thus, since α is known, the log likelihood of a matrix B will be correlated to
l(B)=∥x−Aα∥2
In the case of an unknown channel, we have At+1=AAi, so xt+1=AAtα+nt+1=A(xt−nt) and the log likelihood of a matrix B will be correlated to
l(B)=∥xt+1−Axt∥2
In either case we see that l(B)=∥x−Ay∥2 for some known x, y. We simply find the matrix B that minimalizes this quantity and we are done. However, there might be a large number of matrices, e.g. 512, so that going over all of them can be quite time consuming. We suggest a way of doing this much more quickly. Note that such methods are well known, and we simply show that they can be implemented in this case. In order to implement a fast algorithm we will use hashing. We simply divide the space of all possible x, y into subsets, in such a way that for every point in the space we can quickly determine the subset to which it belongs. If our space is Euclidean, one such division might be by “quantization”, rounding off all the coordinates (after some scaling). For each subset we determine in advance what are all the matrices that might minimalize points in the subset. It is easy to see that if the SNR is reasonable, and the subsets are in the probable region, then small subsets will have a small number of possible matrices. Thus, given x, y, we find the subset to which the point belongs, and test only the possible matrices relevant to that subset. Given a reasonable SNR, this means that our decoding works in constant time.
9.4. Two Transmit Diversity
For two transmit diversity there is a more effective algorithm that estimates the codeword matrix's entries independently [3]. We will concentrate on channels with no receive diversity. The generalization for receive diversity is easily obtained according to this section.
9.3.1. Transmission Algorithm
Assume that
was transmitted at time t−1 and that
was transmitted at time t, where
Define the channel response at time n as Rt=R=(α1 α2)T where T is the transpose operator. We removed the time dependency (t) due to the quasi-static channel assumption. Let the channel noise be Υt=(νt1 νt2)T. The received symbols at time t are Yt=(yt1 yt2)T=XtR+Υt.
9.3.2. Decoding Algorithm
Every transmitted matrix can be decoded according to the current and previous received symbols by using the differential scheme. First, we calculate:
st1=yt1yt−11*+yt2*yt−12 (49)
by using the following identities:
yt1=(10)·X1R+νt1=(10)·StXt−1R+νt1
yt2=(01)·XtR+νt2=(01)·StXt−1R+νt2
yt−11=(10)·Xt−1R+νt−11
yt−12=(01)·Xt−1R+νt−12 (50)
We rewrite EQ. 49 using the identities in EQ. 50 as:
where Nt1 is a zero-mean noise given by
On the other hand
According to Eq. 5,
But |xt−11|2+|xt−12|2=det(Xt−1) according to EQ. 47. Then
Therefore,
st1=st1(|α1|2+|α2|2)+Nt1. (51)
Similarly we compute
st2=yt1yt−12*−yt2*yt−11. (52)
Using the above identities we write:
Rearranging EQ. 52 we get
Finally,
st2=st2(|α1|2+|α2|2)+Nt2. (53)
The reconstructed matrix St is given then by
Since all the quaternion matrices are normalized to determinant 1, we divide the reconstructed matrix by its determinant and choose the closest code matrix as our estimate.
10. Simulation Results
We present here the simulation results for the codes described above. The simulations were made on Rayleigh fading channels with Gaussian white noise. Results of Orthogonal Design codes and the Gmr groups were compared to the literature. No additional error correction codes were implemented.
10.1. Known Channel Results
10.2. Unknown Channel Results
10.3. Results for Codes with No Bit Allocation
We made a few simulations for quaternion group structure 1, 2, 4 and Orthogonal Design 6PSK constellation for known and unknown channels without bit allocation due to the high complexity of allocating bits for rates, which are not integral. The results of these simulations are shown in
10.4. Exhaustive Search Results
Results for codes that were constructed by exhaustive search are shown in
10.5. Results for the Gmr Groups and Cosets
10.6. Results for the Jmr Groups
10.7. Results for Two Receive Diversity
11. CONCLUSIONS
Space Time Codes are a powerful tool for increasing the data rates of channels and the transmission range. The advantage of STBC as was shown in the simulations is obvious over multipath channels. This invention presents new STBC codes with better diversity that achieve improved performance for fading channels. We have found rate bounds on the diversity of orthogonal and unitary codes and presented codes that approach these bounds. The codes presented in this invention were bit allocated for improved performance. These cods were simulated and reached better results than other known STBC codes.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/IL2004/000758 | 8/18/2004 | WO | 00 | 7/6/2005 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2005/074163 | 8/11/2005 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
6185258 | Alamouti | Feb 2001 | B1 |
6801579 | Hassibi et al. | Oct 2004 | B1 |
Number | Date | Country | |
---|---|---|---|
20080063110 A1 | Mar 2008 | US |