Sunteți pe pagina 1din 28

Universitatea POLITEHNICA

din Bucuresti

FACULTATEA TRANSPORTURI
Programul de Master SISTEME TELEMATICE IN TRANSPORTURI

Disciplina:
COMUNICATII MOBILE IN TRANSPORTURI

Reducerea complexitatii codurilor bloc


spatio-temporale CBST la decodare
(STBC Space-time block code)

ntocmit de: CINJAU AURA RAMONA

2014-2015

INDEX
CBST (en. STBC Space Time Block Codes) Coduri Bloc Spatio-Temporale
DS (en.= Sphere Decoding SD) decodare in sfera
FSD (en.= Fast Sphere Decoding) decodare rapida in sfera
HRQF (en. = Hurwitz-Randon Quadric Form) - forma patratica Hurwitz-Randon
MIMO (en.= multiple-input and multiple-output) canal de transmisie cu intrari si iesiri
multiple
CBSTOC (en.= Complex orthogonal STBC) - Coduri Bloc Spatio-Temporale cu
Ortogonale Complexe
ML Modulatie Liniara
CBOST (en= Block Orthogonal Space Time Block Code -BOSTBC) Coduri Cu Blocuri
Ortogonale Spatio-Temporale
QF (en. = Quadric Form) forma patratica
BOCSTB (en.= Block Orthogonal STBC (BOSTBC)) Bloc Ortogonal CBST
CBSTL (en.= LSTBC Liniar Space Time Block Codes) Coduri Bloc Spatio-Temporale
Liniare
SNR (en. = Signal-to-noise ratio) raportul semnal/zgomot
PAM (en.= Pulse-amplitude modulation) Modulatie de amplitudine in impulsuri
QAM (en.= Quadrature amplitude modulation) Modulatie de amplitudine in cuadratura
ABBA clasa de coduri bloc spatio-temporele quasi-ortogonale
FLOPS = FLoating-point Operations Per Second operatii cu virgula mobila

Reducerea complexitatii codurilor bloc spatio-temporale CBST la


decodare (STBC Space-time block code)
G. R. Jithamithra si B. Sundar Rajan, Membri Seniori IEEE

Abstract:
Decodificarea codurilor liniare spatio-temporale (CBST en.= STBC Space Time
Block Codes) utilizand decodarea in sfera DS (en.= Sphere Decoding SD) este bine
cunoscuta. O scurta descriere a decodarii in sfera, de altfel cunoscuta si sub numele de
decodare rapida in sfera (en.= Fast Sphere Decoding FSD), a fost facuta de catre Biglieri,
Hong si Viterbo. Privind un cod bloc spatio-temporal ca fiind un spatiu vectorial etalonat prin
definirea matricilor sale de greutate in domeniul numerelor real, putem defini forma patratica
Hurwitz-Randon (HRQF en. = Hurwitz-Randon Quadric Form) pe acest spatiu vectorial.
Astfel putem da o interpretare patratica complexitatii FSD a unui cod liniar spatio-temporal.
Este demonstrat ca, complexitatea FSD este o functie a matricelor de greutate ce defineste
codul si ordinea acestora, si nu depinde de natura canalului de transmisie (chiar dac atunci
cand utilizam DS pe un canal echivalent, complexitatea FSD depinde de natura canalului) sau
de numarul antenelor de receptie. De asemenea, este demonstrat ca, complexitatea FSD este
complet inglobata intr-o singura matrice optinuta din forma patratica Hurwitz-Randon. Mai
mult decat atat, este prezentat modul in care se ajunge la complexitatea FSD pornind de la un
set stabilit de matrici de greutate si un algoritm optim de ordonare a acestora. Binecunoscutele
clase de coduri FSD de complexitate scazuta sunt prezentate in cadrul sectiunii referitoare la
HRQF (forma patratica Hurwitz-Randon).
I. INTRODUCERE
Consideram un sistem format dintr-o anten de transmisie nt, o anten de receptie nr, si
un canal de atenuare cvasi-static de tip Rayleigh de banda ingusta codat in spatiu-timp
MIMO, ce ofera receptorului (CISR) informaii complete despre natura canalului. Relatia de
intrare iesire pentru un astfel de sistem este data de:
=

+ ,

(1)

unde este canalul matricei iar este zgomotul agaugat. Ambele H


si N au intrari distribuite complex-Gaussian identic si idependent cu media zero i variana 1
respectiv N0. este matricea cod transmisa iar este matricea primita.
Matricea receptorului ML ce reduce toate valorile posibile ale cuvntului de cod X este
urmatoarea:
= ||

||

(2)

Un cod bloc liniar spatio-temporal [1] C suprapus peste un semnal (1-dimendional)


notat S este un set finit de matrici nt x T , unde orice matrice cuvant de cod ce apartine
codului C este optinut din relatia:

=!

,x ,,x

(3)

Lasand variabilele reale x1, x2, ... , xK sa primesca valori din semnalul S, unde Ai apartine
matricei complexe nt x T definim codul ce este cunoscut ca matrici de greutate. Rata de
corectie a erorilor acestui cod este simbolul complexitatii pe canalul utilizat

"

Studiul decodarii complexitatii modulatiei liniare CBST a pornit de la Ortogonalele


complexe CBST (en.= Complex orthogonal STBC) , [2], [3] - [4], care cel putin ofera
posibilitatea decodarii modulatiei liniare. Cu toate astea, din moment ce rata de corectie a
erorilor OCBST este mica, au fost propuse cateva coduri cu simbol unic de decodare CBST
(en. = single-symbol-decodable STBC)cu rate de corectie a erorilor mai mari decat ale
codurilor cu ortogonale complexe CBST. In scopul de a imbunatati rata de corectie a erorilor
CBST in lucrarile [11] [16] a fost propusa o decodare a complexitatii modulatiei liniare si
un cod CBST multi-grup (en.= multi-group-ML-decodable STBC) ce poate fi decodat in
modulatie liniara. Simbolurile informationale pot fi conlocate in mai multe grupuri si
decodate separat in astfel de coduri. Aceste coduri au o rata de corectie a erorilor mai mare
decat a codurilor CBSTOC si a codurilor cu simbol unic de decodare si cu toate astea,
niciunul din aceste coduri, cu exceptia [11] si [13], nu are rata de corectie a erorilor mai mare
decat simbolul complex 1 pe canal utilizat.
Pentru a imbunatati rata de corectie a erorilor codurilor CBST tinand cont de reducerea
complexitatii de decodare, a fost studiat si introdus un alt set de coduri cunoscut si sub
numele de cod usor de decodat (en.=fast-decodable code). Aceste coduri au redus
complexitatea SD datorita faptului ca putine variabile pot fi decodate ca grup sau simbol unic
daca le conditionam in raport cu celelalte variabile. In lucrarea [27] a fost studiata o noua
proprietate a codurilor numita proprietatea blocurilor ortogonale (en.=block-orthogonal
property) care poate fi exploatata de catre decodoarele bazate pe descompunere QR pentru a
realiza o decodare significanta a reducerii complexitatii fara a se pierde performantele.
Codurile ce prezinta proprietatea blocurilor ortogonale sunt numite coduri cu blocuri
ortogonale spatio-temporale CBOST (en= Block Orthogonal Space Time Block Code BOSTBC). Aceste coduri sunt o subclasa de coduri cu decodare rapida dar au o medie mai
mica de decodare a complexitatii in comparatie cu codurile generale cu decodare rapida. In
[28] au fost studiate o noua clasa de coduri, si anume, codurile cu decodare rapida in grup
(en= fast group decodable codes). Acestea combina propritatile codurilor multigrup si a
celor cu decocdare rapida si sunt coduri decodabile multi-grup ce au in compunere cel putin
un grup cu propietati de decodare rapida.
Abordarea formei ptratice (QF) a fost utilizata n contextul codurilor CBST n [29]
pentru a stabili dac calculele Quaternion si Biquaternion sunt de divizibile. Acest aspect
ocup un loc important in diversitatea complet a codurilor. Aceast abordare nu a fost pe
deplin exploatata pentru a studia celelalte caracteristici ale codurilor CBST. n aceast lucrare,
vom folosi aceasta abordare pentru a studia complexitatea de decodare fast sphere (DFS
en.= fast sphere decoding FSD) a codurilor CBST (o definiie oficial a acesteia este dat
n subseciunea II-B).

A. Forma patratica Hurwitz-Radon


In aceasta subsectiune vom defini forma patratica Hurwitz-Radon in ceea ce priveste
codurile CBST. Pentru inceput vom prezenta cateva principii de baza in studiul formelor
patratice [30].
Definitaia 1: Fie F un camp cu 2 caracteristicei de negare, iar V un spatiu vectorial
finit dimensional. Forma patratica pe V este definita ca fiind planul Q : V F daca si numai
daca indeplineste urmatoarele conditii.

