Sunteți pe pagina 1din 28

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:
Y =HX + N ,

(1)

unde H C n xn este canalul matricei iar N C n xT este zgomotul agaugat. Ambele H si


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

M ( X )=|Y H X| 2

(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 ( A=x 1 , x 2 , , x k )= x i Ai
i=1

(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
K
corectie a erorilor acestui cod este simbolul complexitatii pe canalul utilizat
.
2T
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
3

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.

Q ( a v )=a2 Q ( v ) p e ntru t o ti v F .
1
Pl anul B ( v , w )= [ Q ( v +w )Q ( v )Q ( w ) ]
2
e b i liniar s i metric p e ntru t o ate v , w V .

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:
n

Q ( v )=Q(v 1 , v 2 , , v n )= mi , j vi v j
i , j=1

pentru toti v = [v1, ..., vn] V. Din moment ce putem asocia matricea M =(
patratica Q(v) = vMvT.

m i j ) cu forma

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


K

C={X = x i A i }

ce apartine multimii numerelor reale

R , spre exempu Q : C

i=1

este dat de: (4)


Q ( X )=

1 i j K

xi x j di j
2

unde X este un element al CBST iar

.
H
H
d i j= Ai A j + A j A i

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


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

Q ( a X )= a x i a x j d i j=a
i, j

x i x j di j=a 2 Q ( X ) .
i, j

si
Q ( X +Y )Q ( X ) Q(Y )
1
B ( X , Y )=
2
K

trebuie sa fie simetrice si biliniare in

X = xi Ai
i=1

subtituind, rezulta:

si

Y = x y i A i . Simplificand si
i=1

x i y i d ii +(x i y j+ x j y i ) di j
[].
1
B ( X , Y )=
2 i, j
Se poate observa ca planul este biliniar si simetric.
Putem asocia matricea cu forma patratica Hurwitz-Radon. Daca definim matricea M
=( m i j ) 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 A i A Hj + A j A Hi =0 .
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
X a ( s1 , s 2) =

s1 s2
s1 s 1

X b ( z 1 , z 2 )=

z1 z 2
z1 z 1

z1 , z2

T= 1 0
si s3 , s 4 , unde U este matricea unitate aleasa sa mareasca cel mai mic
0 1

1 1+ j 1+ 2 j
determinant si este data de catre: U=
.
7 1+ 2 j 1 j
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:

t
0
0
0
R=
0
0
0
0

0
t
0
0
0
0
0
0

0
0
t
0
0
0
0
0

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

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:

t
0
0
0
R=
0
0
0
0

0
t
0
0
0
0
0
0

t
t
t
0
0
0
0
0

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

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 sec iunea a II- sunt date clasele cunoscute
de coduri de decodare ML pentru reducerea complexitatii, modelul de sistem i defini ia
oficial a complexitii FSD a unui CBST liniar. n Seciunea III, se ar at 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 r ezultatele 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 Z , R respectiv C . 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:
x x Q
x I
.
xQ x I

Operatorul ( . ) poate fi aplicat in mod similar oricarei matrici X C n m inlocuind fiecare


x i j ,i=1 , 2, ; n , j=1 , 2, , m ; rezultand intr-o matrice definita de
intrare xi j cu
2
n

2m
x este definit ca
. Rezultand un vector compex x = [x1, x2, ..., xn]T, ~
X R
T
~
x [ x1 I , x1 Q , , xn I , xnQ] .
6

II. MODELUL SISTEMULUI SI DEFINITIA COMPLEXITATII FSD


Pentru orice cod liniat CBST cu variabilele x1, x2, ...xk date de ecuatia (3), generatorul
~ ~
T
x=[ x 1 , x 2 , , x K ] . In
matricei G [17] este definit de catre
v e c( X )=G x , unde ~
termenii matricelor de greutate generatorul matricei poate fi scris ca fiind:
~
~~
G= v e c ( A1 ) , v e c ( A2 ) v e c ( A K ) .

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


~
~
v e c (Y )=H e q ~x+ v e c ( ) ,
G , si ~
x=[ x 1 , x 2 , , x K ] , avand fiecare
unde H e q R 2 n 2 n K este dat de H e q=(I n t H)
xi extras dintr-o modulatie (PAM) 1-dimensionala. Folosind modelul echivalent de mai jos
decodorul ML (2) poate fi scris ca fiind:
r

~
M (~
x )= v e c ( Y )H eq ~
x

Folosind descompunerea QR a H e q , obtinem H e q=Q R , unde Q R2 n 2 n K este o


matrice ortogonala iar R K K este o matrice triunghiulara superioara. Folosind aceste
informatii, decodorul ML se schimba in:
r

~
M (~
x )=QT v e c ( Y ) R ~
x2= y ' R ~x2 .

(5)

Daca avem H e q=[h 1 h2 h K ] , unde hi ,i 1, 2, , K sunt coloanele vectori, atunci


matricele Q si R au urmatoarea forma, obtinuta prin ortogonalizarea Gram-Schmidt:
Q=[q1 q2 q K ] ,
(6)
unde

qi , i 1,2, , K

sunt coloanele vectori, si

r 1 q 1 , h2
q1 , h3
0
r 2 q2 , h3
R=
0
0
r 3

0
0
0
r1
ia r pentru i=2 , , K ,
r 1

unde r 1=h 1 , q 1=
i1

r 1=h 1 q j ,h i q j , q1=
j=1

r1
r 1

q1 , h K
q2 , h K
q3 , h K

r K

(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
submultimi nevide 1 , 2 , , g astfe incat A l A Hm + A l AmH =0 , pentru oricare l i
si oricare m j , i j.
In cazul codurilor decodabile multi-grup, daca grupam toate variabilele grupului in (5),
atunci matricea R pentru SD [32], [33] vom avea:

1
R= 0

0
2

0
0

g

(8)

i , i=1 , 2, , g 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 , , g
{1,2, ..., L} unde L K in g submultimi nevide
astfe incat
q
,
h
=0(i<
j)
i

s
i
j

q
s
ih
, pentru orice
, p q, unde
sunt obtinute din
i j
p
p
i
j
H
=[h
h

h
]
descompunerea QR a matricei canalului echivalent
= QR avand
eq
1 2
K
hi ,i 1, 2, , K
Q=[q1 q2 q K ]
reprezentand coloanele vectori si
avand
qi , i 1,2, , K 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:
unde

R=

[ ]
B1
0 B2

(9)

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


triunghiara superioara patratica, iar B 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 decodabi le multi-grup s fie fasdecoded (rapid
de decodat) . Matricea R pentru un cod rapid decodabil in grup va avea forma de mai jos:

0
0

Rg

R1 0
R= 0 R2

0 0
unde cel putin un

Ri ,i=1 , 2, , g

, (10)

va avea urmatoarea forma:


Ri=

i Bi 1
0 Bi 2

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


matrice triunghiara superioara patratica, iar B i1 este 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:

R 1 R1 2
R= 0 R2

0
0

R1
R2

Rg

unde fiecare un Ri ,i=1 , 2, , este o matrice de ordin complet., un bloc ortogonal, o matrice
triunghiulara cu k blocuri U i 1 U i 2 U K , fiecare de marimea avand matricile nevide

B i j ,i=1 , 2, , , j=1 ,2, , . Un astfel de CBST este numit ( , k , ) 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 ob ine
matricea R ca fiind A1, ..., AK. Notm cu l1 numrul de variabile care trebuiesc condiionate,
atunci cnd vom folosi FSD pe matricea R.
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
9

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, ..., i-1. 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. p =ma x i1 , i 2,, i 1( p 1. i1 , i 2,, i 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 M l +k .
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 m a x i M l +k , unde 1 i g.
Prezentam cateva exemple ce ilustraza complexitatea FSD.
Exemplul 2: Fie forma matrice R:
1

a11 0
0
0
0 a21 0
0
0
0 a33 0
0
0
0 a44
R=
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

a15
a25
a35
a45
a55
0
0
0

a16
a26
a36
a46
0
a66
0
0

a17
a27
a37
a 47
0
0
a77
0

a 18
a 28
a 38
a 48
0
0
0
a 88

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

R 1=

a11 a12
0 a22

R 2=

a33 a 34
0 a 44

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

10

k 1=ma x ( l1, 1+ k 1,1 ,l 1,2 +k 1,2 )=2

Complexitatea FSD a acestui CBST pentru ordinea data este


Exemplul 3: Fie matricea R :

a1,1 0 a 1,3
0 a2,2 a 2,3
0
0 a 3,3
0
0
0
0
0
R= 0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

l 1+k 1

a 1,4 0
0
0
0
a 2,4 0
0
0
0
a 3,4 0
0
0
0
a 4,4 0
0
0
0
0 a5,5 0
0 a5,8
0
0 a6,6 0 a6,8
0
0
0 a7 ,7 a7 , 8
0
0
0
0 a8,8
0
0
0
0
0
0
0
0
0
0

=M

t
t
t
t
t
t
t
t
t
0

t
t
t
t
t
t
t
t
t
t

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

[
[

a1 ,1 0 a 1,3
0 a2,2 a 2,3
R 1=
0
0 a 3,3
0
0
0

a 1,4
a 2,4
a 3,4
a 4,4

a5,5 0
0
0 a6,6 0
R2=
0
0 a7,7
0
0
0

a5,7
a6,8
a7,8
a8,8

]
]

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

R1 ,2=[a2 ,2 ] ,

R2,1=[a5 ,5 ] ,
R2,2=[ a6 , 6 ] ,
R2,3=[a7 , 7 ] ,
n1,1=n1,2=n 2,1=n2, 2=n2,3 =1 si n1,3=0
Nu mai putem pune conditii variabilelor acestei matrici. Deci, procesul se incheie si se
stabileste:
l 1,1,1=l 1,1,2 =l1, 2,1=l 1 ,2 ,2 =l 1,2,3=1
Si avem:
k 1,1,1 =k 1,1,2 =k 1,2,1 =k 1,2,2 =k 1,2,3 =0
k 1 , 1=ma x ( l 1,1,1 +k 1,1,1 , l 1,1,2 +k 1,1,2 ) =1
11

k 1,2 =ma x ( l 1,2,1 +k 1,2,1 , l 1,2,2 +k 1,2,2 , l 1,2,3 +k 1,2,3 )=1


k 1=ma x ( l1, 1+ k 1,1 ,l 1,2 +k 1,2 )=3 .
Complexitatea FSD a acestui cod pentru ordinea data este

l 1+k 1

=M

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
O ( M K ) . 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 O ( M K ) 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 C ( M , K ) M care implic faptul c pentru orice
> 0 ,
M ( +) K C ( M , K ) M

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


fiecare antena de receptie. In [36] a fost demonstrat ca f ( K ) =4 K 2 +2 4 K 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 complexit ii obinute ca urmare a decodarii in
sfera sphare decoding decodare, considerm un CBST cu cel mai inalt grad de
complexitate la decodare ML O ( M 4 ) . Un decodor 4-dimensional in sfer real poate fi
folosit pentru a decoda simbolurile de informaie din aceast CBST. Dac folosim o modulatie
de 8-PAM pentru acest CBST, cel mai ridicat grad de complexitate de decodare ML folosind o
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
12

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 K 1 , K 2 , , K g ,ca fiind o partitie ordonata daca { a1, ..., aK1 }
a
, , a
g
,a
,,a

K 1+1

K 1+ K 2

si tot asa, pana cand

g1

K 1 +1

t =1

K1

t=1

Lema 1: Comsideram un CBST

C= x i Ai . Notam cu M matricea HRQF a CBST in


i=1

care exista o partitie ordonata a {1,2, ..., K} in multimea nevida g 1 , 2 , , g astfel incat,
mi j=0 pentru orice i p si
j q , p q. Stim din [12] ca daca relatia

A i A Hj + Ai A Hj =0 este satisfacuta pentru anumiti i,j atunci coloanele corespund ortogonal


in matricea H e q , ex: hi ,h j =0 . De asemenea, stim ca mi j=0 daca si numai daca
H
H
A i A j + Ai A j =0 . Fie

L p= | q| , unde p = 1,2, ..., g si

L0=0 .

q=1

Pentru orice grup p , trebuie sa demonstram ca r i j =0 pentru L p1+ 1 i L p


L
1 . Avem
mi j=0
si
Consideram primul grup
pentru orice
p +1 j K .
L p +1 i L1 si L1+1 j K . Trebuie sa demonstram ca matricea R are zero intrari in
acelasi loc. Demonstratia aceasta se face prin deductie.
Pentru oricare i = 1 si

q1 , h j =

j L1 +1 ,

1
h , h =0
h1 1 j

din moment ce

1
h
h1 1 . Acum,

q1 =

q1 , h j =0

pentru toti l = i pentru orice i cum ar fi

1 i L1 . Avem:

q1 , h j =

i1

] [

i1

1
1
h i ql , hi ql h j =
h ,h q , h q h =0
r i
r i i j l=1 l i l j
l=1

din moment ce avem hi ,h j =0 deoarece ca mi j=0 si q1 , h j =0


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

pentru l < i, prin

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


pentru toate frupurile 1,2, ... p 1. Consideram r i j in L p1+ 1 i L p si L p +1 j K .
Atunci avem:

13

r i j q1 , h j =

] [

i1

i1

1
1
h i ql , hi ql h j =
h ,h q , h q h =0
r i
r i i j l=1 l i l j
l=1

din moment ce avem


deductie ipotetica.

hi ,h j =0

deoarece

mi j=0

q1 , h j =0

si

pentru l < i, prin

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

X=

x 1 + j x 4 x 2+ j x 3
x2 + j x 3 x1 + j x 4

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

[ ] [ ]

t t 0 0
M= t t 0 0
0 0 t t
0 0 t t

t t 0 0
R= 0 t 0 0
0 0 t t
0 0 0 t

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.
K

Lema 2: Consideram un CBST

C= x i Ai . Notam cu M matricea HRQF a acestui CBST.


i=1

Daca exista o ordine in patitia {1,2, ..., L} unde L K in subsetul g

mi j=0

pentru orice i p
conditionat de grupul decodabil g.

si

1 , 2 , , g

astfel incat,

j q , p q, atunci codul este rapid decodabil sau

Dovada: Dovada provine din demonstratia Lemei 1 inlocuind K cu L. Acum luam in


considerare urmatorul exemplu pentru a demonstra lema de mai sus.
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:

14

| |
| |

t 0 0 0 t t t t
0 t 0 0 t t t t
0 0 t 0 t t t t
0 0 0 t t t t t
M=
t t t t t 0 0 0
t t t t 0 t 0 0
t t t t 0 0 t 0
t t t t 0 0 0 t

t
0
0
0
R=
0
0
0
0

0
t
0
0
0
0
0
0

0
0
t
0
0
0
0
0

0 t t t t
0 t t t t
0 t t t t
t t t t t
0 t 0 0 0
0 0 t 0 0
0 0 0 t 0
0 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.

15

|
|

|
|

t
0
0
0
0
0
0
0
M= 0
0
0
0
0
0
0
0
0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(12)

t
0
0
0
0
0
0
0
M= 0
0
0
0
0
0
0
0
0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(13)

Cum am observat din Lema 1, complexitatea CBST depinde ndoar de matricea M HRQF nu
de matricea H e q , 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

16

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.

s 1 + j s 2+ j s 15+ j s16 + j s17


s 7+ j s 8 +s 13+ j s 14
s3 + j s 4 +s 11 + j s12
s5 j s 6+ s 9+ j s 1 0
s7 + j s8 s 13+ j s 14
s 1+ j s2 + j s15 j s 16 j s 17
s 5 j s 6 + s9 j s 10
s3 j s 4 s 11 + j s 12
X=
s 3+ j s 4s11 + j s 12
s 5 j s6 s 9 j s1 0
s 1 j s2 + j s15 j s16 + j s17
s7 j s 8s13 + j s 14
s5 j s 6s9 + j s1 0
s 3 j s 4 + s11 + j s 12
s 7 j s8 + s13 + j s14
s1 j s 2+ j s 15+ j s16 j s 17
(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
17

A 1 , , A k si cu variabilele corespunzatoare x 1 , , x k . Codul C poate fi decodabil


multi-grup, rapid-decodabil, 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 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 x 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 x 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
C . 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
v , notam cu v (i : j) 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 c O rder este actualizata corespunzator.
s 1 S 2 , unde s 1 este un element si S 2 este un vector set /: Elementul s 1 se
presupune ca este ortogonal Hurwitz-Radon cu setul S 2 daca exista zerouri in a
s 1 -a coloana a matricei HRQF pentru toate randurile i , unde i S 2 .
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
18

locul randului al (| 1|+1 ) -lea, deplasand celelalte randuri in jos. Variabila


c O rder este actualizata corespunzator.
Mutarea unui element in C Sa presupunem ca al p-lea element din ordinea
curenta trebuie mutat in C ; mutam a p-a coloana in locul ultimei coloane,
deplasand celelalte coloane la stanga si apoi mutam randul al p-lea in locul ultimului
rand, deplasand celelalte randuri in sus. Variabila c O rder este actualizata
corespunzator.
Mutarea unui element in 2 nicio schimbare a ordonarii. Se vor schimba
corespunzator doar cardinalitatile lui 2 si t .

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 -

M =( mi j ) , dimensiunea matricei HRQF

K K , ordonarea intrarii

iO rder
Iesire: Cea mai buna complexitate FSD posibila
bOr de r

b F SDC

si ordonarea corespunzatoare acesteia

- procedure g e tOptimalOrder ( M , K ,i O rder )


- c O rder=i Order ; s O rder=i Order
- b F SDC=K
for i=1 to K do
- 1=c O rder ( 1 ) ; 2={}; C =c O rder ( 2 : K ) .
- Deplaseaza toate intrarile zero ( n Z in numar) al primului rand de langa m 11
- t =c Order ( 2:n Z+ 1 ) ; z O rder=c O rder . z O rder este folosit pentru a
fiecarei variabile zero oportunitatea de a fi prima variabila zero
8
for j=1 to n Z do
9
repeat
10
if t ( 1 ) 1 then
11
- muta urmatorul element in a t ( 1 ) -a coloana care nu este cu
1 dar cu t ( 1 ) in 1
12
if N u e s te g a sit ni ciun e lement then
13
- muta t ( 1 ) in 2
14
end
15
end
16
else
17
- muta t ( 1 ) in C
18
end
19
until t N U ;
20
- [ 1 F S DC , 1 Or der ] =g e tOptimalOrder ( M A ,| 1|, c Order ( 1 :| 1|) ) .
21
1
2
3
4
5
6
7

22
23
24
25
26
27
28
29 end

[ 2 F S DC , 2 O r der ]=g e tOp t i m alOrder ( M A ,| 2|, c Order (| 1|+ 1:| 1+ 2|) )


2

- t F SDC=| C|+m a x { 1 F S DC , 2 F S DC } .
if b F SDC >t F SDC then
- b F SDC=t F SDC ; b O rder=c O rder .
end
- Restabileste z O r der ca c O rder . Mutare circulara c O rder ( 2:n Z+1 ) ,
de j ori.
end
- Restabileste s Order ca c O rder . Mutare circulara c O rder , de i ori.

19

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


g e p timalOrder
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 C 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 C , unde 1 este o permutare
2 este o permutare a 2 si C este o permutare a C . Deoarece
a 1 ,
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 .

20

Figura 2. Diagrama ce ilustreaza procedura de ordonare a variabilelor

21

Fara a se pierde generalitatea, fie x 1 prima variabila a 1 si x 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 x 1 . Deoarece x 2 x 1 ,
setul de zerouri deplasat dupa prima variabila il include pe x 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 x 2 este primul zero de dupa prima variabila. In
acest moment, seturile pentru impartire au urmatorele intrari: 1= { x 1 } , 2={}, t ( 1 )= x2 .
Acum toate variabilele care sunt ortogonale Hurwitz-Radon cu x 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 C
care este o permutare a setului C .
Submatricele seturilor 1 si 2 notate M A si M A sunt considerate acum noile
matrice HRQF 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).
1

De aceea, am demonstrat ca algoritmul considera o ordonare a variabilelor care separa


intrarile ordonarii in 1 , 2 si C , unde 1 este o permutare a 1 , 2 este o
permutare a 2 si C este o permutare a C 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 C 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
[ s 1 I , s 4 I , s4 Q , s2 Q , s 3 Q , s 3 I , s 2 I , s 1Q ] , obtinem urmatoarele matrice HRQF si R pentru aceasta
ordonare:

22

t t t 0 t t 0 0
t t 0 t 0 0 t t
t 0 t t 0 0 t t
0 t t t t t 0 0
M=
t 0 0 t t 0 t t
t 0 0 t 0 t t t
0 t t 0 t t t 0
0 t t 0 t t 0 t

][
;

t
0
0
0
R=
0
0
0
0

Complexitatea FSD pentru aceasta ordonare este


decodare rapida.

t
t
0
0
0
0
0
0

t
t
t
0
0
0
0
0

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

M 8 iar aceasta ordonare nu permite si

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= { s 2Q , s2 I , s1 Q }
si
1= { s 1 I } . Variabilele conditionate vor fi prezentate in setul C = { s 4 I , s 4 Q , s3 Q , s3 I } .
Matricea HRQF in aceasta etapa este data de (14). Ordonarea variabilelor la sfarsitul acestei
etape este [ s 1 I , s 2 Q , s2 I , s1 Q , s 4 I , s 4 Q , s3 Q , s3 I ] . 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 [ s 1 I , s 2 Q , s2 I , s1 Q , s 4 I , s 4 Q , s3 Q , s3 I ] . Matricea R
pentru aceasta ordonare este data de (15).

t 0 0 0 t t t t
0 t 0 0 t t t t
0 0 t 0 t t t t
0 0 0 t t t t t
M=
t t t t t 0 0 0
t t t t 0 t 0 0
t t t t 0 0 t 0
t t t t 0 0 0 t

t
0
0
0
R=
0
0
0
0

0
t
0
0
0
0
0
0

0
0
t
0
0
0
0
0

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

Complexitatea FSD pentru aceasta matrice R este


complexitate posibila pentru codul Silver.

23

(14)

(15)

M 5 , fiind cea mai buna

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 4QAM. 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.

Cod

Ordinea
intrarilor

Complexitate
Complexitate
FSD pentru
FSD pentru
Tipul de
Ordinea iesirilor
Ordinea
Ordinea
cod
intrarilor
iesirilor

s 1 I , s 4 I , s 4 Q , s2 Q ,
s 3 Q , s 3 I , s 2 I , s1 Q
M8
s 1 I , s 2 Q , s2 I , s1 Q ,
s 4 I , s 4 Q , s 3Q , s3 I
5
M Cod
Silver [31]
s 2 , , s1 0 , s 1 ,

CBST
decodabil
rapid

CBST
24

s 11 , , s 17
M 13
s 2 , , s8 ,
decodabil
s 13 , , s16 ,
rapid in
grup
s 9 , , s12 , s 1
12
M Cod
FGD [28]
s 1 , s3 , s 2 , s 4
3
CBST
M
s 1 , s2 , s 3 , s 4
decodabil
2
multi-grup
M Cod
ABBA [34]
2 2
s 1 I , s 4 I , s 4 Q , s2 Q ,
s 3 Q , s 3 I , s 2 I , s1 Q
CBST
M8
decodabil
s 1 I , s 1 Q , s2 Q , s 2 I ,
rapid
s 4 I , s 4 Q , s 3Q , s3 I ,
M 6 codul
de la [18]
2 2
s 5 , s2 , s 1 , s 4 , s3
Cod
M5
decodabil
s 2 , s 4 , s3 , s 5 , s1
rapid in
M 2 Cod
grup
neechilibrat
de la [13]
Figura 3. Rezultatul Algoritmului 1 pentru diferite tipuri de coduri si ordonari ale intrarilor

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

25

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.
[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.

26

[13] T. P. Ren, Y. L. Guan, C. Yuen, E. Gunawan, and E. Y. Zhang, Group decodable spacetime block codes with code rate >1, IEEE Trans. Commun., vol. 59, no. 4, pp. 987997,
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.
[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

[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.
[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