• Non ci sono risultati.

Capitolo 4 Implementazione e validazione del trasmettitore TETRA

N/A
N/A
Protected

Academic year: 2021

Condividi "Capitolo 4 Implementazione e validazione del trasmettitore TETRA"

Copied!
16
0
0

Testo completo

(1)

Capitolo 4

Implementazione e validazione del

trasmettitore TETRA

4 Implementazione e validazione

In questo capitolo si descriverà la catena di trasmissione del trasmettitore TETRA/DMO che è stato implementato, utilizzando le nozioni teoriche riportate nei capitoli precedenti. In particolare saranno illustrate le principali caratteristiche dei singoli blocchi che compongono il sistema e le operazioni effettuate sul segnale. Nella parte conclusiva saranno riportati alcuni risultati

sperimentali per la validazione del trasmettitore.

4.1 Implementazione della catena di trasmissione

Per la realizzazione dei singoli componenti della catena di trasmissione del trasmettitore TETRA/DMO è stato preso come modello di riferimento lo schema precedentemente illustrato nel capitolo 3 (Fig.3.13). Come accennato nel capitolo 2, il software utilizzato per la realizzazione del trasmettitore è il tool OSSIE 0.8.2, e i singoli blocchi della catena sono stati programmati in C++.

Non è negli intenti di questo lavoro la realizzazione di un trasmettitore TETRA/DMO che lavori in tempo reale. Per questo motivo, per semplificare la realizzazione del sistema, sono state sviluppate due waveform: la prima, di nome Tetra, si occupa della generazione dei campioni I-Q del segnale e della scrittura su un file di dump, la seconda, di nome Tetra_Dump_reader, provvede alla trasmissione dei campioni letti da file.

Nei paragrafi successivi vengono descritte le caratteristiche e i criteri di funzionamento delle due

(2)

74

4.1.1 Generazione dati

In questo paragrafo verranno discusse le caratteristiche principali della prima waveform, di nome “Tetra”, realizzata per la generazione dei dati da trasmettere. I processi che caratterizzano i componenti realizzati sono stati allocati su un nodo unicamente formato dal device GPP.

4.1.1.1 Descrizione dei componenti

In Fig.4.1 è riportato un diagramma a blocchi che mostra i componenti presenti nella prima

waveform per la generazione del segnale da trasmettere (lo schema è stato creato dal tool ALF di

OSSIE). Sulla base di quanto visto nel capitolo 3, le funzioni principali di ciascun componente si possono riassumere nel seguente modo:

PNS: genera l’informazione da trasmettere;

CRC: applica, se previsto dal canale logico prescelto, il codice a blocco descritto nella sezione 3.4.1.1.1;

Tail bit: se previsto dal canale logico prescelto, provvede ad aggiungere quattro bit di tail in coda, come descritto nella sezione 3.4.1.1;

Mother Code: opera, se previsto dal canale logico selezionato, una codifica convoluzionale come descritto nella sezione 3.4.1.1.2.1;

Puncturing: effettua, se previsto, il puncturing sulla sequenza presente in ingresso, come mostrato nella sezione 3.4.1.1.2.2;

Interleaver: effettua, se previsto, l’interleaving della sequenza presente in ingresso, come descritto nella sezione 3.4.1.2;

Scrambler: applica la sequenza di scrambling, come mostrato nella sezione 3.4.1.3; Burst Builder: crea la trama di livello MAC e inserisce i dati ricevuti in ingresso nelle

sezioni apposite, come mostrato al paragrafo 3.4.1.5;

Mappatore: mappa la sequenza di bit presente in ingresso in una sequenza di simboli π/4-DQPSK, come mostrato nella sezione 3.4.1.6;

Filtro tx: è il filtro di trasmissione a radice di coseno rialzato (come mostrato nella sezione 3.4.1.7), produce i campioni di segnale che devono essere trasmessi;

