sorted QR decomposition and OSIC, that takes advantage of the structure of the linear dispersion matrices to achieve low complexity and high performance.. 5.1 OSIC Detection for Hybrid S
Trang 1symbols to antennas is shown in Table 2 Using this code, n S + n B symbols are transmitted
per channel use, for a code rate equal to
T
B S
n
n
n
(23)
Fig 6 ZF-SQRD LQOSTBC Architecture Transmitter/Receiver
(VBLAST)
S n
2 1
3
5 1
k
s
s s
* 2
* 6
* 2
k s
s s
1
7 3
k
s
s s
*
* 8
* 4
k s
s s
(ABBA)
T
S S
n
n n
2
1
B
n k
k k
s
s s
4
2 1
* 1
4
* 1
* 2
B
n k
k k
s
s s
2 4
4 3
B
n k
k k
s
s s
* 3
4
* 3
* 4
B
n k
k k
s
s s
Table 2 ZF-SQRD LQOSTBC Symbol to Antenna Mapping with k 4 nS
Since the transmitter has no knowledge of the channel, all symbols must be transmitted with
equal energy In the ABBA layers, each symbol’s transmission is spread across multiple time
intervals; in consequence, the signal constellations must be scaled accordingly If E v is the
average energy of the signal constellation employed by each antenna in the VBLAST layers,
then the average constellation energy E a of the ABBA layers is given by E a =E v /n a It should
be noted that the coding schemes referenced above use a single constellation, resulting in
unequal symbol energy and suboptimal BER performance
The system equation for ZF-SQRD LQOSTBC over four symbol periods may be written as
follows, where subindices indicate antenna number, and superindices indicate symbol period within a block:
) 4 ( ) 1 (
) 4 ( 1 ) 1 ( 1
, 2 , 1 ,
, 1 2 , 1 1 , 1
) 4 ( ) 1 (
) 4 ( 1 ) 1 ( 1
R R T
R R R
T
R
A abba n
n n n
n
n
n n S
S h
h h
h h h
y y
y y
or equivalently,
N HS
Matrix Y Cn R4 represents the symbols received in a block Matrix H is the channel
matrix defined above Matrix N Cn R 4 represents the noise added to each received
symbol Matrix S is composed of a spatial multiplexing block and n B ABBA blocks The spatial multiplexing block S spa is defined as:
) 4 ( 1 ) 1 ( 1
* 4 1 4
* 2 4 3 4
* 4 3
* 2 1
S S S
S S
n
spa
s s
s s
s s
s s
s s
s s
S
which corresponds to the VBLAST layer mapping in Table 2 The ABBA block is defined as:
n abba abba
where every element of equation (27) is given by:
) 4 ( ) 1 (
) 4 ( 1 ) 1 ( 1
) 4 ( 2 ) 1 ( 2
) 4 ( 3 ) 1 ( 3
* 1 2
* 3 4
* 2 1
* 4 3
* 3 4
* 1 2
* 4 3
* 2 1
l l
l l
l l
l l
k k
k k
k k
k k
k k
k k
k k
k k
abba B
s s
s s
s s
s s
s s
s s
s s
s s
s s
s s
s s
s s
S
with l = n S + 4B, k = 4(B − 1 + n S ) and B = 1, 2,…, n B Rewriting the system equation (24) as a linear dispersion code, we have:
Trang 2
* ) 4 (
) 3 (
* ) 2 (
) 1 (
* ) 4 ( 1
) 3 ( 1
* ) 2 ( 1
) 1 ( 1
* ) 4 (
) 3 (
* ) 2 (
) 1 (
* ) 4 ( 1
) 3 ( 1
* ) 2 ( 1
) 1 ( 1
R R R R
R R R R
n n n n
LD abba spa
n n n n
n n n n
n n n n
S H H
y y y y
y y y y
expressed in compact form as:
LD LD LD
where H LD is a linear dispersion matrix with two blocks, one corresponding to the V-BLAST
layers and another to the ABBA layers The V-BLAST block H spa is given by:
spa n n
spa n
spa n
spa n spa
spa spa
S R R
R
S
H H
H
H H
H H
, 2
, 1 ,
, 1 2
, 1 1 , 1
where
* , ,
* , ,
,
0 0 0
0 0
0
0 0 0
0 0 0
j j j
j spa j
h h h
h
for i ,1 2 , , nR and j ,1 2 , , nS The ABBA block Habba is itself a block matrix; it is given by:
Trang 3
* )
4 (
) 3
(
* )
2 (
) 1
(
* )
4 (
1
) 3
( 1
* )
2 (
1
) 1
( 1
* )
4 (
) 3
(
* )
2 (
) 1
(
* )
4 (
1
) 3
( 1
* )
2 (
1
) 1
( 1
R R R R
R R R R
n n n n
LD abba
spa
n n n n
n n n n
n n n n
S H
H
y y y y
y y y y
expressed in compact form as:
LD LD
LD
where H LD is a linear dispersion matrix with two blocks, one corresponding to the V-BLAST
layers and another to the ABBA layers The V-BLAST block H spa is given by:
spa n
n
spa n
spa n
spa n
spa spa
spa
S R
R R
S
H H
H
H H
H H
, 2
, 1
,
, 1
2 ,
1 1
, 1
where
* ,
,
* ,
,
,
0 0
0
0 0
0
0 0
0
0 0
0
j j
j
j spa
j
h h
h
h
for i ,1 2 , , nR and j ,1 2 , , nS The ABBA block Habba is itself a block matrix; it is
given by:
abba n n
abba n
abba n
abba n abba
abba abba
S R R R
S
H H H
H H
H H
, 2 , 1 ,
, 1 2
, 1 1 , 1
where every element of equation (33) is given by:
* 3 ,
* 2 ,
* 1 ,
* ,
2 , 3 , , 1 ,
* 1 ,
* ,
* 3 ,
* 2 ,
, 1 , 2 , 3 , ,
l l
l l
l l
l l
l l
l l
l l
l l
abba k i
h h
h h
h h
h h
h h
h h
h h
h h
for i 1,2,,n R, k 1,2,,n B and l = n S + 4B The matrix spa
j
H , of H LD that links the
j th spatial antenna with the i th receiver antenna Likewise, abba
k i
H , links the k th ABBA block to the ith receiver antenna To complete the reformulation of system equation (24), it remains to
rearrange matrix S We define S LD as:
abbaT
LD
spa LD
where
n n n n
spa
LD s s s s sS s S s S s S
S ( 4 ) ( 1 ) ( 2 ) ( 3 ) ( 4 )
1 ) 3 ( 1 ) 2 ( 1 ) 1 (
and the ABBA block for n A = 4 is, then, given by:
l l l l n
n n n
abba
1 ) 1 ( 2 ) 1 ( 3 )
1 ( 4 ) 1 ( 3 ) 1 ( 2 ) 1 (
We have rewritten the hybrid space-time matrices as linear dispersion code matrices Now
we can substitute the original V-BLAST plus ABBA hybrid transceiver with a simpler,
purely spatial system with N T = 4n S +n A n B transmit antennas like is depicted in Figure 7 and
without distinction between the ABBA and VBLAST layers
5 Receiver Architectures for Hybrid Space-Time Codes
Since schemes ZF-SQRD LSTBC and ZF-SQRD LQOSTBC are equivalent to a purely spatial
system with N T transmit antennas, it is possible to propose a linear detector based on the
Trang 4sorted QR decomposition and OSIC, that takes advantage of the structure of the linear dispersion matrices to achieve low complexity and high performance
5.1 OSIC Detection for Hybrid Schemes Proposed
We first calculate HC Sorted QR (Hybrid Coding Sorted QR) of the matrix H LD =Q LD R LD where Q LD is a unitary matrix and RLD is an upper triangular matrix By multiplying the received signal equations (10) and (35) by H
LD
Q , the modified received vector is:
LD LD LD LD
H LD
if vector S LD is transmitted Note that the statistical properties of the noise term N~LD
remain unchanged Due to the upper triangular structure of R LD , the k th element of Y~LDis:
k
i k i i k k
k k
y
1 ,
Symbols are estimated in sequence, from lower stream to higher stream, using OSIC; assuming that all previous decisions are correct; the interference can be perfectly cancelled
in each step except for the additive noise The estimated symbol sk is given by:
k
N k
i k i i k
s r
y s
T
,
1 ,ˆ
where sˆk is the estimate of sk and D[.] is a decision device that maps its argument to the
closest constellation point Therefore the receiver requires calculating the QR decomposition
for the linear dispersion matrix H LD; the main challenge lies in finding the most efficient way
to obtain this decomposition
We use the permutation vector order provided by HC Sorted QR algorithm to reorder the
received symbols; the QR decomposition is obtained using the modified Gram-Schmidt (MGS) algorithm
5.2 HC Sorted QR Decomposition
Matrix H LD is N T nAnR for both hybrid schemes A direct application of MGS on it would result in unacceptable complexity However, taking advantage of the structure imposed on
H LD by the proposed code, we can decrease this complexity significantly We now explain
how this simplification is obtained
From the equations (15) and (30) we can see that the structure presented for the H LD matrix
allows us to reduce the computational complexity that is required for to calculate the HC
Trang 5sorted QR decomposition and OSIC, that takes advantage of the structure of the linear
dispersion matrices to achieve low complexity and high performance
5.1 OSIC Detection for Hybrid Schemes Proposed
We first calculate HC Sorted QR (Hybrid Coding Sorted QR) of the matrix H LD =Q LD R LD
where Q LD is a unitary matrix and RLD is an upper triangular matrix By multiplying the
received signal equations (10) and (35) by H
LD
Q , the modified received vector is:
LD LD
LD LD
H LD
if vector S LD is transmitted Note that the statistical properties of the noise term N~LD
remain unchanged Due to the upper triangular structure of R LD , the k th element of Y~LD is:
k
i k i i k k
k k
y
1 ,
Symbols are estimated in sequence, from lower stream to higher stream, using OSIC;
assuming that all previous decisions are correct; the interference can be perfectly cancelled
in each step except for the additive noise The estimated symbol sk is given by:
k
N k
i k i i k
s r
y s
T
,
1 , ˆ
where sˆk is the estimate of sk and D[.] is a decision device that maps its argument to the
closest constellation point Therefore the receiver requires calculating the QR decomposition
for the linear dispersion matrix H LD; the main challenge lies in finding the most efficient way
to obtain this decomposition
We use the permutation vector order provided by HC Sorted QR algorithm to reorder the
received symbols; the QR decomposition is obtained using the modified Gram-Schmidt
(MGS) algorithm
5.2 HC Sorted QR Decomposition
Matrix H LD is N T nAnR for both hybrid schemes A direct application of MGS on it would
result in unacceptable complexity However, taking advantage of the structure imposed on
H LD by the proposed code, we can decrease this complexity significantly We now explain
how this simplification is obtained
From the equations (15) and (30) we can see that the structure presented for the H LD matrix
allows us to reduce the computational complexity that is required for to calculate the HC
Sorted QR decomposition, since many of the elements of each matrix are equal, and their
locations in each matrix are fixed and can be calculated in advance This method involves
obtaining the QR decomposition of the H LD matrix in two stages: first we obtain the QR decomposition corresponding to the spatial layers of the hybrid system; in the second stage
we calculate the QR decomposition for the diversity layers
As a first step, we calculate the QR decomposition H = Q m R m using the Sorted QR algorithm;
in this process, we also produce vector order which specifies the detection order of the spatial layers Then, using Q m and R m, and non normalized columns of the matrix H, we build the matrices ala
div
H or abba
div
H The next step is analogous to MGS: column k + 1 is normalized and used to fill column k+2 of each block (Alamouti/ABBA); the process is
repeated for the remaining columns for each block of ala
div
div
H In the process, matrix
R LD is also calculated A block diagram of the process is shown in the Figure 7
Fig 7 HC Sorted QR Process Using MGS Algorithm The structure of matrices Q LD and R LD , and their relation to Q m and R m, has been detailed in (Cortez et al., 2007), (Kim et al., 2006), (Le et al., 2005) The complete process is presented in
two stages In the first stage the algorithm 1 takes the channel matrix H and outputs the intermediate matrices Q m , R m and vector order
Trang 6Algorithm 1 HC Sorted QR of the Spatial Layers
1: INPUT: Hn Rn T
, L, nsym, nS
2: OUPUT: Qm, Rm, order
3: Qm H , n Tn T 0
m
R , orden [ 1 : 1 : nsym ]
4: for i 1 to nS do
5: k arg minji:n S Qm :, j
6: Exchange columns i and k of Qm and Rm
7: Exchange columns Li : 1 : i ( L 1 ) 1 and Lk : 1 : k ( L 1 ) 1 of order
8: Rm( i , i ) Qm(:, i )2
9: Qm(:, i ) Qm(:, i ) / Rm( i , i )
10: for j i 1 to nT do
11: R ( i , j ) Q (:, i )HQm(:, j )
m
12: Qm(:, j ) Qm(:, j ) Qm(:, i ) Rm( i , j )
13: endfor
14: endfor
The structure for the matrices Q m and R m are:
T R S
R S R R
T S
S
T S
S
n n n
n n n n
n n
n
n n
n m
h h
q q
h h
q q
h h
q q Q
, 1
, , 1 ,
, 2 1 , 2 , 2 1 , 2
, 1 1 , 1 , 1 1 , 1
T S S s
T S
S
T S
S
n n n n
n n
n
n n
n m
r r
r r
r
r r
r r R
, ,
, 2 1 , 2 , 2
, 1 1 , 1 , 1 1 , 1
0 0
0
We choose the first n S columns of Q m and the first n S rows of R m to built the matrices Q spa
and R spa with the next structure:
Trang 7Algorithm 1 HC Sorted QR of the Spatial Layers
1: INPUT: Hn Rn T
, L, nsym, nS
2: OUPUT: Qm, Rm, order
3: Qm H, n Tn T 0
m
R , orden [ 1 : 1 : nsym ]
4: for i 1 to nS do
5: k arg minji:n S Qm :, j
6: Exchange columns i and k of Qm and Rm
7: Exchange columns Li : 1 : i ( L 1 ) 1 and Lk : 1 : k ( L 1 ) 1 of order
8: Rm( i , i ) Qm(:, i )2
9: Qm(:, i ) Qm(:, i ) / Rm( i , i )
10: for j i 1 to nT do
11: R ( i , j ) Q (:, i )HQm(:, j )
m
12: Qm(:, j ) Qm(:, j ) Qm(:, i ) Rm( i , j )
13: endfor
14: endfor
The structure for the matrices Q m and R m are:
T R
S R
S R
R
T S
S
T S
S
n n
n n
n n
n
n n
n
n n
n m
h h
q q
h h
q q
h h
q q
Q
, 1
, ,
1 ,
, 2
1 ,
2 ,
2 1
, 2
, 1
1 ,
1 ,
1 1
, 1
T S
S s
T S
S
T S
S
n n
n n
n n
n
n n
n m
r r
r r
r
r r
r r
R
, ,
, 2
1 ,
2 ,
2
, 1
1 ,
1 ,
1 1
, 1
0 0
0
We choose the first n S columns of Q m and the first n S rows of R m to built the matrices Q spa
and R spa with the next structure:
S R R
R
S S
n n n
n
n
n spa
q q
q
q q
q
q q
q Q
, 2 , 1 ,
, 2 2 , 2 1 , 2
, 1 2
, 1 1 , 1
T S S s
T S
S
T S
S
n n n n
n n
n
n n
n spa
r r
r r
r
r r
r r R
, ,
, 2 1 , 2 , 2
, 1 1 , 1 , 1 1 , 1
0 0
0
The matrices Q spa and R spa represent the contribution of the spatial layers in both hybrid schemes The columns with elements h,j in equation (41) are non normalized columns that
we used to build the matrices ala
div
H and abba
div
H that are required in the second stage of the
QR decomposition for the diversity layers In the case of ZF-SQRD LDSTBC the matrix
ala div
H has the following structure:
* ,
* ,
* 1 ,
* 2 ,
* , 1
* , 1
* 1 , 1
* 2 , 1
, 1 1 , 1 2
, 1 1 , 1
1 1
T R T R S
R S
R
T T
S S
T T
S S
n n n n n
n n
n
n n
n n
n n
n n
ala div
h h
h h
h h
h h
h h
h h
H
For the case of ZF-SQRD LQOSTBC the matrix Hdiv abba with nA 4 has the structure:
* 2 ,
* ,
* 2 ,
* 4 ,
* , 1
* 2 , 1
* 4 , 1
* 2 , 1
1 , 1 3 , 1 3
, 1 1 , 1
T R T R S
R S R
T T
S S
T T
S S
n n n n n
n n n
n n
n n
n n
n n
abba div
h h
h h
h h
h h
h h
h h
H
Once the matrix ala abba
div
H / is found, the next step is to apply the Sorted QR decomposition
on it This calculation may be carried out using Algorithm 2 below; the ordering among elements of the matrix ala abba
div
H / is by block and not by column It is only necessary to
Trang 8calculate the odd rows and columns of matrices Qdiv and Rdiv It can be seen as ala
div
H and
abba
div
H have the same structure, the matrix abba
div
H can be seen as a particular case of ala
div H
with two Alamouti coders in each block ABBA The above consideration allows us to use the
same algorithm to calculate the HC Sorted QR decomposition for both schemes The matrices
div
Q and R div generated in this part of the process represent the contribution of diversity
layers in the HC Sorted QR decomposition
Algorithm 2 HC Sorted QR of the Diversity Layers
1: INPUT: Hdiv ala/abba, L, nsym, nB,nS,order
2: OUPUT: Qdiv, Rdiv, order
3: Qdiv Hdiv ala/abba, Rdiv 0, m LnS
4: for i 1 : 2 to 2 nB do
n i
min
arg :2:2
6: Exchange columns i and i+1 for k and k+1 of Qdiv and Rdiv
7: Exchange columns m Li : 1 : m i ( L 1 ) 1 and
m Lk : 1 : m k ( L 1 ) 1 of order
8:
2 ) (:, )
,
Rdiv div
9: Qdiv(:, i ) Qdiv(:, i ) / Rdiv( i , i )
10: Rdiv( i 1 , i 1 ) Rdiv( i , i )
11: Q ( 1 : 2 : Ln ,1 i 1 ) Qdiv( 2 : 2 : LnR, i )*
R
12: Q ( 2 : 2 : Ln , i 1 ) Qdiv( 1 : 2 : LnR ,1 i )*
R
13: for j i 1 to nB do
14: Rdiv( i , j ) Qdiv(:, i )HQdiv(:, j )
15: endfor
16: ( ,1 2 : 2 : 1 ) div( , 3 : 2 : B)*
B
17: ( ,1 3 : 2 : ) div( , 2 : 2 : B 1 )*
B
R
18: for j i 1 to nB do
19: Qdiv(:, j ) Qdiv(:, j ) Qdiv(:, i ) Rdiv( i , j )
20: Qdiv(:, j ) Qdiv(:, j ) Qdiv(:, i 1 ) Rdiv( i ,1 j )
21: endfor
22: endfor
Trang 9calculate the odd rows and columns of matrices Qdiv and Rdiv It can be seen as ala
div
H and
abba
div
H have the same structure, the matrix abba
div
H can be seen as a particular case of ala
div H
with two Alamouti coders in each block ABBA The above consideration allows us to use the
same algorithm to calculate the HC Sorted QR decomposition for both schemes The matrices
div
Q and R div generated in this part of the process represent the contribution of diversity
layers in the HC Sorted QR decomposition
Algorithm 2 HC Sorted QR of the Diversity Layers
1: INPUT: Hdiv ala/abba, L, nsym, nB,nS,order
2: OUPUT: Qdiv, Rdiv, order
3: Qdiv Hdiv ala/abba, Rdiv 0, m LnS
4: for i 1 : 2 to nB do
n i
min
arg :2:2
6: Exchange columns i and i+1 for k and k+1 of Qdiv and Rdiv
7: Exchange columns m Li : 1 : m i ( L 1 ) 1 and
m Lk : 1 : m k ( L 1 ) 1 of order
8:
2 )
(:, )
,
( i i Q i
Rdiv div
9: Qdiv(:, i ) Qdiv(:, i ) / Rdiv( i , i )
10: Rdiv( i ,1 i 1 ) Rdiv( i , i )
11: Q ( 1 : 2 : Ln ,1 i 1 ) Qdiv( 2 : 2 : LnR, i )*
R
12: Q ( 2 : 2 : Ln , i 1 ) Qdiv( 1 : 2 : LnR ,1 i )*
R
13: for j i 1 to nB do
14: Rdiv( i , j ) Qdiv(:, i )HQdiv(:, j )
15: endfor
16: ( ,1 2 : 2 : 1 ) div( , 3 : 2 : B)*
B
17: ( ,1 3 : 2 : ) div( , 2 : 2 : B 1 )*
B
R
18: for j i 1 to nB do
19: Qdiv(:, j ) Qdiv(:, j ) Qdiv(:, i ) Rdiv( i , j )
20: Qdiv(:, j ) Qdiv(:, j ) Qdiv(:, i 1 ) Rdiv( i ,1 j )
21: endfor
22: endfor
The matrices Q LD and R LD are generated from the matrices Q spa , R spa , Q div and R div The
construction process is described in Algorithms 3 and 4 Once the matrices Q LD and R LD are generated the detection of the received symbols was carried out according to the procedure described in section 5.1
Algorithm 3 Generation of matrices Q LD and R LD for the scheme ZF-SQRD LDSTBC 1: INPUT: Qspa, Rspa, Qdiv, Rdiv, nB, nS
2: OUPUT: QLD, RLD
3: col 1
4: for i 1 to nS do
5: Q ( 1 : 2 : 2 n ,1 col ) Qspa(:, k )
R
spa
6: col col 1
7: Q ( 2 : 2 : 2 n , col ) Qspa(:, k )*
R
spa
8: col col 1
9: endfor
10: row 1
11: for i 1 to nS do
12: ( , 1 : 2 : 2 1 ) spa( 1, : S)
S
spa
13: ( , 1 : 2 : 2 1 ) spa( 1, : S)
S
spa
14: row row 2
15: endfor
16: row ,1 col 2 nS 1
17: for i 1 to n S nB do 18: for j 1 to nB do
19: spa( , ) spa( , 2 1 S)
LD row col R i j n
20: spa( , 1 ) spa( , 2 S)
LD row col R i j n
21: spa( ,1 ) spa( , 2 S)*
LD row col R i j n
22: RLD spa( row ,1 col 1 ) Rspa( i , 2 j 1 nS)*
23: col col 2
24: endfor
25: col 2 nS 1 26: row row 2
27: endfor
Trang 1028: RLD ala( 2 nS 1 : 2 ( nS nB), 2 nS 1 : 2 ( nS nB)) Rdiv
29:
ala
LD
spa LD LD
R
R
LD
Q
Algorithm 4 Generation of matrices Q LD and R LD for the scheme ZF-SQRD LQOSTBC 1: INPUT: Qspa, Rspa, Qdiv, Rdiv, nB, nS
2: OUPUT: QLD, RLD
3: row 1; k 4 nS
4: for i 1 to nS do
5: spa( , 1 : 4 : ) spa( , 1 : S)
6: spa( 1 , 2 : 4 : ) spa( , 1 : S)*
7: spa( 2 , 3 : 4 : ) spa( , 1 : S)
8: spa( 3 , 4 : 4 : ) spa( , 1 : S)*
9: row row 4
10: endfor
11: col 1
12: for i 1 to nS do
13: Q ( 1 : 4 : 4 n , col ) Qspa(:, i )
R
spa
14: Q ( 2 : 4 : 4 n , col 1 ) Qspa(:, i )*
R
spa
15: Q ( 3 : 4 : 4 n , col 2 ) Qspa(:, i )
R
spa
16: Q ( 4 : 4 : 4 n , col 3 ) Qspa(:, i )*
R
spa
17: col col 4
18: endfor
19: row ,1 col 4 nS ,1 col 2 nS 1
20: for i 1 to nS do
21: for j 1 to nB do
22: Rabba( row , col ) Rspa( i , col 2 )
23: Rabba( row ,1 col ) Rspa( i , col 2 1 )*
LD
24: Rabba( row 2 , col ) Rspa( i , col 2 2 )
LD
25: Rabba( row 3 , col ) Rspa( i , col 2 3 )*
LD