Experiments en programes SDR: GQRX, SDRUno, virtualitzacions…

Hi ha diversos programes genèrics preparats per operar dispositius SDR d’una forma intuïtiva i transparent per la qual cosa tot el procés de treball en la problemàtica respecte els controladors, les mostres i demodulació és transparent en quasi tota la seva totalitat, i sovint resulta senzill establir els paràmetres bàsics de tractament de senyal com la mida del filtre de pas de banda, ganància, etc.

Exemples d’estos programes són el GQRX o l’SDRUno, que permeten també la demodulació de senyals analògiques NFM, AM, WFM, bandes laterals i CW. Aquest escrit no és un manual d’ús dels programes sinó més bé una memòria recopilatòria d’experiments que vaig fent creuant el treball amb ells en altres programes per fer esmena a certs afegits eventualment necessaris i que encara que no estan implementats de forma nativa, però que es poden realitzar mitjançant canalitzacions de dades entre aplicacions o plataformes virtualitzades. Necessitarem doncs, coneixements avançats d’operació en aquest tipus de programes. Este article pot estar sotmés a constant revisió i/o ampliació.

Els exemples inclouen diversos grups de tasques, com el que afecta la recanalització de l’àudio demodulat, el control remot de la instrumentalització gràfica, o la utilització i encreuament de dades en plataformes virtualitzades. Vegem-ne exemples pràctics.

Molts programes inclouen, a banda de la waterfall, o d’establir el l’amplitud del filtre, demodulació de modes analògics etc, altres millores com la recepció i decodificació d’AFSK1200 (vejam l’example de decodificació de trames APRS):

Trama APRS

Malauradament, ni tots estos programes són capaços de realitzar estes coses ni sovint tenen implementat els modes que nosaltres necessitem. És quan cal interconnectar estos programes, sovint bastant més còmodes d’operar, amb els programes de tractament de la senyal que compleixen l’objectiu que necessitem en cada cas.

 

1) Recanalització de l’audio demodulat o en cru realitzant una emisió per xarxa UDP.

Activar UDP GQRX

El primer que caldrà fer serà activar l’opció d’emissió de l’audio mitjançant la xarxa, establint un port (per defecte en el gqrx el 65535) per tal de fer l’emisió de l’audio per a ser arreplegat per un altre programa que aconsegueixca tractar el senyal per tal d’obtindre les dades incloses en la transmissió.

 

1.1) Emmagatzemar qso obviant els espais en blanc. Podem utilitzar aplicacions com sdrrecord, per tal d’emmagatzemar qso de manera que queden enregistrats en un format de dades d’àudio cru per a posterior compressió o diexisme. Tot i que l’emmagatzenament de dades en cru és bastant gran, es pot garantir que sols s’ha enregistrat dades configurant correctament l’squelch. D’esta forma una vegada activada la recanalització en gqrx, podem enregistrar l’audio amb “java SDRecord -f nomarxiu” quan bota l’squelch. Posteriorment podem, per exemple, reproduïr-lo amb aplay -r 48000 -f S16_LE -t raw -c 1 < nomarxiu

1.2) Decodificació de modes digitals, en este cas es pot utilitzar el programa dsd per tal de decodificar traçes DMR/MOTOTRBO, P25, DSTAR, etc rellançant la demodulació cap un port UDP que es pot recollir amb el netcat i redirigir-lo cap al DSD. Caldrà a més baixar la ganància d’àudio al minim (-80dB) per tal d’evitar solapaments d’àudio entre la versió digital i la moduladora original.

nc -l -u localhost 7355 | padsp ./dsd -i –

També es poden incloure configuracions més fines optimitzades, per exemple per a DMR:

nc -l -u localhost 7355 | padsp ./dsd -fr -u 1 -mg -i –

2) Ús del control remot mitjançant un port de xarxa.

Una de les possibilitats que he vist que tenen un ús més important es l’ajust de freqüència en el seguiment de satèl·lits per tal de compensar l’efecte doppler de forma automàtica. En este cas, el programa a encreuar és  el gpredict i es fa activant un port de control al gqrx per a que el gpredict actualitze la freqüència de recepció del satèl·lit corregint l’efecte Doopler.

Active control remot en xarxa al GQRX

 

Activem el radio-control en el gpredict.

3) Client[alt_servidor] en Redmond/Linux sota VirtualBox.

Comente el cas en SDRPlay: activem el servidor en l’ordinador real mitjançant el comandament “SoapySDRServer –bind=0.0.0.0:” una vegada iniciat el ordinador i el sistema operatiu virtualitzat i havent-hi desactivat en el Virtualbox la captura de l’USB real, i tenint configurada la xarxa com “adaptador pont-dispositiu ENO1” en el mateix Virtualbox. Igualment es pot fer servir el rsp_tcp (per a servir les trames per tcp com a rtlsdr) o bé rtl_tcp si en lloc de l’SDRplay utilitzem un doongle realtek real.

SoapySDRServerBind

Driver

4) Port USB Virtualitzat en Virtualbox.

4.1) En Redmond 10.

Podem utilitzar l’accés al hard real des de la màquina virtualitzada activant la configuració USB 3.0 (xHCI) des de la configuració de la màquina virtual:

SDRUno baix Redmond 10.Assegureu-vos d’activar en el filtre el dispositiu SDR, en el cas de l’exemple,  la SDRPlay 1a.

4.1.2) Instal·lació de llibreries DLL en system32 / sysWOW64.

Per a instal·lar dll (com faad o faac) en Rmd10: menú inici, escriu “restablecer este pc+Enter”. En la finestra “configuració” baixa fins “inicio avanzado”, “solucionar problemas”, “opciones avanzadas”, “símbolo del sistema”. Al reiniciar-se l’ordinador, “D:”, cal copiar els dll al sys32 o syswow64 i exit.