Float to short: l’USRP è in grado, mediante l’USRP Commander (presente nella seconda

waveform), di trasmettere campioni di segnale di tipo short. Poiché all’uscita del filtro di

trasmissione i campioni sono rappresentati come float, è opportuno inserire un blocco che si preoccupi di convertire i campioni da float a short. La tecnica adottata per la conversione è la seguente:

o Poiché gli short sono definiti su 16 bit, essi rappresentano un valore compreso tra -32768 e +32767. Perciò viene definita una variabile di nome gain pari a -32768 che individua il valore di picco che può assumere il segnale quantizzato;

o Dati i campioni I-Q presenti in ingresso, si calcola il valore assoluto di ciascun campione, si procede al calcolo del valore massimo e lo si memorizza in una variabile di nome picco;

(3)

75

[ ] [ ]

dove in[i] rappresenta uno dei campioni I-Q presenti in ingresso (float) mentre out[i] rappresenta l’uscita (short).

o Dump creator: provvede a scrivere i campioni ricevuti in ingresso in due file dump, in cui vengono memorizzati i campioni I ed i campioni Q separatamente. È

comunque possibile memorizzare i campioni IQ in un unico file.

Figura 4.1 – Catena di trasmissione.

4.1.1.2 Organizzazione dei componenti

Come visto nel capitolo 3, per la trasmissione dei dati, lo standard TETRA identifica tre fasi:

Instaurazione della chiamata (Call Set-Up);

 Trasmissione delle informazioni utili;

 Chiusura della chiamata.

Per distinguere i tre stadi menzionati, nel primo componente, Pns, si definisce una variabile, di nome mode, che può assumere tre valori: se vale uno significa che è in corso l’avvio della chiamata, se vale due è in atto la trasmissione delle informazioni utili, mentre se assume valore pari a tre è in corso la chiusura della chiamata. La variabile mode viene generata nel primo componente e viene mandata in uscita in modo da permettere, nei componenti successivi, di conoscere lo stato di

(4)

76

chiamata in corso; sulla base di quanto specificato nelle sezioni 3.4.3.2.1 e 3.4.3.3, il valore assunto dalla variabile mode viene fissato e modificato nel modo seguente:

Inizialmente la variabile viene impostata a uno in modo da avviare il processo di Call

Set-Up (si considera il caso without presence check), e continua ad assumere valore

unitario finché non vengono compiuti 72 cicli del programma (che corrispondono a tutti i timeslot presenti nei primi 18 frame). Ciò è possibile mediante la definizione di un contatore.

 Quando il contatore assume valore pari a 72 significa che la fase di apertura della chiamata è stata ultimata e deve cominciare la produzione del traffico utente; ciò significa che la variabile mode dovrà essere modificata e impostata a due. Nello specifico, il programma continuerà a rimanere in questa fase per un numero di cicli fissato dall’utente sulla base dei dati che si è prefissato di trasmettere (si veda il paragrafo 4.1.1.3 per maggiori dettagli sul numero di cicli massimo impostabile).

 Quando anche la fase di generazione del traffico dati si è conclusa (ovvero nel momento in cui sono stati eseguiti tanti cicli quanti specificati dall’utente), la variabile mode viene impostata a tre in modo da avviare la procedura di chiusura della chiamata.

E’ opportuno specificare che, nella realizzazione della waveform “Tetra”, lo slot 3 di ciascun

frame non è stato impiegato per la linearizzazione degli amplificatori di trasmissione e il frame 18 è

stato utilizzato per la trasmissione del traffico utente.

Il canale logico sul quale devono essere trasmessi i dati generati viene fissato in questo modo:

 Nella fase di instaurazione della chiamata i dati devono essere trasmessi in corrispondenza dei canali SCH/S e SCH/H; nel primo componente viene definita una variabile, LCI

(Logical Channel Index), che assume valore zero per indicare il canale SCH/S e valore

