“Come ogni ascoltatore della radio sa, è incredibile
quante cose puoi vedere con le tue orecchie”
Anonimo
Non sono mai stato un grande appassionato di radio, anche se, grazie al mio diploma in Elettronica e Telecomunicazioni, ho potuto conseguire la patente di radioamatore senza dover affrontare l’esame.
In questo ultimo periodo, però, complice anche alcuni documentari che ho visto sulle nuove frontiere della tecnologia e della guerra elettronica, ho fatto alcune ricerche ed ho scoperto che anche sul fronte della radiofonia ci sono state alcune importanti innovazioni tecnologiche come l’SDR, Software Defined Radio: praticamente, invece di avere costosi e complessi hardware, si realizzano dispositivi hardware minimali e si lascia al software del PC il compito di modulare, demodulare, sintonizzare etc etc etc…risparmiando sia nei tempi di sviluppo che soprattutto nella prototipazione.
La tecnologia è talmente interessante che oggi vi racconto come, acquistando su eBay un semplicissimo dongle per il DVB+T (Digital Video Broadcasting, la TV digitale terrestre…) da pochi euro (meno di 10€), avendo premura che il chipset sia RTL2832U e R820T
Una volta inserito il dongle nella porta USB del PC, lsusb risponderà così:
0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T
Per usare il software SDR è necessario impedire al sistema di caricare i moduli di default aggiungendo, nella directory /etc/modprobe.d, un file come rtl-sdr-blacklist.conf contenente le righe
blacklist dvb_usb_rtl28xxu blacklist e4000 blacklist rtl2832
Passiamo alla parte complicata, il software. Esistono decine e decine di programmi, sia open source che commerciali, ed una lista piuttosto completa la trovate qui: THE BIG LIST OF RTL-SDR SUPPORTED SOFTWARE.
“complicata” perché sono necessarie un minimo di conoscenze del sistema, dovendo installare e compilare diversi programmi e drivers, oltre a dover disattivare (mettendolo in blacklist) il modulo del kernel “ufficiale” per questo tipo di dispositivi. Diciamo che non è proprio semplice come “punta e clicca“, ma neanche impossibile per chi ha voglia di seguire le istruzioni presenti in rete.
Dopo alcune prove, sono giunto alla conclusione che, almeno per il momento, il software più adatto alle mie esigenze di sperimentazione è GQRX, basato su GNURadio e le librerie Qt.
Inoltre, per far funzionare adeguatamente il dongle, ho dovuto installare osmo-sdr del progetto Osmocom. In realtà, gran parte del software necessario l’ho installato come prerequisito di un tutorial su come analizzare il traffico dati GSM con Wireshark, RTL-SDR TUTORIAL: ANALYZING GSM WITH AIRPROBE/GR-GSM AND WIRESHARK:
$ sudo apt-get install git python-pip $ sudo pip install PyBOMBS $ sudo pybombs prefix init /usr/local -a default_prx $ sudo pybombs config default_prefix default_prx $ sudo pybombs recipes add gr-recipes git+https://github.com/gnuradio/gr-recipes.git $ sudo pybombs recipes add gr-etcetera git+https://github.com/gnuradio/gr-etcetera.git $ sudo pybombs install gr-gsm $ sudo ldconfig
Dopo molte decine di minuti e svariati software scaricati, compilati ed installati, sulla mia Linux Mint 18 Mate avevo praticamente quasi tutto il necessario per procedere, compreso il tool a riga di comando rtl_test:
$ rtl_test Found 1 device(s): 0: Realtek, RTL2838UHIDIR, SN: 00000001 Using device 0: Generic RTL2832U OEM Found Rafael Micro R820T tuner
A questo punto rimane solamente da installare una utility grafica per usare il dongle, GQRX. Ho preferito procedere con la compilazione dei sorgenti, dovendo però preventivamente installare alcune librerie, compreso le Qt5:
sudo apt-get install portaudio19-dev libfftw3-dev libcodec2-dev libpulse-dev libusb-dev libconfig8-dev libusb-1.0-0-dev libevent-dev libevent-openssl-2.0-5 libssl-dev libortp-dev qtbase5-dev qtmultimedia5-dev libqt5svg5-dev qt5-default
adesso scarichiamo il sorgente di Gqrx:
git clone https://github.com/csete/gqrx.git
e procediamo con la compilazione:
cd gqrx mkdir build cd build cmake .. make && make install
(Se il sistema vi restituisce un errore con ‘cmake‘, installate l’utility con apt install cmake)
A questo punto, da riga di comando, lanciamo gqrx:
$ gqrx [INFO] [UHD] linux; GNU C++ version 5.4.0 20160609; Boost_105800; UHD_3.11.0.git-94-g5964adcd gr-osmosdr v0.1.4-86-ge9dde9af (0.1.5git) gnuradio 3.7.12git-44-g0d5fd62c built-in source types: file osmosdr fcd rtl rtl_tcp uhd hackrf bladerf rfspace airspy redpitaya Resampling audio 96000 -> 48000 BookmarksFile is ~/.config/gqrx/bookmarks.csv gr-osmosdr v0.1.4-86-ge9dde9af (0.1.5git) gnuradio 3.7.12git-44-g0d5fd62c built-in source types: file osmosdr fcd rtl rtl_tcp uhd hackrf bladerf rfspace airspy redpitaya Using device #0 Realtek RTL2838UHIDIR SN: 00000001 Found Rafael Micro R820T tuner
e sullo schermo apparirà una finestra come questa:
La freccia indica il pulsante “play” per far partire la ricezione. In alto, la frequenza centrale del sintonizzatore e a destra, evidenziato, il modo di demodulazione (suggerisco di partire con WFM -Mono o Stereo- o Narrow FM). Giusto per iniziare, possiamo sintonizzarci sulla banda FM commerciale, 88-108:
Qui vediamo bene nello spettrometro i vari canali, indicati dai picchi nel grafico, e la relativa potenza. Posizioniamo il cursore sul picco di uno di questi (es. su 89.006,700 KHz) per iniziare ad ascoltare la trasmissione (se non sentite niente, verificate il volume sia del sistema che nella finestra “Audio” in basso a destra, aumentando il guadagno “gain“).
Potete spostarvi lungo l’intera gamma di frequenze posizionando il mouse sulla cifra da modificare e premendo le frecce su e giù nella tastiera.
Oltre ai segnali audio come le radio in broadcast sulla gamma FM commerciale, esistono una ampia gamma di segnali digitali difficili da identificare. A questo sito web, Signal Identification Wiki, una ampia serie di esempi per riuscire a capire cos’è quella strana trasmissione che abbiamo scoperto. Segnalo anche questo interessantissimo articolo di introduzione all’argomento: INTRO TO SDR AND RF SIGNAL ANALYSIS.
Prima di concludere, ci tengo a ricordare che l’art.105 del Codice delle Comunicazioni, p.to 2, comma “b” dice che sono di libero uso gli apparati radioelettrici solo riceventi ma che sono esplicitamente ascoltabili soltanto:
- trasmissioni destinate al pubblico (radiofonici, televisivi, segnali di tempo campione…)
- comunicazioni radioamatoriali sulle bande assegnate (Art.134, p.to 4 del Codice delle Comunicazioni)
…buon ascolto !
P.S. Se avete suggerimenti, esperienze, consigli o segnalazioni in merito all’SDR, sono i benvenuti: lo spazio commenti è a vostra disposizione 🙂