sistemi per la prototipazione di apparati di trasmissione ... · corso di laurea in informatica...

67
Universit` a degli Studi di Brescia FACOLT ` A DI INGEGNERIA Corso di Laurea in Informatica Tesi di laurea triennale Sistemi per la prototipazione di apparati di trasmissione wireless Candidato: Massimo Bono Matricola 76953 Relatore: Francesco Gringoli Anno Accademico 2011–2012

Upload: voanh

Post on 16-Feb-2019

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

Universita degli Studi di Brescia

FACOLTA DI INGEGNERIA

Corso di Laurea in Informatica

Tesi di laurea triennale

Sistemi per la prototipazione di apparati di trasmissione wireless

Candidato:

Massimo BonoMatricola 76953

Relatore:

Francesco Gringoli

Anno Accademico 2011–2012

Page 2: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

Indice

Tabella degli acronimi utilizzati v

Introduzione al Software Defined Radio viii

1 Cenni ai fondamenti dei Software Defined Radio 11.1 Il concetto di modulazione . . . . . . . . . . . . . . . . . . . . 1

1.1.1 Modulazione analogica . . . . . . . . . . . . . . . . . . 21.1.2 Modulazione digitale . . . . . . . . . . . . . . . . . . . 21.1.3 Modulazione di Spread Spectrum . . . . . . . . . . . . 3

1.2 La modulazione PSK . . . . . . . . . . . . . . . . . . . . . . . 51.3 Il concetto di radio . . . . . . . . . . . . . . . . . . . . . . . . 7

2 Il Software Defined Radio 82.1 Motivi per l’introduzione al SDR . . . . . . . . . . . . . . . . 8

2.1.1 Scalabilita . . . . . . . . . . . . . . . . . . . . . . . . . 82.1.2 Programmabilita . . . . . . . . . . . . . . . . . . . . . 92.1.3 Interoperabilita . . . . . . . . . . . . . . . . . . . . . . 92.1.4 Flessibilita . . . . . . . . . . . . . . . . . . . . . . . . . 112.1.5 Ricetrasmissione dinamica . . . . . . . . . . . . . . . . 11

2.2 Software Defined Radio . . . . . . . . . . . . . . . . . . . . . . 112.2.1 Definizione di SDR . . . . . . . . . . . . . . . . . . . . 112.2.2 Livelli del SDR . . . . . . . . . . . . . . . . . . . . . . 122.2.3 Hardware di un SDR generico . . . . . . . . . . . . . . 132.2.4 Svantaggi di un SDR . . . . . . . . . . . . . . . . . . . 14

3 Storia e Dispositivi del SDR 153.1 Storia del termine . . . . . . . . . . . . . . . . . . . . . . . . . 153.2 Speakeasy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.3 Joint Tactical Radio System . . . . . . . . . . . . . . . . . . . 163.4 Gli SDR moderni . . . . . . . . . . . . . . . . . . . . . . . . . 173.5 Web Software Defined Radio . . . . . . . . . . . . . . . . . . . 18

i

Page 3: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

INDICE ii

4 Universal Software Radio Peripheral 204.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.2 USRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.3 Embedded USRP . . . . . . . . . . . . . . . . . . . . . . . . . 224.4 USRP2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.5 USRP 2921 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

5 LabView 255.1 Introduzione a LabView . . . . . . . . . . . . . . . . . . . . . 255.2 Vantaggi e svantaggi di LabView . . . . . . . . . . . . . . . . 265.3 Strumenti per l’implementazione di SDR in LabView . . . . . 265.4 Esempio di trasmissione di alcuni bit tra due USRPs . . . . . 27

5.4.1 Collegamento Hardware . . . . . . . . . . . . . . . . . 275.4.2 Codice LabView . . . . . . . . . . . . . . . . . . . . . . 275.4.3 Risultati . . . . . . . . . . . . . . . . . . . . . . . . . . 29

6 Livello fisico del protocollo 802.11 326.1 Il modello ISO/OSI . . . . . . . . . . . . . . . . . . . . . . . . 326.2 Cenni all’architettura TCP/IP . . . . . . . . . . . . . . . . . . 336.3 La famiglia di standard 802 . . . . . . . . . . . . . . . . . . . 356.4 La famiglia 802.11 . . . . . . . . . . . . . . . . . . . . . . . . 366.5 Specifiche del 802.11 Legacy livello PHY . . . . . . . . . . . . 37

6.5.1 Struttura e interazioni fondamentali . . . . . . . . . . . 376.5.2 Mezzi comunicativi compatibili con lo standard . . . . 396.5.3 formato del PMD nel DSSS PHY . . . . . . . . . . . . 396.5.4 Formato del PLCP nel DSSS PHY . . . . . . . . . . . 40

6.6 Esperimento di trasmissione . . . . . . . . . . . . . . . . . . . 456.6.1 Hardware utilizzato . . . . . . . . . . . . . . . . . . . . 456.6.2 Componenti del software . . . . . . . . . . . . . . . . . 45

6.7 Risultati dell’esperimento . . . . . . . . . . . . . . . . . . . . 46

Conclusioni 52

Ringraziamenti 53

Page 4: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

Elenco delle figure

1.1 modulazione ASK della sequenza 10110[41]. . . . . . . . . . . . . . . 31.2 modulazione FSK della sequenza 10110[41]. . . . . . . . . . . . . . . 41.3 Constellation graph di una modulazione PSK di tipo quadrature: i punti

bianchi rappresentano i simboli mentre le linee rosse rappresentano le

transizioni effettuate durante la trasmissione . . . . . . . . . . . . . . 6

2.1 idea generale di una radio software: invece di modulare tramite hard-

ware, una radio software effettua la modulazione tramite un software,

per esempio LabView . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.1 Posizione dei WebSDR nell’europa centrale. Immagine reperita dal servizio

Google Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.1 box esterno dell’ USRP . . . . . . . . . . . . . . . . . . . . . . 214.2 schema di funzionamento di base dell’USRP . . . . . . . . . . 224.3 Schema a blocchi del USRP-2921 . . . . . . . . . . . . . . . . 24

5.1 VI del trasmettitore: si possono notare diversi settori: in alto a sinistra

il settore della creazione dei dati modulati (modulatore); in alto a destra

il codice per visualizzare i risultati; in basso il codice per realizzare la

trasmissione vera e propria . . . . . . . . . . . . . . . . . . . . . . 285.2 ricezione del messaggio “FF 12 34 56 AA CC BA CC 0A”: tale

messaggio e composto da una sequenza di sincronizzazione eda un payload . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

5.3 Ricezione del messaggio “FF 12 34 56 BA CC” quando lasequenza di sincronizzazione e troppo poco variabile; in questocaso la sequenza e una serie di 1. . . . . . . . . . . . . . . . . 31

6.1 idea generale grafica dello stack TCP/IP . . . . . . . . . . . . 346.2 processo di invio dell’informazione . . . . . . . . . . . . . . . . 35

iii

Page 5: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

ELENCO DELLE FIGURE iv

6.3 disposizione generale e principali interfacce del livello PHY dell’802.11. I

rettangoli neri indicano le interfaccie definite esplicitamente dllo standard

802.11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386.4 Rappresentazione grafica in barkercode della sequenza di bit 10 . . . . . 396.5 formato dei dati del PLCP . . . . . . . . . . . . . . . . . . . . 416.6 campi inviati dal trasmettore nel tempo . . . . . . . . . . . . . 436.7 PLCP SINC builder : costruisce il campo SYNC. . . . . . . . . 486.8 PLCP SFD builder : costruisce il campo SFD. . . . . . . . . . 486.9 PLCP SIGNAL builder : costurisce il campo SIGNAL. . . . . . 486.10 PLCP SERVICE builder : costruisce il campo SERVICE. . . . 486.11 PLCP LENGTH builder : costruisce il campo LENGTH. . . . 486.12 PLCP CRC builder : costruisce il campo CRC partendo dai

singoli campi SIGNAL, SERVICE e LENGTH. . . . . . . . . . 486.13 Advanced PLCP Frame Generator : permette all’utente di creare

una PPDU con il valore dei campi dell’header che preferisce. . 486.14 DSSS PLCP data Scrambler : effettua lo scrambling dei dati

secondo il polinomio z7 + z4 + 1 . . . . . . . . . . . . . . . . . 496.15 DBPSK : effettua una codifica dei simboli di tipo differenziale. 496.16 Modulatore DSSS : effettua lo spreading di un bit secondo la

sequenza di Barker. . . . . . . . . . . . . . . . . . . . . . . . . 496.17 Rotate Graph: ruota una mappa dei simboli di modulazione. . 496.18 MT Generation Parameters : genera i parametri per effettuare

il campionamento dei simboli. . . . . . . . . . . . . . . . . . . 496.19 MT PSK Modulation: campiona, secondo i parametri passati,

i simboli passati in I e Q. . . . . . . . . . . . . . . . . . . . . . 506.20 MT Resampling : effettua una resampling dei campioni passati 506.21 USRP write Data Tx : trasmette fisicamente i campioni I e Q . 506.22 Interfaccia utente dell’USRP con il modulo “Advanced PLCP

Frame Generator” quando esso trasmette un beacon. . . . . . 51

Page 6: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

Tabella degli acronimi utilizzati

ADC Analogic Digital Converter

ACK ACKnowledgment

AM Amplitude Modulation

ASIC Application Specific Integrated Circuit

ASK Amplitude Shift Key

CRC Cyclic Redundancy Check

DAC Digital Analogic Converter

DBPSK Differential Binary PSK

DSP Digital Signal Processor

DSSS Direct Sequence Spread Spectrum

FCS Frame Check Sequence

FM Frequency Modulation

FPGA Field Programmable Gate Array

FHSS Frequency Hopping Spread Spectrum

FSK Frequency Shift Key

GPP General Purpose Processor

HDMI HIgh Definition Multimedia Interface

IEEE Institute of Electrical and Electronics Engineers

IP Internet Protocol

v

Page 7: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

TABELLA DEGLI ACRONIMI UTILIZZATI vi

IR Infra Red

ISR Ideal Software Radio

JTRS Joint Tactical Radio System

LAN Local Area Network

LLC Logical Link Control

LME Layer Management Entity

LSB Least Significant Bit

MAC Media Access Control

MAN Metropolitan Area Network

MANET Mobile Ad hoc NETwork

MIMO Multiple Input Multiple Output

MLME Mac LME

MPDU Mac Protocol Data Unit

MSB Most Significant Bit

OFDM Orthogonal Frequency Division Multiplexing

OSI Open Systems Interconnection

PAN Personal Area Network

PHY PHYsical layer

PLCP Physical Layer Convergence Protocol

PLME Physical LME

PMD Physical Medium Dependent

PN Pseudo Noise

PPDU PLCP Protocol Data Unit

PPS Pulse Per Second

PSK Phase Shift Key

Page 8: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

TABELLA DEGLI ACRONIMI UTILIZZATI vii

RF Radio Frequency

RISC Reduced Instruction Set Computing

SAP Service Access Point

SCA Software Communication Architecture

SD Secure Digital

SDR Software Defined Radio

SFD Start Frame Delimiter

SMA SubMiniature version A

SME Station Management Entity

SNR Signal Noise Ratio

Soc System on Chip

SS Spread Spectrum

TCP Transmission Control Protocol

USB Universal Serial Bus

USR Ultimate Software Radio

USRP Universal Software Radio Peripheral

VI Virtual Instrument

WAN Wireless Area Network

WEP Wired Equivalent Privacy

WLAN Wireless LAN

Page 9: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

Introduzione al SoftwareDefined Radio

Questa tesi ha come scopo quello di introdurre il lettore al Software DefinedRadio.Il primo capitolo e dedicato all’introduzione di alcuni concetti telecomunica-tivi necessari per capire, almeno a livello generale, come si puo realizzare uncanale comunicativo via aria. Il secondo capitolo, invece, motiva l’uso dellconcetto di Software Defined Radio, ossia quello di una radio pilotata tramiteun software eseguito su una macchina esterna.Il terzo capitolo descrive in modo sintetico l’evoluzione degli apparecchi ader-enti all’idea di Software Defined Radio; il capitolo quattro si focalizza invecesu una particolare strumentazione hardware: l’Universal Software Radio Pe-ripheral. Per quanto concerne il software, il capitolo cinque descrive il pro-gramma utilizzato per pilotare l’USRP, ossia il linguaggio di programmazionegrafico LabView: insieme alla descrizione dell’ambiente di sviluppo, viene es-posto anche un piccolo esperimento trasmissivo elementare tra due USRP.realizzante il concetto di Software Defined Radio (seppur ristretto ad un livel-lo molto elementare). Il capitolo 6 introduce un esperimento piu complesso incui l’USRP e programmata per trasmettere trame nel formato 802.11 Legacy.

viii

Page 10: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

Capitolo 1

Cenni ai fondamenti deiSoftware Defined Radio

1.1 Il concetto di modulazione

La modulazione e un concetto dell’ambito delle telecomunicazioni. Se consi-deriamo un segnale con banda finita, modularlo significa alterarlo in qualchemodo affinche esso sia compatibile con il mezzo trasmissivo usato. Per quan-to riguarda la trasmissione nell’aria, una proprieta desiderabile della modu-lazione e che trasmissioni diverse non interferiscano tra di loro, ossia che ildemodulatore sia in grado di isolare una certa trasmissione senza che essasia troppo disturbata dalle restanti. Questa proprieta puo essere riassun-ta nel richiedere che le varie comunicazioni sia tra loro ortogonali1. Comela modulazione alteri il segnale dipende fortemente dal tipo di modulazioneutilizzata.Un’altro parametro della modulazione e la portante: essa e un particolaresegnale che funge da contenitore per l’informazione trasmessa; spesso talesegnale e una sinusoide. Esistono vari tipi di modulazione:

1. modulazione per segnali analogici

2. modulazione per segnali numerici (o digitali)

3. modulazione per dilatare lo spettro

1formalmente la proprieta di ortogonalita nel continuo per segnali di energia e definitacome

∫ +∞−∞ com1(t)com∗2(t) = 0

1

Page 11: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 1. CENNI AI FONDAMENTI DEI SOFTWAREDEFINED RADIO2

1.1.1 Modulazione analogica

Della modulazione per segnali analogici possiamo mostrare degli esempi comela modulazione AM o FM

1. AM: in questo tipo di modulazione il segnale rappresentante l’infor-mazione viene incapsulato dentro l’ampiezza di una portante sinuso-idale. Concretamente esso viene moltiplicato per la portante. Datoche una moltiplicazione2 nei tempi corrisponde ad una convoluzionenelle frequenze, e dato che una convoluzione per degli impulsi di Dirace uguale ad uno spostamento del segnale base, ne risulta che in fre-quenza la banda dell’informazione da trasmettere risulta centrata allafrequenza fc della portante.

y(t) = Acos(2πfct)x(t)⇐⇒ Y (f) =A

2X(f − fc) f > 0

2. FM: in questo tipo di modulazione il contenuto informativo non econtenuto nell’ampiezza della portante bensı nella sua frequenza:

y(t) = Accos(2πfct+ 2πf∆

∫ t

0xm(τ)dτ)

Il rumore nell’aria agisce sull’ampiezza del segnale trasmesso. Tuttavia,dato che il contenuto informativo risiede nella frequenza, questo tipo dimodulazione e molto piu robusta ai disturbi rispetto alla modulazioneAM.

1.1.2 Modulazione digitale

I segnali analogici sono segnali continui sia nei tempi che nelle ampiezze.Tuttavia l’informatica moderna non lavora con segnali analogici bensı consegnali digitali. Occorre quindi introdurre nuovi tipi di modulazioni chelavorino bene con segnali numerici. Esistono quindi vari tipi di modulazionidigitali; qui ne citiamo due:

1. ASK: e la modulazione digitale che rispecchia la modulazione AM. An-che qui il contenuto informativo viene incaspulato nella ampiezza dellaportante

2. FSK: e la modulazione digitale che rispecchia la modulazione FM.Qui il contenuto informativo viene immagazzinato dentro la frequenzadell’onda

2bisogna anche sommare il segnale al modulo del suo inf in modo che la fase del segnalemodulato non si inverta (creando problemi in ricezione)

Page 12: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 1. CENNI AI FONDAMENTI DEI SOFTWAREDEFINED RADIO3

Figura 1.1: modulazione ASK della sequenza 10110[41].

1.1.3 Modulazione di Spread Spectrum

La modulazione Spread Spectrum dilata la banda del segnale da trasmettereper dristribuire l’energia in una maggiore banda di frequenze e rendere latramsissione piu robusta.Consideriamo il teorema di Shannon legante il bitrate del canale con la bandadel segnale da trasmettere ed il rapporto SNR:

C = B log2(1 + SNR)

dove C e il bitrate massimo (in bps) che puo essere utilizzato per quel partico-lare canale, B e la banda del canbale trasmissivo (in Hz) e SNR e il rapportosegnale rumore. Se ipotizziamo che il rapporto segnale rumore sia moltobasso (e cioe equivale a dire che il segnale da inviare e molto debole rispetto

Page 13: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 1. CENNI AI FONDAMENTI DEI SOFTWAREDEFINED RADIO4

Figura 1.2: modulazione FSK della sequenza 10110[41].

al rumore) la relazione di Shannon puo essere semplificata3 con l’equazione:

C = 1.44 B SNR

A parita di capacita del canale, e possibile avere o una banda piu stretta conun SNR alto oppure una banda piu larga con un SNR piu basso[38].Di queste modulazioni ne esistono di vari tipi, ma la piu semplice e quelladi tipo Direct Sequence. Per realizzare questa particolare modulazione enecessario definire due concetti:

• chip: un chip e un segnale costante per un certo tempo che puo assu-mere soltanto due valori (solitamente {-1;+1}). La durata di un chipsolitamente e molto piu piccola rispetto alla durata di un bit

• Pseudo Noise sequence (PN): la PN sequence e un segnale compo-sto da una serie finita di chips. Tale sequenza puo essere costante per

3possiamo utilizzare la serie di Taylor per approssimare il logaritmo:

log(x) ≈ log(x0) +x− x0x0

Applicando la serie alla formula otteniamo:

C

B= log2(SNR+1) =

log(SNR+ 1)

log2≈ 1

log2

(log(SNR0 + 1) +

SNR+ 1− SNR0 − 1

SNR0 + 1

)se SNR0 e vicino a zero allora si ottiene 1

log2SNR

Page 14: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 1. CENNI AI FONDAMENTI DEI SOFTWAREDEFINED RADIO5

tutta la durata della modulazione oppure puo variare nel tempo. Ladurata di questa sequenza deve conincidere con la durata di un bit.

Durante la trasmissione, ciascun bit viene moltiplicato per la PN sequence:in questo modo il chip rate4 e n volte il bitrate del segnale, dove n e il numerodi chips che compone la PN sequence. Cosı facendo si e convertito un segnalein bit in un segnale in chip; inoltre le sequenze di pseudo noise dilatano lospettro: scegliere la giusta sequenza e quindi di fondamentale importanzaper l’implementazione del modulatore.In un mondo dove varie porzioni di spettro vengono acquistate e vendutedilatare volontariamente la banda di un segnale puo sembrare uno spreco difrequenze. Tuttavia la scelta di una certa sequenza PN puo apportare diversivantaggi:

1. protezione da ascolti malevoli: due stazioni, entrambe utilizzanti lastessa sequenza di PN, possono comunicare senza temere di essereascoltate: infatti se l’eventuale spia non conosce la sequenza cio chericevera sara semplicemente rumore.

2. compatilibita con altri segnali: dato che questo tipo di modulazionetrasmette segnali a bassa potenza essa puo essere utilizzata anche inbande di frequenze in cui vengono trasmesse altre comunicazioni senzatroppe interferenze. Cio e possibile in quanto le varie sequenze PNhanno un autocorrelazione5 nulla ovunque tranne in 0

3. immunita al rumore: se una trasmissione esterna interferisce (in manieraaccidentale o voluta) con la comunicazione modulata in SS essa verrarigettata dal sistema al pari del rumore in quanto la sequenza PN nonverra sicuramente soddisfatta: questo realizza di fatto l’immunita alleinterferenze.

1.2 La modulazione PSK

La modulazione Phase-Shift Keying e un particolare tipo di modulazioneche incamera il contenuto informativo da scambiare all’interno della fase disegnale di riferimento, la portante (per esempio una sinusoide).[9]Dato che PSK e una modulazione digitale, essa associera a certe fasi dellaportante un simbolo: per esempio se la fase della portante fosse π

2il simbolo

da trasmettere sarebbe 1; se invece fosse −π2

il simbolo dovrebbe essere 0. A

4numero di chip elaborati al secondo5l’autocorrelazione nel discreto al passo j puo essere definita come

∑n xnx

∗n−j

Page 15: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 1. CENNI AI FONDAMENTI DEI SOFTWAREDEFINED RADIO6

seconda di quanti simboli (e dunque di quante fasi) devono essere trasmesse,il PSK assume nomi diversi: per esempio, se i simboli sono 2 il PSK verracatalogato come binary mentre se i simboli sono quattro questa modulazionesara denominata quadrature. Un’utile strumento per visualizzare in modochiaro e conciso i simboli possibili e il constellation graph: applicato alpiano di Gauss, questo grafico associa a dei punti complessi (rappresentantila fase della portante) i simboli da utilizzare. Normalmente il numero di fasiutilizzate e di simboli corrispondenti sono sempre potenze di 2.La modulazione PSK puo essere di due tipi:

Figura 1.3: Constellation graph di una modulazione PSK di tipo quadrature: i puntibianchi rappresentano i simboli mentre le linee rosse rappresentano le transizioni effettuatedurante la trasmissione

1. assoluta: in questa versione di modulazione la fase espressa nel constel-lation graph e proprio quella portante. Nonostante l’idea sia semplice,e necessario sincronizzare i segnali di riferimento sia del modulatore chedel demodulatore 6.

2. differenziale: in questa alternativa di PSK la fase disegnata sul con-stellation graph non e quella della portante, bensı la differenza tra lafase della portante appena ricevuta e la precedente fase della stessa:

∆φ = φ(t)− φ(t− 1)

in questo modo la comunicazione opera in riferimento a se stessa e,quindi, non e necessario sincronizzare il modulatore e il demodulatore.

6questo tipo di modulazione a volte viene detta cohorent, proprio a causa dellanecessaria sincronizzazione tra mittente e destinatario

Page 16: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 1. CENNI AI FONDAMENTI DEI SOFTWAREDEFINED RADIO7

Per implementare un modulatore (o un demodulatore) PSK e necessarioconoscere:

• il numero di simboli da trasmettere;

• la natura differenziale o meno della modulazione;

• l’eventuale rotazione dei simboli nel constellation graph;

1.3 Il concetto di radio

Una radio e un apparecchio il cui scopo e quello di trasmettere e ricevereinformazioni che vengono progapagate senza un cavo. Questa comunicazioneavviene grazie all’implementazione di varie teorie, concetti fisici e modellitelecomunicativi. Macroscopicamente una radio e composta da tre sottoparti:

1. antenna: l’antenna e la parte della radio che trasmette fisicamente(attraverso l’aria o il vuoto) il nostro contenuto informativo. L’antennain se non e altro che un conduttore. Attraverso le note leggi di Maxwell7

tale conduttore puo essere sfruttato per inviare e ricevere segnali.

2. modulatore: il modulatore e un componente che implementa la mod-ulazione del segnale. Tale modulazione puo essere di diversi tipi, peresempio di tipo AM, FM, PSK, eccetera. La modulazione consente latrasmissione di differenti comunicazioni senza che esse interferiscanotra di loro.

3. demodulatore: e lo strumento opposto al modulatore. Il demodu-latore effettua la demodulazione: dal segnale modulato ricava il seg-nale originale. Affinche l’operazione di demodulazione abbia successoil modulatore ed il demodulatore devono essere dello stesso tipo (peresempio il sistema telecomuicativo non funzionera se si modula in FMe si demodula in PSK).

7le quattro leggi di Maxwell in formato differenziale:∇ · E = ρ

ε0∇ ·B = 0∇× E = −∂B∂t∇×B = µ0J + µ0ε0

∂E∂t

Page 17: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

Capitolo 2

Il Software Defined Radio

2.1 Motivi per l’introduzione al SDR

2.1.1 Scalabilita

Dato che il modulatore consente alla radio di trasmettere e il demodulatorepermette alla radio di ricevere, questi due elementi sono le chiavi affinche laradio possa comunicare con il mondo esterno. Tuttavia, come si e gia ac-cennato, non esiste un solo tipo di modulazione, ma ne esistono diversi tipi:ogni tipo di modulazione/demodulazione puo essere implementato attraversoun hardware specifico diverso. Fatto banale ma importante e che una radiofisica una volta che e stata prodotta puo modulare e/o demodulare solo lemodulazioni per cui e stata progettata: per esempio una radio fisica FM nonpotra mai ricevere comunicazioni modulate in AM poiche il suo hardwarenon e stato progettato per ricevere quel tipo di modulazione. Una possibilesoluzione e di attrezzare la radio fisica con diversi hardware ognuno dedicatoad un tipo di modulazione diverso: come si puo capire questa soluzione, oltread essere poco scalabile, e anche piuttosto svantaggiosa sul piano economico.

Invece di aggregare in una radio diversi tipi di modulatori sarebbe piuconveniente delegare non all’hardware ma ad un software la modulazionee la demodulazione dell’informazione: in questo modo per cambiare modu-lazione non e necessario cambiare l’hardware (con costi non indifferenti1) mae sufficiente aggiornare un software.

1per dispositivi radio performanti, e richiesta la progettazione di un hardware specificoASIC; progettazione il cui costo non e trascurabile

8

Page 18: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 2. IL SOFTWARE DEFINED RADIO 9

Figura 2.1: idea generale di una radio software: invece di modulare tramite hardware,una radio software effettua la modulazione tramite un software, per esempio LabView

2.1.2 Programmabilita

Spesso la teoria per modulare una comunicazione utilizza il concetto di filtro.Un filtro e un sistema lineare tempo invariante in grado di ridurre o di enfa-tizzare alcune componenti frequenziali del segnale iniettato. Per vedere comeagisce il filtro su un segnale in ingresso di solito viene disegnata la trasforma-ta di Fourier della risposta all’impulso: tale grafico consente di visualizzarequali componenti vengono enfatizzate, quali ridotte od addirittura annulatee quali frequenze non vengono alterate dal filtro. Questi sistemi LTI sonospesso fondamentali per realizzare l’ortogonalita delle varie comunicazionidisperse nell’aria e quindi sono di fondamentale importanza per una correttaricezione del segnale.Normalmente questi filtri vengono realizzati in modo fisico, per esempio at-traverso un circuito. Puo accadere tuttavia che in una particolare modu-lazione sia richiesto di implementare un filtro irrealizzabile fisicamente; incasi come questo sarebbe indispensabile avere un oggetto software che real-izzi il filtro in maniera virtuale in modo da implementare il particolare tipodi modulazione.

2.1.3 Interoperabilita

Le radio sono uno strumento estremamente utile per le organizzazioni militarie non. Durante una situazione critica la comunicazione via radio consentead una specifica organizzazione di dispiegarsi e di reagire velocemente allacalamita. Tuttavia non sempre una situazione estrema viene gestita da una

Page 19: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 2. IL SOFTWARE DEFINED RADIO 10

sola organizzazione. Sopratutto in un contesto civile, diverse organizzazionipossono collaborare tra di loro per gestire meglio il disastro, per esempiouna calamita naturale. Tuttavia, ogni organizzazione (quale per esempio

la polizia o la protezione civile) utilizza una propria portante della radioe, possibilmente, anche una diverso tipo di modulazione: questa varieta diutilizzo ostacola grandemente la velocita con la quale le organizzazioni devonocomunicare. Si potrebbe pensare di riunire tutte le possibile organizzazioninazionali per decidere quale modulazione debbano usare: questa soluzione einattuabile in quanto:

• i vari corpi devono condividere le loro comunicazioni solo in scenari d’e-mergenza. Per esempio la polizia non puo continuamente condividereil canale comunicativo dei vulcanologi;

• i ricevitori dovrebbero essere tutti riconfigurati sulla corretta frequenzao, peggio, sostituiti (se viene scelto un tipo di modulazione che la radiofisica non e in grado di demodulare);

• supposto che tutte le organizzazioni nazionali si accordino, nel momen-to in cui avvenga una calamita naturale che interessi piu nazioni, ilproblema comunicativo si ripresenterebbe;

Invece di tentare di unire varie tipologie di radio in una sola (tra l’altro soloin particolari circostanze), e piu conveniente e veloce avere a disposizioneuno strumento in grado di ricevere le comunicazioni modulate in un certomodo da una certa organizzazione, demodularle e ritrasmetterle alle restantiassociazioni nelle rispettive modulazioni.

Page 20: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 2. IL SOFTWARE DEFINED RADIO 11

2.1.4 Flessibilita

Nel campo militare e giudiziario e a volte indispensabile l’utilizzo di un rice-vitore flessibile in grado di intercettare le comunicazioni di malintenzionati.La progettazione di tale ricevitore puo essere complessa: quando si inter-cetta infatti non si conosce ne la portante ne tanto meno il formato dellamodulazione; il ricevitore risultante dovrebbe essere costituito da una seriedi apparati ognuno demodulante un particolare tipo di modulazione. Questoricevitore dovrebbe anche essere estremamente flessibile, cosa che in genereuna radio hardware non e. In questo caso un software potrebbe offrire piuflessibilita e elasticita. Oltre a cio un software puo essere facilmente adattatoanche alla decodifica, nonche al riconoscimento vocale o alla triangolazionedella sorgente del segnale intercettato.

2.1.5 Ricetrasmissione dinamica

Esistono campi in cui un operatore centrale deve gestire varie comunicazionimodulate in diversi formati. Per esempio nella telefonia mobile l’operatorecentrale deve saper organizzare una varieta di comunicazioni tra diversi ter-minali ognuna differentemente modulata; per fare cio, l’operatore necessita diuna strumentazione in grado di gestire le varie modulazioni presenti. Questasturmentazione, per esempio, dedica una parte dei canali per la modulazioneGSM mentre un’altra parte per CDMA. Tuttavia, data l’eterogeneita deiterminali puo accadere che in certi periodi i canali GSM siano sottoutiliz-zati mentre quelli CDMA siano sovraccarichi. Se la modulazione venissefatta tramite un hardware non ci sarebbe alcun modo economico per allocaredinamicamente le quantita di canali dedicata a GSM e CDMA. Se invecetale modulazione venisse fatta via software, si potrebbe realizzare un sistemache offre maggiori canali al tipo di modulazione piu utilizzata dai terminali,sfruttando quindi meglio le risorse.

2.2 Software Defined Radio

2.2.1 Definizione di SDR

I problemi precedentemente trattati delineano i motivi per cui e utile in-trodurre il Software Defined Radio (SDR). Il Wireless Innovation Forumdefinisce un SDR come una radio in cui tutte o solo una parte delle funzionia livello fisico sono definite via software2[1]. Questo significa che l’hardware

2La definizione in lingua originale e: Radio in which some or all of the physical layerfunctions are software defined.

Page 21: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 2. IL SOFTWARE DEFINED RADIO 12

viene minimizzato il piu possibile e tutto il resto (modulazione e demodu-lazione incluse) vengono gestite dal software. Questa concetto viene definitoper evidenziare la differenza con gli altri due tipi di radio:

• la comune radio totalmente hardware;

• SCR[39]: l’SCR, o Software Controlled Radio, e una radio fisica le cuifunzioni vengono controllate via software. Cio significa che, mentre leabilita di modulazione e demodulazione della radio vengono comunquegestite dall’hardware, la radio in se viene pilotata da un software3;

2.2.2 Livelli del SDR

Un SDR puo essere di vari tipi[2], a seconda di quanto viene delegato alsoftware rispetto all’hardware. Maggiori sono i concetti che vengono gestitidal software, piu alto sara il livello del SDR.

• Livello 0: il livello zero rappresenta una radio non configurabile inalcun modo via software. Sono incluse in questa categoria le normaliradio totalmente hardware.

• Livello 1: il livello uno e una radio che consente ad un software dipilotare alcune sue caratteristiche basilari, come per esempio il tipo diconnessione utilizzata o il livello di potenza, ma non i parametri dellamodulazione, come la portante, ne tanto meno il formato di modu-lazione. Nel livello uno vengono quindi inclusi tutti gli SCR in quantoessi non possono governare il funzionamento interno della radio, masolo il quello esterno.

• Livello 2: il livello due consente, rispetto al livello uno, la modificavia software del tipo di modulazione nonche della portante; le radioappartenenti a questo gruppo possono essere configurate in modo dapoter sfruttare il multiple carrier. Da questo livello le radio non vengonopiu catalogate come SCR, bensı come SDR. Notare comunque che il RFfront end rimane comunque non configurabile[2, 3].

• Livello 3: il livello tre, denominato Ideal Software Radio (ISR) spostail confine tra software-configurable e software-unconfigurable ancora piuvicino all’antenna rendendo anche il RF front end programmabile viasoftware. In questo modo la radio puo essere considerata totalmenteconfigurabile.

3La definizione che viene data in lingua originale di SCR e: Radio in which some or allof the physical layer functions are Software Controlled.

Page 22: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 2. IL SOFTWARE DEFINED RADIO 13

• Livello 4: l’ultimo livello rappresenta gli Ultimate Software Radio(USR): queste radio, oltre ad essere completamente configurabili, sup-portano anche piu frequenze contemporaneamente.

2.2.3 Hardware di un SDR generico

A differenza di una radio normale, l’hardware di un SDR sara general-purposein modo tale che la radio possa virtualmente trasmettere e ricevere qualunquesegnale.In ricezione il segnale viene trasmesso in diversi dispositivi hardware. Laricezione fisica e sempre delegata ad un’antenna; essa viene collegata al RFFront End (che normalmente e composto da un circuito di selezione d’impe-denza, da filtro passa basso,da un amplificatore RF e da un mixer[5]) il qualeinietta il segnale dentro un selettore di canale configurabile. Questo selet-tore passa il segnale ad una serie di hardware programmabile (tramite varilinguaggidi programmazione come LabView,C o VHDL) quali per esempio:

• Field Programmable Gate Array (FPGA)

• Digital Signal Processor (DSP)

• General Purpose Processor (GPP)

• System on Chip (SoC)

Questo hardware altamente configurabile implementa cio che normalmenteverrebbe eseguito da un hardware ASIC (molto piu costoso in termini diprogettazione), per esempio modulazione del segnale, codifica, generazionedi pacchetti eccetera. . .Inoltre a seconda di quanto e configurabile l’SDR, un convertitore ADC puotrovarsi piu o meno vicino all’antenna: in generale minore e la distanza diquesto dispositivo dall’antenna, maggiore e la possibilita di programmare ilnostro SDR. Infine le informazioni processate da questo hardware general-purpose vengono iniettate ad un hardware che si occupa del dispaccio delleinformazioni ricevute (per esempio una scheda di rete che inoltra le infor-mazioni ad un host collegato).In trasmissione il segnale digitale verra trasmesso in maniera inversa rispettoal segnale analogico ricevuto; in opposizione al ricevitore, un convertitoreDAC si trovera il piu vicino possibile all’antenna in modo da assicurare lamaggiore programmabilita possibile del SDR.

Page 23: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 2. IL SOFTWARE DEFINED RADIO 14

2.2.4 Svantaggi di un SDR

I vantaggi del SDR come la flessibilita o l’interoperabilita non sono ottenutisenza sacrifici ma vengono realizzati dopo aver peggiorato un certo aspettodella radio. Il principale svantaggio dell’SDR e il collegamento con l’host dicalcolo: puo succedere che la parte hardware della radio e la sua parte soft-ware non siano integrate nello stesso dispositivo fisico, ma siano soltanto col-legate con una rete (come in effetti accade in dispositivi come l’USRP-2921).In questi casi il SDR viene rallentato moltissimo; in caso di trasmissione perogni certo numero finito di campioni da inviare bisogna:

1. calcolare il valore di ciascun campione I e Q da inviare;

2. generare il pacchetto che contiene i campioni;

3. inviare i campioni dall’host che esegue il software SDR al dispositivofisico tramite la rete;

4. trasmettere fisicamente i campioni;

Mentre in caso di ricezione:

1. ricevere fisicamente i campioni;

2. inviare i campioni dal dispositivo fisico all’host eseguente il softwareSDR tramite la rete;

3. elaborare i campioni in base al software programmato;

Se si considera poi che:

• la radio deve sia ricevere un pacchetto che trasmettere la sua risposta(che richiede ulteriore computazione);

• la rete di supporto puo soffrire di ritardi;

• il software da eseguire e complesso o poco ottimizzato;

• il linguaggio di programmazione utilizzato non e performante;

• l’host deve gestire altri processi oltre quello del SDR;

si puo capire come il sistema possa diventare veramente lento.Un altro svantaggio del SDR e il consumo di potenza: dovendo utilizzare undispositivo ad uso generale, l’SDR consuma sicuramente di piu rispetto ad unhardware specificatamente progettato: in campi in cui la potenza disponibilee limitata questo svantaggio potrebbe essere critico[10].

Page 24: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

Capitolo 3

Storia e Dispositivi del SDR

3.1 Storia del termine

Il termine Software Defined Radio viene per la prima volta utilizzato in let-teratura in un articolo scritto da Joseph Mitola nel 1991. Nonostante cio,l’utilizzo pratico di questo concetto e anteriore allo scritto di Mitola: in effet-ti prime implementazioni di SDR si potevano gia vedere negli anni settantanel settore militare americano ed europeo.

3.2 Speakeasy

La prima apparizione pubblica della tecnologia delle radio software e da ricer-carsi nel progetto statunitense SpeakEasy. Il progetto si prefiggeva alcuniimportanti obiettivi[14]:

1. la capacita di modulare e demodulare i piu famosi formati di modu-lazione dell’epoca

