A proposito di SDR…. un primo contatto…
Piu’ volte in precedenti occasioni ci e’ capitato di usare il termine SDR ( Software Defined Radio) anche nell’ambito della nostra sperimentazione SARIMESH…
L’accostamento tra le due tematiche in realtà e’ abbastanza lasco e direi accidentale… infatti quello che avvicina e rende concreto l’accostamento e’ semplicemente il fatto che entrambe le tematiche sono accomunate dall’accidente di essere molto piu’ SW oriented che non HW oriented…. nel senso che i segnali in gioco piu’ che essere delle tensioni o correnti , sono dei numeri, dei valori espressi come numeri in un certo intervallo e che con il loro susseguirsi nel tempo rappresentano i segnali, ne’ piu’ ne’ meno come succedeva per i segnali fisici tradizionali.
La grossa differenza sta nel fatto che mentre i segnali tradizionali per essere manipolati e spostati da un punto ad un altro richiedevano dei mezzi fisici ad hoc e dei circuiti ad hoc per il trattamento, essendo ora i segnali dei numeri, qualunque dispositivo o sistema in grado di trattare o trasferire dei numeri va bene…. e SARIMESH e’ appunto una rete in grado di trasferire dei numeri con alte prestazioni sia in termini di velocità che di flessibilità.
Un ulteriore accidente è che già da qualche mese nell’ambito del nostro gruppetto di OM ci stiamo interessando di “modi digitali”: anche questo non è ovviamente nulla di rivoluzionario o particolarmente innovativo in assoluto, ma nel nostro piccolo rappresenta un interessante stimolo verso le nuove tecnologie ed in particolare verso il mondo del “digitale”….
Infatti uno dei principali, a parere dello scrivente, fattori di disaffezione verso la radio oggi è che spesso essa viene ancora accostata al tradizionale significato e operatività della radio come è stata per tanti decenni soprattutto per gli OM non proprio giovanissimi… ovvero come metodo per comunicare ( … o semplicemente chiacchierare) comprando (quasi sempre) un oggetto a scatola chiusa in grado di fare la magia di sentirsi…. oggi per fare tutto questo come tutti sappiamo basta usare un telefonino o internet….
Volendo oggi fare qualcosa di innovativo e quindi interessante è gioco forza necessario uscire dall’amarcord del tradizionale … e avventurarsi nel mondo del nuovo…… e il nuovo al 99% passa per le tecniche digitali.
E’ qui che purtroppo molti si arrendono prima ancora di aver tentato di esplorare, da apprendisti stregoni, i nuovi modi di fare sperimentazione… e poter apprezzare come in realtà possa essere molto più semplice ed agevole fare della sperimentazione interessante anche senza dover mettere mano pesantemente al proprio portafoglio e soprattutto senza doversi laureare in ingegneria o altre esoteriche discipline…..
Il bello delle nuove modalità di operare in digitale è che si può riutilizzare quasi tutto il vecchio bagaglio culturale della radio semplicemente rinunciando ad implementare quei concetti noti mettendo insieme resistenze, condensatori e induttanze, e accettando semplicemente di fare delle operazioni matematiche sfruttando un calcolatore.….. ovvero scrivendo e/o utilizzando del SW…..
Ovviamente già vedo chi storcia il naso e scuote la testa con una evidente smorfia di disgusto o di sconforto ( .. a seconda dei casi..): questa non è piu’ radio !!!!!!
Ovviamente è questione di punti di vista…. qualche secolo fa per spostarsi da una città all’altra si usavano le carrozze e i cavalli…. non penso che oggi nessuno si sconvolga se per spostarsi si sale sull’auto o sul motorino….. anche se non si sente più il fiato ansimante e amichevole del proprio destriero 🙂
In realtà nel mondo del digitale bisogna comunque entrarci partendo all’analogico: i segnali che vengono da una antenna sono ancora delle tensioni/correnti e tali saranno finchè la fisica non cambia….. quindi almeno la conversione da analogico a digitale resta un tema indispensabile; analogamente per produrre dei segnali da inviare ad una antenna trasmittente non si può fare a meno di una funzione di conversione da digitale ad analogico…..
Volendo quindi schematizzare grossolanamente un qualunque sistema radio ricetrasmittente, possiamo dire che ci troviamo sempre difronte ad uno schema funzionale dove l’antenna è attaccata ad un blocco di conversione analogico/digitale e viceversa, e che viene seguito da uno o più blocchi funzionali che realizzano le necessarie funzioni a seconda dei casi.
Ovviamente si pone il problema di interfacciare l’utilizzatore del sistema radio ai dispositivi che implementano le varie funzioni: nel caso di un ricetrasmettitore tradizionale se da un lato abbiamo l’antenna, dall’altro abbiamo un microfono ed un altoparlante per consentire all’operatore di interagire con la radio… ovviamente poi ci saranno una serie di manopole, pulsanti, display che consentono all’utilizzatore di “settare” il proprio apparato….
Nel caso SDR quindi si rende necessario fornire l’equivalente….. quindi volendo continuare con l’esempio del ricetrasmettitore tradizionale, ma realizzato in tecnica SDR, si renderà necessario:
– attaccare un altoparlante (analogico) per consentire all’operatore di ascoltare i segnali
– un microfono per consentire all’operatore di inviare la sua voce al corrispondente
– un insieme di “controlli” per “settare” l’apparato
In pratica quindi avremo bisogno di:
– un convertitore digitale/analogico per pilotare l’altoparlante
– un convertitore analogico/digitale per immettere nel sistema i segnale del microfono
– una specie di computer che consenta, tramite una interfaccia di tipo grafica o anche a linea di comando, di “settare” il tutto.
La figura 1 rappresenta l’equivalente SDR di un classico ricentrans….
E’ interessante provare a fare un poco di conti in tasca…. è evidente che essendo oggi disponibili computers che, anche a bassissimo costo, rendono disponibili tutta una serie di funzioni …. il tutto si riduce concettualmente a collegare tra loro un computer ( che già include le conversioni analogica/digitale e viceversa per microfono e altoparlante, con un qualche dispositivo che realizza la conversione analogica/digitale e viceversa ( se vogliamo anche trasmettere) e che si colleghi all’antenna……
Ovviamente potranno esistere diverse modalità con cui implementare la divisione funzionale tra il computer e l’interfaccia radio: nel caso più semplice l’interfaccia radio potrà essere semplicemente un convertitore analogico/digitale ( e viceversa) mentre in altri casi potrà includere altre funzioni spesso già di natura digitale allo scopo di ottimizzare le prestazioni del tutto.
Quello che in genere accade è che i due blocchetti si interfacciano tramite interfacce standard quali ad es. USB o ethernet che trasportano i segnali in un formato digitale .
In realtà se si fa una ricerca su internet si trovano tutta una serie di esempi che arrivano anche al caso di un unico dispositivo che unisce in uno scatolotto singolo sia la interfaccia digitale che il computer: ovviamente una volta creatosi un mercato sono usciti tantissimi attori ognuno dei quali cerca di mettere il suo valore aggiunto… che spesso però si traduce anche in valore richiesto all’acquirente ( costo dell’apparato ….)…
Il bello è che molto della funzionalità si gioca in campo SW … e spesso questo significa che anche senza grosse spese si possono fare cose egregie ed originali, sfruttando il lavoro svolto e spesso messo gratuitamente a disposizione dalla comunità “open source”.
Ovviamente la cosa migliore è .. cominciare a smanettare un pochino: nel seguito cercheremo di mettere insieme un completo ricevitore in grado di ricevere sia i tradizionali modi di trasmissione ( AM, SSB, FM) che i nuovi modi di trasmissione digitali, in un campo di frequenza da pochi Mhz a circa 2Ghz.
Quello che questo esercizio vuole mostrare è come oggi si può procedere per implementare con metodiche digitali una certa funzionalità, mettendo insieme un certo numero di “building blocks” presenti in giro in modo da creare con poco sforzo un ambiente sul quale poi inserire il proprio “valore aggiunto”.
Ovviamente avremo bisogno di alcuni pezzi fisici, e di una serie di pezzi SW.
Per la parte fisica assumiamo di avere:
- un PC possibilmente con sistema operativo MS Windows 7 , il win 10 lo sconsiglio …. per partito preso 🙂 , che non sia antidiluviano ( ad es. un notebook con un processore quadcore tipo ATOM con 4 Giga di RAM va benissimo: costo circa 250€ nuovo ) [ della serie non pretendiamo di sperimentare SDR con il rottame di 10 anni fa 🙂 ]
- una interfaccia radio minimale tipo RTL2832 o meglio AIRSPY con interfaccia USB
- una antenna anche minimale a seconda delle frequenza di interesse … io uso una longwire di scarso 17 metri di lunghezza.
Per la parte SW ci procureremo i seguenti componenti:
- Un SW generico di ricezione SDR: la scelta suggerita qui è SDR Console Vr. 2
- Un SW per lo smistamento del segnale audio prodotto dal SW SDR di cui sopra in modo da fornirlo ad una molteplicità di ulteriori programmi SW a cui dare in pasto i segnali di uscita del blocco SDR-Console per aggiungere ulteriori funzionalità: la scelta è VAC Virtual Audio Cable
- Un SW per la decodifica dei modi digitali: la proposta è WSJT-X che consente di usare una ampia gamma di modi digitali di ultima generazione tra cui WSPR e FT8
Tutto il SW indicato è disponibile gratuitamente su internet in modalità eventualmente demo ( nel caso di VAC ).
Assumendo di avere già un PC ed una antenna, la spesa totale da affrontare parte da scarso 30€ (RTL2832 con copertura da 25Mhz a circa 2 Ghz) a scarso 200-250€ ( caso AIRSPY+ con copertura da pochi Khz a circa 2 Ghz.) con tutta una ampia serie di opzioni intermedie….
Nel seguito illustreremo il caso di interfaccia radio AIRSPY2, ma quasi tutto si applica esattamente anche al caso dei RTL2832: ovviamente le prestazioni in ricezioni saranno differenti ma l’operatività sarà praticamente identica.
- SW SDR-Console Vr. 2
E’ sicuramente uno dei SW più interessanti per la realizzazione di un ricevitore general-purpose sfruttando un computer ed una interfaccia radio in grado di produrre una coppia di segnali I-Q in formato pseudo-standard su interfaccia USB.
Il sito di riferimento è http://www.sdr-radio.com/ . Sfogliando il sito si possono reperire una serie di informazioni molto interessanti sulle features del SW e sulle sue possibilità di utilizzo.
La versione più recente è la versione 3.x, ma noi useremo la versione 2.x che è più vecchia ma più stabile della versione ultimo grido.
Per scaricarla andare sul seguente URL: http://www.sdr-radio.com/Software/Version1,2 e scaricare la versione 2.3 da www.sdr-radio.com/Software/Downloads ; dalla stessa pagina è possibile scaricare il manuale del SW.
Una volta scaricato il SW nella versione appropriata al proprio sistema operativo è possibile installarlo lanciando il file scaricato. Seguire quindi le indicazioni fino ad arrivare alla fine del processo di installazione.
Attaccare quindi l’interfaccia radio ad una porta USB del computer: nel nostro caso supponiamo di avere una interfaccia AIRSPY con upconverter SPYVERTER: una volta collegata la interfaccia lanciamo il programma SDR Console (V2) …. ci verrà segnalato che il programma non conosce alcuna interfaccia radio… accettiamo di creare una nuova interfaccia radio….
Nel nostro caso abbiamo un dispositivo AIRSPY con upconveter….
impostiamo un upconverter con frequenza di 120 Mhz ( si deduce dal data sheet dello spyverter)
Attivare la connessione tra interfaccia radio e SW SDR Console premendo il tasto Start….
Compare la schermata principale del ricevitore SDR…. da questo momento in poi abbiamo di fronte una ricevitore estremamente potente in grado di decodificare tutti i classici modi AM, SSB, DSB, FM, NFM, etc.
La cosa da fare a questo punto è collegare una antenna all’ingresso dello SPYVERTER e procurarsi una bella tisana calda da sorseggiare mentre con calma e pazienza si esplorano le infinite possibilità del programma…..
Ovviamente per familiarizzarsi è possibile sfogliare l’ampio manuale in formato PDF reperibile anche sul computer nella directory di installazione del programma , insieme ad una ampia serie di altri documenti che descrivono le varie funzionalità disponibili.
Volendo installare il SW in questione con una interfaccia radio diversa da AIRSPY è possibile trovare sul sito di sdr-radio.com le relative istruzioni.
Interessante è il caso degli economici doungle SDR RTL2832: seguire le istruzioni della relativa pagina:
Nel caso specifico di RTL2832 la parte più delicata è l’installazione di un driver ad hoc per il dispositivo USB che va effettuata prima di lanciare il programma SDR Console e che consiste nell’eseguire, come descrito dettagliatamente nella pagina indicata, il programma ZADIG che provvede ad installare il driver in oggetto.
Una volta installato il driver USB procedere come per il caso sopra illustrato scegliendo ovviamente la modalità RTL2832.
Il consiglio a questo punto è quello di smanettare due o tre giorni per familiarizziarsi con il ricevitore senza pretendere di fare subito il salto allo step successivo 🙂
Una volta familiarizzati con SDR Console V2 è giunto il momento di fare un ulteriore passo, ovvero aggiungere un altro SW per la decodifica dei modi digitali e connettere questo SW al precedente di cui nel frattempo siamo diventati esperti 🙂
Innanzitutto va osservato che tutti imoderni computers sono in grado di operare in una modalità che chiamiamo di “multiprocessing” ovvero sono in grado di far girare più programmi simultaneamente come se fossero ognuno in grado di usare tutte le risorse del computer, ma mantenendo l’indipendenza completa del proprio specifico funzionamento.
Sfruttando questa modalità operativa è quindi possibile attivare simultaneamente l’esecuzione sullo stesso computer di tanti diversi programmi che girano indipendentemente... ovviamente esiste il problema di come far comunicare tra loro i vari programmi se si vuole che questi programmi interagiscano e si scambino dei dati…..
Da un punto di vista tecnico esistono molte diverse modalità per far interagire più programmi: nel nostro caso possiamo dire che per i SW SDR è diventato quasi uno standard far comunicare i vari programmi…. tramite un flusso di segnali (numerici) che rappresentano l’equivalente del segnale audio che sentiremmo in altoparlante….
Affinchè questa modalità operativa possa realizzarsi è necessario installare ed attivare un pezzo di SW che gira in tempo reale e che svolge sostanzialmente la funzione di un …cavetto audio in grado di alimentare da una certa sorgente audio più utilizzatori del segnale audio..… il programma in questione si chiama VAC /( Virtual Audio cable)…
2) Virtual Audio Cable
Una volta installato ed attivato questo modulo SW, è possibile configurare il programma in modo da realizzare diverse configurazioni di collegamenti.
Nel nostro caso semplicemente useremo un canale del VAC per alimentare da un lato il programma di decodifica dei modi digitali e dall’altro il nostro altoparlante del PC in modo da continuare a sentire in altoparlante i vari fischietti….
Scarichiamo quindi il SW VAC da https://virtual-audio-cable.en.uptodown.com/windows ed installiamolo sul nostro PC.
Alla fine dell’installazione troveremo sulla barra dei programmi sinistra un nuovo programma: Control Panel … lanciamolo e studiamo la relativa interfaccia:
Nella prima casella in alto a sinistra ci viene offerto di indicare quanti dispositivi VAC si vogliano installare: scegliamo 2 giusto ad abbundantiam ….
Lasciamo tutti gli altri valori ai valori di default.
A questo punto se lanciamo il programma SDR-Console potremo indicare come uscita audio del programma per es. il canale 1 del VAC che abbiamo installato.
Per ottenere questo risultato dalla schermata principale di SDRConsole scìglere cliccare il simbolo “Audio” quindi selezionare “Playback Device” e infine selezionare “Virtual Audio Cable 1”: questo invierà l’audio del SDR Console non più sull’altoparlante ma all’ingresso del canale 1 di VAC…
Per ascoltare il segnale di nuovo sull’altoparlante lanciare il programma “Audio Repeter (MME)” dalla cartella VAC e impostare come dispositivo di ingresso VAC canale 1 e dispositivo di uscita Speaker….
A questo punto se andiamo sulla regolazione del volume altoparlante in basso a destra sulla barra dei programmi potremo regolare il volume dell’ altoparlante…
Quello che abbiamo fatto finora quindi è semplicemente collegare all’uscita del ricevitore SDR Console un cavetto audio che va da un lato all’altoparlante, ma che potremo anche collegare ad un altro programma se questo ci serve…… e qui arriviamo al terzo punto: installazione e attivazione del decoder per modi digitali WSJT-X.
3) Decoder WSJT-X
Esistono numerosi programmi che sono in grado di realizzare le funzioni di decodifica ( e spesso anche di codifica ) per i modi di trasmissione digitali. Quello qui suggerito a parere dello scrivente è uno dei più interessanti in quanto è il capostipite e la punta di diamante di tutta una famiglia di modi digitali dalle performacies semplicemente strabilianti….
L’autore del sito e dei programmi è … il premio nobel per l’astronomia Joe Taylor… che nel suo tempo libero si è trastullato da buon radioamatore a cercare di fare qualcosa ai limiti del possibile…. sfruttando la sua conoscenza estremamente approfondita dei metodi matematici e delle tecniche utilizzate nel campo della radioastronomia di cui Joe Talor è stato uno dei massimi esponenti ( è lo scopritore delle famose stelle pulsar… scoperta che gli valse appunto il premio nobel…).
Per scaricare il programma basta andare su https://physics.princeton.edu/pulsar/k1jt/wsjtx.html e scaricare la versione corrente del programma .
Una volta scaricato il file di installazione, eseguirlo e completare l’installazione; lanciare il programma dopo aver precedentemente messo in esecuzione sia SDR Console che VAC.
Dopo qualche secondo di attesa compariranno due finestre di cui una funziona da pannello di controllo e la seconda da visualizzatore deilo spettro di frequenza (watherfall) dei segnali ricevuti dal programma: ovviamente serve una piccola configurazione per vedere qualcosa di significativo…. la schermata di sotto è quella che probabilmente esce prima di configurare il tutto….
Nella finestra di controllo è possibile impostare il “modo” di lavoro: esistono numerosi modi… noi sceglieremo in questa descrizione il modo WSPR che è quello che stiamo attualmente sperimentando….
La finestra di configurazione assume una configurazione consona a questo modo di operazione: in particolare compare una finestra in cui selezionare la banda che si vuole utilizzare: in corrspondenza verrà presentato un valore di frequenza: è questo il valore che va impostato esattamente sulla SDR Console allo scopo di poter intercettare la banda WSPR selezionata…..
Per come operano questi modi digitali la Console SDR deve essere impostata in modalità USB. In questo modo la parte SDR Console seleziona una banda di circa 2Khz che viene inviata all’ingresso del decoder digitale; quest’ultimo implementa una serie di algoritmi dipendenti dai singoli modi che permettono di estrarre e decodificare i vari segnali presenti.
Le frequenze assegnate nelle varie bande ai vari modi digitali sono definite a priori per cui la console SDR va impostata a seconda dela banda e del modo desiderato con un preciso valore di frequenza.
A questo punto però il nostro programma WSJT non è ancora collegato a nulla… dobbiamo ovviamente fare in modo che l’uscita della console SDR vada in ingresso al programma WSJT: allo scopo basta selezionare file –> Settings –> audio e impostare come input il canale VAC 1
A questo punto se tutto funziona correttamente dovremmo cominciare a vedere qualcosa di.. sensato sulla finestra del waterfall di WSJT….. 🙂
Nel caso del modo WSPR ogni trasmissione segue un preciso protocollo per cui una singola emissione consiste in un segnale di durata esattamente 120 secondi con inizio sui minuti pari; la larghezza di banda occupata, e quindi la larghezza della traccia sul diagramma di watherfall è di circa 6 Hz.
La figura seguente mostra alcune tracce WSPR ricevute questa sera sui 40 m.
Dalla figura si notano chiaramente le fasi di trasmissione di durata 120 sec. allineate ai minuti pari e con delle striscie di larghezza pochi Hz. Dalla tabella potete pure notare i valori del rapporto segnale/rumore con cui questi segnali sono ricevuti e le distanze corrispondenti al collegamento; la colonna dbm rappresenta la potenza di trasmissione del trasmettitore: 37 dbm sono circa 5 W.
Da questi pochi valori emerge penso abbastanza chiaramente quanto sia importante la stabilità e precisione di frequenza del ricevitore e la precisione di tempo dell’orologio del computer: uno scostamento di pochi secondi rispetto al tempo esatto non consente di decodificare più i messaggi, come pure una deriva di frequenza di pochi Hz rende impossibile la decodifica.
Volendo è possibile impostare il programma WSJT per uploadare automaticamente gli “spot” ricevuti sul sito http://wsprnet.org/drupal/wsprnet/map dove vengono raccolti gli spot ricevuti worldwide dagli appassionati del modo WSPR; allo scopo bisogna impostare nel programma WSJT il proprio nominativo di OM e la propria location. Ovviamente conviene creare una propria utenza ( gratuitamente) sul sito indicato in modo da poter agevolmente monitorare gli spot raccolti ed uploadati dal proprio ricevitore.
Hello my family member! I want to say that this post is awesome,
great written and include approximately all vital infos. I’d like to look extra posts like this .
Your means of telling all in this post is in fact nice, all can without difficulty be aware of it, Thanks a lot.
Way cool! Some extremely valid points! I appreciate you writing this article
plus the rest of the website is very good.