unitario per indicare il canale SCH/H. In questa fase il primo componente provvede alla generazione del messaggio DM-SETUP di livello 3, che viene inserito nella DMAC-SYNC PDU di livello 2, che, a sua volta, verrà inserita nel burst DSB da parte del componente

burst builder (come previsto in [19]).

 Nella fase di generazione del traffico, il programma dà la possibilità all’utente di fissare il canale logico in corrispondenza del quale deve avvenire la trasmissione; in questo caso lo standard [19] prevede di inserire i dati direttamente nel burst DNB.

Infine, nella fase di chiusura delle chiamata, la trasmissione avviene in parte sullo stealing

channel e in parte sui canali SCH/S e SCH/H; nel programma è necessario impostare

opportunamente il canale logico. Durante la terminazione della chiamata si ha una prima fase nella quale il programma genera, nel primo componente, il messaggio DM-TX

CEASED, lo inserisce in una DMAC-DATA PDU o in una DMAC-SYNC PDU a seconda del frame considerato e, successivamente, il burst builder provvede a inserire la PDU nel burst opportuno (come specificato in [19]); terminata questa fase, comincia il periodo di

(5)

77

DM-RESERVED, lo inserisce nella DMAC-SYNC PDU che, a sua volta, verrà inserita nel DSB.

In Fig.4.1 si può notare che, ad eccezione del filtro di trasmissione, del convertitore da float a

short e del Dump Creator, tutti i componenti presentano tre uscite: sulla prima vengono inviati i

dati prodotti, sulla seconda la variabile mode e il canale logico selezionato, sulla terza il frame

number nel caso della call set-up, il numero di blocchi M e il fattore dell’interleaver N durante la

fase di traffico, e un contatore nel caso della chiusura della chiamata. Merita specificare che negli slot nei quali non è prevista la trasmissione dati, sulla prima uscita viene inviato un valore fittizio. In Fig.4.2 si riporta un esempio di collegamento tra i componenti all’interno della waveform “Tetra”.

Figura 4.2 – Collegamento delle uscite e degli ingressi.

4.1.1.3 Determinazione del massimo numero di cicli di esecuzione della waveform “Tetra”

Nello standard TETRA/DMO [19] viene definito un timer, denominato DT311, che corrisponde alla massima durata della chiamata; questo parametro di default è fissato a 300 s, ma può essere modificato a discrezione dell’utente.

Si indichi con Tmax la massima durata della chiamata (nel caso in questione è stato

mantenuto il valore suggerito dallo standard, 300 s) e con Rt il bitrate specificato dallo standard (7,2 Kbit/s per il canale TCH/7,2, 4,8 Kbit/s per il TCH/4,8 e 2,4 Kbit/s per il TCH/2,4); con riferimento

(6)

78

alla Fig.4.3, il massimo numero di bit che può essere presente all’ingresso del mappatore risulta essere:

Con un ragionamento a ritroso, si ha che il numero massimo di bit risulta essere:  All’ingresso del burst builder:

dove block_length indica la dimensione di un blocco di canale di traffico (432 bit) e

burst_length la dimensione di un burst (510 bit).

Figura 4.3 – Diagramma di riferimento della catena di trasmissione per il calcolo del massimo numero di cicli.

All’ingresso dello scrambler:

All’ingresso dell’interleaver:

(7)

79

Ciò significa che il massimo numero di bit complessivamente disponibili all’ingresso dell’interleaver nel corso di una chiamata di durata massima Tmax è:

Indicando con NcicliMax il numero di cicli che il programma deve eseguire nel corso della chiamata di durata massima, il numero massimo di bit all’ingresso dell’interleaver si può esprimere nel modo seguente:

Confrontando le ultime due equazioni è possibile ricavare il numero massimo di cicli che il programma può eseguire:

Questo risultato è valido per i canali TCH/4,8 e TCH/2,4, mentre per il canale TCH/7,2, poiché manca l’interleaver, il risultato si modifica nel seguente modo:

E’ opportuno che in fase di stabilimento dei parametri si imposti un numero di cicli inferiore rispetto al valore massimo determinato, in modo da evitare che la durata della chiamata superi il valore massimo prestabilito.

Poiché il numero di bit prodotti dal blocco Pns è fissato in base al canale logico selezionato e il numero di cicli è stato imposto in modo da rispettare i vincoli visti, il numero di bit

complessivamente prodotti risulta anch’esso fissato.

4.1.1.4 Scelta del fattore di decimazione

Come sarà descritto nel paragrafo 4.1.2, il componente che si occupa della gestione dell’USRP è l’USRP Commander. Nel caso dell’USRP1, la frequenza dei campioni prodotti in uscita risulta pari a 64 Msample/s; poiché nell’USRP Commander è stato scelto il fattore di

(8)

80

decimazione massimo pari a 512, all’ingresso si ha un rate pari a 125 kSample/s. All’interno del filtro viene effettuato il sovracampionamento del segnale in modo da adattare il rate all’ingresso dell’USRP Commander con la velocità di segnalazione prevista all’ingresso del filtro di

trasmissione: così facendo non si raggiunge il data-rate prefissato per ogni canale ma un data-rate sottomultiplo di 125 Kbit/s che ci si avvicina. Per avere una perfetta corrispondenza con i rate previsti dallo standard è necessario l’impiego di un fractional resampler che comporta nuovi problemi di sincronizzazione e di adattamento.

4.1.2 Trasmissione dei dati

La seconda waveform, denominata Tetra_Dump_reader, è stata creata per trasmettere i dati precedentemente generati con la waveform Tetra. In particolare, come mostrato in Fig.4.4, sono previsti tre componenti:

Dump reader: legge i campioni di segnale I-Q dai file dump generati dalla waveform Tetra; USRP Commander: è un componente predefinito di OSSIE che permette il controllo dei

parametri dell’USRP e la trasmissione dati;

Amplifier: permette di amplificare opportunamente il segnale da trasmettere.

I componenti sono stai allocati su un nodo formato dai device GPP e USRP i quali si occuperanno rispettivamente della lettura da file e amplificazione delle componenti I-Q, e della trasmissione. In Fig.4.5 sono illustrati i principali parametri che caratterizzano l’USRP Commander: in particolare è stata impostata una frequenza di 920 MHz e, come precedentemente accennato, il fattore di

sovracampionamento è stato impostato a 512, ovvero il massimo consentito.

Per quanto riguarda l’amplificatore è stato scelto un guadagno pari a 1 sia sul ramo I che sul ramo Q.

(9)

81

Figura 4.4 – Diagramma a blocchi della waveform TETRA_dump_reader.

Figura 4.5 – Parametri dell’USRP Commander.

4.2 Validazione del trasmettitore

Per testare il funzionamento del trasmettitore sono state eseguite alcune prove.

L’obiettivo della prima prova è quello di verificare che lo spettro del segnale prodotto risulti correttamente sagomato: per quanto riguarda la configurazione del trasmettitore, sono stati impostati i seguenti parametri del filtro di trasmissione:

Roll-off: 0,35 (come previsto nello standard [21]);  Fattore di sovracampionamento: 8.

(10)

82

I risultati ottenuti sono riportati in Fig.4.6; il grafico è stato realizzato sfruttando le peculiarità del tool ALF, incluso nel framework OSSIE, che permette di visualizzare graficamente l’occupazione frequenziale dell’uscita di ciascun componente. Come si può constatare lo spettro del segnale all’uscita del filtro di trasmissione presenta l’andamento previsto nel caso di sagomatura a radice di coseno rialzato.

Figura 4.6 – Spettro del segnale all’uscita del filtro di trasmissione.