# $% = $ # % &'()*+ ),)- % . /.
4# %

01$(+1 2 %, 3

# 3 5

# %

' 6-1-(-$* 7-8')*-9 &'()*+ ),$)' :, ; . <.

Daca consideram V ca fiind un spatiu n-dimensional peste F atunci putem considera forma
patratica ca fiind un polinom omogen de grad doi, de exemplu: pentru 1 i, j n, avem
marimile scalare mij astfel incat:
Q >

Q : , v , , v@

A 8 ,B : :B
,B!

pentru toti v = [v1, ..., vn] V. Din moment ce putem asocia matricea M =( 8- D) cu forma
patratica Q(v) = vMvT.
!

Definitia 2: Forma patratica Hurwitz-Randon este un plan pentru CBST E FG


H ce apartine multimii numerelor reale I, spre exempu Q : C I este dat de: (4)
#

unde X este un element al CBST iar J-D

||

BJ B

K KBK

L 2
D - || .

L
- D

Teorema 1: Planul definit de ecuatia (4) este o forma patratica.


Demostratie: Planul Q trebuie sa satisfaca conditiile definite in Definitia 1. Astfel,
# $

A $ $ BJ B
2

,B

1
4#
2

trebuie sa fie simetrice si biliniare in


subtituind, rezulta:

$ A

si

,B

BJ B

P si

$ #
#

Q P . Simplificand si

1
A4 Q J
2

QB

,B

BQ

J B 5.

Se poate observa ca planul este biliniar si simetric.


Putem asocia matricea cu forma patratica Hurwitz-Radon. Daca definim matricea M
=( 8- D) unde i,j=1,2,...,k, ca fiind mi j = di j , atunci putem scrie forma patratica HurwitzRadon ca fiind Q(x) = vMvT, unde x = [x1 x2 ... xK]. Observam ca M este matricea simetrica
iar mi j = 0 daca si numai daca P- PL
PD PL
0.
D
Urmatoarele exemple ne arata ca, complexitatea FSD depinde de ordinea matricilor de
greutate si, in mod echivalent, de ordine variabilelor.
Exemplul 1: Sa consideram codul Silver [31] dat de: X = Xa(s1, s2) + TXb(z1, z2),
unde Xa si Xb iau structura Alamounti cu

1
Y
0

S$ 71 , 72

