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.
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.
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.
In this section we give a short preview on STBC and the motivation for using receive and transmit diversity.
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.
where N0/2 is the noise variance per receiver's element and
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)}).
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:
where r is the number of non-zero eigenvalues of A.
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.
for all distinct code words Cl and Cl′. It is obvious that codes that assure maximal diversity will achieve smaller error probabilities.
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:
C=log2(1+ρχ22). (11)
C=log2(1+ρχ22). (12)
From EQ. 5 we can see that the error probability depends exponentially on the number of receiver antennas, for a fixed transmit diversity.
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.
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 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
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.
The quaternion groups are also called “dicyclic groups” in [9], and have the form
Q
p=<α,β|+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:
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
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 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)
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].
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].
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.
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.
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
x
1
2
+x
2
2
+x
3
2
+x
4
2=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.
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
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).
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.
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.
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.
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.
G
m,r
=
a,b:a
m=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:
ba
t
b
−1
=a
rt
bb
n
b−1=artbn=artat=art.
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:
G
m,r
=
a
∪
a
b∪ . . . ∪
a
b
n−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.
L
G(a)=ζm, LG(b)=b.
Π:KG→Mn( )
where Mn is the algebra of n×n matrices over is given by:
We present here a specific fixed point group with exceedingly good performance which are due to Amitsur ([13])
J
m,r
=SL
2(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
SL
2(F5)=u,γ|μ2=γ3=(μγ)5,μ4=1 (30)
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
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.
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.
bn=γ
ba=σ(a)b ∀aε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
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
Now, we require xτ(x)=1. If z=xτ(x) then let
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.
Thus, given a0, a1εK, we check if there are solutions to the linear set of equations. For each solution, a2, we calculate
a
0τ(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.
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)
1σ(
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.
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.
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
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
This section presents general bounds for 2-transmit diversity both for the case of orthogonal design and the specific case of unitary design.
for each m2±M2 where S1, S2 are some complex symbols.
We define the following isometry
g:M2→R4 (31)
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:
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
and the maximal rate is
R
max≦2(log2(√{square root over (P)}+ζ)−log2(ζ)). (37)
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:
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:
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
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
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.
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
X
t
=S
t
·X
t−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.
Y
t
=X
t
R+Υ
t.
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
Y
n
=X
n
R+Υ
n
to EQ. 46 we get
G
n
k=(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)*.
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.
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.
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.
Every transmitted matrix can be decoded according to the current and previous received symbols by using the differential scheme. First, we calculate:
s
t
1
=y
t
1
y
t−1
1
*+y
t
2
*y
t−1
2 (49)
by using the following identities:
y
t
1=(10)·X1R+νt1=(10)·StXt−1R+νt1
y
t
2=(01)·XtR+νt2=(01)·StXt−1R+νt2
y
t−1
1=(10)·Xt−1R+νt−11
y
t−1
2=(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,
s
t
1
=s
t
1(|α1|2+|α2|2)+Nt1. (51)
Similarly we compute
s
t
2
=y
t
1
y
t−1
2
*−y
t
2
*y
t−1
1. (52)
Using the above identities we write:
Rearranging EQ. 52 we get
Finally,
s
t
2
=s
t
2(|α1|2+|α2|2)+Nt2. (53)
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.
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.
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
Results for codes that were constructed by exhaustive search are shown in
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/IL04/00758 | 8/18/2004 | WO | 00 | 7/6/2005 |
Number | Date | Country | |
---|---|---|---|
60539348 | Jan 2004 | US | |
60569357 | May 2004 | US |