Del DSP e delle sue meraviglie (quarta parte)

Inserito in: mchisari@Sab, 18/07/1998 - 00:58 — modificato Sab, 18/02/2006 - 01:12
Da "Micro & Personal Computer" - Rubrica "PC & Radio"- Febbraio 1995

Del DSP e delle sue meraviglie (quarta parte)

[nota: le precedenti tre sono andate perdute] 

Rassicuratevi: stavolta, come promesso, non parleremo di formule matematica, ma ci butteremo con soddisfazione nel lato più squisitamente pratico della faccenda. Siete pronti? Avete "affilato" i ricevitori? Allora si parte!

di Mario Chisari IW0CDT

Ebbene si, anche se vi potrà sembrare strano, le formule viste la scorsa volta, che penso a molti saranno suonate astruse, hanno una loro applicazione estremamente pratica e reale, e vado subito a dimostrarvelo.

Per prima cosa, però, richiamo la vostra attenzione sullo schema generale di sistema DSP che presentai nella prima puntata. Già in quell'occasione vi feci notare che l'unica parte normalmente non presente in un PC, ovvero il convertitore analogico/digitale, è in realtà presente in tutte le schede audio.

Ecco quindi che in questa puntata vi presenterò alcuni programmi che fanno uso di queste semplici interfacce per realizzare una qualche forma di filtraggio digitale.

Quante volte avete sentito dire "non è vero che le schede audio servono solo per i giochini, anzi i computer moderni non possono farne a meno, ecc."? Bene, questa è l'occasione per darne una prova irrefutabile, o quantomeno per crearsi un solido alibi mentale...

Purtroppo, come potrete constatare, si tratta di programmi ancora molto elementari, che non raggiungono la raffinatezza di un Jvfax o Hamcomm; ma si tratta di peccati di gioventù. E mai come questa volta vi invito a tenere presente il concetto di "Shareware": se pensate che il programma vale la pena di essere migliorato, mandatene un riconoscimento tangibile allo sviluppatore. Vedrete più facilmente nuovi sviluppi, e saprete di aver, nel vostro piccolo, contribuito allo sviluppo della Conoscenza!

SBDSP

Il primo programma che vi presento permette di ricevere immagini APT utilizzando una normale scheda Sound Blaster. Come ricorderete, l'APT è il modo di trasmissione utilizzato dai satelliti meteorologici, sia geostazionari che polari. I primi sono ricevibili sui 1.700 MHz, i secondi nella banda dei 136 MHz.

SBDSP funziona sostanzialmente in modalità "batch"; cioè la ricezione e la decodifica vengono effettuate in tempi differenti.

Per prima cosa occorre digitalizzare il segnale in ricezione, generando un file in formato .VOC. È possibile farlo usando l'apposita utilità fornita in dotazione con la scheda Sound Blaster, o qualsiasi programma voi vogliate.

Una volta effettuata la registrazione, si potrà decodificarla in santa pace usando per l'appunto il programma SBDSP. La procedura non fornisce certo il risultato immediato che tutti noi desidereremmo, ma bisogna considerare che porta una serie di vantaggi. Per prima cosa, non occorre un microprocessore particolarmente potente; se avete la pazienza di aspettare, potete decodificare il tutto anche con un 8088...

Potete poi applicare dei trattamenti digitali al segnale registrato, usando qualche programma di manipolazione audio; se vi sono rumori o distrurbi, potete cercare il miglior modo di attenuarli, e quindi ricavare l'intera immagine nel modo migliore. Insomma, quello che appare come un difetto potrebbe per qualcuno rivelarsi un pregio.

Se avete intenzione di scrivere un qualsiasi programma di DSP per la radio, o siete semplicemente curiosi di capire come funzionano "in pratica", andatevi a leggere la documentazione di SBDSP: vi sono descritti una serie di problemini pratici, con relativo modo di aggirarli, che altrimenti vi farebbero perdere parecchio tempo...

FFTMORSE

Nonostante il nome, questo programma non utilizza la procedura di FFT (Fast Fourier Transform) "classica", ma piuttosto una versione ottimizzata a mano; questo perché, come racconta l'autore François Jalbert, con il numero di dati necessari il vantaggio ottenuto con quest'ultima rispetto all'algoritmo "normale" non era rilevante. Per ottenere un risultato migliore, François ha riscritto la "sua" routine di FFT utilizzando un notevole numero di variabili temporanee che sono comuni a vari termini della formula di Fourier. Ed il risultato finale è davvero ottimo: FFTMorse gira perfettamente anche su un 286 a 12 MHz, quello dell'autore. Di necessità virtù, diceva il saggio.

