IW6OCM


Vai ai contenuti

A-ROIP con SVXLINK - Work in Progress

Articoli


Progetto  svxLINK NAZIONALE  CISAR



Clicca qui per la
DASHBOARD

IW0RED
Marco

IW6OCM
Lorenzo

IU0AAC
Federico

Già da tempo grazie a Marco iw0red sto utilizzando il software Svxlink su due ponti radio autocostruiti: in 6 metri iw6uaw e in 23 cm ir6uae. Questo software ha semplificato molto la costruzione visto che la funzione di COR, decoder ed encoder CTCSS, identificativo vocale e regolazione dei livelli BF è eseguito interamente via software. Come hardare ho utilizzato una scheda ALIX 3D3 che ha già l'uscita e l'ingresso audio integrato. La porta seriale è presente, ma non avendo tutti i pin standard non è utilizzabile al nostro scopo. Inserendo un adattatore usb-seriale con chip PL2303 riusciamo ad avere i pin giusti per il PTT e se necessario per lo Squelch e il CTCSS (nel caso di un decoder esterno).

Svxlink non si limita solo a questo, ma permette di interconnettere tra loro più ponti realizzando una rete di ponti analogici collegati tra loro in digitale tramite tratte wi-fi e/o internet (A-ROIP: Amateur Radio Over IP). Inoltre da la possibilità di installare, anche per un solo ponte, dei ricevitori remoti. In questo modo il software, opportunamente calibrato, permette di scegliere in tempo reale il ricevitore che invia il segnale migliore e ritrasmettere solo quello (es. segnali ricevuto da mezzo mobile), oltre a commutare durante uno stesso passaggio da un ricevitore all'altro in modo quasi impercettibile.

Dopo la conferenza tecnica che ha preceduto l'Assemblea Nazionale del CISAR di Ottobre 2017, abbiamo deciso di migliorare le performance del Link Nazionale utilizzando SVXLINK. Anche se abbiamo un sistema simile per il link Nazionale, vedi Obbelix, Svxlink risulta più affidabile e stabile richiedendo meno risorse hardware in quanto tutto girà su sistema operativo Linux.

Come inizio abbiamo scelto di utilizzare delle schede Banana Pi M2 Plus e come interfaccia audio una schedina progettata e realizzata da Federico IU0AAC che si basa sul Chip CM108 che ha anche ingressi e uscite GPIO utilizzabili al nostro scopo.




<= BPI M2 Plus





Ho assemblato una nuova Circolare del Link Nazionale per la Majelletta (IR6UDJ) che sarà sostituita con quella attuale. Verrà inizialmente mantenuto il link radio con il client OBBELIX e sarà il punto di collegamento con il nuovo sistema SVXLINK.

Date le ridotte dimensioni delle schede sono riuscito ad inserire tutto all'interno del Rack compreso i Filtri duplexer
Come si vede nelle foto sono stati utilizzati 2 motorola MC Micro. Il segnale BF di ricezione è prelevato poco dopo il discriminatore prima degli stadi di filtro BF ad operazionali. In questo modo non bisogna fare modifiche per allargare la banda BF come riportato in un articolo di qualche anno fa allo scopo di migliorare la qualità audio. Comunque una modifica che può essere utile può risultare quella indicata in questo Link. E' possibile far decodificare il tono subaudio direttamente dal software SVXLINK. In questo caso è stata inserita anche una scheda decoder esterna per confrontare la velocità di risposta con la decodifica software attivabile da remoto.

In trasmissione il segnale BF è stato applicato poco prima del modulatore scavalcando tutti i filtri BF. In questo modo oltre al miglioramento della qualità audio si può far generare il tono subaudio in uscita dallo stesso software. E' stato inserito all'interno dell' McMicro un piccolo amplificatore operazionale che aumenta l'ampiezza della BF proveniente dall'interfaccia di circa 4,5 volte, necessario per raggiungere un corretto livello di modulazione.

 
Aggiornamento:


Di seguito altre foto della Circolare della Majelletta IR6UDJ completata in ogni sua parte. Il ponte è composto da 2 Motorola McMicro, da un BananaPi M2+ e da un'interfaccia con chip CM108.
A differenza delle foto precedenti il DC-DC converter, necessario per avere la tensione di 5 volt, è stato sostituito da un normale 7805 fissato sul fondo del contenitore rack per una migliore dissipazione del calore. Purtroppo questi piccoli alimentaori switching generano una quantità di spurie che creano problemi alle nostre autocostruzioni. Sconsiglio quindi di utilizzarli.
All'interno è stato sistemato il duplexer con shift 5 MHz, un Notch (solo sul lato ricevente) per attenuare il segnale di trasmissione di 2 ponti presenti sulla stessa postazione, un RU3Alfa analogico e un RU4alfa D-Star.
Sul frontale oltre ai led indicatori è presente: un pulsante
Power off per eseguire un arresto ordinato del software prima di togliere l'alimentazione; un connettore DB9 (convertitore TTL-RS232) che permette di collegarsi da un computer al BananaPI utilizzando la seriale. Questa modalità è utile per delle verifiche sul software non sempre possibili attraverso il collegamento via ethernet.



================================================

 
Sistema operativo e Installazione SVXLINK


Premessa.
Quanto scriverò di seguito potrà risultare una descrizione superficiale della sperimentazione. E' nostra intenzione intanto annotare quelli che sono i passi avanti che facciamo. Questa stessa pagina verrà continuamente aggiornata per creare un Tutorial e semplificare le cose a chi vorrà, anche da solo, realizzare un ponte con Svxlink e collegare il proprio sistema al Link Nazionale CISAR.

Il software adatto per la scheda BPI M2 Plus è scaricabile a questo LINK. Si tratta di un immagine che va caricata su una microSD con programmi dedicati. Dopo aver inserito la microSD sulla scheda BPI e collegato via ethernet al proprio router si può alimentare la scheda a 5 volt. il ruoter assegna con il DHCP un indirizzo IP. Dopo aver verificato sul router l'indirizzo assegnato si può accedere alla scheda in SSH con login
root e password 1234. In alternativa si può utilizzare la seriale a 3 pin (gnd-txd-rxd) per collegarsi da un computer. Tenete presente che si tratta di una seriale a livelli TTL quindi per poter collegare una seriale standard necessita di un adattatore che è reperibile a pochi euro. Un'altra soluzione è quella di procurarsi un'intefaccia USB-Seriale con livelli TTL.

Una caratteristica importante di questa scheda è quella di avere una memoria eMMC da 8Gb che può contenere tutto il sistema operativo senza più utilizzare la microSD.
Per caricare il software sulla eMMC, dopo aver avviato il sistema operativo precedentemente caricato e configurato sulla microSD si utilizza il comando
nand-sata-install. Seguendo le indicazioni del menù che si apre si riesce ad installare quando contenuto nelle microSD sulla eMMC.
A questo punto si spegne il BPI e dopo aver tolto la microSD riaccendendo verrà avviato il sistema operativo caricato sulla eMMC.

Per caricare tutti i software Svxlink, Marco iw0red ha creato uno script che permette di scaricarli automaticamente. Appena possibile inseriremo un link per scaricarlo da questa pagina. Rimane solo da fare i settaggi sul file svxlink.conf e le regolazioni dei livelli BF in Rx e Tx con alsamixer.

A proposito delle regolazioni dei livelli è di notevole aiuto il comando
DEVCAL.

Il comando è documentato qui. Per tarare la ricezione dopo aver bloccato il servizio si da il seguente comando:
devcal -r /etc/svxlink/svxlink.conf Rx1
Utilizzando un generatore modulato con deviazione nota si regola utilizzando ALSAMIXER il livello fino a leggere il valore di deviazione atteso.

IndietroPlayAvanti

In Tx la calibrazione viene fatta tenendo conto delle funzioni di Bessel. Un segnale modulato ad una certa frequenza a certi valori di deviazione (risultanti dai calcoli delle funzioni di Bessel) presenta una soppressione della portante. Infatti se moduliamo un segnale portante a 1000 Hz la massima soppressione si ha alla deviazione di 2.404,8 Hz.
Utilizzando un analizzatore di spettro secondo questo principio il comando
devcal -t -F /etc/svxlink/svxlink.conf Tx1
ci permette di fare una taratura perfetta del trasmettitore.



Decodifica del tono CTCSS - Hardware o Software?


SVXLInk è in grado di decodificare il tono CTCSS via software senza utilizzare schede decoder aggiuntive. Abbiamo voluto valutare le prestazioni tra l'utilizzo di un decoder esterno e l'utilizzo del software che prevede tre modalità denominate nel file di configurazione svxlink.conf MODE=1, MODE=2 e MODE=3.

Test con decoder esterno.

Ho impiegato il decoder CTCSS da me progettato e descritto in questo sito. Ho utilizzanto un oscilloscopio digitale a 4 canali e un generatore RF con modulatore FM impostando un tono a 1000 Hz con deviazione 4,5 KHz e un tono CTCSS di 88,5 Hz con deviazione di 500 Hz. Ho impostato una scansione dell'oscilloscopio lenta in modo da attivare e disattivare manualmente il segnale RF e poter misurare su una stessa schermata i ritardi di attivazione e i ritardi di chiusura.

Nelle immagini seguenti la traccia più in alto (gialla) è il segnale BF ricevuto, la traccia verde è il segnale di Squelch, la traccia azzurra è il CTCSS e quella rossa è il PTT.

Le misure prese in considerazione e i valori risultanti sono riportati nella tabella seguente:

Test decoder CTCSS con software

Sono previste tre modalità di decodifica CTCSS via software che sono documentate qui alla voce CTCSS_MODE.
Il primo test è stato quello del
MODE=2. Come in precedenza è stato utilizzato un apparato Motorola McMicro prendendo il segnale BF subito dopo il discriminatore. Nel file svxlink.conf abbiamo lasciato le impostazioni di default SIGLEV_SLOPE=1 SIGLEV_OFFSET=0 mentre CTCSS_SNR_OFFSET non è stato impostato ma è stato semplicemente commentato con # ad inizio riga.
Sono state ripetute una serie di misurazioni e fatte delle medie a vari livelli di segnale con e senza modulazione come ben descritto nell'immagine seguente.
Da notare che i valori relativi a
Tempo Dec. CTCSS e Ritardo disat CTCSS sono sempre riferiti alla scheda decoder esterna, mentre i valori relativi allo Squelch sono sempre riferite alla radio, quindi valori non influenzabili da impostazioni software.
I valori da prendere in considerazione sono quindi
Tempo attivaz. PTT e Dis. PTT +coda comparandoli con il test precedente quando si impiegava esclusivamente la scheda esterna.


Considerazioni su MODE=2
Dalla tabella si nota che sostanzialmente il software di decodifica funziona allo stesso modo anche a livelli di segnale debole, anzi quando la scheda decoder esterna e addirittura lo squelch della radio non riescono più a percepire la presenza del segnale, il software è ancora in grado di avvertirne la presenza con una maggiore sensibilità di 3 dB rispetto al decoder CTCSS esterno e di 4,2 dB rispetto allo squelch della radio. Segno della bontà del sistema di decodifica software.
Per i tempi di risposta, comparando il software con la scheda decoder, il primo impiega più tempo per abilitare il PTT con una differenza di 260 milliSec indipendentemente dalle condizioni, mentre il ritardo di disattivazione del PTT ha una differenza di scarso rilievo.

MODE=1
Di seguito il test effettuato allo stesso modo del precedente, ma impostando su svxlink.conf MODE=1.
Qui ho ridotto il numero dei test per fare le medie, visto che abbiamo rilevato che condizioni diverse non influenzano i tempi di risposta in modo sostanziale.

Considerazioni su MODE=1
Da rilevare una trascurabile riduzione dei tempi di attivazione del PTT, mentre si nota un aumento di oltre 150 milliSec del tempo di disattivazione del PTT. Quindi fino a questo momento il MODE=2 è da preferire.

Considerazioni su MODE=3

In questa modalità si nota subito che il tempo di attivazione del PTT si riduce drasticamente, infatti la differenza con la velocità di risposta della sola scheda è di 60 milliSec aggiungendo anche una trascurabile riduzione dei tempi di disattivazione del PTT. Quindi questa modalità potrebbe essere la preferita tra tutte anche se nelle pagine di descrizione viene sottolineato che il MODE=3 ha una minore sensibilità. Condizione questa che non è stata rilevata nei test da me effettuati. Ricordo che tutti i test sono stati fatti impostando nel file svxlink.conf SIGLEV_SLOPE=1 SIGLEV_OFFSET=0 mentre CTCSS_SNR_OFFSET non è stato impostato ma è stato semplicemente commentato con # ad inizio riga.
Sarebbe quindi interessante rifare i test dopo aver impostato i valori registrati con il comando
siglevdetcal /etc/svxlink/svxlink.conf Rx1 nel file svxlink.conf.



================================================

Come si usa
siglevdetcal

