01 febbraio 2022

SigDigger, il DSP oltre la demodulazione

Se guardo alle applicazioni di signal analysis più recenti, come SigDigger, mi rendo conto che paradossalmente, la comunità globale degli hobby radiofonici ha un'idea abbastanza limitata delle applicazioni SDR. L'elemento chiave per molti è la capacità di demodulare (magari dopo averlo comodamente salvato su disco) i segnali in ampie porzioni dello spettro RF, applicando efficienti filtri digitali, noise blanker e quant'altro. In realtà, tutto questo è solo un sottoinsieme dei risultati che si possono ottenere con l'approccio algoritmico utilizzato dai programmi SDR. È bene ricordare che questo tipo di software si basa su tecniche DSP (digital signal processing) che consentono di andare oltre la demodulazione dei modi più tradizionali (AM, SSB, FM) per entrare appunto nel vasto ambito dell'analisi del segnale. 
Eppure, quando ancora di SDR non si parlava molto, le prime applicazioni emerse dalla stessa comunità radioamatoriale, spesso venivano classificate tra gli strumenti di analisi spettrale, anche se lo spettro in questione era quello delle frequenze audio. Agli inizi degli anni 2000, pionieri come Spectrum Lab e Spectran venivano utilizzati per esplorare visualmente e rielaborare l'audio analogico acquisito con le schede audio del PC, sfruttando fino all'ultimo Hertz la loro striminzita larghezza di banda. I più sofisticati facevano dell'SDR vero e proprio demodulando la banda base del segnale dopo la conversione in frequenza intermedia dei ricevitori analogici.
Poi sono arrivati i ricevitori SDR che hanno aperto la strada a un trattamento più diretto della radiofrequenza e anche gli strumenti di software analysis si sono evoluti. Nel 2012 Radiopassioni dava notizia di un software russo, Signal Analyzer, che ancora oggi rappresenta un punto di riferimento per l'analisi approfondita delle forme d'onda. Nel 2019, annunciando l'arrivo delle prime versioni di SigDigger, il suo autore, l'astrofisico, programmatore e radioamatore spagnolo EA1IYR Gonzalo José Carracedo aka @BatchDrake, elencava una serie di funzionalità presenti e future che solo soluzioni molto più professionali e quasi certamente non free avrebbero potuto svolgere. SigDigger, scriveva BatchDrake «è stato progettato per estrarre informazioni da segnali sconosciuti», un traguardo ottenibile con un arsenale di tool tipici del DSP, messi a disposizione dei più avanzati esploratori delle trasmissioni radio:

  • Both realtime and replay analysis modes
  • Analog audio playback (AM, FM, LSB and USB) 
  • Baseband recording (full spectrum and per-channel)
  • Per-device gain presents
  • Dynamic spectrum browsing
  • ASK, FSK and PSK inspection
  • Gradient-descent SNR calculation
  • Different spectrum sources (cyclostarionary analysis, signal power…)
  • Symbol recording and visualization
  • Transition analysis
Planned features already implemented and just waiting to be exposed to the UI:
  • Parameter estimation (baudrate, constellation order…)
  • Fast symbol autocorrelation analysis
  • Automatic calculation of scrambling polynomials
  • Symbol stream codecs
Possible future features coming soon:
  • Symbol tagging (correspondence between symbols and groups of bits)
  • Automatic symbol tagging guessing
  • Automatic convolutional code detection
  • Viterbi decoding
Il software di BatchDrake è basato sul framework grafico QT e l'interfaccia e il motore del waterfall sono ispirati a GQRX, un'altra alternativa SDR per il mondo Linux/MacOS. A differenza di quest'ultimo, però, SigDigger non si basa su GNU Radio: tutto il DSP è originale. Le release iniziali di questo programma - indicato, come scriverebbe la Settimana Enigmistica, ai solutori più che abili - erano per Linux (e MacOS). In questi giorni su Twitter BatchDrake ha annunciato la disponibilità di un port per il sistema operativo Windows (per averlo bisogna contattare direttamente Carracedo, via Twitter o GitHub). Un buon esempio di ciò che un buon analizzatore di spettro è in grado di fare, è questo video proposto dall'autore del port Windows di SigDigger, arf20, SigDigger viene messo alla prova per estrarre l'informazione RDS da una trasmissione FM, utilizzando un nuova funzione di trattamento delle sottoportanti. Il video mostra come partendo dalla modulazione BPSK della sottoportante a 57kHz, sia possibile estrarre i "simboli" codificati nel segnale, ordinarli e interpretarli.

Nessun commento: