Software Defined Radio con RTL-SDR

2

Di Stefano Lovati

Software Define Radio (SDR) è una tecnologia in rapida espansione attraverso la quale alcuni componenti chiave di un sistema radio, tradizionalmente implementati a livello hardware, sono sostituiti, configurati e programmati con opportuni algoritmi software. L’articolo introdurrà il lettore a questo affascinante mondo, proponendo alcune applicazioni pratiche

 

 

 

I ricevitori radio, a partire da quelli utilizzati per instaurare le prime comunicazioni wireless alla fine del diciannovesimo secolo, sono stati per lungo tempo costruiti utilizzando esclusivamente componenti di tipo analogico. I progressi compiuti dall’elettronica allo stato solido a partire dalla seconda metà degli anni ’50 hanno permesso l’introduzione, negli anni successivi, dei primi sintonizzatori e scanner con impiego di componenti digitali.
Nonostante il susseguirsi di tecnologie sempre più performanti e affidabili, rimaneva un “problema” di fondo: la componente primaria di ogni ricevitore radio era e continuava a rimanere di tipo hardware.
Funzionalità come programmazione e riconfigurazione del dispositivo, con possibilità di essere eseguite anche dinamicamente, erano ridotte al minimo oppure totalmente assenti. Questa mancanza di flessibilità ha notevolmente limitato la possibilità, anche per un ricevitore professionale di fascia medio-alta, di essere riconfigurato per supportare protocolli e modalità di ricezione diversi da quelli per i quali era stato inizialmente progettato l’hardware. Come vedremo nel corso dell’articolo, il concetto di Software Defined Radio (SDR) mira proprio a proporsi come soluzione al citato problema, con notevoli benefici in termini di flessibilità, versatilità e affidabilità dell’apparato radio ricevente.

Nascita della SDR

Anche se il concetto di ricevitore digitale, nei laboratori di ricerca come nelle università, era già in uso sin dagli anni ’70, la nascita del termine SDR viene attribuita a Joseph Mitola, già membro IEEE e ricercatore presso i Motorola Labs.
Nei primi anni ’90 Mitola pubblicò infatti l’articolo “Cognitive Radio For Flexible Mobile Multimedia Communication”, in cui si ponevano le basi per la realizzazione di radio che potessero essere riprogrammate e riconfigurate a livello software. Mitola definì la Software Defined Radio ideale, composta da un’antenna ricevente e da un convertitore analogico-digitale (ADC) nella sezione ricevente e da un convertitore digitale-analogico (DAC) e da un’antenna trasmittente nella sezione trasmissiva.
Tutte le altre funzionalità sarebbero state implementate da microprocessori e circuiti digitali programmabili.
Anche se la tecnologia elettronica dominante all’inizio degli anni ’90 non era ancora in grado di tradurre questo concetto in un apparato radio reale, il termine SDR era stato di fatto coniato con l’accezione tuttora utilizzata: un dispositivo radio definito principalmente a livello software, supportato da un’opportuna e significativa componente hardware.
Dopo le prime applicazioni sperimentali, sia in campo civile che militare, la tecnologia SDR è maturata e progredita notevolmente, al punto che oggi sono disponibili soluzione hardware e software a costi molto ridotti.

Ricevitore SDR

Relativamente alla componente hardware, consideriamo anzitutto la tipica struttura di un comune ricevitore supereterodina, visibile in Figura 1.

 

 

Figura 1: Schema a blocchi di un classico ricevitore radio supereterodina

