• Non ci sono risultati.

Capitolo 4 Il progetto della waveform del ricevitore per VHF aeronautico

N/A
N/A
Protected

Academic year: 2021

Condividi "Capitolo 4 Il progetto della waveform del ricevitore per VHF aeronautico"

Copied!
11
0
0

Testo completo

(1)

Il progetto della waveform del

ricevitore per VHF aeronautico

4.1. Architettura generale del ricevitore

Lo schema concettuale del ricevitore per la ricezione delle comunicazioni vocali aeronautiche in banda VHF è rappresentato in Fig. 4.1.

Fig. 4.1 – Schema a blocchi del ricevitore

USRP2 FFT Decimatore Butterworth Am_demod Butterwoth el-continua Scheda audio

(2)

La parte hardware del ricevitore è composta dall’antenna, dal blocco USRP2 e dalla scheda audio del PC, mentre tutto il resto viene implementato via software, sul PC, grazie all’ambiente di sviluppo offerto da OSSIE.

L’antenna trasforma il segnale analogico captato nello spazio, dentro la sua banda specifica, in un segnale elettrico che viene passato in ingresso all’USRP2. Nel nostro caso, in realtà, abbiamo apportato una modifica allo schema di Fig. 4.1, perché invece di utilizzare un’antenna abbiamo collegato direttamente l’USRP2 al generatore di segnale che ci forniva il segnale di test. L’USRP2, grazie alla daughterboard di ricezione, riceve il segnale elettrico e insieme alla motherboard, contenuta al suo interno, lo digitalizza e lo riporta in banda base per inviarlo, attraverso il collegamento Gigabit Ethernet, al PC, dove viene trattato secondo la waveform da noi progettata.

Il primo blocco software dello schema è il deviatore che può mandare il segnale all’FFT o al Decimatore. Questo perché il ricevitore esegue un’operazione di channel sensing: tramite il blocco FFT esegue la Trasformata Discreta di Fourier del segnale, calcola l’energia di ogni canale e poi la confronta con una determinata soglia; se l’energia supera la soglia il canale sarà identificato come attivo viceversa non attivo. I canali attivi saranno visualizzati a video e l’utente potrà scegliere su quale sintonizzarsi. Ecco che allora, sempre il blocco FFT andrà a modificare certi parametri dell’USRP2 che si sintonizzerà sulla frequenza scelta dall’utente e il segnale verrà passato in ingresso al Decimatore. Quindi il deviatore all’inizio collega il blocco FFT all’USRP2 e dopo la sintonizzazione vi collega invece il Decimatore.

Questo blocco ha il compito di ridurre la velocità dello stream dei campioni che riceve al suo ingresso per adattarla a quella richiesta dalla scheda audio del PC. Di seguito il segnale viene filtrato dal filtro di Butterworth passa basso dentro la banda del segnale audio trasmesso (circa 3 Khz, vedi sottocapitolo 3.5) per eliminare il rumore ‘fuori banda’ che risulterebbe dannoso per il blocco successivo: il demodulatore AM. Questo esegue la demodulazione del segnale e lo invia ad un altro

(3)

filtro che ne esegue nuovamente un filtraggio di tipo passa basso, per eliminare le nuove componenti frequenziali di rumore introdotte dall’operazione non lineare di demodulazione e vi toglie la componente continua. Il segnale così elaborato viene inviato alla scheda audio del PC. I dettagli di funzionamento di ogni blocco del ricevitore sono riportati nei sottocapitoli seguenti e nel quinto capitolo.

4.2. Apparati hardware e framework software utilizzati

Per l’implementazione del nostro ricevitore abbiamo utilizzato i seguenti strumenti di laboratorio:

• Personal Computer con processore Intel Pentium 4, 2.80 Ghz;

• Universal Software Radio Peripheral (USRP) versione 2 della Ettus Research;

• Generatore di Segnale Agilent E4438C con gamma di frequenza da 250 Khz a 6 Ghz;

(4)

• Oscilloscopio Agilent E4403B con gamma di frequenza da 9 Khz a 3 Ghz.

L’ambiente di lavoro, con gli apparati hardware collegati tra loro, dove abbiamo realizzato il ricevitore VHF è visibile nella Fig. 4.2.

(5)

Sul PC è caricata la versione 10.04 LTS di Ubuntu come sistema operativo e vi è installato Eclipse come ambiente di sviluppo del software OSSIE. Eclipse contiene al suo interno vari tool che ci hanno permesso di realizzare il nostro ricevitore. Infatti abbiamo utilizzato OWD per sviluppare la waveform e creare i componenti, l’ALF per visualizzarla e verificare lo spettro del segnale in uscita ad ogni componente e lo WaveDash per modificare in tempo reale le proprietà di ogni componente e quindi analizzare i cambiamenti nel risultato finale. Questi tre tool sono analizzati nel dettaglio nel secondo capitolo.

Al PC è collegata l’USRP2, tramite un cavo Gigabit Ethernet, che di fatto implementa la parte a radio-frequenza del nostro ricevitore.

Il segnale di test viene generato dal generatore di segnale e viene ricevuto dall’USRP2 attraverso un cavo RG58. L’oscilloscopio, collegato al generatore di segnale, anche questo con cavo RG58, è stato utilizzato per verificarne il segnale emesso.

4.3. Metodo di lavoro e generazione dei segnali di test

L’approccio da noi utilizzato per le realizzazione del ricevitore VHF aeronautico è stato molto sperimentale. Infatti, dopo aver preso visione di un ricevitore ideale per comunicazioni di tipo AM, siamo partiti subito con la costruzione di una semplice waveform di prova, che abbiamo chiamato ric_aeronautico_prova1 e grazie al generatore di segnale abbiamo generato un segnale di test per verificare il funzionamento di quello che avevamo progettato.

In base ai risultati ottenuti, cioè grazie alla possibilità di controllare lo spettro in uscita da ogni componente (ALF) e alla possibilità di ascoltare il segnale audio in uscita dal PC, abbiamo iniziato ad apportare delle modifiche al nostro lavoro. Per esempio, essendoci accorti che il segnale audio era molto rumoroso, abbiamo deciso di aggiungere, dopo il demodulatore AM, un altro filtro di Butterworth che eliminasse oltre alle componenti frequenziali fuori banda anche la componente continua,

(6)

provando vari metodi per eliminarla e scegliendo quello ottimale, abbiamo variato le frequenze di taglio dei filtri grazie allo WaveDash, settandole ai valori che provocavano in uscita meno rumore e così via.

Così facendo, con il susseguirsi di varie prove e modifiche, siamo giunti alla costruzione della versione finale della waveform che abbiamo chiamato ric_vhf_aeronautico.

Per quanto riguarda la generazione dei segnali di test, come già detto in precedenza, abbiamo utilizzato il generatore di segnale e l’oscilloscopio per essere sicuri che il segnale da noi impostato sul generatore fosse corretto. Per verificare il corretto funzionamento della waveform, come segnale di test, abbiamo generato una portante sinusoidale ad una frequenza a nostro piacimento dello standard VHF aeronautico, 120 Mhz, gli abbiamo fornito una potenza di -10 dBm e vi abbiamo applicato un segnale modulante sinusoidale con 2 Khz di frequenza, il valore centrale della banda del segnale audio.

Successivamente, durante la verifica della waveform che implementa il channel sensing, abbiamo dovuto cambiare il segnale di test perché, sia la modulante con frequenza 2 Khz che la portante con potenza -10 dBm, generavano troppo rumore che andava a ‘sporcare’ anche i canali adiacenti, più precisamente quello successivo, permettendogli di superare la soglia e quindi di essere visualizzato come canale attivo, quando invece era solo il rumore introdotto dal canale attivo precedente.

Allora abbiamo variato la frequenza del segnale modulante a 1 Khz e la potenza della portante a -60 dBm. Con questi valori il ricevitore funzionava correttamente, visualizzando come canali attivi soltanto quelli dove effettivamente trasmettevamo della potenza.

4.4. Channel sensing

Come già accennato nel sottocapitolo 4.1, il channel sensing consiste nella scansione dell’intero spettro adibito alle comunicazioni vocali del VHF aeronautico,

(7)

secondo lo standard da 118 a 137 Mhz, quindi una banda pari a 19 Mhz, per un totale di 2280 canali.

Questa funzionalità viene implementata dal blocco di ricezione che abbiamo denominato FFT_vhf_aeronautico. Questa operazione è stata inizialmente implementata direttamente a tutta la banda dei 19 Mhz ma con uno scarso risultato, perché per il PC risultava essere un task computazionalmente troppo complesso e infatti provocava il blocco dell’applicazione stessa. Quindi abbiamo deciso di effettuare una scansione a blocchi di 250 Khz, variando di volta in volta la portante su cui si sintonizzava l’USRP2, per arrivare con 76 cicli a coprire completamente lo spettro.

Su ogni blocco da 250 Khz, l’FFT_vhf_aeronautico esegue la Trasformata Discreta di Fourier (DFT) sfruttando l’algoritmo FFT (Fast Fourier Trasform) e si calcola la potenza di ogni campione facendone il modulo ed elevandolo al quadrato. Per migliorare le prestazioni del ricevitore, questo procedimento viene ripetuto per un certo numero di iterazioni.

Un approccio comune per fare il channel sensing è quello di valutare l'energia di ogni singolo canale; per questo diventa indispensabile capire il numero di campioni che riguardano un canale e per ottenere una affidabilità maggiore cercare di rendere questo numero il più grande possibile. I dettagli sono spiegati nel quinto capitolo.

Quindi la formula utilizzata per il calcolo dell’energia di ogni canale è la seguente:

− = = 1 0 2 ] [ 1 Nc n i X n Nc E (4.1)

Con la lettera E è stato indicato il valore dell’energia, l’indice i indica l’i-esimo canale, Nc il numero di campioni associati ad ogni canale e X[n] il generico campione fornito dalla FFT. Una volta che si hanno a disposizione i valori di energia di tutti i canali, siamo passati al calcolo della soglia per effettuare successivamente il

(8)

confronto fra le energie di tutti i canali e la soglia trovata. Il calcolo della soglia è stato effettuato secondo la seguente regola:

= = M i i E M th 1 1 (4.2)

Con th è stato indicato il valore della soglia e con M il numero dei canali. I valori di energia che superano la soglia corrispondono ai canali attivi e il loro numero identificativo viene visualizzato a video, in modo tale che l’utente possa scegliere quello su cui sintonizzarsi.

4.5. Selezione del canale e sintonizzazione della USRP v2.0

Una volta visualizzati a video i canali attivi, l’utente può scegliere su quale sintonizzarsi digitando da tastiera il numero del canale corrispondente e premendo il tasto invio. Tutto questo è stato possibile grazie alla costruzione di una tabella, nella parte iniziale del codice del componente FFT_vhf_aeronautico, che associa ad ogni valore di frequenza il numero del canale relativo, secondo la Tab. 3.2 dello standard VHF aeronautico riportata nel terzo capitolo.

Con la digitazione del tasto invio, il codice dell’FFT_vhf_aeronautico controlla che il canale scelto dall’utente sia un canale della mappa creata e sia uno dei canali attivi mostrati a video. Verificate queste due condizioni, questo blocco va a settare true una variabile booleana e va a modificare i parametri specifici della USRP2 (vedi quinto capitolo) che le permettono di sintonizzarsi su quello specifico canale.

Di conseguenza, lo stream dei campioni ricevuti da ora in poi faranno parte di una banda di 250 Khz intorno alla frequenza selezionata e ritornano nuovamente in ingresso all’FFT_vhf_aeronautico, il quale, stavolta, grazie alla variabile booleana prima settata, non esegue più tutte le istruzioni precedenti di channel sensing, ma

(9)

semplicemente si comporta da blocco trasparente, cioè prende i dati in ingresso e li porta in uscita verso il blocco successivo senza modificarli.

In Fig. 4.3, è riportata la finestra del terminale, su Ubuntu, che mostra una parte della scansione dei 76 blocchi da 250 Khz, il numero del canale attivo in quel momento, la sua frequenza corrispondente, la scelta da parte dell’utente e la sintonizzazione su quella frequenza da parte dell'USRP2 grazie alla porta RX Control. A questo punto, l’utente può ascoltare il segnale audio presente sul canale scelto.

Fig. 4.3 – La finestra del terminale su Ubuntu

4.6. Demodulazione del segnale audio analogico

Dopo che l’utente ha selezionato il canale che vuole ricevere e l’USRP2 vi si è sintonizzata, lo stream dei campioni passa attraverso il Decimatore che ne riduce la

(10)

velocità per adattarla a quella richiesta dalla scheda audio del PC. Di seguito il segnale viene filtrato dal filtro di Butterworth passa basso dentro la banda del segnale audio e viene inviato in ingresso al blocco am_demod.

La demodulazione AM consiste, nel dominio analogico, nella realizzazione di un semplice rivelatore di inviluppo, come quello rappresentato in Fig. 4.4.

Fig. 4.4 – Rivelatore di inviluppo

Nella sua versione hardware, il rivelatore di inviluppo è costituito da un diodo(T) che elimina le semionde negative e da un filtro passa basso, formato dal condensatore e dalla resistenza, con frequenza di taglio pari a 1/(2πRC) che deve essere sufficientemente più elevata della banda del segnale modulante e molto più piccola della frequenza della portante.

Infatti un segnale modulato AM può scriversi nella seguente forma [16]: x(t)= A0[1+mAa(t)]cos(2

π

f0t+

φ

0) (4.3)

Dove con A ,0

φ

0 e f sono state indicate rispettivamente l’ampiezza, la fase 0

iniziale e la frequenza della portante, con mA la profondità o indice di modulazione, che deve essere compreso fra 0 e 1 per una corretta demodulazione del segnale e con

) (t

a il segnale modulante. Passando ad una rappresentazione del segnale AM tramite gli inviluppi complessi:

~( ) 0[1 ( )]

0e m a t

A t

x = jφ + A (4.4) è possibile notare che la fase dell’inviluppo complesso non dipende dal segnale modulante e quindi non porta informazione utile e può essere eliminata.

(11)

Quindi quello che ci interessa per ricavare il segnale è soltanto il modulo dell’inviluppo complesso, che come è possibile notare dalla formula 4.4, non è altro che l’inviluppo del segnale modulato. Ecco dimostrato il fatto che il demodulatore AM è il semplice circuito di Fig. 4.4.

Per il dominio discreto concettualmente è la stessa cosa, infatti invece del segnale analogico, all’ingresso del demodulatore, abbiamo uno stream di campioni di quel segnale. Quindi il nostro blocco software altro non fa che prendere il ramo in fase e il ramo in quadratura e calcolarne il modulo per poi passarlo in uscita.

Figura

Fig. 4.1 – Schema a blocchi del ricevitore USRP2 FFT  Decimatore  Butterworth Am_demod Butterwoth el-continua Scheda audio
Fig. 4.2 – Immagine del laboratorio
Fig. 4.3 – La finestra del terminale su Ubuntu
Fig. 4.4 – Rivelatore di inviluppo

Riferimenti

Documenti correlati