1 August 2014

in principio era FSK

FSK (frequency-shift keying) risale ai primi anni del 1900, quando questa tecnica è stata messa a punto e poi largamente utilizzata nelle telescriventi per trasmettere messaggi via radio: tutt'oggi infatti e' invalso l'uso del termine RTTY (Radio Tele Type) per indicare lo standard FSK ITA2 Baudot. 
Tanto per renderci conto della importanza di questa modalita', alla famiglia FSK appartengono SITOR-A, SITOR-B, ACARS-VHF, PACTOR, CIS-11, PACKET, STANAG-4481 e molti altri ancora.

Come e' noto, nelle modulazioni numeriche il segnale modulante non e' analogico ma è di tipo digitale, ovvero una serie di bit con valori 1 e 0. In particolare, nella modulazione AFSK (audiofrequency shift keying) ad ogni bit viene assegnato un tono particolare, per cui ad esempio all'uno viene assegnata una frequenza f1 mentre allo zero una frequenza f0, che solitamente è di valore maggiore; la distanza fra le due frequenze (f0 – f1) prende il nome di shift. In altre parole, si hanno due possibili portanti a frequenze diverse che vengono abbinate ai due valori logici binari uno e zero. 

Queste due frequenze, chiamate mark e space, sono state standardizzate dalle organizzazioni internazionali di normalizzazione in modo da permettere la comunicazione tra apparati prodotti da diverse aziende: 2295/2125 Hz (US) e 2125/1955 Hz (Europa). 
Le velocita' standard sono 45.45, 50, 75, 100, 150 e 300 Baud mentre gli shift utilizzati sono 85 Hz (in LF e VLF), 170 Hz, 425 Hz, 450 Hz e 850 Hz in HF.

La scelta delle frequenze e' fatta in modo da realizzare il migliore compromesso tra quattro diverse esigenze: limitare l'occupazione della banda; ottenere una buona separazione tra le due frequenze in modo da evitare l'interferenza intersimbolica; mantenere il periodo relativo alle due sinusoidi minore o uguale alla frequenza di bit del segnale modulante e mantenere una continuita' di fase nelle variazioni di stato. Quest'ultima condizione e' assolutamente necessaria per il corretto funzionamento del demodulatore, il quale, essendo solitamente costituito da un rivelatore di passaggio per lo zero (zero-crossing), deve essere in grado di identificare con massima precisione il salto di frequenza.

Il principio che sta' alla base di AFSK, con le dovute differenze, e' alla base di tutti i modi digitali: vale la pena soffermarci qualche minuto.
L'alternarsi delle due frequenze f1 f0 produce un segnale in banda base che va poi a modulare la portante vera e propria per la sua successiva trasmissione in banda laterale, solitamente USB. Il ricevitore, demodulando il segnale a radiofrequenza, “restituisce” il segnale originario in banda base: e' come dire che la nostra voce al microfono e' sostituita dalle cadenze f0 e f1. 
Oltre che all'altoparlante per la sua riproduzione sonora, questo segnale viene quindi inviato all'ingresso audio di un pc e tramite la sua scheda audio viene analizzato da un programma specializzato nella sua decodifica (decoder) attraverso l'impiego di sofisticati algoritmi DSP (Digital Signal Processing). La sequenza originaria di uni e zero viene quindi ricostruita e “pacchettizzata” secondo formati predefiniti per la sua successiva traduzione in lettere e numeri. (Esistono comunque trasmettitori FSK puri, o direct-FSK, di solito per uso in VHF e UHF, in cui il segnale digitale applicato al loro ingresso produce uno spostamento della portante RF del trasmettittore SSB; oggi comunque e' invalso riferirsi al modo AFSK usando il termine FSK).

I segnali di test piu' comuni che e' possibile ricevere sono la ben nota sequenza RYRYRY, proprio perche' produce un tono audio facilmente riconoscibile ad orecchio, e messaggi di testo standard quali:

“The quick brown fox jumps over the lazy dog”
"Voyez le brick géant que j'examine près du wharf"

E' ovvio che per ricevere una trasmissione FSK si dovra' prima conoscere, oltre alla frequenza della portante soppressa, i valori di velocita' e shift usati dal trasmettittore. Ad esempio, quando ci si imbatte in una riga di log del tipo:
11039.0 DDH9 Pinneberg Meteo BAUDOT 50/450
(notare che a volte viene usato il termine Baudot per indicare la modalita' FSK) significa che per ricevere i bollettini meteo trasmessi dalla tedesca DDH9, dovremmo, oltre che sintonizzarci in USB sulla frequenza di 11.039.0 KHz, impostare il decoder in modalita' FSK con velocita' di 50 Baud e shift 450 Hz. Infatti, se non diversamente indicato, i due valori sopra riportati saranno sempre indicati nella forma frequenza/<baud>/<shift>.
Ma in quale modo il decoder riesce poi a “spacchettare” il flusso seriale di migliaia e migliaia di bit con valori 0 e 1 ricevuti contiguamente?


Trasmettitore e ricevitore(i) devono condividere, oltre alla velocita' e allo shift, una serie di regole e convenzioni (protocolli) circa la struttura (frame) con la quale sono "impacchettati" i dati trasmessi. Il trucco, se cosi' vogliamo chiamarlo, sta' nel riconoscere all'interno dello stream dei bit in arrivo una particolare sequenza di valori, conosciuta a priori, che ne rappresenta la sua chiave di lettura.Indipendentemente da FSK, tecnicamente si parla di protocolli asincroni e sincroni. 

Nelle trasmissioni asincrone rx e tx sono mantenuti sincronizzati mediante l'invio di un segnale di avvio (bit di start) prima di ogni simbolo e di un segnale di arresto (bit di stop) dopo ogni simbolo. Il segnale di avvio serve a preparare la ricezione e la registrazione di un simbolo e il segnale di arresto per mettere il ricevente “a riposo”, in attesa della ricezione del simbolo successivo. L'ultimo bit del simbolo inviato puo' essere usato come bit di parita' (pari o dispari). Si capisce chiaramente come il protocollo asincrono derivi direttamente dalla tecnologia delle telescriventi meccaniche.
Il framing viene indicato con abbreviazioni del tipo 8N1, 5N1, ... che rispettivamente significano:
8N1: 8 bit di dati, nessun (N) bit di parita' e 1 bit di stop
5N1: 5 bit di dati, nessun (N) bit di parita' e 1 bit di stop
Se il framing pre-impostato non e' quello corretto (o se la trasmissione e' criptata!) otterremo solo sfilze di lettere e numeri senza senso; ma se la trasmissione e' in chiaro allora bastera' provare i vari framing (solitamente 5N1) messi a disposizione del decoder.
 
Nelle trasmissioni sincrone rx e tx sono mantenuti sincronizzati tramite un clock (orologio) esterno: quello del trasmettitore e quello del ricevitore (nel nostro caso il clock con il quale "lavora" il decoder, limitandosi la radio alla ricezione e restituzione in banda base del segnale ricevuto).
A differenza del protocollo asincrono, qui viene utilizzato un solo segnale: il ricevitore utilizza le transizioni di questo segnale per capire la velocità di trasmissione (autobaud) e per impostare la corretta tempistica. Lo stream di dati viene poi campionato ad intervalli di clock e interpretato secondo le varie modalita' impostate sul decoder.

No comments:

Post a Comment