0
Z si 4W , W 5[
1

71
71

72
V, S6 W1 , W2
71

W1
W1

W2
V,
W1

\47] , 7^ 5[ , unde U este matricea unitate aleasa sa mareasca cel

1 D
1 2D
V.
1 2D
1 D
Lasam toate variabilele sa ia valori de la un set de semnale de cardinalitate M. Daca
ordonam variabilele (si prin urmare, matricile de greutate) ca [s1I, s1Q, s2I, s2Q, s3I, s3Q, s4I, s4Q],
atunci matricea R pentru SD are urmatoarea structura:
mai mic determinant si este data de catre: \

e
d0
c0
c
0
c
c0
c0
c0
b0

0
e
0
0
0
0
0
0

0
0
e
0
0
0
0
0

0 t
0 t
0 t
e t
0 t
0 0
0 0
0 0

t t t
t t ti
t t th
h
t t th
0 0 0h
t 0 0h
0 t 0h
0 0 tg

unde t reprezinta intrarile diferite de zero. Putem observa cu usurinta ca, codul Silver admite
decodare rapida cu aceasta ordonare cu complexitate FSD M5.Cu toate astea, daca schimbam
ordinea [s1I, s1Q, s4I, s2Q, s3I, s3Q, s2I, s4Q], atunci matricea R pentru SD are urmatoarea
structura:
e 0 t 0 t t 0 t
d0 e t 0 t t 0 t i
c0 0 t t t t t 0 h
c
h
0 0 0 t t t t th
c
a
c0 0 0 0 t t t t h
c0 0 0 0 0 t t t h
c0 0 0 0 0 0 t t h
b0 0 0 0 0 0 0 t g
6

unde t reprezinta intrarile diferite de zero. In aceasta ordinde complexitatea FSD creste la M7.
De asemenea observam ca avem multe intrari ri j 0 chiar si atunci cand matricile de greutate
HR de ordinul i si j sunt ortogonale, cum ar fi in cazurile cand i = 6, j = 8 si i = 5, j = 8.
Continutul acestei lucrari are urmatoarele rezultate:
Ne da o definiie oficial a complexitii FSD a unui cod liniar CBST (subseciunea
II-B.)
Cu ajutorul formei patratice Hurwitz-Radon, se arat c complexitatea FSD a codului
depinde doar de matricele de greutate ale codului i ordonarea lor, nu si de natura
canalului (chiar dac atunci cand utilizam SD pe un canal echivalent, complexitatea
FSD depinde de natura canalului) sau numrul antenelor de receptie.
O ordonare optim (nu neaprat unica) a matricelor de greutate ofer cea mai mica
complexitate FSD pentru un anumit CBST. Oferim un algoritm pentru aplicabil
matricei formei patratice Hurwitz-Radon care produce o ordonare optim pentru cod
CBST dat.
Restul lucrrii este organizat dup cum urmeaz: n seciunea a II- sunt date clasele cunoscute
de coduri de decodare ML pentru reducerea complexitatii, modelul de sistem i definiia
oficial a complexitii FSD a unui CBST liniar. n Seciunea III, se arat c complexitatea
FSD depinde n totalitate de HRQF i nu de natura canalului sau numrul de antene de
recepie. n seciunea IV, vom prezenta un algoritm pentru a modifica matricea HRQF pentru
a obine o ordonare optim a matricelor de greutate in scopul de a obine complexitatea FSD
cea mai mica. In seciunea V sunt prezentate rezultatele simulrii sunt iar observaiile finale i
posibilele viitoare direcii de lucru sunt precizate in seciunea VI.
Notatii: Pe parcursul lucrrii, am folosit litere mici si ingrosate pentru a indica vectorii
si majuscule ingrosate pentru a indica matrici. Pentru o variabil complex x, prile reale i
imaginare sunt notate cu xI respectiv xQ. Multimile numerelor ntregi, reale i complexe sunt
notate cu , I respectiv . Operatia de asezare a coloanelor de X unele sub altele se noteaz
cu vec(X). Produsul Kronecker se noteaz cu iar cu IT i OT matricea T T , matrice
unitate respectiv matricea zero. Pentru o variabil complex x, operatorul (.) ce acioneaz
asupra x este definit dup cum urmeaz:
l T

V.

Operatorul . poate fi aplicat in mod similar oricarei matrici Cq inlocuind fiecare


s
intrare xi j cu l- D , - = 1,2, ; (, D = 1,2, , 8; rezultand intr-o matrice definita de G
2(28 . Rezultand un vector compex x = [x1, x2, ..., xn]T, u este definit ca u
v

1n , 1# , , (n , (# w

II. MODELUL SISTEMULUI SI DEFINITIA COMPLEXITATII FSD


Pentru orice cod liniat CBST cu variabilele x1, x2, ...xk date de ecuatia (3), generatorul
yS
matricei G [17] este definit de catre :'9
zu , unde u 4 1 , 2 , , { 5x . In termenii
matricelor de greutate generatorul matricei poate fi scris ca fiind:
|

y , :'9
y :'9
y w.
v:'9

Asadar, pentru orice CBST, (1) putem scrie:


y}
:'9

y ,
:'9

~' u

s z, si u = 4 1 , 2 , , { 5 , avand fiecare xi
unde ~' I2(* 2() p{ este dat de ~'
() ~
extras dintr-o modulatie (PAM) 1-dimensionala. Folosind modelul echivalent de mai jos
decodorul ML (2) poate fi scris ca fiind:

y}
||:'9

~ ||2

Folosind descompunerea QR a ~' , obtinem ~'

a, unde I

C C p

ortogonala iar I
este o matrice triunghiulara superioara. Folosind aceste informatii,
decodorul ML se schimba in:
{p{

y}
||[ :'9

a||

||

a|| .

este o matrice

(5)

Daca avem ~' 41 2 { 5, unde - , - 1,2, , { sunt coloanele vectori, atunci


matricele Q si R au urmatoarea forma, obtinuta prin ortogonalizarea Gram-Schmidt:
4 5,
(6)
unde - , - 1,2, , { sunt coloanele vectori, si
a

unde

1 , 1

d
c
c
c
b

|| || ,
0
|| ||
0
0

0
0
iar pentru 1

, ]
, ]
||] ||

2, , {,

- 1

,
i
,
h
] , h,
h
|| || g

A D , - D , 1
D 1

(7)

A. Coduri cu complexitate redusa la decodare


n aceast seciune este prezentata o scurt descriere a unor coduri cunoscute cu
complexitate la decodare sczuta. Codurile descrise sunt coduri multi-grup, coduri ce pot
decoda rapid i coduri grup cu decodare rapida.
n cazul unui cod multi-grup decodabil CBST, variabilele pot fi mprite n grupuri
astfel nct valorile decodoare ML sunt impartite n subvalori astfel nct doar membrii
aceluiai grup trebuie decodificat in comun. Acesta poate fi definit dup cum urmeaz [14],
[9], [16].
Definitia 3: Un CBST este decodabil in g-grup daca exista partitii de {1,2, ..., K} in g
L
submultimi nevide 1 , 2 , , g astfe incat P1 PL
8 + P1 P8 = 0, pentru oricare 1 . si oricare
8 . , i j.
In cazul codurilor decodabile multi-grup, daca grupam toate variabilele grupului in (5),
atunci matricea R pentru SD [32], [33] vom avea:

a=

(8)

unde - , - = 1,2, , matrice triungiulara superioara patratica.


Acum, consideram standardul SD a unui CBST. Sa presupunem ca matricea R definita
la (7) s-a dovedit a fi in astfel incat, atunci cand fixam valori pentru un set de simboluri, restul
simbolurilor devin un grup decodabil, atunci spunem ca, codul este rapid decodabil. Acest
lucru este definit in cele ce urmeaz:
Definitia 4: Spunem ca un CBST este rapid decodabil SD, daca in el exista partitii
de {1,2, ..., L} unde L K in g submultimi nevide 1 , 2 , , g astfe incat i , j = 0 i < j ,
pentru orice - . si D . , p q, unde i si j sunt obtinute din descompunerea QR a matricei
canalului echivalent ~' = 41 2 { ] = QR avand - , - 1,2, , { reprezentand coloanele
vectori si = 4 ] avand - , - 1,2, , { reprezentand coloanele vectori, dupa cum
este definit in (6).
Astfel, prin condiionarea variabilelor K L, codul devine decodabil in g-grup. Ca un
caz special, atunci cnd nu este necesar conditionarea, adic, L = K, codul este decodabil ggrup. Matricea de coduri rapid decodabile R va avea urmtoarea form:
a=T

V,

(9)

unde este un bloc diagonal L L , o matrice triungiulara superioara, 2 este o matrice


triunghiara superioara patratica, iar 1 este o matrice rectangulara.
Codurile grup rapid decodabile au fost introduse n [28]. Aceste coduri combin
proprietile codurilor multi-grup decodabile i codurilor decodable rapide. Aceste coduri

permit cel puin uneia dintre grupele codurilor decodabile multi-grup s fie fasdecoded (rapid
de decodat) . Matricea R pentru un cod rapid decodabil in grup va avea forma de mai jos:
a

, (10)
a-

unde cel putin un a- , - = 1,2, , va avea urmatoarea forma:

a- = T

i i1
V,
0 i2

unde i este un bloc diagonal L L , o matrice triungiulara superioara, i2 este o matrice


triunghiara superioara patratica, iar i1este o matrice rectangulara.
Codurile bloc ortogonale introduse n [27] sunt o sub-clas a codurilor rapid
decodabile. Ele impun o structur suplimentar pe variabilele condiionate n aceste coduri.
Spunem ca un CBST este in bloca ortogonal dac matricea R a codului are structura:
a

a=

a
a

a
a

,
a-

unde fiecare un a- , - = 1,2, , este o matrice de ordin complet., un bloc ortogonal, o matrice
triunghiulara cu k blocuri \-1 \-2 \{ , fiecare de marimea avand matricile nevide -D , - =

1,2, , , D = 1,2, , . Un astfel de CBST este numit (, , ) Bloc Ortogonal CBST (en.=
Block Orthogonal STBC (BOSTBC)).
Structura matricei R pentru fiecare dintre codurile definite mai sus depinde de
ordonarea matricelor de greutate. Dac vom schimba ordinea matricelor de greutate, matricea
R isi pierde structura i nu mai prezint proprietile de decodare dorite. Codul Silver din
exemplul 1 ilustreaz acest aspect. n urmtoarea subseciune, vom da o definiie oficial a
complexitatea FSD.
B. Complexitatea FSD a unui cod CBST
n aceast seciune vom defini complexitatea FSD a unui cod CBST. n primul rnd
consideram un caz singular al decodarii unui grup i definim complexitatea FSD pentru o
anumita ordine a acestuia. Apoi vom extinde definiia unui CBST multi-grup decodabil.
Consideram C ca fiind un cod CBST cu matricea de greutate A1, ..., AK, unde toate variabilele
iau valori dintr-un set semnal de cardinalitate M si R matricea obinut prin descompunerea
QR folosita pentru SD. Pastram ordinea matricilor de greutate utilizate pentru a obine
matricea R ca fiind A1, ..., AK. Notm cu l1 numrul de variabile care trebuiesc condiionate,
atunci cnd vom folosi FSD pe matricea R.

10

Dup condiionarea variabilelor l1, lasam restul variabilelor sa fie p1-grup decodabil. n cazul
n care codul nu este rapid decodabil in sfer (en.= fast sphere decodablle), atunci stabilim
numrul total de variabile n matrice. Notam cu Ri1 submatricea ce conine variabilele
grupului al i1-lea dup condiionarea variabilelor l1 n matricea R i ni1 numrul de variabile
din grupul al i1-lea, unde 1 i1 p1. Putem folosi FSD pe fiecare dintre matricele Ri1 acum.
S notm cu l1,i1 numrul de variabile ce trebuieac condiionate, atunci cnd vom folosi FSD
pe matricea Ri1. Dup ce am pus conditiile asupra l1,i1, variabile n Ri1, lasa restul variabilelor
sa fie grup p1,i1 decodabil. Fie p2 = maxi1 (p1,i1). Notam cu Ri1,i2 submatricea ce contine
variabilele grupului al i2-lea dupa conditionarea variabilelor l1,i1, in matricea Ri1 si cu ni1,i2,
numarul variabilelor din grupul al i2-lea, unde 1 i2 p2. sE poate intampla ca p1,i1 < p2
pwntru anumiti i1. In astfel de cazuri vom stabili ni1,i2, = 0 pentru i2 > p1,i1. Vom continua
procesul pana cand nu vom mai putea aplica FSD. Acest proces se va termina din moment ce
exista un numar finit de variabile iar numarul variabilelor scade cu fiecare repetare a FSD.
Oprim procesul dupa repetari. In repetarea ( 1) avem urmatoarele: Notam cu l1,i1,i2, ..., i-1,
numarul variabilelor ce trenuiest conditionate, atunci cand folosim FSD pe matricea R i1,i2, ..., i1. Dupa conditionarea variabilelor cu l1,i1,i2, ..., i-1 in R i1,i2, ..., i-1 restul variabilelor din grupul
pi1,i2, ..., i-1 vor fi decodabile. & = 8$ -1,-2,,-1 &1.-1,-2,,-1 . Notam cu R i1,i2, ..., i-1
submatricea ce contine variabilele grupului decodabil i dupa conditionarea variabilelor l1,i1,i2,
..., i-1 in matricea R i1,i2, ..., i-1 si cu ni1,i2,...,i numarul de variabile din grupul i unde 1 i p.
In ultima repetare avdem: l1,i1,i2, ..., i = ni1,i2,...,i pentru 1 i p.
Avem: k1,i1,i2, ..., ij-1 = max(l1,i1,i2, ..., ij + k1,i1,i2, ..., ij) pentru 2 j , 1 ij pj si k1,i1,i2, ..., i
= 0 si k1 = maxi1(k1,i1).
Definitia 5: Definim complexitatea FSD a unuo singur grup decodabil CBST ce are o anumita
ordonare 11 +1 .
n cazul unui cod decodabil multi-grup cu g grupuri, matricea R va fi o matrice
diagonal bloc. Se calculeaz complexitatea FSD a fiecrui grup independent aa cum este
descris mai sus i se alege maximul dintre ele ca fiind complexitatea FSD a unui cod CBST.
Definitia 6: Definim compexitatea FSD a unui CBST decodabil multi-grup cu g
grupuri ca fiind 8$ - 11+1 , unde 1 i g.
Prezentam cateva exemple ce ilustraza complexitatea FSD.
Exemplul 2: Fie forma matrice R:
d
c
c
a = c
c
c
c
b

a11

0
0
0
0
0
0
0

a21

0
0
0
0
0
0

0
0

a33

0
0
0
0
0

0
0
0

a44

0
0
0
0

a15
a25
a35
a45
a55

0
0
0

a16
a26
a36
a46

a66

0
0

a17
a27
a37
a47

0
0

a77

a18
a28 i
h
a38
h
a48 h

0h
0h
0h
a88 g

Acum, daca folosim FSD pentru aceasta matrice, vom conditiona l1 = 4 variabile si vom obtine al
doilea grup decodabil. Avem:

11

a33 a34
a = Y 0 a Z.
44

a
a
Y 011 a12 Z,
22

Din moment ce numarul variabilelor fiecarei matrici de mai sus este 2, atunci avem (1 =
(2 = 2. Nu mai putem conditiona alte variabile. Deci, procesul s-a incheiat. Stabilim l1,1 = 2 si
l1,2 = 2. Rezulta:
1,1 = 1,2 = 0,
1 = max11,1 + 1,1 , 11,2 + 1,2 = 2.

Complexitatea FSD a acestui CBST pentru ordinea data este 11 +1 = 6 .


Exemplul 3: Fie matricea R :
d
c
c
c
c
a = c
c
c
c
c
b

a1,1
0
0
0
0
0
0
0
0
0

0
a2,2

a1,3
a2,3
a3,3

0
0
0
0

0
0
0
0

0
0
0
0

a1,4
a2,4
a3,4
a4,4
0
0

0
0
0

0
0
0
0

0
0
0

a5,5
0

0
0
0
0

0
0
0

0
0
a6,6

0
0
0
0

0
0
0
0
0
0
a7,7

0
0
0
0
a5,8
a6,8

a`,

0
0
0

a8,8

0
0

t
t
t
t
t
t

t
i
t
h
th
th
th
.
th

h
th
th
t th
0 tg
t
t

Daca folosim FSD pe aceasta matrice, vom conditiona l1 = 2 variabile si vom obtine al doilea
grup decodabil al codului.
a

d 1,1
0
a = cc
0
c
b 0

d 5,5
0
a = cc
0
c
b 0

0 a1,3
a2,2 a2,3
0 a3,3
0
0
0
0
a6,6 0
0 a7,7
0
0

a1,4
i
a2,4 h
,
a3,4 hh
a4,4 g
a5,7
i
a6,8 h
,
a7,8 hh
a8,8 g

Din moment ce numarul de variabile din fiecare fatrice de mai sus este 4, avem (1 = (2 = 4.
Acum daca folosim FSD pe a , putem conditiona l1,1 = 2 variabile si vom obtine al doilea
grup decodabil al codului.
a1,1 = 4, ],

a1,2 = 4

],

a2,1 = 4, ],
a2,2 = 4, ],
a2,3 = 4, ],
(1,1 = (1,2 = (2,1 = (2,2 = (2,3 = 1 si (1,3 = 0
12

Nu mai putem pune conditii variabilelor acestei matrici. Deci, procesul se incheie si se
stabileste:
11,1,1 11,1,2 11,2,1 11,2,2 11,2,3 1
Si avem:
1,1,1 1,1,2 1,2,1 1,2,2 1,2,3 0
1,2

1,1

max11,1,1

max11,2,1
1

1,1,1 , 11,1,2

1,2,1 , 11,2,2

max11,1

1,1,2

1,2,2 , 11,2,3

1,1 , 11,2

1,2

Complexitatea FSD a acestui cod pentru ordinea data este 11

1,2,3

3.

5 .

C. Importanta complexitatii FSD


Exponentul lui M in ceea ce priveste complexitatea FSD furnizeaz efectiv sfera
dimensionala a decodorului necesar pentru a decoda un singur cuvnt de cod dintr-un
CBST. n aceast seciune, vom evidenia de ce este importanta minimizarea complexitatii
FSD (al exponentului lui M) nu doar in ceea ce priveste cel mai ru caz de complexitate la
decodare a ML ci i din punct de vedere al mediei complexitatii de decodare.
Chiar i utilizand decodorul sfer(sphere decoder), exist o dependen intre
complexitatea de decodare ML pe ambele mrimi ale modulatieii M i K, unde K este
exponentul lui M n definitia complexitatii decodarii ML. Luam n considerare un CBSTL
(cod bloc spatio-temporal liniar), el avand cel mai mai grad de complexitate la decodare ML
. K-real, Un decodor sfer dimensional (dimensional sphere decoder) poate fi
folosit pentru decodarea ML acestui CBSTL. n [35] a fost aratat ca daca cel mai mare grad
de complexitate de decodare ML unui CBST este atunci mediea complexitatii de
decodare ML C folosind un un decodor 2K-dimensional in sfera real, este dat de C = f (K)
C(M, K), unde f(K) este numrul de operaii pe nod vizitat i este o funcie polinomial de K,
si este, n general ptratic n K, iar E , { care implic faptul c pentru orice . 0 ,

. {

E , { ,
{

unde 0,15 si depinde de valoarea lui M si de media SNR (raport semnal/zgomot) la


fiecare antena de receptie. In [36] a fost demonstrat ca {
4{
24{ 7. In [35] a fost
demonstrat ca valoarea este inversproportionala cu odata cu SNR. Pentru exemplifica acest
lucru s-a calculat ca pentru M = 16 si SNR = 30 dB, este aproximativ 0.1.
Pentru a vedea efectul de reducere a complexitii obinute ca urmare a decodarii in
sfera sphare decoding decodare, considerm un CBST cu cel mai inalt grad de
complexitate la decodare ML ^ . Un decodor 4-dimensional in sfer real poate fi folosit
pentru a decoda simbolurile de informaie din aceast CBST. Dac folosim o modulatie de 8PAM pentru acest CBST, cel mai ridicat grad de complexitate de decodare ML folosind o
13

cutare exhaustiv ar cere s se efectueze 84 = 4096 operaiuni de mutare a virgulei, n


cazul n care reprezint numrul de operaiuni de mutare a virgulei necesare pentru
efectuarea unei singure masuratori. Dar, prin folosirea unui decodor sfer, media
complexitatii de decodare in sfer la SNR = 30dB pentru 8-PAM este mai mic dect f (4)80.4
= (153) (2,29) 352 operaii pe cuvnt decodat. Astfel, la un SNR mare, media complexitatii
de decodare ML, folosind un decodor sfer, dei nc exponenial n K, este n mod clar mult
mai mica dect in cazul complexitatii mari la ML, iar decodorul sfer efectueaz mai repede
dect muli algoritmi de decodare care pretind au o complexitate care este polinom n K [35].
Este important de observat c cel mai mic exponent al lui M n expresia ce reda complexitatea
decodarii ML este media complexitatii de decodificare a unui CBST folosind decodorul sfer.
III. COMPLEXITATEA FSD SI HRQF
In aceasta sectiune vom demonstra ca matricea formei patratice HRQF este necesara
pentru a determina complexitatea FSD a unui cod CBST si mai apoi vom arata ca,
complexitatea FSD este independenta de natura matricei canalului sau de numarul antenelor
de receptie. Spre final, vom dovedi ca zerourile din matricea R ce determina complexitatea
FSD sunt aceleasi zerouri din matricea HRQR. Pentru inceput vom defini elementele ordonate
ale unei multimi.
Definitia 7: Numim elementele {a1, a2, ..., aK} din submultimea nevida g 1 , 2 , , g
cu cardinalele K1 , K2 , , Kg ,ca fiind o partitie ordonata daca { a1, ..., aK1 } , $ , , $

si tot asa, pana cand $

, , $

Lema 1: Comsideram un CBST E = ! P . Notam cu M matricea HRQF a CBST in care


exista o partitie ordonata a {1,2, ..., K} in multimea nevida g 1 , 2 , , g astfel incat, 8 B = 0 pentru

L
orice - si D , p q. Stim din [12] ca daca relatia P- PL
D + P- PD = 0 este satisfacuta

pentru anumiti i,j atunci coloanele corespund ortogonal in matricea ~' , ex: , B = 0. De

L
asemenea, stim ca 8 B = 0 daca si numai daca P- PL
D + P- PD = 0. Fie & = =1 , unde p =
&

1,2, ..., g si 0 = 0.
Pentru orice grup & , trebuie sa demonstram ca *-D = 0 pentru &1 + 1 - & si
& + 1 D {. Consideram primul grup . Avem 8 B = 0 pentru orice & + 1 - 1 si
1 + 1 D {. Trebuie sa demonstram ca matricea R are zero intrari in acelasi loc.
Demonstratia aceasta se face prin deductie.
Pentru oricare i = 1 si D 1 + 1,

1 , D =

1 , D = 0

din moment ce 1 = 1 . Acum, 1 , D = 0 pentru toti l = i pentru orice i cum ar fi 1

- . Avem:

1 , D =

-1

- A1 , - 1 D =
1=1

14

-1

- , D A1 , - 1 D = 0
1=1

din moment ce avem - , D = 0 deoarece ca 8 B = 0 si 1 , D = 0 pentru l < i, prin

deductie ipotetica. Asta dovedeste ca CBST este un un grup decodabil.

Acum, consideram grupul al p-lea . Sa presupunem ca deductia noastra este adevarata


pentru toate frupurile 1,2, ... p 1. Consideram *-D in &1 + 1 - & si & + 1 D {.
Atunci avem:
*-D 1 , D =

-1

- A1 , - 1 D =
1=1

-1

- , D A1 , - 1 D = 0
1=1

din moment ce avem - , D = 0 deoarece 8 B = 0 si 1 , D = 0 pentru l < i, prin deductie

ipotetica.

Observatia 1:
Exemplul 4: Consideram un cod ABBA dat in [19] (coduri ABBA o clasa de coduri
bloc spatio-temporele quasi-ortogonale)

+D ^
+D ]

) 0
) 0
0 )
0 )

0
0
,
)
)

S = T

+D ]
V,
+D ^

Unde - pentru i = 1,2,3,4. Acesta este un cod decodabil cu doua grupuri ce are F 1 , 2 H
apartinand unui grup si F 3 , 4 H apartinand celuilalt grup. Structura matricei M a HRQF si
matricea R sunt date mai jos cu avand [ 1 , 2 , 3 , 4 ] ca fiind ordinea variabilelor si matricele
de greutate,
)
)
=
0
0

) ) 0
0 ) 0
a=
0 0 )
0 0 0

0
0
,
)
)

unde cu t sunt notate intrarile diferite de 0. Dupa cum observam, partea superioara a matricei
triunghiulare M si matricea R, au aceeasi structura.
Acum mergem mai departe cate clasa codurilor raipd decodabile.
Lema 2: Consideram un CBST E = !

P . Notam cu M matricea HRQF a acestui CBST. Daca


exista o ordine in patitia {1,2, ..., L} unde L K in subsetul g 1 , 2 , , g astfel incat, 8 B = 0
pentru orice - si D , p q, atunci codul este rapid decodabil sau conditionat de grupul
decodabil g.
Dovada: Dovada provine din demonstratia Lemei 1 inlocuind K cu L. Acum luam in
considerare urmatorul exemplu pentru a demonstra lema de mai sus.

15

Exempul 5: Consideram codul Silver asa cum am mentionat in exemplul 1. Daca ordonam
variabilele (si prin urmare, matricele de greutate) in urmatorul mod [s1I, s1Q, s2I, s2Q, s3I, s3Q, s4I,

s4Q], atunci Matricea M a HRQR si matricea R vor avea urmatoarele structuri:

) 0
0 t
0 0
0 0

t t
t
t

t t
t t
)

0 t
0 0
0 0
a=
0 0
0 0
0 0
0 0

0 0 t
0 0 t
t 0 t
0 t t
t t t
t t 0
t t 0
t t 0

0 0 t
0 0 t
t 0 t
0 t t
0 0 t
0 0 0
0 0 0
0 0 0

t
t
t
t

t
t
t
t

0 0
t 0
0 t
0 0
t
t
t
t

t
t
t
t

0 0
t 0
0 t
0 0

t
t
t
t

,
0
0
0
t

t
t
t
t

,
0
0
0
t

Unde unde cu t sunt notate intrarile diferite de 0. Dupa cum observam, partea superioara a
matricei triunghiulare M si matricea R, au o structura care admite decodare rapida si care este
condiionata de al 4-grup decodabil dac se consider ca fiind matricea R .
Acum consideram un exemplu de cod FGD (fast group decodable) - cod grup raspid
decodabil.
Exemplul 6: Consideram un CBST [28] dat in relatia (11).
Pastram ordinea variabilelor (si matricele de greutatate) sa fie [s1, s2, ..., s17]. Acest CBST este
decodabil in doua grupuri cu s1 in unul din grupuri si cu [s2, s3,..., s17]. Matricea M HRQFsi
matricea R sunt date in (12) si (13), unde notam cu t intrarile ce sunt diferite de zero.

16

)
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0

)
0
0
0
0
0
0
0
= 0
0
0
0
0
0
0

0
0

0
)
0
0
0
0
)
)
0
0
0
0
)
)
)
)
)

0
)
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
)
0
0
0
)
0
)
)
)

0
0
t
0
t
t
0
0
)
0
0
0
0
0
0
0
0

0
0
0
0
0
0

0
0
0
)
0
0
0
)
)
)

0
t

0
0
0
0
)
0
)
)
)
0

t
t

t 0
0 0
0 t
t t
t 0
0
0
0
)
0
0
0
0
0
0

0
0
0
0
)
0
0
0
0
0

0 0
0 0
0 0
0 0
0 0
0 0
0 0

0
0
0
0
0
)
0
0
0
)
)
)
)
)
)
)
0
0
0
0
0
0
)
0
0
0
0
0
0
0
0
0
0
0

0
)
)
0
)
0
)
0
0
)

0
t
t
0

0
t
0
0
)
)
0
)
0
)
0
0
0

0
0
0
0

0
0
0

0
)
0
)
)
0
0
)
0
)
t
0
0
t
0

t
0
0
)
0
)
)
0
0
)
0
0
0
0
0
0
0

0
0

0
0
)
)
)
0
0
0
)
0
0
0
)
)
)
)
0
0
0
)
)
)
0
0
0
)
0
0
0
0
0
0
0
0

0
0
)
)
0
)
)
)
0
)
0
0
0
0
)
)
0
0
0
)
)
0
)
)
)
0
)
0
0
0
0
0
0
0

0
0
)
0
)
)
0
)
0
0
)
0
)
0
0
)
)

0
0
)
0
)
)
0
)
0
0
)
0
0
0
0
0
0

0
0
0
)
)
)
)
0
0
0
0
)
0
)
0
)
)
0
0
0
)
)
)
)
0
0
0
0
)
0
0
0
0
0

0
)
0
)
0
)
)
0
)
0
)
0
)
0

0
)
)
0
0
)
0
)
)
0
0
t
0
t

0
)
0
0
)
)
0
0
)
)
0
0
0
0

0
)
)
)
)
)
)
)
)
)
t
t
t
t

0
)
0
)
0
)
)
0
)
0
)
0
)
0

0
)
)
0
0
)
0
)
)
0
0
t
0
t

0
)
0
0
)
)
0
0
)
)
0
0
0
0

0
)
)
)
)
)
)
)
)
)
t
t
t
t

0 0
)

0 0

0 0
)

0 0

t
t
t

t
t
t

t
t
t

t
t
t

0
)
)
)
0
0
0
0
0,
0
)
)
0
0
)
)

(12)

0
)
)
)
0
0
0
0
0,
0
)
)
0
0
)
)

(13)

Cum am observat din Lema 1, complexitatea CBST depinde ndoar de matricea M HRQF nu
de matricea ~' , de exemplu complexitatea FSD depinde de matricea canalului si de numarul
antenelur de receptie. Aceasta poate fi complet capturata intr-o singura matrice obtinuta din
setul de matrici de greutate si din ordinea acestora.
Observatia 2: Matricea HRQF nu surprinde cazul bloc CBST ortogonale. A fost aratat
in [27] i [37] ca ortogonalitatea bloc a unui CBST depinde nu numai de ortogonalitatea
Hurwitz-Radon a matricelor de greutate, ci si de intrrile matrice R, care sunt dependente de
matricele de greutate anterioare din ordonare. Prin urmare, o structur ortogonal bloc a unei
matrici HRQF este necesara pentru ca un CBST s fie un CBSTOB, dar nu este suficient.

17

G
7

D7
D7 D7 D7
7` D7 7 ] D7 ^
7] D7^ 7
D7
7 D7 7 D7

7` D7 7 ] D7 ^
D7
D7 D7 D7
7 D7 7 D7
7] D7^ 7
D7

7] D7^ 7
D7
7 D7 7 D7
D7
D7 D7 D7
7` D7 7 ] D7 ^

7 D7 7 D7
7] D7^ 7
D7

7` D7 7 ] D7 ^
D7
D7 D7 D7 `

(11)

IV. ALGORITM PENTRU DETERMINAREA CELEI MAI BUNE ORDONARI A


MARICELOR DE GREUTATE
Asa cum se remarca in Exemplul 1, ordonarea matricelor de greutate determina
complexitatea FSD a unui cod bloc spatio-temporal (CBST). Asadar, pentru orice CBST dat,
definim o ordonare optima a matricelor de greutate dupa cum urmeaza.
Definitia 8: Pentru un CBST C, o ordonare a matricelor de greutate care da cea mai
mica complexitate FSD este cunoscuta drept o ordonare optima.
Este important de observat ca ordonarea optima nu este neaparat unica. Pot exista
ordonari multiple care dau aceeasi complexitate FSD mica. Oricare dintre ele poate fi aleasa
ca ordonare optima. In aceasta sectiune prezentam un algoritm care utilizeaza matricea HRQF
ca intrare si o manipuleaza cu scopul de a obtine o ordonare optima a matricelor de greutate
pentru orice CBST dat.
Am observat ca matricea HRQF determina in totalitate complexitatea FSD a unui
CBST. Utilizam permutarile de rand si coloana ale matricei HRQF cu scopul de a determina
schimbarea complexitatii FSD prin schimbarea de ordine. Randurile si coloanele matricei
HRQF se afla in corespondenta unu la unu cu ordonarea matricelor de greutate. Prin urmare,
daca schimbam ordonarea matricelor de greutate, matricea HRQF se va schimba si ea
corespunzator, si vice versa. De exemplu, orice transpozitie in ordonarea matricelor de
greutate va rezulta in schimbarea corespunzatoare a randurilor si coloanelor matricei HRQF
(deoarece matricea HRQF este simetrica).
Nota 3: A se observa faptul ca noi nu putem realiza o astfel de manipulare a matricei
R, deoarece aceasta depinde nu doar de ordinea matricelor de greutate, ci si de canalul
matricei. De asemenea, toate intrarile matricei R nu prezinta si ortogonalitatea HR a
matricelor de greutate, de exemplu intrarea a (i,j)-a a matricei nu poate fi zero chiar daca
matricele de greutate a i-a si a j-a sunt ortogonale HR. Asadar, matricea R trebuie sa fie
calculata de fiecare data cand ordonarea matricelor de greutate este schimbata, ceea ce nu are
loc si in cazul matricei HRQF.
O proprietate structurala importanta a matricei HRQF: Inainte de a cerceta dovada
corectitudinii algoritmului, haideti sa facem cateva observatii referitoare la structura matricei
HRQF pentru diferite scenarii de decodare. Fie C un CBST cu matricele de greutate 1 , ,
si cu variabilele corespunzatoare 1 , , . Codul C poate fi decodabil multi-grup, rapiddecodabil, decodabil rapid in grup sau niciuna dintre aceste variante. Structura portiunii
triunghiulare superioare a matricei HRQF pentru primele trei dintre acestea este prezentata in
ecuatiile (8), (9) si, respectiv (10). In cazul in care codul nu permite niciuna din aceste forme
18

de decodare, orice ordonare a variabilelor nu va reduce complexitatea FSD a CBST. Fie o


ordonare optima a variabilelor asa cum este prezentat in Figura 1. Fara a se pierde
generalitatea, fie 1 prima variabila a acestei ordonari. Independent de tipul de decodare
furnizat de cod, observam ca toate variabilele care trebuie sa fie decodate impreuna cu 1 sunt
adiacente lui in matricea HRQF. Acest set este notat 1 . Acestea sunt urmate de un set de
zerouri care indica toate variabilele care sunt ortogonale Hurwitz-Radon cu setul anterior.
Acest set este notat 2 . Acestea sunt urmate in continuare de variabilele care trebuie sa fie
conditionate pentru a obtine aceasta structura decodabila in grup notat de setul E . In cazul
codurilor decodabile multi-grup, acesta este un set nul. Ideea algoritmului este de a separa
intrarea ordonarii variabilelor in aceste seturi pentru a atinge cea mai mica complexitate FSD.

Figura 1. Prezentarea seturilor intr-o matrice HRQF/R ordonata optim


Notiuni si operatii folosite in algortim: In acesta sectiune vom defini notatiile si operatiile
utilizate in algoritm in termeni de operatii realizate pe matricea HRQF. Pentru orice vector :,
notam cu : -: D elementele de la pozitia a i-a pana la pozitia a j-a din vector. Notam cu
conditia de ortogonalitate Hurwitz-Radon.

Mutarea variabilelor in cadrul ordonarii: Orice mutare in cadrul ordonarii variabilelor


este sinonima cu mutarea coresponzatoare a randurilor si apoi a coloanelor matricei
HRQF. Variabila 9*J'* este actualizata corespunzator.
71 2, unde 71 este un element si 2 este un vector set /: Elementul 71 se presupune
ca este ortogonal Hurwitz-Radon cu setul 2 daca exista zerouri in a 71 -a coloana a
matricei HRQF pentru toate randurile -, unde - .
Mutarea unui element in 1 Sa presupunem ca al p-lea element din ordinea curenta
trebuie sa fie mutat in 1 ; mutam a p-a coloana in locul coloanei a |1 | 1 -a,
deplasand celelalte coloane la dreapta si apoi mutam randul al p-lea in locul randului
al |1 | 1 -lea, deplasand celelalte randuri in jos. Variabila 9*J'* este actualizata
corespunzator.
Mutarea unui element in E Sa presupunem ca al p-lea element din ordinea curenta
trebuie mutat in E ; mutam a p-a coloana in locul ultimei coloane, deplasand celelalte
19

coloane la stanga si apoi mutam randul al p-lea in locul ultimului rand, deplasand
celelalte randuri in sus. Variabila 9*J'* este actualizata corespunzator.
Mutarea unui element in 2 nicio schimbare a ordonarii. Se vor schimba
corespunzator doar cardinalitatile lui 2 si ).

Algoritmul pentru a obtine cea mai buna ordonare posibila este dat de Algoritmul 1. O
diagrama a algoritmului este prezentata in Figura 2.

Intrare: Matricea HRQF - = 8 B , dimensiunea matricei HRQF { {, ordonarea intrarii


-*J'*

Iesire: Cea mai buna complexitate FSD posibila 6/E si ordonarea corespunzatoare acesteia
6*J'*
1
2
3
4
5
6
7

8
9
10
11
12
13
14
15
16
17
18
19
20
21

- procedure ')&)-8$1*J'* , {, -*J'*


- 9*J'* = -*J'*; 7*J'* = -*J'*
- 6/E = {
for - = 1 to { do
- = 9*J'* 1 ; = F H; = 9*J'* 2: { .
- Deplaseaza toate intrarile zero (( in numar) al primului rand de langa 8
- = 9*J'* 2: ( + 1 ; W*J'* = 9*J'*. W*J'* este folosit pentru a fiecarei
variabile zero oportunitatea de a fi prima variabila zero
for D = 1 to ( do
repeat
if 1 then
- muta urmatorul element in a 1 -a coloana care nu este cu dar cu
1 in
if + '7)' $7-) (-9-+( '1'8'() then
- muta 1 in
end
end
else
- muta 1 in
end
until ;
- 4 /E, *J'*] = ')&)-8$1*J'*

- 4 /E, *J'*] = ')&)-8$1*J'*


1: | + | .

| |, 9*J'* 1: | | .
| |, 9*J'* | |

22
- )/E | | 8$ F /E, /EH.
23
if 6/E > )/E then
24
- 6/E = )/E; 6*J'* = 9*J'*.
25
end
26
- Restabileste W*J'* ca 9*J'*. Mutare circulara 9*J'* 2: ( + 1 , de j ori.
27
end
28
- Restabileste 7*J'* ca 9*J'*. Mutare circulara 9*J'*, de i ori.
29 end

Algoritm 1: Algoritmul pentru obtinerea unei ordonari optimale a matricelor de greutate


')&)-8$1*J'*
20

Dovada corectitudinii: Fie o ordonare optima a variabilelor CBST. Fara a se pierde


generalitatea, putem presupune ca CBST este decodabil rapid prin ordonarea . Daca este fie
o decodare multi-grup, fie una rapida in grup, atunci acesta poate fi considerat un caz special
al codului decodabil rapid, fara variabile conditionate. Impartirea in trei seturi 1 , 2 si E
asa cum este prezentat in Figura 1.
Observatia 1: Acum, este suficient sa demonstram ca algoritmul considera o ordonare a
variabilelor care separa intrarea ordonarii in 1 , 2 si E , unde 1 este o permutare a 1 , 2
este o permutare a 2 si E este o permutare a E . Deoarece algoritmul ruleaza recursiv si pe
seturile 1 si 2 (vezi liniile 20, 21 ale algoritmului), este suficient sa avem 1 , iar 2 sa fie
permutari ale 1 si 2 .

Figura 2. Diagrama ce ilustreaza procedura de ordonare a variabilelor

21

Fara a se pierde generalitatea, fie 1 prima variabila a 1 si 2 prima variabila a 2 .


Algoritmul da fiecarei variabile sansa de a fi prima variabila (vezi liniile 2, 28 ale
algoritmului). Consideram interatia in care prima variabila este 1 . Deoarece 2 1 , setul de
zerouri deplasat dupa prima variabila il include pe 2 (vezi linia 6 a algoritmului). Algoritmul
da sansa tuturor zerourilor sa fie primul zero din acest set (vezi liniile 7, 26 ale algoritmului).
Consideram iteratia in care 2 este primul zero de dupa prima variabila. In acest moment,
seturile pentru impartire au urmatorele intrari: 1 = F 1 H, 2 = F H, ) 1 = 2 .

Acum toate variabilele care sunt ortogonale Hurwitz-Radon cu 2 , dar nu sunt ortogonale
Hurwitz-Radon cu 1 sunt mutate in 1 (vezi liniile 10-14 ale algoritmului). De aceea, am
obtinut un set 1 care este o permutare a 1 . Apoi, algoritmul adauga in 2 toate variabilele
care sunt ortogonale Hurwitz-Radon cu 2 (vezi liniile 16-18 ale algoritmului). Astfel,
obtinem un set 2 care este o permutare a setului 2 si E care este o permutare a setului E .

Submatricele seturilor 1 si 2 notate


si
sunt considerate acum noile matrice HRQF
1
2
si sunt din nou trecute prin algoritm pentru inca o ordonare a variabilelor (vezi liniile 20, 21
ale algoritmului). Complexitatea FSD a ordonarii luate in considerare este calculata in cadrul
liniei 21 a algoritmului. Ordonarea optima a variabilelor si complexitatea FSD optima a
codului sunt actualizate daca ordonarea considerata este mai buna decat orice alta ordonare
anterioara considerata (vezi liniile 23-25 ale algoritmului).
De aceea, am demonstrat ca algoritmul considera o ordonare a variabilelor care separa
intrarile ordonarii in 1 , 2 si E , unde 1 este o permutare a 1 , 2 este o permutare a 2 si
E este o permutare a E si este o ordonare optima a variabilelor.
Nota 4: Deoarece algoritmul ordoneaza recursiv fiecare set, acesta este capabil sa ordoneze
variabilele chiar si in scenarii in care fiecare grup obtinut prin conditionarea variabilelor
permite decodare conditionala.

Nota 5: Variabilele setului E pot fi trecute de asemenea prin algoritm pentru o alta decodare.
Acest lucru este util pentru a grupa variabilele intr-o structura tip bloc ortogonal. Totusi,
aceasta operatie nu garanteaza ortogonalitatea bloc a matricei R.

Vom prezenta acum functionarea algoritmului printr-un exemplu.


Exemplul 7: Considerati codul Silver prezentat in Exemplul 1. Daca ordonam variabilele ca
v71n , 74n , 74# , 72# , 73# , 73n , 72n , 71# w, obtinem urmatoarele matrice HRQF si R pentru aceasta
ordonare:
)
d)
c)
c
0
=c
c)
c)
c0
b0

) ) 0
) 0 )
0 ) )
) ) )
0 0 )
0 0 )
) ) 0
) ) 0

) )
0 0
0 0
) )
) 0
0 )
) )
) )

0 0
)
i
d
) )
0
c0
) )h
h
c
0 0h
0
;a=c
) )h
c0
) )h
c0
h
c0
) 0
g
b0
0 )
22

)
)
0
0
0
0
0
0

)
)
)
0
0
0
0
0

0 ) )
) ) )
) ) )
) ) )
0 ) )
0 0 )
0 0 0
0 0 0

0 0
) )i
) )h
h
) )h
.
) )h
) )h
) 0h
0 )g

Complexitatea FSD pentru aceasta ordonare este 8 iar aceasta ordonare nu permite si
decodare rapida.

Atunci cand rulam algoritmul pe o matrice HRQF data, se formeaza cele doua seturi 1 si
2 , care sunt ortogonale HR una cu cealalta. In acest caz, 2 = 72# , 72n , 71# si 1 = F71n H.
Variabilele conditionate vor fi prezentate in setul E = 74n , 74# , 73# , 73n . Matricea HRQF in
aceasta etapa este data de (14). Ordonarea variabilelor la sfarsitul acestei etape este
Y71n , 72# , 72n , 71# , 74n , 74# , 73# , 73n Z. Acum variabilele ambelor seturi 1 si 2 sunt din nou

rulate prin algoritm. Asadar, matricea 1 1 din stanga sus si urmatoarea matrice de bloc
diagonal 3 3 sunt introduse in algoritm. Deoarece aceasta este deja cea mai buna ordonare
posibila a acestor seturi, matricea M ramane neschimbata dupa aceasta etapa. Iar ordonarea
finala este Y71n , 72# , 72n , 71# , 74n , 74# , 73# , 73n Z. Matricea R pentru aceasta ordonare este data de

(15).

) 0
d0 )
c0 0
c
0 0
=c
c) )
c) )
c) )
b) )
)
d0
c0
c
0
a=c
c0
c0
c0
b0

0
)
0
0
0
0
0
0

0 0
0 0
) 0
0 )
) )
) )
) )
) )

0
0
)
0
0
0
0
0

0
0
0
)
0
0
0
0

) ) )
) ) )
) ) )
) ) )
) 0 0
0 ) 0
0 0 )
0 0 0

) ) )
) ) )
) ) )
) ) )
) 0 0
0 ) 0
0 0 )
0 0 0

)
)i
)h
h
)h
0h
0h
0h
)g

)
)i
)h
h
)h
0h
0h
0h
)g

(14)

(15)

Complexitatea FSD pentru aceasta matrice R este 5 , fiind cea mai buna complexitate
posibila pentru codul Silver.
Figura 3 prezinta rezultatul algoritmului pentru coduri multiple cu o ordonare aleatorie a
intrarii.
V. REZULTATELE SIMULARII
In toate scenariile de simulare din cadrul acestei sectiuni, am considerat canale Rayleigh
quasi-stadice plate descrescatoare, iar canalul informational de stare (CIS) este cunoscut de
receptor. Desenam numarul total de operatii cu virgula mobila (FLOPS) realizate de
decodorul sferic pentru decodarea unui cod la diferite SNR, pentru diferite ordonari ale
variabilelor celor trei coduri separate. Figura 4 prezinta numarul total de FLOPS vs SNR
pentru trei coduri, si anume codul Silver [31], codul 2 2 Srinath-Rajan [18] si codul
neechilibrat 2 2 de la [13]. S-a presupus ca variabilele vor lua valori dintr-o modulatie 423

