SDR-DVB-navale2: differenze tra le versioni
(→Il programma GNU radio) |
(→Tipi di pacchetti ricevuti) |
||
(2 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 43: | Riga 43: | ||
Per scaricare ed installare automaticamente il programma GNU Radio e le sue numerose applicazioni, seguite le informazioni che trovate descritte in [https://gnuradio.org/redmine/projects/gnuradio/wiki/InstallingGRFromSource#Using-the-build-gnuradio-script questa pagina] e in [http://sdr.osmocom.org/trac/wiki/rtl-sdr questa pagina]. | Per scaricare ed installare automaticamente il programma GNU Radio e le sue numerose applicazioni, seguite le informazioni che trovate descritte in [https://gnuradio.org/redmine/projects/gnuradio/wiki/InstallingGRFromSource#Using-the-build-gnuradio-script questa pagina] e in [http://sdr.osmocom.org/trac/wiki/rtl-sdr questa pagina]. | ||
− | Scaricate ora il file .grc file a questo link: [https://gist.github.com/csete/6524653 https://gist.github.com/csete/6524653] (salvatelo selezionando il formato "raw", attraverso il comando "Salva come..." del tuo browser). | + | Scaricate ora il file .grc file a questo link: [https://gist.github.com/csete/6524653 https://gist.github.com/csete/6524653] (salvatelo selezionando prima il formato "raw", poi attraverso il comando "Salva come..." del tuo browser). |
Il demodulatore di quadratura ha il parametro di guadagno (gain) espresso in (samples per symbol ratio). Testi differenti restituiscono definizioni differenti e non si è provato a modificare altro. Il valore esatto non è critico fino a quando l'uscita dal demodulatore non viene saturata. | Il demodulatore di quadratura ha il parametro di guadagno (gain) espresso in (samples per symbol ratio). Testi differenti restituiscono definizioni differenti e non si è provato a modificare altro. Il valore esatto non è critico fino a quando l'uscita dal demodulatore non viene saturata. | ||
Riga 61: | Riga 61: | ||
sudo apt-get update | sudo apt-get update | ||
− | + | e poi potrete installaree facilmente gnuais con il comando | |
sudo apt-get install gnuais | sudo apt-get install gnuais | ||
Riga 82: | Riga 82: | ||
− | Il software è capace di decodificare i pacchetti che abbiano il nome e i dati di destinazione presenti, ma questi dati sono molto lunghi e se la ricezione non è molto buona e/o la trasmittente è molto lontana, alcuni di questi dati vengono decodificati con qualche errore | + | Il software è capace di decodificare i pacchetti che abbiano il nome e i dati di destinazione presenti, ma questi dati sono molto lunghi e se la ricezione non è molto buona e/o la trasmittente è molto lontana, alcuni di questi dati vengono decodificati con qualche errore. |
[[Immagine:Navale2.png|center|600px]] | [[Immagine:Navale2.png|center|600px]] |
Versione attuale delle 07:57, 23 nov 2015
Ricezione del traffico navale tramite radio SDR con il DVB-T RTL820T e GNU radio SDR
Utilizzo di un'antenna efficace
Oltre alla corretta installazione e compilazione dei programmi, non dimenticatevi di utilizzare una buona antenna di ricezione!
Configurazione del device
Configurate l'uscita audio della vostra device radio per permettere poi la decodifica del demodulatore, se necessario.
Frequenza di ricezione
Sintonizzate il vostro ricevitore su una delle due frequenze AIS (161.975 MHz oppure 162.025 MHz)
Consigli di ricezione
Avviare il decodificatore e configurare il programma in modo da avere una migliore ricezione del segnale AIS. Potete provare a regolare l'RF gain per ottenre un segnale robusto ma mantenendo al minimo il rumore di fondo.
Configurare il ricevitore in NFM (Narrow Frequency Modulation), con una larghezza di banda di 12.5 kHz. Nessun Filtro Audio e Squelch su OFF. Assicuratevi di non aver alcun filtro audio, altrimenti potreste non avere alcuna decodifica dei segnali ricevuti.
Sull'indicatore Waterfall i segnali AIS verranno visualizzati come delle grandi linee orizzontali. Se ascoltate i segnali AIS attraverso le casse audio del vostro PC, assomiglieranno a dei picchi di rumore in mezzo al silenzio.
Spiegazione di GNU AIS
GNU AIS - Automatic Identification System per Linux. Questo programma contiene gli algoritmi necessari a demodulare e decodificare i messaggi AIS inviati dalle navi e dalle stazioni costiere. Richiede l'installazione e la connessione di un discriminatore di uscita su un ricevitore VHF al fine di ottenere un funzionamento regolare e la corretta decodifica.
Ci sono diversi pacchetti di applicazioni che permettono la funzione di demodulazione e decodifica dei dati, compresi gr-ais gnuais. In questo articolo useremo un dongle RTL-SDR e il PC per avviare gnuais. Non conosciamo profondamente il programma gnuais, ma possiamo dire che è un programma piccolo ma efficiente per l'impiego che deve assolvere.
Così come compilato, gnuais non contiene nessun demodulatore ma richiede la presenza di un demodulatore esterno. Per questo motivo si potrebbe, per esempio, connettere direttamente l'uscita del discriminatore di un ricevitore FM all'uscita audio del PC dove è stato avviato gnuais. Comunque, in questo progetto utilizzeremo una software defined radio prevista con il funzionamento di un demodulatore, prima di inviare i dati a gnuais.
Il diagramma seguente mostra un anteprima della configurazione del ricevitore usato per questo progetto.
È stata usata un antenna marina filare verticale a 1/2 onda, connessa a un ottimo filtro passa-banda (164 ±10 MHz). La frequenza VHF è verametne piena di ogni sorta di segnali, così da dover obbligatoriamente utilizzare un'antenna accordata e un filtro passa-banda se si desidera ricevere dei segnali oltre alle radio commerciali in FM, sul vostro ricevitore dongle SDR. Ricordatevi che l'aggiunta di un preamplificatore dedicato potrebbe risolvere efficacemente le varie interferenze ma anche peggiorarle,in quanto il preamplificatore non saquale frequenza vi interessi in particolare. Fortunatamente i segnali AIS sono relativamente molto forti e anche un ricevitore scarso dovrebbe essere capace di riuscire a riceverli, se siete vicini al traffico radio matrittimo.
Il seguente filtro passa-banda viene realizzato con il dongle rtl-sdr. È stato testato su un dongle con un tuner R820T.
Come ricevitore SDR receiver è stato utilizzato un semplice flusso grafico GNU Radio con due ricevitori paralleli che ricevono +/- 25 kHz dal centro banda a 162 MHz.
Il programma GNU radio
Per scaricare ed installare automaticamente il programma GNU Radio e le sue numerose applicazioni, seguite le informazioni che trovate descritte in questa pagina e in questa pagina.
Scaricate ora il file .grc file a questo link: https://gist.github.com/csete/6524653 (salvatelo selezionando prima il formato "raw", poi attraverso il comando "Salva come..." del tuo browser).
Il demodulatore di quadratura ha il parametro di guadagno (gain) espresso in (samples per symbol ratio). Testi differenti restituiscono definizioni differenti e non si è provato a modificare altro. Il valore esatto non è critico fino a quando l'uscita dal demodulatore non viene saturata.
Dopo il demodulatore abbiamo un campionamento a 48 ksps e una conversione del flusso a 16 bit per i numeri interi. Esaminando il codice sorgente gnuais si è scoperto che utilizza lo stesso formato campione indipendentemente dal fatto che si utilizzi l'ingresso audio o un file audio. Questo formato è S16_LE a 48 ksps.
L'uscita demodulata e convertita dei due canali viene interallacciata per creare un singolo flusso del formato ABABAB... e inviato verso un pipe unix nominale. Dall'altra parte finale del pipe, avviamo il programma gnuais con il parametro -l.
È una buona idea creare ed editare un file di configurazione di gnuais come suggerito dall'applicazione. Questo vi permetterà di configurare facilemente gnuais per decodificare ambedue i canali AIS utilizzando l'audio stereo.
Il programma GNU AIS
Il codice sorgente di gnuais viene mantenuto su Github. Potete scaricare clonando il suo repository con il seguente comando da terminale:
git clone https://github.com/rubund/gnuais.git
Se siete utenti con SO Ubuntu, potete aggiungere il PPA ppa:saltmakrell/gnuais con i seguenti comandi:
sudo add-apt-repository ppa:saltmakrell/gnuais sudo apt-get update
e poi potrete installaree facilmente gnuais con il comando
sudo apt-get install gnuais
o attraverso l'Ubuntu Software Center che manterrà aggiornato il programma ogni volta che verranno trovati aggiornamenti disponibili.
Potete anche installare l'interfaccia grafica GUI, con il seguente comando:
sudo apt-get install gnuaisgui
(ricordatevi di avere l'applicazione gnuais avviata in background prima di avviare l'iterfaccia grafica).
Sorgente in tar.gz: Scarica
Visualizzazione grafica del programma:
Tipi di pacchetti ricevuti
Nella figura seguente, vengono raffigurati tre diversi tipi di pacchetto dati, tipo 1, tipo 4 e tipo 5.
Il tipo 4 sono pacchetti che sono stati inviati dalle stazioni base a terra verso i natanti. Normalmente vengono inviati a intervalli regolari senza interruzione. Il primo numero, 002573325 è il MMSI. Questo è un ID unico che identifica la stazione base. I numeri 0 0 0 24 60 60, sono preceduti dalla data e l'ora, ma sembrano simili a quelli delle stazioni base che che non hanno l'orario o altri dati corretti. Gli ultimi due numeri sono la latitudine e la longitudine.
Per il messaggio tipo 1, il primo numero è il MMSI, i due numeri successivi sono la latitudine e la longitudine. Poi c'è un numero che indica la prua indicata espressa in gradi. 220 indica che la nave ha la prua a sud-ovest. 0 gradi indica il nord. Il numero successivo indica la velocità in nodi. Per informazioni sulle navi si possono controllare su MMSI andando a questo link, dove troverete altri dati extra sulla nave selezionata. Per esempio, il codice MMSI 565427000 indica la nave di nome ARWEN che ha come base navale Singapore.
Il software è capace di decodificare i pacchetti che abbiano il nome e i dati di destinazione presenti, ma questi dati sono molto lunghi e se la ricezione non è molto buona e/o la trasmittente è molto lontana, alcuni di questi dati vengono decodificati con qualche errore.
Se avete un computer con installato mysql o avete accesso a un server mysql, potete configurare GNU AIS a salvare i dati all'interno di un database. Dovete esere capaci di effettuare le giuste query di richiesta sulla nave cercata, se usate altri software. Per esempio, potete effettuare delle query di ricerca per ottenere informazioni dettagliate riguardanti i posti da dove la nave è partita, la sua velocità del percorso, ecc. . Ci sono alcuni software che attraverso i dati MySQL permettono di posizionare la nave sul programma Google Earth. In questo modo è possibile avere una visione grafica della nave in questione e delle altre navi che navigano nella vostra area.
Software GNU Radio
Se siete interessati a GNU Radio, potete trovare la versione GNU Radio del programma AIS, con demodulazione e decodifica a questo indirizzo: http://funwithelectronics.com/sdr/ais.php
Pagina di riferimento per questo articolo: gnu-radio-blog/482-a-2-channel-ais-receiver-using-rtl-sdr-and-gnuais
Altre pagine sull'argomento: