• Non ci sono risultati.

MVDR beamforming adattativo

Nel documento Università degli Studi di Bologna (pagine 103-112)

91

Si osservi che il termine al denominatore è un valore scalare che serve semplicemente a soddisfare il vincolo H 0 =1

d

w , cioè ad avere guadagno unitario in direzione θ0.

L’effetto del beamformer MVDR è una risposta unitaria in direzione della radiosorgente θ0 ed un’attenuazione in corrispondenza degli interferenti θk,

K k

1≤ ≤ con K = n° di segnali interferenti.

3.3 MVDR beamforming adattativo

In questo paragrafo viene illustrata, in maniera dettagliata, la procedura necessaria all’implementazione su elaboratore elettronico dell’algoritmo MVDR in regime adattativo. I passi da seguire sono i seguenti:

1. Viene definita la direzione di osservazione θ0 (look direction) e si

recupera lo steering vector d(θ0 ) ad essa associato. Si noti come non a caso sia stata utilizzata l’espressione “si recupera” in merito al calcolo dello steering vector: infatti se l’array, come capita nella realtà, non è composto da sensori ideali (cioè omnidirezionali) ma da sensori con una propria risposta specifica, gli steering vectors effettivi differiscono da

quelli ideali, rappresentati per esempio dall’eq. 3.6. Il loro valore effettivo

può tuttavia essere stimato a partire dalla matrice di covarianza.

Per il momento si supponga che l’array sia composto da sensori ideali e

che dunque gli steering vectors effettivi coincidano con quelli ideali.

Ne consegue che: T sin d ) 1 N ( 2 j sin d 2 j 0 0 0 e e 1 ) ( ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ = πλ θ π λ θ θ K d (3.12)

Capitolo 3 Algoritmo MVDR adattativo

92

2. Si definisce l’asse spaziale che costituisce il dominio “angolare” (discreto) per la rappresentazione del beampattern, mediante la costruzione del vettore:

[

thetamin K thetamax

]

=

theta (3.13)

che contiene tutti gli angoli compresi nel range delimitato da thetamin e

max

theta ed equispaziati gli uni dagli altri di un valore scelto arbitrariamente thetastep. I valori scelti per tutte le simulazioni effettuate sono stati:

- thetamin = 90− °; - thetamax = 90+ °; - thetastep = 050. °.

3. Si costruisce una matrice avente per colonne gli steering vectors associati

agli angoli contenuti nel vettore theta:

D =

D servirà in seguito per il calcolo del beampattern.

1 2

length(theta)

1

2

Capitolo 3 Algoritmo MVDR adattativo

93

4. I dati provenienti dall’array vengono raccolti in una matrice X, detta appunto matrice dei dati grezzi, la cui struttura viene schematizzata in

figura 3.2.

Fig. 3.2: struttura della matrice X dei dati grezzi

Si tratta di una matrice rettangolare contenente i segnali ricevuti dalla schiera dal tempo

t

1 al tempo

t

oss; le righe della matrice, cioè

[

xn(t1) xn(t2 ) K xn(toss )

]

con 1nN, sono i vettori dei segnali analitici (in funzione del tempo) provenienti da ogni singolo sensore. D’altra parte le colonne, cioè

[ ]

T

i N i 2 i 1(t ) x (t ) x (t ) x K con oss i

1≤ ≤ (dove oss è il numero totale dei campioni di dati presi in

considerazione durante l’osservazione), sono i vettori delle istantanee (snapshots) delle uscite dei ricevitori in quadratura.

E’ interessante rendersi conto che aspetto può assumere tale matrice. In figura 3.3 viene rappresentata una matrice dei dati grezzi contenente solo rumore termico a varianza unitaria: la matrice è composta da valori complessi ma in questo, come nei successivi grafici, viene riportata solo la componente reale, dal momento che la componente immaginaria assume un aspetto analogo.

1

x

2

x

N

x

t

1

t

2

t

oss

Capitolo 3 Algoritmo MVDR adattativo

94

Il rumore presente può rappresentare indifferentemente due contributi: quello dovuto al sistema e quello dovuto alla radiosorgente, per distinguere i quali sono state sviluppate diverse tecniche.

Fig. 3.3: matrice dei dati grezzi per un’osservazione radioastronomica corretta (i dati non sono affetti da alcun disturbo).

Questo esempio, che rappresenta il risultato di un’osservazione corretta, è stato ottenuto con i seguenti dati: 2 1

n =

σ , N = 8, 2

d = , oss = 1000. λ

In figura 3.4, invece, viene riportato il risultato di un’osservazione affetta da un’interferenza a frequenza f1 =0.01 fc (

2 c

fc = λ è la frequenza di

campionamento spaziale, vedi Appendice A, par. A.1) con θ1 = 30° e

dB 3

INR=+ . Nella figura 3.5 viene aggiunta una seconda interferenza che ha: f2 =0.10 fc, θ2 = 60− ° e INR=+9dB. Anche in questi due casi si hanno 2 1

n =

σ , N = 8, 2 d λ

= e oss = 1000. Come si può notare dalle figure, la presenza di RFI si ripropone nella matrice dei dati grezzi con

Capitolo 3 Algoritmo MVDR adattativo

95

delle striature oblique di intensità proporzionali all’INR, pendenza legata alla direzione di provenienza e periodicità legata alla frequenza.

Fig. 3.4: matrice dei dati grezzi per un’osservazione radioastronomica affetta da una radiointerferenza

Fig. 3.5: matrice dei dati grezzi per un’osservazione radioastronomica affetta da due radiointerferenze

Capitolo 3 Algoritmo MVDR adattativo

96

5. Viene stimata la matrice di covarianza R.

Se le DOA dei segnali ed i parametri di calibrazione dell’array restano costanti su un intervallo di tempo di K campioni, allora R(t) è costante nel

tempo e può essere stimata mediante una media temporale:

= = = K 1 k k k ) (t ) t ( ˆ H H x x XX R (3.14)

In pratica si sta facendo l’ipotesi di stazionarietà in senso lato dei segnali e l’ergodicità degli stessi: in altre parole si suppone che, nell’intervallo di tempo descritto da K campioni, le DOA delle RFI non varino in modo

significativo. Si tratta di un’ipotesi ragionevole, poiché, in genere, si considerano intervalli di tempo relativamente brevi.

Per un array composto da N sensori, Rˆ è una matrice quadrata

Hermitiana di ordine N.

6. Vengono calcolati i coefficienti w del beamformer:

) ( ˆ ) ( ) ( ˆ ) ( 0 0 H 0 0 θ θ θ θ d R d d R w -1 -1 = (3.15)

Il calcolo della matrice inversa -1

Rˆ può presentare delle difficoltà (vedi

par. 3.3.2 ). In ogni caso per un’implementazione computazionalmente efficiente, si consiglia di non ricorrere all’inversione diretta della matrice,

Rˆ ma di utilizzare la decomposizione di Cholesky, descritta in [13].

7. Infine viene calcolato il beampattern complessivo secondo la già nota relazione:

Capitolo 3 Algoritmo MVDR adattativo

97

Esso andrà poi normalizzato rispetto al suo valore massimo.

Si ottiene perciò un vettore i cui elementi rappresentano ciascuno il guadagno del beamformer corrispondentemente ad ogni elemento del vettore theta: a partire da questi due vettori è possibile visualizzare l’andamento del guadagno su tutto l’asse spaziale.

3.3.1 Velocità di convergenza della matrice di covarianza

Un punto essenziale per l’algoritmo MVDR adattativo consiste nel capire quanti punti (snapshots) debbano essere impiegati per la stima della matrice di

covarianza e degli steering vectors effettivi per un certo livello di accuratezza. Un metodo per studiare la convergenza di Rˆ consiste nell’osservare l’andamento della varianza media della matrice, cioè della media delle varianze di ogni suo elemento. Si osserva una convergenza asintotica di Rˆ al crescere del numero K di punti usati per la stima: quanto più K è alto, tanto meglio Rˆ approssima R . La

velocità di convergenza, d’altra parte, si dimostra (vedi [14]) essere proporzionale al fattore:

BK 1

(3.17)

dove B è la banda del sistema.

Gli steering vectors sono legati alla matrice Rˆ da una relazione lineare. Pertanto anche le loro ampiezze e fasi convergono con una velocità proporzionale al fattore 3.17. La forma esatta della convergenza degli steering vectors dipende dal numero di sensori: un numero maggiore di sensori produrrà stime più accurate. Il valore ottimo di K è da determinarsi sperimentalmente ma generalmente assume

Capitolo 3 Algoritmo MVDR adattativo

98

3.3.2 Iniezione di rumore artificiale e calcolo di Rˆ

-1

Nel caso ideale in cui i segnali che incidono sull’array non siano affetti da rumore, la matrice di covarianza è singolare e, pertanto, non invertibile.

Quindi in tal caso non è possibile calcolare l’espressione dei coefficienti ottimi del beamformer, indicata dalla 3.15. Si tratta tuttavia di un caso puramente teorico (per quanto paradossale nella pratica): in realtà il rumore, seppur basso, è sempre presente e questo fa sì che Rˆ non sia mai singolare e dunque sia sempre invertibile. Tuttavia talvolta può capitare che Rˆ risulti essere malcondizionata. Si ricordi che una matrice si dice malcondizionata quando ha un elevato numero di condizionamento. Tale numero esprime il rapporto tra l’autovalore massimo e

l’autovalore minimo della matrice stessa e, se risulta elevato, vuol dire che tale matrice è prossima alla singolarità. In tal caso l’inversione può portare a dei

risultati poco accurati.

Nel caso in cui la matrice Rˆ si dimostri essere malcondizionata, è possibile

ricondizionarla sommando alla matrice stessa un contributo di rumore artificiale

I

2 a

σ . Un esempio di come può essere migliorato il condizionamento della matrice (e quindi anche il beamforming risultante), mediante l’aggiunta di rumore artificiale, viene fornito in figura 3.6. Per questa simulazione sono stati adottati i parametri seguenti: N =8, 2 d = , puntamento: λ = 10° 0 θ , RFI: θ1 = 50+ ° e ° − = 30 2

θ . Nel primo caso (a) il rumore è praticamente assente: la matrice Rˆ è fortemente malcondizionata ed il beamformer inaccurato (si noti l’evidente distorsione del beam in confronto al beamformer classico), tale da non rendere possibile un’osservazione radioastronomica corretta. Nel secondo caso (b) si può apprezzare un notevole miglioramento in quanto ora il beam risulta puntare nella direzione voluta θ0. Questo risultato è stato ottenuto aggiungendo ad Rˆ del rumore artificiale σa2I con 2 1

a =

Capitolo 3 Algoritmo MVDR adattativo

99

(a)

(b)

Fig. 3.6: esempio di miglioramento del beamforming mediante l’aggiunta di rumore artificiale

Se da un lato l’aggiunta di rumore migliora il condizionamento della matrice, dall’altro, al crescere di 2

a

σ , si perde sempre più profondità negli zeri e risoluzione nel beam. Al limite per 2 → ∞

a

σ il beamformer MVDR coincide con il beamformer classico.

Capitolo 3 Algoritmo MVDR adattativo

100

Nel documento Università degli Studi di Bologna (pagine 103-112)