Le principali funzioni implementate in questo ricevitore radio sono le seguenti:
demodulazione del segnale ricevuto;
sintonizzazione sulla frequenza della portante per selezionare il segnale desiderato;
filtraggio del segnale per separarlo dalle componenti non desiderate;
amplificazione del segnale per compensare le perdite subite lungo la catena di trasmissione.
Anche se non specificato nella precedente lista, viene nella pratica inserito anche uno stadio di amplificazione prima del blocco di demodulazione, al fine di portare il segnale a un livello compatibile con l’ampiezza minima richiesta dal demodulatore.
Relativamente allo schema di Figura 1, il segnale ricevuto dall’antenna viene inizialmente amplificato da uno stadio a radio frequenza (RF) che opera solo sulla banda di frequenze di interesse. Successivamente, il segnale entra in ingresso a un miscelatore (mixer) insieme a un segnale generato internamente tramite un oscillatore locale analogico, la cui frequenza è impostata tramite il controllo di sintonia della radio.
Il mixer è un componente fondamentale di ogni ricevitore radio supereterodina, in quanto ha la funzione di convertire la frequenza originale del segnale in una frequenza intermedia (detta anche IF, acronimo di Intermediate Frequency) molto più “comoda” da processare negli stadi successivi del ricevitore.
Normalmente, la frequenza IF risulta inferiore a quella originale e in questo caso il processo svolto dal mixer sulla frequenza viene anche detto “down-conversion” (viceversa, in trasmissione, si parlerà di “up-conversion”).
A titolo di esempio, si consideri che i ricevitori radio supereterodina di tipo commerciale operano tutti con una frequenza intermedia (IF) pari a 455 kHz in banda AM e 10.7 MHz in banda FM. Se quindi si vuole sintonizzare una stazione radio FM che trasmette sulla frequenza di 103.3 MHz (come Isoradio, in Italia), l’oscillatore locale dovrà generare una frequenza pari a 92.6 MHz (92.6=103.3-10.7). Lo stadio successivo è rappresentato da un filtro passa-banda che attenua o elimina tutte le frequenze che si trovano al di fuori della banda di interesse. Nei ricevitori commerciali, la banda passante di questo filtro è pari a circa 100 kHz in FM e almeno 5 kHz in AM. Questi valori sono stati scelti per essere consistenti con l’ampiezza di banda occupata da una stazione FM (circa 200 kHz) e da una stazione AM (10 kHz, corrispondente a due bande laterali da 5 kHz ciascuna).
Lo stadio successivo, il demodulatore, ha la funzione di recuperare la modulazione originale dall’uscita del filtro-amplificatore IF. Esistono diverse tecniche di demodulazione, a seconda del tipo di modulazione selezionato. In AM, ad esempio, si utilizza il rilevatore di inviluppo, ovvero un circuito la cui uscita approssima l’inviluppo (sequenza dei massimi) di un segnale in ingresso. In banda FM si utilizza invece un discriminatore di frequenza, un circuito che converte variazioni di frequenza in variazioni di ampiezza, demodulabili con le stesse tecniche utilizzate in AM.
L’amplificatore audio finale ha il compito di aumentare l’intensità del segnale in uscita dal demodulatore, in modo tale da poter pilotare un comune altoparlante. Dopo questa doverosa parentesi sul circuito radio super eterodina, tuttora utilizzato in numerose applicazioni tra cui i sistemi radar, possiamo ora analizzare lo schema a blocchi di un generico ricevitore SDR, visibile in Figura 2. Il sintonizzatore RF (tuner) converte il segnale analogico ricevuto dall’antenna in un segnale intermedio (IF), svolgendo di fatto le stesse operazioni compiute dai primi tre blocchi di un ricevitore supereterodina. La prima sostanziale differenza tra i due schemi comincia a manifestarsi nello stadio successivo, rappresentato dall’ADC. Quest’ultimo ha il compito di cambiare il dominio del segnale, passando dal dominio del tempo a quello della frequenza: come già sappiamo, ciò avviene tramite un campionamento del segnale che produce in uscita una sequenza di campioni digitali. I campioni sono inviati al blocco successivo, detto DDC (acronimo di Digital Down Converter), tipicamente implementato da un circuito integrato monolitico che rappresenta un elemento chiave del ricevitore SDR. Come visibile dallo schema a blocchi di Figura 2, un DDC include un mixer digitale, un oscillatore locale digitale e un filtro passa-basso di tipo FIR (Finite Impulse Response).

 

 

 

Figura 2: Schema a blocchi di un tipico ricevitore SDR

Le funzionalità svolte da questi sotto-blocchi sono fondamentalmente le stesse dei corrispondenti blocchi analogici di un circuito supereterodina, anche se la complessità interna dei circuiti è ora superiore a causa della presenza di un elevato numero di moltiplicatori, sommatori e registri a scorrimento. Anche se non evidenziato in Figura 2, i segnali in banda base di un ricevitore SDR sono formati dalle componenti I (ampiezza) e Q (fase). Un’altra operazione comunemente svolta nei ricevitori SDR è la decimazione, il cui effetto è quello di ridurre la frequenza di campionamento. Dopo la decimazione, la frequenza di campionamento in banda base sarà pari al rapporto tra la frequenza di campionamento originale e un coefficiente N, detto anche fattore di decimazione. In base al noto teorema di Nyquist, sappiamo che la frequenza di campionamento finale deve essere pari ad almeno il doppio della componente del segnale con frequenza maggiore. I campioni del segnale in banda base raggiungono infine il blocco DSP (Digital Signal Processing) dove vengono svolte operazioni di vario tipo quali demodulazione e decodifica, operando sempre su un segnale in formato digitale. I DSP attuali sono molto performanti, in grado quindi di processare in tempi molto ridotti ingenti volumi di dati. Tuttavia, in caso di applicazioni particolarmente critiche o di algoritmi molto complessi, al posto dei DSP si può utilizzare anche una FPGA.

Questi contenuti sono riservati agli utenti registrati. Effettua il login o registrati per poterli vedere.

Informazioni sull'autore

Sono Stefano, nato a Milano nel 1963. Dopo aver conseguito la laurea in Ingegneria Elettronica al Politecnico di Milano, ho iniziato la mia attività lavorativa come sviluppatore firmware e software. Nel corso degli anni ho vissuto e "cavalcato" la progressiva trasformazione del mondo embedded, dai primi microprocessori a 8 bit programmabili esclusivamente in assembler ai più recenti Soc, FPGA, DSP e logiche programmabili con prestazioni e caratteristiche di assoluto rilievo. Mi interesso di tecnologia ed elettronica a 360°, dedicando parte del mio tempo libero allo studio di nuovi componenti e alla realizzazione di piccoli progetti.

2 commenti su "Software Defined Radio con RTL-SDR"

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.