Questo comando serve per tarare il ricevitore in modo che il Software ha un valore attendibile del segnale ricevuto utilizzado il criterio S/N secondo una scala che va da zero a 100.
Bisogna disporre di un segnale molto forte (con un generatore -50dBm) senza modulazione e con subtono inserito se previsto.
Intanto bisogna bloccare il servizio, se attivo, con il comando
/etc/init.d/svxlink stop, poi dare il comando siglevdetcal /etc/svxlink/svxlink.conf Rx1.
Il programma chiederà di inserire un segnale forte sul ricevitore senza modulazione e quando pronti dare invio. Si vedrà scorrere una serie di numeri per circa 10-15 secondi.
A questo punto il programma chiederà di togliere il segnale dal ricevitore e di dare nuovamente invio.
Di nuovo si vedranno scorrere una serie di numeri alla fine dei quali vengono dati tre valori:
SIGLEV_SLOPE=xx.xx
SIGLEV_OFFSET=-x.xx

CTCSS_SNR_OFFSET=-x.xx, questi valori vanno inseriti nel file svxlink. conf.
E' importante che prima del test su svxlink.conf vengano impostati i parametri
SIGLEV_DET=NOISE
SIGLEV_SLOPE=1
SIGLEV_OFFSET=0.
Questa taratura serve soprattutto nel caso si utilizzino ricevitori remoti in modo che svxlink capisca quale ricevitore sta ricevendo il segnale migliore e quindi possa scegliere. Inoltre con il comando
tailf /var/log/svxlink è possibile vedere in tempo reale il segnale ricevuto dal ponte con il valore (secondo una scala da 1 a 100) di apertura e chiusura dello squelch.

================================================


Hotspot   svxLINK NAZIONALE CISAR   IR0UAT  


In questo progetto, che prevede il rinnovamento dei sistemi del Link Nazionale CISAR utilizzando server sia su Internet che sulla rete CisarNet, un modo abbastanza semplice per collegare una ponte locale analogico al sistema senza modificare il ponte stesso e quello di utilizzare un Hotspost.
Utilizzando un RTX con una scheda BananaPi M2+, un'interfaccia con CM108 e una connessione internet questo è già possibile.
Nelle foto seguenti si vede l'Hotspot appena realizzato e già in funzione per i ponti della Sardegna. Il sistema è stato installato a casa del manutentore dove c'è una connessione internet e si aggancia al ponte più vicino IR0UAT. Naturalmente le frequenze dell'RTX sono invertite rispetto a quelle del ponte. Per poter funzionare correttamente il ponte deve avere non solo il tono in ricezione, ma anche il tono in trasmissione solo sul segnale utile. Quindi il tono in trasmissione NON deve essere presente sulla coda del ponte e durante l'invio dell'identificativo. Da notare la compattezza e la semplicità della realizzazione. Non ci sono schede Encoder e Decoder di tono CTCSS, non ci sono trimmer da regolare per i livelli Bf non ci sono schede di sintesi vocali in quanto tutto questo è eseguito attarverso il software in modo eccellente.


Condizione necessaria è prelevare i segnali BF del ricevitore subito dopo il discriminatore e applicare il segnale BF direttamente sul modulatore. Tutto il circuito assorbe circa 400mA a 5 volt, pertanto l'alimentazione è stata prelevata all'interno della radio dopo l'interruttore On-OFF. Il sistema si avvia automaticamente dopo l'accensione delle radio in circa 1 minuto e questo è segnalato dal lampeggio lento continuo del led USB. Tale lampeggio diventa più rapido quando c'è traffico dati e quindi la radio sta ricevendo un segnale o lo sta trasmettendo.
Il pulsante Power Off serve per creare un arresto ordinato del software prima dello spegnimento totale del sistema. Dopo aver premuto il pulsante si vedrà il led USB rimanere acceso fisso e poi dopo circa 30 secondi spegnersi del tutto. A questo punto è possibile togliere l'alimentazione. Comunque da prove fatte togliendo brutalmente l'alimentazione il sistema riparte correttamente, anche se è sempre consigliabile attenersi alla procedura.
Le schede sono alimentate a 5 Volt, quindi come si vede nelle foto è necessario utilizzare uno stabilizzatore 7805 per avere la tensione richiesta.
Sconsiglio di utilizzare dei DC-DC converter in quando generano molte spurie. Un 7805 se ben fissato sul telaio del contenitore riesce a dissipare benissimo i 4-5 watt di calore prodotto.

Home Page | Chi sono | Articoli | Il Lavoro | La mia Città | Contatti | Link Utili | Mappa del sito


Torna ai contenuti | Torna al menu