Capitolo III
Algoritmo di minimizzazione
III.1 Introduzione
Il riferimento [4] propone due tipi di compensazione dell’emissione fuori banda, uno introducendo le Cancellation Carriers (CCs) che, opportunamente dimensionate, dovrebbero limitare le code dello spettro del segnale originario e l’altro tramite una finestratura temporale del segnale.
Il letteratura sono stati presentati dei lavori riguardanti gli effetti della finestratura, usando un intervallo di guardia esteso. In particolare Pauli si è occupato della riduzione delle emissioni fuori banda con compensazione del PAPR- verificata con un sistema in cui era presente anche la non linearità. I risultati sono interessanti e si vede che diminuendo il valor medio della potenza si hanno effettivamente dei benefici. Sempre Pauli cerca di migliorare le emissioni fuori banda con l’intervallo di guardia, ne prova l’efficacia, ma in un sistema lineare.
Jayalath nel 2001 pubblica un articolo in cui analizza l’ OBR con 3 tipi di non linearità e verifica che la riduzione tramite introduzione dell’intervallo di guardia congiuntamente alla finestratura c’e’ ma solo se si lavora già con alti valori di IBO.
Di conseguenza è stato scelto di implementare soltanto l’algoritmo ai minimi
quadrati proposto da Cosovic per l’OBR.
La minimizzazione riguarda le code laterali dello spettro che, utilizzando opportune portanti pesate (CCs), dovrebbero diminuire. Il vincolo consiste sia nel numero di Cancellation Carriers (CCs) che andiamo ad utilizzare, sia nella potenza che vogliamo spendere su queste portanti.
L’algoritmo che è stato deciso di implementare è il seguente:
2
2
1
min
m
m m
g m
s g c con g
.
Dove s è il vettore contenente i campioni dello spettro del segnale dati, g
mè il vettore incognito contenente i pesi della Cancellation Carriers, C è la matrice contenente lo spettro delle CCs con pesi pari ad 1 ed è il valore massimo di potenza da spendere sulle CCs.
III.2 LSQI Least Square with a Quadratic Inequality Constraint
Affrontando genericamente il problema di minimizzazione si applica la seguente soluzione:
min Ax b
2con il vincolo Bx d
2 (1) con A
m n( m n b ),
m, B
p n, d
p, 0 .
La GSVD (Generalized Singular Value Decomposition) rende semplice la soluzione del seguente problema. Infatti se le GSVD delle matrici A e B risultano
1,...,
T
U AX diag
nU U
T I
m(2)
1,...,
T
V BX diag
nV V
T I q
p, min p n ,
La (1) si trasforma in
min D y b
A con il vincolo
2D y d
B
2
Con b U b d V d y
T,
T, X x
1.
La formula da minimizzare diventa semplicemente
22 2
2 1 1
n m
A i i i i
i i n
D y b y b b
(3)
E la formula del vincolo diventa
2 2 2 2
2 1 1
p r
B i i i i
i i r
D y d y d d
. (4)
Scrivendo le equazioni in questo modo si semplifica il problema LSQI.
Si assume r = rank(B) ed assumiamo
r1 ...
q 0
Il problema ha soluzione se e solo se
2 2
1 p
i i
d
Se abbiamo l’uguaglianza di questa espressione, in considerazione della (3) e (4) il vettore seguente risulta essere la soluzione del problema
/ / 0
i i
i i i
d
y b
1:
1: , 0
1: , 0
i i
i r
i r n i r n
(5)
Altrimenti se si verifica solo la condizione di disuguaglianza
2 2
1 p
i i
d
Abbiamo più alternative da cercare.
Adesso il vettore soluzione di
min D y b
A risulta
2y
ndefinito come /
/
i i
i
i i
y b d
0
0
i i
i = 1:n
Se infine assumiamo che
2
2
1 1
i 0
q p
i
i i i
i i i q
b d d
(6)
La soluzione del problema LSQI cade proprio sul limite concesso, quindi non rimane che risolvere il seguente problema:
min D y b
A con il vincolo
2Bx d
2
Per risolvere questo problema si utilizza il metodo dei moltiplicatori di Lagrange.
Definiamo
,
A 22 B 22 2h y D y b D y d (7)
Vediamo che l’equazione 0 h y i /
i, 1: n porta al sistema lineare
D D
TA A D D y D b
BT B
BT D d
TB (8)
Assumendo che la matrice dei coefficienti sia non singolare, il sistema ha soluzione
y con
2 2/
i i i i
i i
i i
b d
y
b
1:
1:
i q
i q n
(9)
Per determinare il parametro di Lagrange definiamo
22 2 22 21 1
r p
i i i i
B i i
i i i i r
b d
D y d d
(10)
E quindi cerchiamo una soluzione a
2.
Equazioni di questo tipo sono le secular equation ( vedi paragrafo 8.6 di [1] ) . Dalla (6) vediamo che 0
2. è una funzione monotona decrescente per
0 , e quindi la (6) implica che la soluzione che soddisfi
*
*
2deve
essere unica e positiva. Tale soluzione può essere trovata tramite metodi standard per il calcolo delle radici dei polinomi tra cui il Metodo di Newton. La soluzione del problema LSQI risulta quindi x Xy
*.
III.3 Minimizzazione su una sfera
Se il problema LSQI precedentemente analizzato venisse ridotto nella forma min Ax b
2subject to Bx
2 (11)
Dove A
m n, b
m, B
n n, 0 .
Ed ulteriormente si assumesse ( B I d
n, 0 ) ci riduciamo ad un problema di minimizzazione su una sfera. Questo tipo di problema può essere risolto ancora più semplicemente del precedente usando una decomposizione SVD anziché una GSVD.
Possiamo quindi trattare il problema nel modo seguente.
Dati:
A
m ncon m n
0 b
m
L’algoritmo calcola il vettore x
ntale che Ax b
2sia minimo, vincolato dalla
disuguaglianza x
2 .
Si calcola la decomposizione SVD della matrice A e si salva
1, ,...,
2 n
V v v v
( ) b U b
Tr rank A
If
2 2
1 r
i
i i
b
(12)
Find tale che
*2 2
2 *
1 r
i i
i i
b
2 *
1 r
i i i
i i
x b v
(13)
Else
1 r
i i
i i
x b v
(14)
End
Con il metodo di Newton trovo
*
2
2 1
1 1
1
2
2 3 1
'
' 2
r
i i
i i
k
k k
k
r i i
i i
f b
f f
f f b
(15)
Stabiliamo lo step size ed il numero di ricorsioni.
III.4 Implementazione dell’Algoritmo
L’algoritmo di risoluzione del problema LSQI suppone che le matrici con cui si lavora siano Reali. Nel caso specifico di modulazione OFDM, dobbiamo prima specificare cosa sono gli elementi dell’algoritmo.
L’algoritmo da implementare risulta:
2
2
1
min
m m mg m
s g c con g
Dove s è il segnale trasmesso nel range di ottimizzazione ad è la sovrapposizione degli spettri di tutte le sottoportanti usate per la trasmissione dati.
, 1,...,
c m
m M rappresenta lo spettro della m-esima sottoportante pesata (CC- Cancellation Carrier, le M CCs sono numerate da sinistra destra) con peso 1 nel range di ottimizzazione, ciò significa che lo spettro delle CCs viene inizialmente calcolato come se i simboli sulle CCs fossero tutti 1+j0. Per ogni sottoportante viene calcolato un fattore peso complesso g
m g g
1,..., g
M
T, tale da minimizzare le code dello spettro totale nel range di ottimizzazione. Lo spettro totale è lo spettro del segnale trasmesso senza CCs sommato allo spettro delle CCs con i pesi g
m. Il vincolo serve per tenere sotto controllo la potenza spesa sulle portanti pesate.
Per quanto detto è evidente che l’algoritmo in questione lavora con delle quantità
complesse, quindi invece di usare semplicemente degli elevamenti al quadrato,
l’algoritmo implementato nel nostro simulatore userà dei moduli quadrati.
III.4.1Concetto di Cancellation Carriers (CCs)
Consideriamo un sistema OFDM con N
csottoprtanti. N sottoportanti sono usate per la trasmissione dati e sono modulate dai simboli complessi d
n d d
1,..., d
N
Tappartenenti ad una costellazione PSK o QAM. Le rimanenti N
c N sottoportanti sono escluse dalla trasmissione dati e servono per rispettare le specifiche in termini di emissione fuori banda. Invece di lasciare le sottoportanti laterali non modulate inseriamo M CCs sul lato destro e sinistro dello spettro OFDM come mostrato in figura:
Fig.III.1[3]
Queste sottoportanti non sono modulate con dati, ma con fattori peso complessi
1,...,
Tm M
g g g g ottimizzati in modo tale da cancellare i lobi laterali del segnale
originale nel range di ottimizzazione. Il vettore dei simboli x è composto dai simboli
dati e dai fattori peso:
1,...,
M/ 2, ,...,
1 N,
M/ 2 1,...,
M
Tx A g g d d g
g .
Il fattore di normalizzazione 0 A 1 è introdotto per tenere costante la potenza del segnale prima e dopo l’inserzione delle CCs, cioè x
2 d
2ed è data da:
2
2
d
21
A d g
.
Questo valore si ottiene considerando la seguente disuguaglianza tra potenze:
H H H
d d A g g d d
H sta ad indicare il complesso coniugato e con il vincolo g
2 si ha
2
2
d
21
A d g
.
III.4.2Ottimizzazione
Dobbiamo determinare i fattori peso in modo tale da soddisfare l’ottimizzazione.
Per fare ciò dobbiamo calcolare lo spettro del segnale originale e di quello costituito dalle CCs. Per calcolare lo spettro assumiamo implicitamente che il segnale trasmesso è moltiplicato per una finestra rettangolare nel tempo di durata T
s, di conseguenza la forma dello spettro di ogni sottoportante è ottenuta dalla trasformata di Fourier di una finestra rettangolare e quindi pari ad una sinc( ) con x x fT
Sche rappresenta la frequenza normalizzata.
Per calcolare lo spettro totale, lo spettro di ogni sottoportante viene shiftato sulla
rispettiva frequenza della sottoportante e dopo sommati. Considerando il segnale
dopo la IDFT lo spettro di una singola sottoportante risulta
sin
n n n s
S f d c f f T
f indica la frequenza
f
nfrequenza portante dell’ n -esima sottoportante T
srappresenta la durata del simbolo OFDM
Per fare in modo che le sottoportanti siano ortogonali, la spaziatura tra due sottoportanti deve essere pari a f 1/ T
S, come già visto nel cap.I , cosi il massimo di una sottoportante cade sopra uno zero della sottoportante adiacente.
Volendo una rappresentazione più realistica, se nel dominio del tempo aggiungiamo il prefisso ciclico, la durata del simbolo OFDM viene allungata della durata del prefisso ciclico, quindi
'
n nsin
n oS f d c f f T
o s GI
T T T
In questo caso la spaziatura tra le sottoportanti continua ad essere f 1/ T
S, ma la
larghezza del lobo principale è più stretta del caso precedente e quindi minore della
distanza tra due zeri, prima era 1/ T
Sed ora 1/ T
o. Quindi viene meno l’ortogonalità
tra le sottoportanti. Questo effetto viene mostrato nella figura seguente, ma è da
notare che in ricezione non si risente dell’effetto del prefisso ciclico, perché
quest’ultimo viene rimosso e quindi viene ripristinata l’ortogonalità.
Fig.III.2
III.5 I temini dell’Algoritmo
Per implementare correttamente l’algoritmo dobbiamo chiarire quali sono i vettori e della matrice che devono essere elaborati dall’algoritmo di minimizzazione.
Lo spettro di ogni sottoportante equivale ad una sinc:
sin , / 2,..., / 2 1
n n n
s d c x x n N N
Dove x rappresenta la frequenza f shiftata sulla frequenza centrale f
0e normalizzata alla frequenza di campionamento 1/ T
0. Con T
0si indica la durata del simbolo OFDM, escludendo l’intervallo di guardia la frequenza normalizzata risulta
0
0x f f T .
In accordo con quanto detto x
n f
n f T
0
0è definita come la frequenza centrale normalizzata dell’n-esima sottoportante, con f
nche rappresenta la frequenza su cui è traslata ogni sottoportante.
Lo spettro del segnale OFDM è la sovrapposizione degli spettri di tutte le sottoportanti:
/ 2
/ 2 N
n N
s n s x
.
La potenza dei lobi laterali di questo segnale decade come 1/ x N
2 e quindi si hanno lobi laterali elevati.
Per sopprimere questi lobi inseriamo M
led M
rCCs, rispettivamente a destra e sinistra dello spettro. La banda del segnale OFDM risulta incrementata di
r l
M M M sottoportanti. Dato che le CCs non sono usate per la trasmissione dati, lo spettro dell’m-esima CCs non viene moltiplicata da simboli complessi (come era per lo spettro del segnale che veniva moltiplicato per i d
n), ma viene pesato con degli 1:
sin , 1,...,
m m
c c x y m M .
La frequenza centrale normalizzata y
mdelle M CCs che stanno sulla destra e sulla sinistra dello spettro utilizzato per la trasmissione dati risultano:
/ 2 1/ 2 l0 00
0N m
m
N m M
f f T
y f f T
1,...,
1,...,
l l
m M
m M M
Per trovare i fattori peso g
mdobbiamo scegliere un range frequenziale sul quale andare a minimizzare i lobi laterali.
Assumiamo di prendere K
le K
rcampioni, rispettivamente a sinistra e destra, come range di ottimizzazione, quindi il numero totale di campioni da ottimizzare risulta
l r
K K K . I campioni dello spettro del segnale originale (senza CCs) è rappresentato da s
k s w
k, k 1,..., K alla frequenza w
ke sono salvati nel vettore
1,...,
K
Ts s s . In accordo
,1
,...,
, Tm m m K
c c c
Contiene K campioni dello spettro dell’m-esima sottoportante. Quindi C risulta essere la matrice che deve essere elaborata dall’algoritmo di minimizzazione.
La descrizione matematica del segnale OFDM con e senza le CCs viene mostrata di
seguito
Fig.III.3
Per ridurre l’onere computazionale in [3] viene suggerito di prendere un campione per lobo laterale.
Una volta che si ha il vettore s e la matrice C non ci resta che trovare i pesi g
mche ci permettono di ridurre l’ampiezza delle code laterali del nostro spettro.
Fig.III.4 [3]
Come si vede in figura, lo spettro del segnale di partenza risulta essere quello azzurro. Lo scopo è di ridurre i lobi evidenziati in rosso, tramite le CCs. Il risultato è evidenziato nella figura successiva:
Fig.III.5 [3]
Come si vede in figura il segnale risultante ha dei lobi praticamente nulli nel range di ottimizzazione stabilito.
Commenti sulla efficienza dell’algoritmo
L’algoritmo implementato è soggetto ad un vincolo di disuguaglianza sulla potenza.
Ciò significa che la potenza deve essere di un certo valore.
I parametri passati all’algoritmo sono la matrice C, il vettore s, ed il vettore delle
incognite g. L’algoritmo si basa sulla decomposizione SVD della matrice C. Stabilito
il range di ottimizzazione la matrice è composta dagli stessi elementi al variare del vincolo della potenza, quindi che sono gli elementi della matrice singolare, ed U
inon cambiano.
L’algoritmo riportato nel cap.III2 (vedi la (12)) calcola il vettore incognito in due condizioni.
Riportiamo di seguito l’algoritmo:
if
2 2
1 r
i
i i
b
Find tale che
*2 2
2 *
1 r
i i
i i
b
2 *
1 r
i i i
i i
x b v
else
1 r
i i
i i
x b v
end
Se il valore della potenza è tale da non soddisfare mai la condizione
2 2
1 r
i
i i
b
il
valore del vettore incognita risulterà sempre
1 r
i i
i i
x b v