2. la capacita di incorporare facilmente nello strumento codifiche ed even-tuali successive modulazioni future (in modo da tenersi al passo con itempi)

3. la capacita di poter interoperare con i diversi corpi militari (interoper-abilita fino a quel momento mai raggiunta)

4. la capacita di riunire, in solo dispositivo portatile, le varie modulazionifino a quel momento conosciute[11]

Il progetto SpeakEasy incomincio nel 1991 e fu possibile dimostrare pub-blicamente le sue capacita dopo 3 anni di progettazione (nel 1994). Dato

15

Page 25: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 3. STORIA E DISPOSITIVI DEL SDR 16

l’obiettivo di riuscire a comunicare con vari formati di modulazione, era ne-cessario che SpeakEasy fosse composto dal migliore hardware reperibile perl’epoca. L’hardware di SpeakEasy era composto dai piu potenti DSP del-l’epoca, 4 processori TMS320C401. Tuttavia essi non erano comunque suf-ficienti per riuscre a lavorare con tutte le possibile modulazioni; per questomotivo nel dispositivo erano state integrate diverse FPGA. Lo SPEAKeasyriusciva ad operare dai due MHz ai due GHz e permetteva l’interoperabilitatra le radio delle diverse forze militari statunitensi, come la marina, l’areo-nautica o le forze terrestri: ognuna di esse utilizzava diverse modulazioni etramite lo SPEAKeasy esse riuscivano a comunicare tra di loro velocemente.Affinche tutto funzionasse con il massimo della velocita, per programmare loSpeakEasy era stato usato codice Assembly nonche altro codice comprensibilesia dai C40 che dalle FPGA utilizzate: questa scelta permise sı comunicazionirapide (anche se lo strumento non riusciva a gestire troppe comunicazionicontemporaneamente), ma rese impossibile il riutilizzo del codice. Quandoinfatti i DSP C40 vennero sorpassati da Digital Signal Processors piu velocied evoluti, il codice dello SpeakEasy dovette essere riscritto da zero[6].

3.3 Joint Tactical Radio System

Il Joint Tactical Radio System (JTRS) e stato un progetto dell’esercito degliStati Uniti il cui scopo era la creazione di un dispositivo simile al SPEAKeasyma al passo con i tempi. Oltre alla flessibilita e l’interoperabilita offerta dalSDR, il progetto JTRS ambiva anche ad una codifica delle trasmissioni inte-grata nel dispositivo, alla creazione di MANETs (Mobile Ad hoc NETworks)ed alla integrazione dei vari dispositivi telecomunicativi militari. Ufficial-mente partito nel 1997, il progetto subı numerosi ritardi a causa degli alticosti. Nell’Ottobre del 2011 il progetto e stato terminato a causa del fattoche alcune richieste principali non potevano essere soddisfatte2[22].A livello software, il JTRS veniva gestito grazie al Software CommunicationsArchitecture (SCA), uno standard open mirante la semplificazione del col-

1sinteticamente chiamati C40, questi processori per segnali digitali lavoravano ad unafrequenza di 40MHz

2Il progetto per essere completato richiedeva una spesa superiore a quella prevista;per tale motivo il JTRS venne soppresso. Secondo il firmatario, le due principali causeper l’aumento del costo furono una sottovalutazione dei problemi tecnici (the techinicalchallenges of mobile ad hoc networks and scalability were not well understood due to theimmaturity of the technology at that time) e dei problemi con i fornitori nonche con lerichieste del progetto (The other main contributor to cost growth was a series of contractorand program execution issues, as well as additional information assurance requirements)

Page 26: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 3. STORIA E DISPOSITIVI DEL SDR 17

legamento tra hardware e software nel SDR 3. Nonostante l’intima relazionecon l’ambiente militare, lo SCA e riuscito a svilupparsi anche nell’ambi-ente civile. Infrastrutture software basate sullo SCA sono adesso disponi-bili per scopi educativi e di ricerca, nonche per motivi commerciali. Almomento il Wireless Innovation Forum sta lavorando al progetto SCARI,un’implementazione dello standard SCA.

3.4 Gli SDR moderni

Per una corretta implementazione di un SDR serve una strumentazione hard-ware capace di interagire con l’ambiente ed un software in grado di pilotarel’apparecchiatura correttamente.Per quanto concerne la parte hardware inizialmente un SDR poteva es-sere costruito solo con strumentazione abbastanza costosa4[28]. Tuttaviacol passare del tempo si e riusciti ad utilizzare hardware molto economicoper costruire semplici SDR: un esempio di questo fatto possono essere leapparecchiature:

• SoftRock[29]

• il progetto FiFiSDR[30]

• SDR-4+[31]

Addirittura si e riusciti ad utilizzare i concetti di SDR su apparecchi estrema-mente economici5 come i DVB-T USB riuscendo a costruire un ricevitoreFM[28]. Per quanto riguarda la strumentazione degli SDR6 di fascia alta ipiu famosi esemplari sono:

• USRP

• ADAT ADT-200A

• Matchstiq

3citando il Wireless Innovation Forum, lo SCA e definito come set of specificationsthat facilitate portability, interoperability and configurability of the software and hardwarecomponents used in the manufacturing of radio systems

4il costo e alto per l’autore, dato che si occupa di SDR per il campo amatoriale5il costo e di circa 15 dollari6una lista completa puo essere trovata su http://en.wikipedia.org/wiki/List of software-

defined radios

Page 27: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 3. STORIA E DISPOSITIVI DEL SDR 18

Come detto precedentemente, in un SDR l’hardware non e autosufficientema deve essere pilotato da un software. Esistono diversi software in grado direalizzare un vero e proprio SDR di cui i piu famosi sono sicuramente:

• GNU Radio

• gqrx

• progetto DREAM

3.5 Web Software Defined Radio

Recentemente si e riusciti a unire i concetti di SDR con il concetto di WebServer7: questa unione ha creato il nuovo concetto di WebSDR.L’idea nasce nel 2007 nell’universita di Twente dove viene assemblato unprototipo a Dicembre dello stesso anno. Dopo ulteriori ricerche l’idea vienepubblicata nel 2008, anno in cui diversi WebSDR vengono instaurati in varieparti del mondo.Concettualmente un WebSDR e definito8 come un ricevitore SDR connesso

Figura 3.1: Posizione dei WebSDR nell’europa centrale. Immagine reperita dal servizioGoogle Maps

ad internet che consente a diversi utenti di ascoltare e/o di cambiare frequen-za eventualmente in modo simultaneo: da questa definizione si capisce che

7secondo il sito whatismyipaddress un web server puo essere definito come un softwaresu un computer connesso ad intenret che distribuisce in maniera dinamica pagine web surichiesta

8la definizione originale e “A WebSDR is a Software-Defined Radio receiver connectedto the internet, allowing many listeners to listen and tune it simultaneously.”

Page 28: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 3. STORIA E DISPOSITIVI DEL SDR 19

un WebSDR e in grado di gestire piu segnali senza interferenze tra di essiconsentendo a ciascun utente di ascoltare e gestire differenti comunicazionicontemporaneamente. Questo rende il WebSDR uno strumento molto piugestibile di un normale SDR: non serve avere accesso alla strumentazionehardware ma basta avere diritti d’accesso al WebServer per poter alterare iprincipali parametri di modulazione, alterando cosı il segnale di ricezione. Almomento9 nel mondo esistono 44 WebSDR, di cui l’unico italiano e localizzatoa Torino10.

9il conteggio e stato effettuato il 31 Gennaio 201310il WebSDR italiano rientra nel progetto Radio.it ed e repeiribile all’URL

http://websdr-next.radio.it/

Page 29: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

Capitolo 4

Universal Software RadioPeripheral

4.1 Introduzione

L’USRP e una famiglia di apparecchi hardware in grado di realizzare af-fidabili implementazioni di SDR. Sviluppato come parte del progetto GNURadio[33], questi strumenti sono in grado sia di trasmettere che di riceveresegnali in RF: cio e reso possibile dal fatto che uno strumento USRP utilizzadaughterboard per portare in una banda specifica il segnale da trasmettereo in banda base il segnale da ricevere. Per poter inviare i segnali nell’etere,l’assetto generale di un USRP prevede alcuni convertitori analogico-digitalee digitale-analogico. Tali dispositivi vengono a livello macroscopico colle-gati con una FPGA la quale allinea il sample rate interno al dispositivocon quello utilizzato per inviare i campioni all’host di riferimento: in effettitutti i meccanismi di modulazione/demodulazione, di costruzione pacchettononche eventuali accessi al mezzo non vengono gestiti dal USRP in se, mavengono delegati ad un host (solitamente un computer) collegato in un certomodo all’USRP. L’Universal Software Radio Peripheral e in grado di comu-nicare facilmente con molti host in quanto beneficia del principale prodottodel JTRS, ovvero il Software Communication Architecture (SCA): aderendoallo SCA, l’USRP ottiene delle comuni interfacce di comunicazione1 che con-sentono di poter dialogare a prescindere dall’hardware usato[32]. Oltre allaparziale indipendenza dell’hardware, l’utilizzo dello standard SCA consente

1SCA utilizza il concetto di software proxies per realizzare il collegamento con l’hard-ware: focalizzandosi piu sulle funzioni che l’hardware deve eseguire invece che sull’hard-ware in se, le varie implementazioni di SCA aumentano la flessibilita, nonche il suo riciclo,del codice. Per esempio, per quanto riguarda i controlli generali Radio, possiamo citare imetodi set number of channels() e set frequency()

20

Page 30: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 4. UNIVERSAL SOFTWARE RADIO PERIPHERAL 21

ad eventuali sviluppatori di costruire proprie daughterboard per soddisfareparticolari esigenze come connettori o bande utilizzate[34].L’utilizzo di una FPGA comporta tuttavia uno svantaggio: il costo[12]. Perpoter programmare in modo efficiente una FPGA e necessario possedere soft-ware adatto il cui prezzo generalmente non e trascurabile2: cio inficia lepossibilita di personalizzazione delle FPGA limitando cosı piccoli team disviluppo o gruppi di ricerca con budget limitati.Attualmente gli appaeecchi USRP si dividono in 3 sotto categorie[27]:

1. USRP Bus Series (famiglia B): sono strumenti che utilizzano comecollegamento con l’host dei bus, come per esempio l’USB;

2. USRP Embedded (famiglia E): sono apparecchi con maggiori connettoriverso l’esterno e gia provvisti internamente di alcuni elementi per ilsignal processing;

3. USRP Networked (famiglia N): sono apparecchi che vengono collegaticon l’host tramite un cavo di rete, come un Ethernet Gigabit;

4.2 USRP

l’USRP 1.0 e stato il primo dispositivo della serie. Sviluppato da Ettus, ildispositivo comunicava con l’host tramite un’interfaccia USB2.0. L’USRP euno strumento modulare ed e quindi possibile suddividerlo in diversi blocchi.Le Daughterboard di trasmissione e di ricezione dei segnali si occupano di

Figura 4.1: box esterno dell’ USRP

portare i segnali in banda base (se in ricezione) o in una banda specifica (sein trasmissione); i segnali da trattare vengono poi inoltrati in convertitoriADC o DAC: dato che i convertitori possiedono un sample rate di lavoromolto superiore a quello dell’USB2.03, i segnali da gestire vengono trattati

2Il software XILINX “ISE Design Suite: Logic Edition”, ha un costo di 2995$. Taleprezzo e stato rilevato a Febbraio 2013

3l’ADC opera 64Msps mentre il DAC opera a 128Msps

Page 31: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 4. UNIVERSAL SOFTWARE RADIO PERIPHERAL 22

da un FPGA. Tale FPGA, oltre ad adattare il sample rate del segnale aduno compatibile con lo USB2.0, consente di gestire segnali complessi grazieall’utilizzo di coppie di DAC o ADC[35].

Figura 4.2: schema di funzionamento di base dell’USRP

4.3 Embedded USRP

Un’alternativa interessante all’USRP e all’USRP2 e la famiglia di apparecchiEmbedded. Questa categoria differisce leggermente dalle precedenti in quan-to non dipende completamente da un host ma gia possiede al suo internoalcuni semplici elementi di processing; un esempio di questa categoria e datadal E100[13].Nel caso del E100 le capacita computazionali vengono offerte da una schedaGumstix Overo Tide mentre il Front End panel e dotato di:

• connettori USB

• connettori SMA

• connettore HDMI

• connettore RJ-45

• audio input and output

Page 32: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 4. UNIVERSAL SOFTWARE RADIO PERIPHERAL 23

4.4 USRP2