La ricezione del codice Morse è un compito apparentemente facile, ma ottenere una decodifica particolarmente pulita in tutte le situazioni, soprattutto considerando che la sorgente è umana, non è poi così banale.

FFTMorse fa il suo lavoro in modo davvero stupefacente, riuscendo ad estrarre il segnalino Morse anche in mezzo al caos. Grazie ad un comodo indicatore, è molto semplice sintonizzare il segnale voluto nello stretto filtro di FFTMorse. Facile da usare quanto Hamcomm, ma infinitamente più resistente in presenza di rumore ed interferenze. Provare per credere...

A voler essere precisi, la tecnica adoperata da Jalbert non è corretta fino in fondo. Un errore che commettono gli inesperti (quale non sembra essere Jalbert) è, per filtrare una sola singola frequenza, prendere in considerazione solo la componente dello spettro relativa. Ad esempio, per isolare la frequenza di 400 Hertz, si può pensare di prendere la sola "tacca" dello spettro marcata 400 Hertz.

Si può dimostrare matematicamente che un filtro così realizzato in realtà lascia passare rumore un po' da tutte le bande; ma poi, insomma, queste sono sofisticherie per un programma che deve solo capire se il segnale c'è oppure no...

FFTMorse è un programma completamente gratuito, di cui viene distribuito anche il sorgente in linguaggio C.

SLOWSCAN

Anche se non ho mai avuto il piacere di presentarvela (e porrò rimedio alla mancanza appena possibile), esiste tra i radioamatori anche un modo di trasmissione di tipo "televisivo", denominato SSTV.

La sigla vuol dire "Slow Scan Television", ovvero televisione a scansione lenta; con questo sistema i radioamatori possono trasmettere immagini a colori a diverse risoluzioni, generalmente abbastanza basse per ridurre il tempo necessario. Senza entrare nei dettagli, la SSTV è una parente stretta del Fax meteo, tant'è che anche Jvfax permette sia di riceverla che di trasmetterla.

SlowScan è un programma che permette di entrare dalla porta principale in questa "disciplina", offrendo a costo ridottissimo una notevole qualità, anche se solo in ricezione.

La modalità di funzionamento è un, diciamo così, "batch interattivo": una volta avviato il programma, si preme un tasto per iniziare l'acquisizione, che viene salvata nel solito file .VOC. Appena terminata, inizia subito la decodifica, con la seguente visualizzazione. Il funzionamento in differita stavolta è un problema davvero relativo, visto che una trasmissione SSTV dura 8 secondi.

Anche qui è possibile regolare le frequenze relative al "bianco" ed al "nero" (tra virgolette in quanto in realtà qui si parla di colore).

Quando si opera in HF, il problema principale che si presenta è quello della sintonia; SSTV, infatti, non offre la possibilità di regolarla con metodi strumentali. Il mio consiglio, a parte l'"orecchiometro" (cioè fare ad orecchio), è di applicare in parallelo un'interfaccia Hamcomm, utilizzando dapprima questo per le operazioni di regolazione; sintonizzata la stazione si lancia il programma per la Sound Blaster.

Si spera, poi, che con le successive versioni dei programmi questa operazione possa essere evitata.

WEATHERMAN

A qualcuno potrebbe a questo punto venire il dubbio che fare una "vera" operazione di DSP sul PC sia in realtà impossibile: su tre programmi, appena uno offre questa possibilità, e per l'applicazione meno pesante.

Eccoci quindi puntualmente smentiti dall'ultimo della lista: un pacchetto uscito da pochi mesi, che offre la possibilità di ricezione DSP in tempo reale. Provare per credere: lanciando il programma e sintonizzando una stazione MeteoFax in onde corte, si potranno ricevere immagini in toni di grigio di qualità eccellente.

Una vera "dritta" offerta dall'autore è il programma Wxdemo: più che una demo, si tratta della controparte trasmittente di Wxman. Il suo scopo è duplice: oltre a permettere la trasmissione, se interessati, vi permette di ascoltare "dal vivo" un vero segnale Fax. Come dice l'autore, il WeFax ha un suono inconfondibile che però è molto difficile da descrivere (io ci avevo provato dicendo "come una carriola cigolante").

Con Wxdemo potete avere finalmente un esempio dal vivo, e, con un minimo di orecchio, potete perfino provare a sintonizzare il segnale ricevuto "a orecchio", confrontandolo col vostro.

Wxman è purtroppo un programma ancora piuttosto "ruspante", a parte il lato qualità delle immagini; manca la possibilità di ricezione automatica, manca il sincronismo orizzontale automatico, il che vuol dire che l'immagine ve la dovete ruotare al punto giusto da soli. Ma ne vale la pena...