I test sono stati realizzati utilizzando un PC con processore Intel Core Duo T5550@1,83 GHz con 2Mb di memoria cache L2 e memoria ram di 2 GB@667 MHz; inoltre il sistema operativo gira su un hard disk esterno collegato al computer mediante USB 2.0.

Per quanto riguarda il consumo di risorse, per la waveform “Tetra” non è stato registrato un consumo significativo né della CPU né della memoria (se non una leggera flessione nella fase di trasmissione di traffico, vedi Fig.4.7), mentre per la seconda waveform, “TETRA_dump_reader”, la CPU è arrivata ad un picco intorno all’80% mentre il consumo di memoria è rimasto pressoché invariato (vedi Fig.4.8).

(11)

83

Figura 4.7 – Monitoraggio delle risorse durante l’esecuzione della waveform “Tetra”.

(12)

84

La seconda prova per la validazione del trasmettitore è stata realizzata sfruttando

l’analizzatore di spettro HP E4411B; il segnale è stato trasmesso utilizzando i seguenti parametri:  Roll-off: 0,35;

 Fattore di sovra campionamento: 2.

I risultati ottenuti sono riportati in Fig.4.9; il segnale presenta un andamento che rispecchia la sagomatura a radice di coseno rialzato e la banda risulta essere pari al valore teorico previsto ma, come si può constatare, sono presenti componenti spurie probabilmente generate a causa di un non corretto pilotaggio del filtro di trasmissione dell’USRP da parte del framework OSSIE.

Figura 4.9 – Spettro del segnale ricevuto sull’analizzatore HP E4411B.

In Fig.4.10 si riporta lo spettro del segnale prodotto in uscita dal filtro di trasmissione e in Fig.4.11 il diagramma I-Q nel caso in cui il fattore di sovracampionamento sia impostato a 8 e il

roll-off a 0,35 (per il test è stato utilizzato un analizzatore di spettro vettoriale); come si può notare

dal diagramma I-Q, dato un simbolo della costellazione sono ammesse le transizioni in corrispondenza dei simboli adiacenti e dei simboli sfasati di ±135°, come previsto dalla modulazione π/4 DQPSK.

(13)

85

Figura 4.10 – Spettro del segnale in uscita dal filtro di trasmissione con sovracampionamento a otto.

Figura 4.11 – Diagramma I-Q con sovracampionamento a otto.

Per quanto riguarda la banda occupata dal segnale, da un punto di vista teorico essa risulta:

dove α è il fattore di roll-off del filtro di trasmissione, R è il data-rate previsto all’ingresso dell’USRP Commander (125 Ksample/s) e q è il fattore di sovra campionamento. Nel caso in esame, poiché il fattore di sovracampionamento è stato fissato a 8 e il roll-off a 0,35, la banda prevista risulta circa pari a 21 KHz. In Fig.4.12 si riportano i risultati sperimentali ottenuti, dai quali risulta un’occupazione di banda circa pari a 22 KHz, in accordo con quanto previsto teoricamente.

(14)

86

Figura 4.12 – Misura della banda nel caso di sovracampionamento a otto.

La seconda prova effettuata con l’analizzatore di spettro vettoriale è stata realizzata fissando il fattore di sovracampionamento a 20 e mantenendo il roll-off a 0,35. In Fig.4.13 si riporta lo spettro del segnale in uscita dal filtro di trasmissione e in Fig.4.14 il diagramma I-Q, per il quale valgono le stesse considerazioni viste nel caso di sovracampionamento fissato a 8. Per quanto riguarda la misura della banda, i risultati sono riportati in Fig.4.15; in particolare, poiché la banda misurata risulta circa pari a 9 KHz e quella teorica circa a 8,5 KHz, i risultati ottenuti risultano coerenti con quelli previsti.

(15)

87

Figura 4.14 - I-Q con sovracampionamento a 20.

Figura 4.15 - banda nel caso di sovracampionamento a 20.

Nell’ultima prova effettuata è stato generato un segnale con modulazione π/4-DQPSK tramite Matlab ed è stato confrontato con i risultati sperimentali ottenuti in precedenza. E’ stata adottata la seguente procedura:

Mediante la funzione predefinita rand si è costruita una sequenza di numeri uniformemente distribuita e pseudorandom che, successivamente, è stata convertita in una sequenza di zero e uno;

 I bit sono stati opportunamente convertiti in simboli π/4-DQPSK;

 I campioni della risposta impulsiva del filtro sono stati generati utilizzando la funzione predefinita rcosfir della Communication System Toolbox;

Si è calcolato l’uscita del filtro utilizzando la funzione predefinita conv (che calcola la convoluzione tra due sequenze di ingresso);

(16)

88

Si è calcolato la trasformata discreta di Fourier dell’uscita del filtro mediante le funzione fft e fftshift.

I file dump ottenuti con la waveform “Tetra” sono stati caricati in Matlab mediante la funzione fopen;

E’ stata utilizzata la funzione fscanf per memorizzare i campioni I-Q all’interno di due vettori;

Mediante le funzioni fft e fftshift è stata calcolata la trasformata di Fourier del vettore complesso prodotto dai due vettori ottenuti in precedenza.

In Fig.4.16 si riportano i risultati ottenuti: in particolare il primo grafico riporta l’andamento della risposta in frequenza del filtro ottenuto tramite simulazione, il secondo grafico mostra l’andamento spettrale dell’uscita ottenuta tramite simulazione, e il terzo grafico mostra lo spettro del segnale prodotto in uscita dall’USRP. Come si può notare lo spettro prodotto all’uscita dell’USRP risulta confrontabile con quanto ottenuto tramite simulazione a meno di un leggero ripple in

corrispondenza delle frequenze di centro-banda.

Figura 4.16 – Confronto tra i risultati sperimentali e i risultati ottenuti tramite simulazione.

Per valutare la bontà dei risultati ottenuti è stata calcolata la banda occupata dal segnale ottenuto tramite simulazione, dal segnale prodotto dall’USRP e dalla risposta in frequenza del filtro nel caso in cui il fattore di roll-off assuma valore 0,35 e il fattore di sovracampionamento sia fissato a 8. Come già visto in precedenza, in queste condizioni il valore teorico previsto per la banda risulta circa pari a 21 KHz.

In particolare, per ciascun segnale, è stata fissata una soglia al di sotto di 20 dB rispetto al massimo e sono stati ricavati gli estremi di banda corrispondenti. Così facendo è stato ottenuta una banda pari a 20,2 KHz per il segnale prodotto tramite simulazione, 20,32 KHz per il segnale prodotto

Riferimenti

Documenti correlati

Variables considered are market capitalisation for competition, bank assets for banking regulation, gross external assets for the GFSN, exports and imports for trade, CO2

alla diversità delle funzioni del bilancio e della relazione, di per sé indubitabile, si può sottolineare che alcune importanti informazioni sulla situazione della società

It is only relevant when the fear of persecution is bounded to a certain part of a country, keeping out the several cases of persecution made by the authorities of

Il nepotismo nella colonia. Consigliamo ed aiutiamo i nuovi venuti, «L’Italia», 5 gennaio 1903.. Non fu questa l’unica occasione in cui il giornale italiano criticò la “mancanza

jouer à son lecteur un rôle dans le conte même, il le fait sortir de la passivité et de l’anonymat. Ce qui était pour Diderot une nécessité, la présence d’un être { qui

The article and the special issue aim to discuss and contextualise the recent rise of traditional aspects of geopolitics in EU foreign policy with a focus on the region on its

Hebei shall cause each Project Municipality, through its respective Utility Company, to carry out Part C of the Project in accordance with a time-bound action plan

Secondo il 64,5% dei lavoratori, infatti, un’azienda che offre servizi di welfare in sostituzione a premi retributivi viene giudicata positivamente, perché marginalmente può portare