Un’evoluzione dell’USRP puo essere identificata nel Universal Software Ra-dio Peripheral 2. Designato per offrire maggiori prestazioni rispetto allaprecedente versione, l’USRP2 e in grado di comunicare con l’host tramiteGigabit Ethernet. La caratteristica principale dell’USRP2 e un microproces-sore RISC a 32bit in grado di eseguire codice contenuto in una scheda SD4: inquesto modo e possibile eseguire internamente semplici programmi di signalprocessing.Oltre a cio, la FPGA presente nell’USRP2 5 dispone di parecchi slot liberiper dare la possibilita di aggiungere funzionalita al dispositivo[36].

4.5 USRP 2921

Per lo svolgimento di questa tesi ho utilizzato due dispositivi della NationalInstruments entrambi di tipo USRP-2921: questi particolari apparecchi, conla daughterboard installata in dotazione, sono in grado di ricevere segnaliRF nelle bande [2.4 GHz; 2.5 GHz] e [4.9 GHz; 5.9 GHz]; per tale motivoquesti strumenti sono particolarmente adatti a gestire due famosi protocollioperanti su tali bande, l’802.11a/b/g/n e lo ZigBee[23].Il Front Panel del dispositivo ingloba:

• due connettori SMA6 (identificati con RX1-TX1 e RX2-TX2) per col-legare due antenne. Tali antenne possono sia trasmettere che riceveresegnali

• un connettore RJ-45 per connettere il dispositivo all’host di riferimento;

• un connettore per alimentazione;

• un connettore SMA per impostare segnale di clock di riferimento di-verso da quello dell’USRP (connettere tale secondo clock e opzionale);

• un connettore SMA per impostare i PPS7 di input di riferimento diversida quelli standard dell’USRP (tale connessione e opzionale);

4secondo le specifiche tecniche la scheda SD contiene, oltre ad eventuale codice utente,i file di configurazione nonche il firmware del USRP.

5solitamente l’USRP2 viene dotato di una FPGFA di tipo Spartan 3-20006SMA e un acronimo per SubMiniature version A. Il connettore associato e utiliz-

zato per trasmettere solitamente segnali RF mentre il relativo cavo utilizzato e di tipocoassiale[8]

7PPS e un acronimo per Pulse Per Second

Page 33: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 4. UNIVERSAL SOFTWARE RADIO PERIPHERAL 24

• una porta di espansione MIMO8 per implementare sistemi multi anten-na come il protocollo 802.11n;

Come molti dispositivi USRP, anche il 2921 deve essere collegato tramite uncavo Gigabit Ethernet ad un host per implementare pienamente il concettodi SDR. Essendo un progetto opensource, del USRP-2921 sono note anche leschematiche generali (riportate in figura 4.3).

Figura 4.3: Schema a blocchi del USRP-2921

Per quanto concerne la parte software del SDR ho utilizzato il program-ma LabView 2012 : questo programma, in combinazione con toolkits dellaNational Instruments come il Modulation Toolkit, permette di programmarefacilmente l’USRP in modo che riceva o trasmetta informazioni opportuna-mente modulate.

8Multiple Input Multiple Output

Page 34: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

Capitolo 5

LabView

5.1 Introduzione a LabView

LabView e un linguaggio di programmazione grafico creato da National In-struments : l’attributo grafico e dato dal fatto che in LabView per generare unprogramma non bisogna scrivere righe di codice, utilizzando reserved wordso inizializzando variabili, bensı progettare e costruire schemi a blocchi. Inquesto modo anche persone prive delle nozioni base dell’informatica possonoprogrammare efficaciemente. In analogia alla costruzione di circuiti elettrici,i vari blocchi funzionali vengono collegati tra di loro tramite wires, generandocosı veri e propri schemi circuitali.Un programma Labview viene immagazzinato in un file di estensione vi1:tale file e costituito da tre blocchi[25]:

• Front Panel: rappresenta l’interfaccia grafica dello strumento vir-tuale; tramite questa interfaccia, l’utente puo eseguire il programmae gestire l’applicativo;

• diagramma a blocchi: contiene lo schemi a blocchi che costituisceil cuore del programma; collegando in maniera diversa i vari blocchi epossibile modificare il comportamento dello strumento virtuale;

• Pannello dei connettori: il pannello contiene sia l’icona che rappre-senta il virtual instrument costruito che il prototipo2 dello stesso;

1l’estensione e un acronimo e fa riferimento a Virtual Instrument2dalla teoria dei linguaggi di programmazione il prototipo di una funzione e definito

come l’oggetto contenente il numero, la posizione ed il tipo dei parametri formali di inputnonche l’eventuale tipo del valore di ritorno.

25

Page 35: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 5. LABVIEW 26

5.2 Vantaggi e svantaggi di LabView

LabView dimostra diversi vantaggi: primo fra tutti la semplicita: anchepersone che non si sono mai approcciate al mondo dei linguaggi di program-mazione possono costruire facilmente semplici VI. Secondariamente LabViewpossiede un consistente numero di toolkits che permettono di realizzare le piudisparate applicazioni. Un altro vantaggio di LabView e che supporta nativa-mente il multithreading: per implementarlo basta semplicemente progettaredue o piu dataflow separati sintatticamente corretti.Per quanto concerne gli svantaggi, invece, e importante citare la poca com-patibilita di molti toolkits: nonostante LabView sia nativo dell’ambienteMac, molti toolkits possono essere utilizzati soltanto nel mondo Windows3;un ulteriore svantaggio riguarda il peso computazionale di LabView: pro-grammi molto complessi (superiori a cento virtual instruments) possono es-sere eseguiti solo su computer molto potenti. Un altro difetto di LabViewriguarda il file versioning : essendo ancora legato al sistema di versionamentoMicrosoft, LabView non supporta potenti tool di Team working come per es-empio Git o Mercury: da cio ne deriva l’impossibilita di creare progetti globalicome invece accade normalmente per altri linguaggi[26]. Ultimo svantaggioriguarda il costo: esso riduce infatti l’utilzzo di LabView, ostacolandone lacomprensione da parte di un pubblico piu ampio.

5.3 Strumenti per l’implementazione di SDR

in LabView

Per quanto concerne lo sviluppo di SDR su USRP, LabView mette a dispo-sizione due strumenti per semplificare di molto la generazione di codice:

• il set di primitive dell’USRP permette allo sviluppatore di aprire facil-mente una comunicazione dati con lo strumento. Grazie a queste sem-plici funzioni, lo sviluppatore puo ricevere e trasmettere velocemente in-formazioni realizzando in pochi passaggi semplici modulatori e demodu-latori. National Instruments ha creato due set di primitive: l’USRP1.0e l’USRP1.1

• NI Modulation Toolkit : questo particolare toolkit consente di realizzaremodulatori molto piu complessi dei semplici modulatori AM o FM.

3su circa 50 toolkit, 12 sono compatibili con Mac e solo 7 con ambiente Lin-ux. Per esempio il Modulation Toolkit e utilizzabile solo in Windows. E pos-sibile avere una lista completa circa al compatibilita di ciascun toolkit all’URLhttp://www.ni.com/support/labview/lvtool.htm

Page 36: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 5. LABVIEW 27

Utilizzando i servizi offerti da questo pacchetto e possibile programmarel’USRP in modo che trasmetta o riceva semplici protocolli di rete, qualeper esempio l’802.11 Legacy.

5.4 Esempio di trasmissione di alcuni bit tra

due USRPs

Utilizzando due USRP pilotati da LabView possiamo realizzare una sem-plice comunicazione. L’obettivo e quello di trasmettere, con una specificamodulazione, qualche bit da un USRP ad un altro.

5.4.1 Collegamento Hardware

Consideriamo un host abbastanza potente, dotato di un GigabitEthernet,montante un sistema operativo Windows su cui e installata una versione diLabView 4 . Colleghiamo tale stazione con uno switch tramite cui vengonoconnessi due USRP. Dopo aver connesso i due dispostivi all’alimentazione,identifichiamo i due dispositivi tramite due indirizzi IP diversi.

5.4.2 Codice LabView

Sull’host codifichiamo due VI di LabView: il primo strumento sara il codicedel trasmettitore, il secondo quello del ricevitore. In questo esempio perinviare i bit utilizzeremo una sequenza di Spread Sprectum di 11 bit il cuivalore e {+1− 1 + 1 + 1− 1 + 1 + 1 + 1− 1− 1− 1}; i chip risultanti verranopoi modulati tramite un modulatore di tipo DBPSK avente come simboli idue valori riportati nella tabella 5.4.2 Per quanto riguarda il ricevitore, il

simbolo da modulare ∆φ0 π

2

1 3π2

Tabella 5.1: schema di conversione utilizzato nell’esempio tra simbolo da modulare evariazione di fase da eseguire

segnale percepito nell’etere verra demodulato tramite uno schema DBPSK,

4l’host deve essere abbastanza potente da poter supportare l’esecuzione di due differentiVI LabView: uno per la trasmissione del primo USRP e l’altro per la ricezione del secondoUSRP. Il computer su cui l’esempio e stato eseguito con sucesso possedeva le seguenticaratteristiche tecniche: processore di tipo Intel Core2 T7400, 4GB di RAM, Windows 7Professional

Page 37: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 5. LABVIEW 28

Fig

ura

5.1:

VI

del

tras

met

tito

re:

sip

osso

no

nota

red

iver

sise

ttori

:in

alt

oa

sin

istr

ail

sett

ore

del

lacr

eazi

on

ed

eid

ati

mod

ula

ti(m

od

ula

tore

);in

alto

ad

estr

ail

cod

ice

per

vis

ual

izza

rei

risu

ltati

;in

bass

oil

codic

ep

erre

ali

zzare

latr

asm

issi

on

eve

rae

pro

pri

a

Page 38: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 5. LABVIEW 29

quindi verra compattato con la stessa sequenza PN utilizzata in trasmissione.L’obiettivo, ovviamente, quello di ottenere al ricevitore una sequenza conte-nente i bit inviati.Mentre il trasmettitore continuera ad inviare dati in modo greedy5, il ricevi-tore utilizzera una sequenza di sincronizzazione per allinearsi con la trasmis-sione.

5.4.3 Risultati

La parte critica dell’esempio riguarda la serie di sincronizzazione: tale se-rie deve essere ben posta in modo tale che il ricevitore possa allinerarsi conil trasmettitore. Per essere ben posta la sequenza di sincronizzazione deveessere di una certa lunghezza e deve essere composta da bit molto diversi.Nella figura 5.4.3 si puo notare come la trasmissione fallisca proprio a causadella pessima sequenza di sincronizzazione utilizzata.Usando invece una sequenza piu lunga e piu eterogenea, la trasmissioneavviene senza troppe difficolta. Si puo inoltre notare come dopo aver trasmes-so la sequenza il ricevitore rilevi altri dati in forte correlazione con la sequenzatrasmessa: infatti, dato che il trasmettitore tramsette in modo greedy, talibit non sono altro che la successiva sequenza trasmessa dal primo USRP;tuttavia, dato che tra una sequenza e la successiva intercorre una picco-la pausa del trasmettitore, il ricevitore unisce alla sequenza successiva talepausa generando di fatto dei dati leggermente traslati rispetto alla sequenzainviata: cosı come e necessario trasmettere dei bit per capire quando unasessione di dati comincia, e altrettanto importante definire una sequenza dibit per determinare quando la trasmissione finisce; di questa problematica (edi altre questioni simili) se ne occupano, di solito, altri componenti softwareche, ricevendo in ingresso dei dati da spedire, incorporano a tali dati altre in-formazioni6 indispensabili per il corretto scambio: una di queste informazionie la sequenza di terminazione della trama.

5il termine significa che dopo aver trasmesso i bit il trasmettitore comincia subito atrasmettere i dati relativi alla prossima sequenza di bit

6quello che poi verra definito come overhead

Page 39: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 5. LABVIEW 30

Fig

ura

5.2:

rice

zion

edel

mes

sagg

io“F

F12

3456

AA

CC

BA

CC

0A”:

tale

mes

sagg

ioe

com

pos

toda

una

sequen

zadi

sincr

oniz

zazi

one

eda

un

pay

load

Page 40: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 5. LABVIEW 31

Fig

ura

5.3:

Ric

ezio

ne

del

mes

sagg

io“F

F12

3456

BA

CC

”quan

do

lase

quen

zadi

sincr

oniz

zazi

one

etr

opp

op

oco

vari

abile;

inques

toca

sola

sequen

zae

una

seri

edi

1.

Page 41: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

Capitolo 6

Livello fisico del protocollo802.11

6.1 Il modello ISO/OSI

Delle stazioni telecomunicative possono essere riunite sotto una rete per con-sentire una trasmissione di dati regolata da precise indicazioni e protocolli.Il modello ISO/OSI definisce diversi livelli astratti posti uno sopra l’altro.Ogni livello offre dei servizi al livello superiore utilizzando quelli disponibilidal livello sottostante: in questo modo ogni livello non dipende dalla effettivaimplementazione del livello sottostante, ma soltanto dalla sua interfaccia.La realizzazione di un particolare livello puo essere cambiata con un’altradifferente che offre la medesima interfaccia.Essendo solo un modello, l’ISO non specifica alcun protocollo, ma esplicitasolo l’obiettivo di ciascun layer dello stack. I livelli definiti dal modello sonosette:

1. Livello fisico: si occupa della trasmissione vera e propria dei dati. Da-to che e il livello piu in basso, esso dipende fortemente dal tipo dicanale comunicativo utilizzato: i parametri fondamentali sono il tipodi modulazione utilizzato e le caratteristiche del mezzo trasmissivo;

2. Livello datalink : si occupa dell’inoltro di dati tra due differenti stazionicollegate da un canale comunicativo. Il datalink realizza una connes-sione il piu possibile affidabile tra le due stazioni; tra i suoi obiettivipossono essere citati il controllo degli errori, il reinvio di una trama, ilcontrollo di flusso1 e l’accesso al mezzo;

1il controllo di flusso puo comunque essere delegato a livelli superiori, come per esempioil livello trasporto

32

Page 42: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 6. LIVELLO FISICO DEL PROTOCOLLO 802.11 33

3. Livello rete: si occupa dell’indirizzamento e dell’inoltro di dati di lunghez-za variabile tra due stazioni collegate da una serie di mezzi fisici diversi.Le problematiche principali di questo livello riguardano l’identificazioneunivoca di una stazione all’interno di una rete e come inoltrare i datidal mittente al destinarario nel percorso piu breve possibile;

4. Livello trasporto: si occupa della realizzazione di un canale comunica-tivo tra due stazioni: tale canale, infatti, non e affetto da errori;

5. Livello sessione: si occupa della apertura, della chiusura e della sin-cronizzazione delle sessioni di comunicazione a livello trasporto;

6. Livello presentazione: si occupa dei problemi relativi alla rappresen-tazione dei dati. Dato che le stazioni possono assegnare diversi signi-ficati ad uno stesso dato, il livello presentazione si occupa di tradurreda un formato all’altro i dati contenuti nella trasmissione;

7. Livello applicazione: fornisce dei servizi generici e molto diversificatiper l’utente finale.

6.2 Cenni all’architettura TCP/IP

L’architettura TCP/IP si ispira al modello ISO/OSI e definisce i protocolliche vengono utilizzati concretamente nella rete. Tale architettura non im-plementa tutti i livelli definiti dal modello, ma ne comprime alcuni e nesuddivide altri. In effetti in questa architettura non ritroviamo i sette stratidefiniti dall’ISO/OSI, bensı solo cinque:

1. Livello fisico (PHY);

2. Livello datalink;

3. Livello rete;

4. Livello trasporto;

5. Livello applicazione.

Ognuno di questi livelli viene governato da uno o piu protocolli che rea-lizzano gli obiettivi posti dal modello OSI. Questi meccanismi offrono variservizi, piu o meno affidabili, con o senza acknowledgement 2 , con instau-razione o meno di una connessione virtuale. I vari protocolli trasportano

2l’acknowledgement (detto ACK) e un breve messaggio di risposta alla serie didati inviati spedita per dare conferma al mittente del fatto che l’informazione e statacorrettamente ricevuta

Page 43: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 6. LIVELLO FISICO DEL PROTOCOLLO 802.11 34

Figura 6.1: idea generale grafica dello stack TCP/IP

dati introducendo, per ogni livello, un certo quantitativo di overhead : essoe un insieme di metadati che viene utilizzato dal determinato protocollo perfunzionare correttamente: per esempio, nel livello di rete questo overhead in-clude una coppia indirizzi identificanti nella rete il mittente ed il destinatariodel pacchetto. Questo overhead viene diviso, solitamente, in due categorie:

• header: overhead introdotto all’inizio dei dati da gestire;

• trailer: overhead introdotto alla fine dei dati da gestire.

Per quanto riguarda il mittente della comunicazione, ad ogni livello dellostack l’informazione da gestire viene incapsulata con dell’overhead: comeconcettualizzato in figura 6.2, fisicamente vengono trasmessi molti dati oltreall’informazione; simmetricamente, quando i contenuti informativi raggiun-gono il destinatario, da ogni pacchetto viene estratto sia l’overhead che i dati.A causa del continuo impacchettamento dei dati, concettualmente ogni con-tenitore viene definito in un modo diverso: i dati da inviare a livello trasporto

Page 44: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 6. LIVELLO FISICO DEL PROTOCOLLO 802.11 35

Figura 6.2: processo di invio dell’informazione

sono detti segmenti mentre quelli a livello rete sono chiamati pacchetti; infinesono dette trame gli aggregati di dati con cui opera il livello datalink.

6.3 La famiglia di standard 802

Esistono diversi criteri per suddividere in categorie le reti di telecomuni-cazioni: uno dei vari criteri per cernirle e la dimensione areale 3. Secondoil criterio, esistono diversi tipi di reti e tra cui una 4 le Local Area Network(LAN): esse sono caratterizzate dall’essere dimensionalmente piccole e gestiteda un’unica entita, per esempio una rete casalinga o un di una azienda. Talireti vengono gestite dalla famiglia di protocolli IEEE 802: questo gruppodi specifiche indica una serie di meccanismi per i livelli datalink e fisico. Illivello datalink in particolare viene diviso in due sottolivelli: il Media AccessControl (MAC) ed il Logical Link Control (LLC).L’obiettivo principale del MAC e quello di emulare, tramite una connessionefisica, una comunicazione bilaterale il piu affidabile possibile 5: le istruzioniall’interno del MAC, dunque, cambieranno al variare del mezzo trasmissivousato; in effetti di MAC nella famiglia 802 ne esistono di diversi tipi6. Per

3altri criteri possono la tecnologia trasmissiva utilizzata, la tipologia di dati che vieneinoltrata nella rete oppure la topologia della rete stessa (a stella, ad anello, a bus condiviso,eccetera. . . )

4Altre categorie di reti sono le MAN (Metropolitan Area Network), le PAN (PersonalArea Network) o le WAN (Wide Area Network)

5generalmente, tuttavia, il tipo di servizio offerto dal MAC6per esempio l’802.3 specifica i meccanismi che gestiscono il mezzo trasmissivo Ethernet

mentre l’802.5 specifica la gestione di reti controllate da Token ring

Page 45: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 6. LIVELLO FISICO DEL PROTOCOLLO 802.11 36

realizzare l’obiettivo, il Media Access Control offre al sottolivello superiorela possibilita di:

• controllare l’accesso al mezzo trasmissivo;

• verificare l’assenza di errori di trasmissione tramite una Frame CheckSequence (FCS);

• scartare trame malformate.

Mentre il MAC si occupa dell’inoltro della trama tramite un particolare mez-zo trasmissivo, il Logial Link Control e un sottolivello indipendente dal tipodi canale comunicativo utilizzato; in questo modo il livello rete e in gradodi usufruire dei servizi offerti dallo strato datalink senza dover conoscere ilmezzo di trasmissione utilzzato. Il LLC, realizzante un’utile interfaccia traaspetto fisico e virtuale della rete, si occupa di scegliere quale sottolivelloMAC utilizzare. Inoltre, questo sottolivello puo implementare dei controllidi flusso del traffico, riordino dei pacchetti e ritrasmissione dei pacchetti persio malformati7.La realizzazione di un siffatto livello Datalink aumenta considerevolmentela flessibilita e la scalabilita: nel caso si realizzasse un nuovo sottolivelloMAC, sarebbe possibile inseririlo nello standard includendo il nuovo sotto-livello nella gamma di scelte del Logical Link Control, senza alterare altronello stack.

6.4 La famiglia 802.11

Per quanto riguarda le reti wireless, nello stack TCP/IP e possibile utilizzarela famiglia di protocolli IEEE 802.11. Questa serie di procedure descrive laWireless Local Area Network (WLAN), particolari reti locali in cui il mezzodi comunicazione non sono dei cavi ma e l’aria.Utilizzare l’aria e sostanzialmente diverso dal cavo: lo standard 802.11 osser-va sette particolari differenze[21]:

1. il mezzo trasmissivo e idealmente senza confini e quindi e difficile limi-tare l’effettivo bordo della LAN;

2. ogni comunicazione puo essere ascoltata da qualsiasi ricevitore e dunquesono necessarie delle strategie di protezione dati;

7questi servizi, tuttavia, vengono generalmente delegati a protocolli di livello superiore,quale per esempio il TCP

Page 46: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 6. LIVELLO FISICO DEL PROTOCOLLO 802.11 37

3. l’aria e molto meno affidabile del cavo;

4. la rete realizzata puo avere diverse topologie a seconda della dispo-sizione delle stazioni (eventualmente portabili, trasportabili, mobili);

5. decade il principio della full connectivity secondo il quale ogni stazionepuo ascoltare qualunque altra stazione (generando il problema dellaHidden Station);

6. a seconda delle caratteristiche momentanee dell’aria (densita, pres-sione), i tempi di propagazione sono differenti;

7. diverse reti wireless possono sovrapporsi e quindi causare reciprocheinterferenze.

Nello stack TCP/IP gli standard 802.11 coprono il livello PHY e il sottolivelloMAC. Ne esistono di diversi tipi, supportanti rate di trasmissione diversi eutilizzanti meccanismi diversi di modulazione:

• Legacy Version: questa versione, ormai obsoleta, dello standard prevededue sample rate differenti: 1Mbps e 2Mbps.

• a: il protocollo utilizza la banda dei 5 GHz per trasmettere informazionimodulate secondo OFDM. Tuttavia, a causa della portante maggiore,ostacoli come muri o alberi, assorbono parte del segnale limitando ilraggio di trasmissione del protocollo[8].

• b: la versione, retrocompatibile con la versione Legacy, consente ratedi trasmissione migliori usando un modulatore SS di tipo CCK.

• g: questa versione trasmette dati ad un rate di 54Mbps nella stessabanda del 802.11b. I dati vengono tuttavia modulati nello stesso mododell’802.11a, ovvero tramite OFDM.

• n: rappresenta la versione MIMO della famiglia 802.11. La versione ntrasmette dati sia nella banda dei 2.4GHz che in quella, meno trafficata,dei 5GHz.

6.5 Specifiche del 802.11 Legacy livello PHY

6.5.1 Struttura e interazioni fondamentali

La prima versione del protocollo 802.11 (la cosidetta Legacy version) divideil livello fisico in due sottolivelli[16]: il primo, il Physical Layer Conver-gence Protocol (PLCP) interfaccia le caratteristiche del livello sottostante

Page 47: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 6. LIVELLO FISICO DEL PROTOCOLLO 802.11 38

(dipendente totalmente dal mezzo trasmissivo usato) con il sottolivello MACtramite una funzione di convergenza; il secondo sottolivello, il Physical Medi-um Dependent (PMD), si occupa della trasmissione vera e propria dei dati.Il PLCP non e unico per tutti i PMD (come accade per i sottolivelli MAC eLLC): infatti spesso per ciascun PMD esiste anche corrispettivo PLCP.Il protocollo definisce concettualmente varie entita il cui scopo e la gestione

Figura 6.3: disposizione generale e principali interfacce del livello PHY dell’802.11. Irettangoli neri indicano le interfaccie definite esplicitamente dllo standard 802.11

di uno specifico livello; tali entita sono dette Layer Management Entity edinteragiscono con gli strati da gestire tramite apposite primitive, le SAP (Ser-vice Access Point)8. Le varie LME, infine, interagiscono con l’utente tramiteun’interfaccia multi-livello chiamata SME (Station Management Entity); laSME, presente in ogni singola stazione, permette all’utente di leggere lo sta-to di ciascun livello dello stack ed eventualmente modificarne alcuni suoiparametri chiave[18]. Le LME che vengono definite sono:

• MLME l’entita di gestione del sottolivello MAC (MAC sublayer LME);

• PLME l’entita di gestione del livell PHY (Physical LME).

8uno specifico attributo di uno specifico livello o sottolivello viene detto MIB. Le prim-itive utilizzate dal 802.11 sono operazioni di tipo GET e SET che modificano i valori diciascun MIB; inoltre, ciascuna primitiva GET e SET viene rappresentata con le due primi-tive REQUEST (richiesta di eseguire una particolare operazione) e CONFIRM (verificareche un’operazione abbia avuto esito positivo)

Page 48: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 6. LIVELLO FISICO DEL PROTOCOLLO 802.11 39

Lo standard definisce esplicitamente le primitive per l’interazione tra le varieLME, tra le LME e lo SME e tra i vari sottolivelli mentre le primitivecolleganti una LME con il relativo livello non sono definite direttamente9

6.5.2 Mezzi comunicativi compatibili con lo standard