QAM. Liniile continue din desen reprezinta numarul de FLOPS necesare in cazul in care
aceste coduri sunt decodate cu ordinea intrarii descrisa in Figura 3. Liniile punctate din desen
prezinta numarul de FLOPS necesare atunci cand aceste coduri sunt decodate cu o ordonare
optima asa cum genereaza Algoritmul 1. Se poate observa usor ca numarul de FLOPS scade
drastic atunci cand codurile sunt decodate cu o ordonare optima fata de cazul in care este
folosita o ordonare aleatorie.
VI. CONCLUZII SI LUCRARI VIITOARE
In aceasta lucrare am analizat complexitatea FSD a unui CBST utilizand forme patrate.
Am demonstrat ca matricea HRQF categoriseste complexitatea FSD a unui CBST si, de
aceea, este independenta de canalul si numarul de antene primite. Am furnizat un algortim
pentru obtinerea unei ordonari optime a matricelor de greutate cu scopul de a avea cea mai
buna performanta FSD a codului.
Formele patrate au fost folosite in aceasta lucrare pentru a categorisi complexitatea de
decodare a unui CBST si, au fost utilizate si anterior in literatura cu scopul de a determina
intreaga diversitate a algebrelor Quaternion sau Biquaternion. Aceasta abordare poate fi
folosita si in explorarea altor aspecte ale CBST, precum informatii pierdute sau castigul
obtinut prin codare. De asemenea, HRQF se concentreaza pe complexitatea FSD a unui
CBST. Ordonarea generata de algoritm este o ordonare optima pentru complexitatea FSD si
nu pentru complexitatea media a decodarii. O ordonare diferita sau modificari ulterioare ale
ordonarii curente pot fi necesare pentru a obtine cea mai buna performanta de decodare a
codului.
Complexitate
FSD pentru
Tipul de
Cod
Ordinea
cod
iesirilor
CBST
71n , 72# , 72n , 71# ,
Cod Silver 71n , 74n , 74# , 72# ,
8
5
decodabil

73# , 73n , 72n , 71#


74n , 74# , 73# , 73n
[31]
rapid
CBST
72 , , 78 ,
Cod FGD
decodabil
72 , , 710 , 71 ,
13
12
713 , , 716 ,

711 , , 717
rapid in
[28]
79 , , 712 , 71
grup
CBST
Cod ABBA
decodabil
71 , 73 , 72 , 74
3
2
71 , 72 , 73 , 74

[34]
multigrup
CBST
71n , 71# , 72# , 72n ,
codul 2 p 2 71n , 74n , 74# , 72# ,
8
6
decodabil

73# , 73n , 72n , 71#


de la [18]
74n , 74# , 73# , 73n ,
rapid
Cod
Cod
neechilibrat
decodabil
75 , 72 , 71 , 74 , 73
72 , 74 , 73 , 75 , 71
2
5
rapid in
2 p 2 de la
grup
[13]
Figura 3. Rezultatul Algoritmului 1 pentru diferite tipuri de coduri si ordonari ale intrarilor
Ordinea
intrarilor

Complexitate
FSD pentru
Ordinea
Ordinea
iesirilor
intrarilor

24

Figura 4. FLOPS vs. SNR pentru diferite tipuri de coduri si ordonari


MULTUMIRI
Autorii doresc sa multumeasca recenzorilor anonimi pentru observatiile lor constructive
care au ajutat la imbunatatirea calitatii acestei lucrari.
REFERINTE
[1] B. Hassibi and B. Hochwald, High-rate codes that are linear in space and time, IEEE
Trans. Inf. Theory, vol. 48, no. 7, pp. 18041824, July 2002.
[2] S. M. Alamouti, A simple transmit diversity technique for wireless communications,
IEEE J. Sel. Areas Commun., vol. 16, no. 8, pp. 14511458, Oct. 1998.
[3] V. Tarokh, H. Jafarkhani, and A. R. Calderbank, Space-time block codes from
orthogonal designs, IEEE Trans. Inf. Theory, vol. 45, no. 5, pp. 14561467, July 1999.
[4] O. Tirkkonen and A. Hottinen, Square-matrix embeddable space-time block codes for
complex signal constellations, IEEE Trans. Inf. Theory, vol. 48, no. 2, pp. 384395, Feb.
2002.
[5] H. Jafarkhani, A quasi-orthogonal space-time block code, IEEE Trans. Commun., vol.
49, no. 1, pp. 14, Jan. 2001.
[6] W. Su and X.-G.Xia, Signal constellations for quasi-orthogonal space time block codes
with full diversity, IEEE Trans. Inf. Theory, vol. 50, no. 10, pp. 23312347, Oct. 2004.
[7] N. Sharma and C. B. Papadias, Improved quasi-orthogonal codes through constellation
rotation, IEEE Trans. Commun., vol. 51, no. 3, pp. 332335, Mar. 2003.