Il protocollo 802.11 Legacy e definito su tre diversi mezzi comunicativi (epercio possiede tre differenti livelli PHY):

• Frequency-Hopping spread sprectrum (FHSS)

• Infrared (IR)

• Direct Sequence Spread Spectrum (DSSS)

6.5.3 formato del PMD nel DSSS PHY

il livello fisico utilizzante DSSS utilizza una PseudoNoise sequence costantedi undici chip, il Barker Code10:

Figura 6.4: Rappresentazione grafica in barkercode della sequenza di bit 10

PNbarker = {+1− 1 + 1 + 1− 1 + 1 + 1 + 1− 1− 1− 1}

Tale pseudo noise sequence va ad espandere i bit da inviare fisicamente;tali dati vengono poi opportunamente modulati tramite PSK differenziale.Questo livello PHY definisce due tipi di modulazione DPSK a seconda deldata rate scelto per inviare i dati ricevuti dal livello MAC, i dati MPDU:

• se si decide di trasmettere a un Mbps allora e necessario utilizzare unDBPSK;

9Ogni insieme di SAP viene chiamato in modo diverso a seconda di cosa collegano; peresempio le primitive tra PLCP e PMD sono dette PMD SAP mentre quelle tra sottolivelloMAC e PHY sono dette PHY SAP.

10il barker code e una particolare sequenza il cui segnale autocorrelazione e prossimo a0 ovunque tranne nel punto 0. Di barker code ne sono noti molti:a due valori (-1 +1), acinque valori (+1 +1 +1 1 +1) oppure a tredici valori (+1 +1 +1 +1 +1 1 1 +1 +1 1 +11 +1)

Page 49: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 6. LIVELLO FISICO DEL PROTOCOLLO 802.11 40

Tabella 6.1: ∆φ della modulazione DBPSK

Base Input Cambio di fase0 01 π

Tabella 6.2: ∆φ della modulazione DQPSK

Base dibit Input Cambio di fase00 001 π

2

10 3π2

11 π

• se si decide di trasmettere a due Mbps allora la modulazione da utiliz-zare e di tipo DQPSK.

A seconda della scelta di trasmissione, il grafico a constellazione della mod-ulazione PSK cambia: per esempio, se volessimo trasmettere in DBPSK pertrasmettere il simbolo 1 dovremmo modificare la fase del segnale di riferimen-to di π radianti mentre se noi volessimo trasmettere uno zero non dovremmovariare la fase.

In termini di frequenza il livello fisico del 802.11 applicato alla modalita ditrasmissione DSSS utilizza diverse bande di frequenze a seconda del territorioin cui ci troviamo:

• Stati Uniti, Cina, Europa utilizzano il range di frequenze [2.4; 2.4835]GHz

• il Giappone utilizzano il range [2.471; 2.497] GHz

A prescindere dal territorio utilizzato, lo standard definisce 14 canali ognunoampio 20 MHz che possono essere utilizzati per trasmettere informazioni.

6.5.4 Formato del PLCP nel DSSS PHY

Il sottolivello PLCP prepara i dati ricevuti dal sottolivello MAC per latrasmissione vera e propria. Affinche l’invio delle informazioni abbia succes-so, e necessario incapsulare i dati con dell’overhead utile per la trasmissione.I dati ricevuti dal MAC sono detti MPDU (MAC protocol data unit); essi

Page 50: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 6. LIVELLO FISICO DEL PROTOCOLLO 802.11 41

Figura 6.5: formato dei dati del PLCP

vengono incapsulati con altri dati fino a formare il PPDU (PLCP proto-col data unit). La trama generata viene inoltrata in un oggetto chiamatoscrambler : lo scrambler e un’entita che altera i singoli bit dell’informazionesecondo una certa regola dettata da un polinomio. L’operazione eseguitadallo scrambler e detta scrambling. Un’oggetto simmetrico, il descrambler,effettua l’operazione inversa, il descrambling. Questa operazione migliorala sicurezza della trasmissione: un qualunque ricevitore in ascolto che nonconosce la regola con cui lo scrambler modifica i bit ricevera solo rumore; soloil ricevitore con il corretto polinomio di descrambling riuscira ad estrapolaredai bit scramblati la corretta informazione. L’operazione di scrambling vieneeffettuata sull’intera trama da inviare e per poter incominciare e necessariointrodurre una sequenza di inizializzazione: quindi per poter implementareuno scrambler e necessario conoscere:

1. il polinomio di scrambling

2. la sequenza di inizializzazione

Nel particolare caso dell’802.11 Legacy lo scrambler utilizza il polinomio:

G(z) = Z−7 + Z−4 + 1

mentre, come sequenza di inizializzazione, lo standard specifica una qualunquesequenza esclusa quella composta da soli 1[19].Per quanto concerne i campi dell’overhead del sottolivello PLCP, essi sono6[20]:

• Synchronization

• Start Frame Delimiter

Page 51: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 6. LIVELLO FISICO DEL PROTOCOLLO 802.11 42

• Signal

• Service

• Length

• FCS

Il datarate utilizzato per trasmettere (e ricevere) l’intera sequenza informa-tiva non e costante durante l’intera comunicazione:

• durante lo scambio del PLCP preamble e del PLCP header il dataratee di 1Mbps

• durante il transito dei dati del MPDU il datarate e quello specificatodal campo SIGNAL (quindi 1 o 2 Mbps)

Il campo SYNCH

il campo SYNCH contiene 128 bit, tutti settati al valore 1. Il campo vieneutilizzato dal ricevitore per sincronizzarsi in modo da poter ricevere corret-tamente le informazioni successive.

Il campo SFD

Il campo SFD (Start Frame Delimiter) indica al ricevitore quali parametridipendenti dal livello fisico seguiranno. Secondo lo standard il campo deveassumere il valore esadecimale F3A0: ciascuno di questi valori esadecimalidevono essere scritti in modo che il bit piu a sinistra sia il MSB mentre quelloa destra sia il LSB 11. Durante la trasmissione il primo bit da inviare deveessere il LSB; da queste considerazioni si puo capire che il campo SFD verraricevuto nella forma:

da MSB a LSB: 1111 1100 1010 0000

bit ricevuti: 0000 0101 0011 1111

11MSB indica il Most Significant Bit ed e il bit che contribuisce maggiormente al numerointero in bit; LSB indica il Least Significant Bit e, viceversa indica il bit che contribuiscedi meno al valore del numero. Per esempio il numero binario 100101 puo assumere duevalori: se lo leggessimo con il MSB a sinistra il suo valore sarebbe 37 mentre se venisseletto con MSB a destra il valore sarebbe 41

Page 52: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 6. LIVELLO FISICO DEL PROTOCOLLO 802.11 43

Il campo SIGNAL

Il campo SIGNAL (di 8 bit) indica al ricevitore il datarate da utilizzaredurante la ricezione dei dati veri e propri, l’MPDU. Secondo le specifiche,tale campo assume i valori esadecimali:

• 0A in caso di trasmissione a 1 Mbps;

• 14 in caso di trasmissione a 2 Mbps.

Tali numeri esadecimali devono avere come bit piu a sinistra il MSB mentrein trasmissione il primo bit da inviare e il LSB. Da cio si puo dedurre che:

• in caso di trasmissione a 1 Mbps il ricevitore otterra 0101 0000

• in caso di trasmissione a 2 Mbps il ricevitore otterra 0010 1000

Il campo SERVICE

Gli 8 bit di campo sono stati riservati per usi futuri. In caso si voglia inseriredei valori bisogna tenere conto che LSB deve essere trasmesso per primo.

Il campo LENGTH

Questo campo e composto da 16 bit ed indica il tempo in microsecondirichiesto per trasmettere il MPDU; secondo la trasmissione ad 1Mbps, unbit di payload impiega 1 microsecondo ad essere trasmesso. Dato che il cam-

Figura 6.6: campi inviati dal trasmettore nel tempo

Page 53: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 6. LIVELLO FISICO DEL PROTOCOLLO 802.11 44

po e lungo 16 bit, il MPDU non puo essere lungo a piacere, ma al massimopuo impiegare 216− 1 microsecondi. Sempre secondo lo standard, il LSB delcampo LENGTH deve essere trasmesso in ordine temporale per primo.

Il campo Frame Check Sequence

Il File Check Sequence e un campo ideato per rilevare eventuali errori du-rante la trasmissione. Poiche durante la trasmissione e possibile che un bitdella trama possa essere ricevuto scorrettamente 12, e necessario integrare nel-l’overhead un meccanismo per garantire l’integrita dei dati. Nello standard802.11 Legacy tale meccanismo e effettuato dal Cyclic Redundancy Check a16 bit(CRC-16).Matematicamente il CRC puo essere definito come[40]:

CRC(n) = remainder

[xn ⊕ M(x)

G(x)

]

dove M(x) e il messaggio da trasmettere, n e il numero di bit del CRC mentreG(x) rappresenta il polinomio generatore del controllo. Per realizzare unCRC tramite operazioni di XOR e linee di ritardo, sono necessari due dati:

1. il polinomio generatore G(x)

2. la sequenza con cui inizializzare il controllo; essendo una proceduraiterativa, il CRC necessita di un valore con cui iniziare il ciclo.

Lo standard utilizza il CRC-16 CCIT per verificare l’assenza di errori ditrasmissione: Tale controllo utilizza come coefficienti del polinomio genera-tore il valore esadecimale 1021 e come sequenza di inizializzazione una seriedi sedici bit tutti impostati a 1.Il messaggio protetto dal FCS non e l’intera trasmissione, ma soltanto i campiSIGNAL, SERVICE e LENGTH: il controllo degli errori nel MPDU viene in-fatti delegato ai livelli superiori. Infine nei sedici bit offerti nell’header PLCPnon risiede il CRC-16 dei campi sopra citati, bensı il complemento ad unodello stesso.

12gli errori di trasmissione sono principalmente dovuti al rumore che puo alterare ilsegnale ricevuto in modo tale da confondere il ricevitore; l’etere, se fortemente disturbatoda fonti esterne (come una saldatrice ad arco) puo essere un pessimo mezzo trasmissivo

Page 54: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 6. LIVELLO FISICO DEL PROTOCOLLO 802.11 45

6.6 Esperimento di trasmissione

Con le conoscenze acquisite, tentiamo di costruire un trasmettitore 802.11 edi realizzare un’inoltro di dati tra un USRP e un comune ricevitore 802.11bcompatibile con lo standard 802.11 Legacy.

6.6.1 Hardware utilizzato

Per questo test utilizzeremo un solo USRP collegato direttamente con l’host.Separato dall’USRP, un rilevatore di spettro settato sulla portante usatae con banda di almeno 25MHz (la trasmissione sara effettuata su 22MHz)ricevera il segnale per dare una visualizzazione grafica del segnale trasmesso:esso ci dira esattamente se stiamo sbagliando o meno la trasmissione. In-fine useremo un secondo computer per rilevare gli eventuali pacchetti speditidall’USRP; questa stazione e anche in grado, tramite apposite modifiche alfirmware, di rilevare il numero di PLCP esatti e PLCP errati: se tale com-puter rilevera almeno un consistente aumento di PLCP errati il test avrasuccesso.Assicuriamoci, infine, di disporre l’USRP ed il ricevitore vicini tra di loro inmodo da ricevere un segnale chiaro e potente.

6.6.2 Componenti del software

Il codice del trasmettitore ha sfruttato i Virtual Instruments raffigurati nellefigure 6.6.2, 6.7 6.8, 6.9, 6.10, 6.11, 6.12, 6.6.2, 6.14, 6.16, 6.17, 6.6.2, 6.19,6.20.

Il codice si configura come uno schema a blocchi e puo essere diviso invari settori:

• costruzione della trama da inviare: si parte con il generare i vari campiche formano la trama da spedire (nel caso del campo FCS servirannoanche i campi da proteggere); in seguito si concatenano i vari campifacendo attenzione ad unirli nell’ordine corretto. Infine si effettua loscrambling dei bit.

• codifica del modulatore: si costruisice il modulatore corretto; in questocaso si dovra realizzare un DBPSK con i simboli 0 e 1 rispettivamentein 0 + 0j e −1 + 0j. Aderendo allo standard, prima di eseguire lamodulazione PSK e necessario effettuare lo spreading dei bit da inviaretramite la sequenza di barker.

Page 55: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 6. LIVELLO FISICO DEL PROTOCOLLO 802.11 46

• creazioni dei campioni: dato che il DAC del USRP ha un sample ratedi 100MSps e dato che la traccia da inviare deve avere una banda di22MSps13 non e possibile inviare i dati semplicemente inserendo comevalore dell’ IQ sampling rate di trasmissione il valore 22M; questoperche 22M non e un divisore di 100M. Per aggirare questo proble-ma bisogna integrare alla creazione dei campioni anche un fattore diresampling14. Se si eseguissero le trasformate di Fourier del segnale pre-resampled e post-resampled si noterebbe come la seconda trasformatasia dilatata rispetto alla prima di fattore 22

25

• inoltro dei campioni: questo settore si occupa della vera e propriatrasmissione dei campioni.

6.7 Risultati dell’esperimento

Avviamo l’USRP con i seguenti parametri di input impostati:

• IQ Sample rate: 25M

• carrier frequency: 2,484G15

• sample per symbol: 2

• Desidered symbol rate: 25M

• symbol Rate: 22M

• gain: 25dB

• length: 192

• MPDU: campo vuoto

13la trasmissione deve avvenire a 1Mbps; ogni bit, tuttavia, deve essere scomposto in11 chip. Inoltre ogni chip e rappresentato, almeno nel nostro esperimento, da 2 campioni.Per cui il Sample rate da utilizzare e di 1Mbps× 11× 2 = 22MSps

14Tale fattore puo in LabView e rappresentato dal VI “MT Resampling”: data unatrasmissione gia modulata ad una certa frequenza ed una frequenza desiderata l’oggettoconverte i dati modulati in una trasmissione con la frequenza desiderata contenente lostesso contenuto infgormativo.

15questo e il 14 canale offerto dalla standard; tra i quattordici canale, esso e generalmenteil meno trafficato

Page 56: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 6. LIVELLO FISICO DEL PROTOCOLLO 802.11 47

Sul rilevatore di spettro otteniamo un segnale centrato sulla portante2.484GHz e di banda 22MHz: questo ci assicura che almeno i parametri dimodulazione sono corretti. Il ricevitore, invece, rileva ad intervalli di unsecondo circa un consistente aumento (piu di 163)di PLCP esatti, dandociuna chiara prova del fatto che la trasmissione funziona: questo aumento edato dal fatto che, anche in questo esperimento, l’USRP trasmette in modogreedy.Tramite il campo MPDU del VI e inoltre possibile inviare un semplice ACKal ricevitore impostando i campi:

• LENGTH al valore 112

• MPDU al valore esadecimale d400 0000 001b fc91 803b 61eb a918

In questo caso il ricevitore rilevera un flusso enorme di ACK ricevuti semprecon lo stesso MAC e sempre con lo stesso identificatore.E possibile anche inviare un intero beacon tramite l’USRP: anche in questocaso il ricevitore rilevera un flusso di Beacon. Il Front End dell’USRP inquesto caso e mostrato in figura 6.7

Page 57: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 6. LIVELLO FISICO DEL PROTOCOLLO 802.11 48

Figura 6.7: PLCP SINC builder : costruisce il campo SYNC.

Figura 6.8: PLCP SFD builder : costruisce il campo SFD.

Figura 6.9: PLCP SIGNAL builder : costurisce il campo SIGNAL.

Figura 6.10: PLCP SERVICE builder : costruisce il campo SERVICE.

Figura 6.11: PLCP LENGTH builder : costruisce il campo LENGTH.

Figura 6.12: PLCP CRC builder : costruisce il campo CRC partendo daisingoli campi SIGNAL, SERVICE e LENGTH.

Figura 6.13: Advanced PLCP Frame Generator : permette all’utente di creareuna PPDU con il valore dei campi dell’header che preferisce.

Page 58: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 6. LIVELLO FISICO DEL PROTOCOLLO 802.11 49

Figura 6.14: DSSS PLCP data Scrambler : effettua lo scrambling dei datisecondo il polinomio z7 + z4 + 1

Figura 6.15: DBPSK : effettua una codifica dei simboli di tipo differenziale.

Figura 6.16: Modulatore DSSS : effettua lo spreading di un bit secondo lasequenza di Barker.

Figura 6.17: Rotate Graph: ruota una mappa dei simboli di modulazione.

Figura 6.18: MT Generation Parameters : genera i parametri per effettuareil campionamento dei simboli.

Page 59: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 6. LIVELLO FISICO DEL PROTOCOLLO 802.11 50

Figura 6.19: MT PSK Modulation: campiona, secondo i parametri passati, isimboli passati in I e Q.

Figura 6.20: MT Resampling : effettua una resampling dei campioni passati

Figura 6.21: USRP write Data Tx : trasmette fisicamente i campioni I e Q

Page 60: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

CAPITOLO 6. LIVELLO FISICO DEL PROTOCOLLO 802.11 51

Fig

ura

6.22

:In

terf

acci

aute

nte

del

l’U

SR

Pco

nil

modulo

“Adva

nce

dP

LC

PF

ram

eG

ener

ator

”quan

do

esso

tras

met

teun

bea

con.

Page 61: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

Conclusioni

Questo lavoro ha introdotto il lettore all’idea del Software Defined Radio.Dopo aver esaminato, almeno a livello generale, i principali meccanismi chegovernano la trasmissione, sono state spiegate le principali motivazioni percui radio pilotate in modo software possono dare un contributo consistentea realta come il testing di protocolli.Anche la ricerca puo usufruire da questo concetto in quanto e possibile, conbudget ridotti, costruire apparati wireless molto flessibili. Per quanto con-cerne gli strumenti offerti dalla National Instruments (USRP e LabView) econcreta la possibilita di implementare semplici SDR a fine didattico.

52

Page 62: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

Ringraziamenti

Prima di tutto desidero ringraziare il mio relatore per l’incredibile aiuto of-fertomi durante il periodo di tesi; sempre per il supporto datomi ringrazioMattia e Niccolo, senza i quali non sarei mai riuscito ad impostare la trasmis-sione con LabView.Ringrazio mia mammma e Daniele per l’incredibile e incondizionato appog-gio e supporto che mi hanno sempre dato in tutti questi anni e mio papa che,nonstante i toni non sempre pacati, ha saputo incoraggiarmi ad impegnarminelle cose che mi interessano. Vorrei inoltre ringraziare i miei zii Giuseppee Dario che hanno dato un contributo fondamentale nella scelta dell’univer-sita. Ringraziare anche i miei zii Renata, Emilia, Erika, Maria e Massimoper l’aiuto sempre datomi.Oltre quindi a tutta la mia famiglia, desidero ringraziare i miei amici Simone,Francesco e Dario per avermi aiutato in questi tre anni di studio, nonche peressere stati sempre con me durante i periodi sia di studio intensivo che didivertimento. Ringrazio inoltre Simone per la creazione di spesso interessantispunti di riflessione di vita e di filosofia.Ed infine voglio ringraziare chiunque nel mondo abbia progettato ed imple-mentato il mio linguaggio di programmazione preferito: Java.

53

Page 63: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

Bibliografia

[1] http://www.wirelessinnovation.org/Introduction to SDR

[2] Software Defined Radio: Baseband Technologies for 3G Handsets andBasestations,Walter H.W. Tuttlebee,Wiley,pp.130-131

[3] http://www.radio-electronics.com/info/rf-technology-design/sdr/software-defined-radios-tutorial.php

[4] http://www.wirelessinnovation.org/what is the sca

[5] http://en.wikipedia.org/wiki/RF front end

[6] http://en.wikipedia.org/wiki/SpeakEasy

[7] Current Usage, Joint Tactical Radio System,http://en.wikipedia.org/wiki/Software-defined radio

[8] Protocols 802.11a, http://en.wikipedia.org/wiki/IEEE 802.11#802.11-1997 .28802.11 legacy.29

[9] Phase-shift keying,http://en.wikipedia.org/wiki/Phase-shift keying

[10] The Applications of a Software Defined Radio In Space,Matthew Barousse,Trey Oliver,University of Louisiana at Lafayette,10-May-2009,http://mstl.atl.calpoly.edu/˜bklofas/Presentations/DevelopersWorkshop2009/4 Comm/1 Oliver-CAPE2.pdf

54

Page 64: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

BIBLIOGRAFIA 55

[11] Software Defined Radio, the technological trend of future receivers,Marco Pini,Istituto Superiore Mario Boella,pag 4,http://www.smatf1.polito.it/it/content/download/340/1379/version/1/file/SDR.pdf

[12] Simon Scott,Rhino: Reconfigurable Hardware Interface for computatioN and radiO,March 2011,University of Cape Townpag 2,http://www.eecs.berkeley.edu/sscott/simon scott msc thesis.pdf

[13] Embedded Software Defined Radio Design With The E100 UniversalSoftware Radio Peripheral,Lee Anthony Kashka,2002,pag 11,18http://usrp-e-1xx-dsp.googlecode.com/git/EMBEDDED%20SOFTWARE%20DEFINED%20RADIO%20DESIGN.pdf

[14] IEEE Communication Magazine,May, 1995

[15] IEEE Computer Society,Part 11: Wireless LAN Medium Access Control (MAC) and PhysicalLayer (PHY) Specifications,2012, 16.1.1 General,pag 504

[16] IEEE Computer Society,Part 11: Wireless LAN Medium Access Control (MAC) and PhysicalLayer (PHY) Specifications,2012, 7.3.2 Overview of the service,pag 368

[17] IEEE Computer Society,Part 11: Wireless LAN Medium Access Control (MAC) and PhysicalLayer (PHY) Specifications,2012, 16.4.6.5 Modulation and channel data rates, pag 1528

[18] IEEE Computer Society,Part 11: Wireless LAN Medium Access Control (MAC) and Physical

Page 65: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

BIBLIOGRAFIA 56

Layer (PHY) Specifications,2012,6.1 Layer Management,pag 104

[19] IEEE Computer Society,Part 11: Wireless LAN Medium Access Control (MAC) and PhysicalLayer (PHY) Specifications,2012,16.2.4 PLCP/DSSS PHY data scrambler and descrambler,pag 1508

[20] IEEE Computer Society,Part 11: Wireless LAN Medium Access Control (MAC) and PhysicalLayer (PHY) Specifications,2012,16.2.3 PLCP field definitions,pp 1505-1506

[21] IEEE Computer Society,Part 11: Wireless LAN Medium Access Control (MAC) and PhysicalLayer (PHY) Specifications,2012,4.2.3 Media impact on design and performance,pag 44

[22] Frank Kendall,Acquisition, technology and logistic,October 13 2011,http://assets.fiercemarkets.com/public/sites/govit/jtrs kendall letter.pdf

[23] Overview,http://sine.ni.com/ds/app/doc/p/id/ds-355/lang/it

[24] Hardware,http://sine.ni.com/ds/app/doc/p/id/ds-355/lang/it

[25] LabView User Manual,April 2003 Edition,capitolo 2 Introduction to Virtual Instruments,http://www.ni.com/pdf/manuals/320999e.pdf

[26] http://forums.ni.com/t5/LabVIEW/The-pros-and-cons-of-LabVIEW/td-p/759730/page/1

Page 66: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

BIBLIOGRAFIA 57

[27] https://www.ettus.com/product

[28] http://blog.y3xz.com/blog/2012/12/02/a-primer-on-cheap-software-defined-radios/

[29] http://wb5rvz.com/sdr/

[30] http://o28.sischa.net/fifisdr/trac

[31] http://www.crosscountrywireless.net/sdr-4.htm

[32] 2.2 USRP interface devicehttp://www.ece.vt.edu/swe/chamrad/crdocs/CRTM09 060727 USRP.pdf

[33] 2 USRP Hardware and Softwarehttp://www.ece.vt.edu/swe/chamrad/crdocs/CRTM09 060727 USRP.pdf

[34] Improvised wireless networking,Anna Farahmand, Micheal Webber,May 2012,pag 440,http://www.scribd.com/doc/92507117/Improvised-Wireless-Networking-long-range-wifi-based-on-mesh-underground-internet-in-shadow-by-AnnaFarahmand-and-michael-webber,

[35] 2.1 Universal Software Radio Peripheralhttp://www.ece.vt.edu/swe/chamrad/crdocs/CRTM09 060727 USRP.pdf

[36] http://lists.gnu.org/archive/html/discuss-gnuradio/2009-12/msg00096.html

[37] http://www.websdr.org/

[38] An introduction to Spread Spectrum TechniquesCarlo Kopp,2005,www.ausairpower.net/OSR-0597.html

[39] www.radio-electronics.com/info/rf-technology-design/sdr/software-deifned-radios-tutorial.php

[40] Chris Borelli,IEEE 802.3 Cyclic Redundancy Check,March 23, 2011,Introduction pag 1,http://www.xilinx.com/support/documentation/application notes/xapp209.pdf

Page 67: Sistemi per la prototipazione di apparati di trasmissione ... · Corso di Laurea in Informatica Tesi di laurea triennale ... Matricola 76953 Relatore: Francesco Gringoli Anno Accademico

BIBLIOGRAFIA 58

[41] Diego Orlando Barragan Guerrero,Modulations scripts,http://scripts.downloadroute.com/ASK-OOK-FSK-BPSK-QPSK-8PSK-modulation-c6727dda/downloader.html2006