25

[8] C. Yuen, Y. L. Guan, and T. T. Tjhung, Quasi-orthogonal STBC with minimum


decoding complexity, IEEE Trans. Wireless Commun., vol. 4, no. 5, pp. 20892094, Sept.
2005.
[9] M. Z. A. Khan and B. S. Rajan, Single-symbol maximum-likelihood decodable linear
STBCs, IEEE Trans. Inf. Theory, vol. 52, no. 5, pp. 20622091, May 2006.
[10] H. Wang, D. Wang, and X.-G. Xia, On optimal quasi-orthogonal space time block
codes with minimum decoding complexity, IEEE Trans. Inf. Theory, vol. 55, no. 3, pp.
11041130, Mar. 2009.
[11] C. Yuen, Y. L. Guan, and T. T. Tjhung, On the search for high-rate quasi-orthogonal
space-time block code, Int. J. Wireless Inf. Netw., vol. 13, no. 4, pp. 329340, Oct. 2006.
[12] D. N. Dao, C. Yuen, C. Tellambura, Y. L. Guan, and T. T. Tjhung, Four group
decodable space-time block codes, IEEE Trans. Signal Process., vol. 56, no. 1, pp. 424
430, Jan. 2008.
[13] T. P. Ren, Y. L. Guan, C. Yuen, E. Gunawan, and E. Y. Zhang, Group decodable
space-time block codes with code rate >1, IEEE Trans. Commun., vol. 59, no. 4, pp. 987
997, Apr. 2011.
[14] S. Karmakar and B. S. Rajan, High-rate, multi symbol-decodable STBCs from
Clifford algebras, IEEE Trans. Inf. Theory, vol. 55, no. 6, pp. 26822695, June 2009.
[15] S. Karmakar and B. S. Rajan, Multi-group decodable STBCs from Clifford algebras,
IEEE Trans. Inf. Theory, vol. 55, no. 1, pp. 223231, Jan. 2009.
[16] G. S. Rajan and B. S. Rajan, Multi-group ML decodable collocated and distributed
space-time block codes, IEEE Trans. Inf. Theory, vol. 56, no. 7, pp. 32213247, July 2010.
[17] E. Biglieri, Y. Hong, and E. Viterbo, On fast-decodable space-time block codes,
IEEE Trans. Inf. Theory, vol. 55, no. 2, pp. 524530, Feb. 2009.
[18] K. P. Srinath and B. S. Rajan, Low ML-decoding complexity, large coding gain, fullrate, full-diversity STBCs for 2 2 and 4 2 MIMO systems, IEEE J. Sel. Topics Signal
Process., vol. 3, no. 6, pp. 916927, Dec. 2009.
[19] J. Paredes, A. B. Gershman, and M. G.-Alkhansari, A new full-rate full-diversity
space-time block code with nonvanishing determinants and simplified maximum-likelihood
decoding, IEEE Trans. Signal Process., vol. 56, no. 6, pp. 24612469, June 2008.
[20] M. O. Sinnokrot and J. R. Barry, Fast maximum-likelihood decoding of the golden
code, IEEE Trans. Wireless Commun., vol. 9, no. 1, pp. 2631, Jan. 2010.
[21] F. Oggier, R. Vehkalahti, and C. Hollanti, Fast-decodable MIDO codes from crossed
product algebras, in Proc. 2010 IEEE Int. Symp. Inf. Theory, pp. 10801084.

26

[22] R. Vehkalahti, C. Hollanti, and J. Lahtonen, A family of cyclic division algebra based
fast-decodable 4 2 space-time block codes, in Proc. 2010 Int. Symp. Inf. Theory Appl.
[23] L. Luzzi and F. Oggier, A family of fast-decodable MIDO codes from crossed-product
algebras over Q, in Proc. 2011 IEEE Int. Symp. Inf. Theory, pp. 20302034.
[24] T. P. Ren, Y. L. Guan, C. Yuen, Y. Zhou, and E. Y. Zhang, Optimization of fastdecodable full-rate STBC with non-vanishing determinants,IEEE Trans. Commun., vol.
59, no. 8, pp. 20632069, Aug. 2011.
[25] R. Vehkalahti, C. Hollanti, and F. Oggier, Fast-decodable asymmetric space-time
codes from division algebras, IEEE Trans. Inf. Theory, vol. 58, no. 4, pp. 23622385, Apr.
2012.
[26] N. Markin and F. Oggier, Iterated space-time code constructions from cyclic
algebras, IEEE Trans. Inf. Theory, vol. 59, no. 9, pp. 59665979, Sept. 2013.
[27] T. P. Ren, Y. L. Guan, C. Yuen, and E. Y. Zhang, Block-orthogonal space-time code
structure and its impact on QRDM decoding complexity reduction, IEEE J. Sel. Topics
Signal Process., vol. 5, no. 8, pp. 14381450, Nov. 2011.
[28] T. P. Ren, Y. L. Guan, C. Yuen, and R. J. Shen, Fast-group-decodable space-time
block code, in Proc. 2010 IEEE Inf. Theory Workshop.
[29] T. Unger and N. Markin, Quadratic forms and space-time block codes from
generalized quaternion and biquaternion algebras, IEEE Trans. Inf. Theory, vol. 57, no. 9,
pp. 61486156, Sept. 2011.
[30] T. Y. Lam, Introduction to Quadratic Forms over Fields, Providence, RI: American
Mathematical Society, 2005, Graduate Studies in Mathematics no. 67.
[31] C. Hollanti, J. Lahtonen, K. Ranto, R. Vehkalahti, and E. Viterbo, On the algebraic
structure of the Silver code: a 2 x 2 perfect space-time code with non-vanishing
determinant, in Proc. 2008 IEEE Inf. Theory Workshop.
[32] E. Viterbo and J. Boutros, A universal lattice code decoder for fading channels, IEEE
Trans. Inf. Theory, vol. 45, no. 5, pp. 16391642, July 1999.
[33] O. Damen, A. Chkeif, and J. C. Belfiore, Lattice code decoder for space-time codes,
IEEE Commun. Lett., vol. 4, no. 5, pp. 161163, May 2000.
[34] O. Tirkkonen, A. Boariu, and A. Hottinen, Minimal non-orthogonality rate 1 spacetime block code for 3+ Tx antennas, in Proc. 2000 IEEE International Symp. SpreadSpectrum Techniques Applications, pp. 429432.
[35] J. Jalden and B. Ottersten, On the complexity of sphere decoding in digital
communications, IEEE Trans. Signal Process., vol. 53, no. 4, pp. 14741484, Apr. 2005.

27

[36] U. Fincke and M. Pohst, Improved methods for calculating vectors of short length in a
lattice, including a complexity analysis, Mathematics Computation, vol. 44, no. 170, pp.
463471, Apr. 1985.
[37] G. R. Jithamithra and B. S. Rajan, Construction of block orthogonal STBCs and
reducing their sphere decoding complexity, in Proc. 2013 IEEE Wireless Commun. Netw.
Conf.

28