venerdì 20 maggio 2016

RDS: Radio Data System

Fig. 1

Il Radio Data System (RDS) è uno standard di radiodiffusione per inviare piccole quantità di dati usando la tradizionale trasmissione radio FM.

Fig. 2

La figura 2 ci mostra come è strutturato un segnale radiofonico : nei primi 15 Khz troviamo la combinazione dei due canali L-R che danno origine al segnale monofonico e che garantisce ai ricevitori che non supportano la modalità stereofonica di riprodurre l'audio. Il segnale stereo ( L + R ) viene trasmesso più in alto per non interferire con la prima parte del segnale mono. La portante a 38 Khz è soppressa e vengono trasmesse le sole bande laterali ma per rilevare una trasmissione in AM occorre avere una portante. Per ovviare al problema è stato inserito un tono pilota a 19 Khz che viene utilizzato per ricostruirla. Infine a 57 Khz ( 3 x 19 Khz ), troviamo il segnale RDS.

Fig. 3

Con l'utilizzo del software SA ricaviamo lo streaming dati inviato dalla stazione radio.

Video demodulazione con SA

Fig. 4


Fig. 5

Nelle figure 4 e 5 ho ristretto l'analisi alla parte di segnale che ci interessa: il solo traffico RDS.

Fig. 6

Modulazione utilizzata ( physical layer ): La modulazione adottata è la PSK ( Fig. 6 - phase shift keying ) con un bit rate di 1187.5 bit/s.

Fig. 7


Codifica dei dati ( data-link layer ): I dati vengono trasmessi in modo sincrono a gruppi di 104 bit ( 86,7 ms ). Ogni gruppo è suddiviso in 4 blocchi da 26 bit e a sua volta ogni blocco è composto da 16 bit d'informazione e 10 di controllo ( Fig. 7 ).

Fig. 8

Dopo aver ricavato il flusso di dati ed aver impostato il periodo a 104 bits otteniamo la sequenza di figura 8.


Fig. 9

La figura 9 ci mostra nel dettaglio le informazioni che vengono trasmesse per ogni blocco.

Vediamo di analizzarle una ad una:


Blocco 1 - PI code: si tratta del "Programme Identification code" ovvero un codice che identifica la stazione trasmittente. E' costituito da 16 bit come mostrato in figura 10:

Fig. 10

Nel caso preso in esame si identifica facilmente la sequenza : 0101 0010 0010 0000 ( che corrisponde ai decimali 5 2 2 0 ).

Fig. 11

Fig. 12


A seguire troviamo il checkwords per il controllo degli errori : 10 bits ( figura 13 )

Fig. 13


Blocco 2 - Group Type code: ... E' composto da 5 bit (4 bit dati + 1 bit di controllo ) e può assumere fino a 16 differenti valori ( elencati nella tabella di figura 15 ) sia per la versione A che per la versione B. La funzione del group type code è quella di specificare quali e con quale formato i dati verranno trasmessi nei blocchi 3 e 4. La scelta della versione A o B è definita grazie al valore del bit di controllo. Il PTY ( Programme Type Codes ) indica quale tipo di trasmissione si sta ricevendo. In questo caso il gruppo è identificato dalla sequenza di bits "01001" corrispondenti al programma "Varied/ Varied Speech" ( ANNEX F Table F.1 ). Il TP ( Traffic programme ) indica al ricevitore se la trasmissione corrente è abilitata all'invio di messaggi sul traffico.


Fig. 15


In figura 16 ho isolato la sequenza del Group type code notando che essa si ripete ogni 20 frames. Soffermiamoci quindi sul primo blocco:

Fig. 16


Gruppo 0A ( Basic tuning and switching information ): nel gruppo 3 vengono trasmesse le frequenze alternative utilizzate dalla stazione trasmittente e nel blocco 4 il program service (PS):


Fig. 17


Le frequenze sono codificate in 8 bit e corrispondono alla portante ( fig. 18 ).

Fig. 18

Il Program Service ( PS ) è composto da 8 caratteri che vengono visualizzati sul display del ricevitore. Di solito è inviato il nome della stazione. Con l'aiuto della tabella di figura 19 si decodificano i caratteri che formano la parola : "R ITALIA" ( figura 20 ).


Fig. 19


Fig. 20


Gruppo 1A ( Programme item number and slow labelling codes ): è composto da 16 bit suddivisi come in figura 21:


Fig. 21

Il gruppo è ripetuto 2 volte quindi analizziamo 32 bits ( 2 sequenze da 16 bits ):

1* seq: 0000000011100000

1° bit = 0
2°,3°,4° bit = 0 0 0
Paging - 4 bit: 0000
Extended country code ( ECC ): 8 bit : 11100000 = E0 = ITALIA


2* seq: 0011000000010101

1° bit = 0
2°,3°,4° bit = 0 1 1
Language codes: 00010101 = 21 decimale = 15 hex = italian ( ANNEX J / EN50067 )


Per quanto riguarda il blocco 4 non vengono trasmessi dati, entrambe le sequenze sono a zero.


Gruppo 2A ( Radio text only ):

Fig. 22

Questo gruppo assegna posizione e testo fino ad un massimo di 64 caratteri.

Con l'aiuto della tabella di figura 19 otteniamo:

0111-0111 0111-0111 w w
0111-0111 0010-1110 w .
0111-0010 0110-0001 r a
0110-0100 0110-1001 d i
0110-1111 0110-1001 o i
0111-0100 0110-0001 t a


0110-1100 0110-1001 l i
0110-0001 0010-1110 a .
0110-1001 0111-0100 i t
0010-0000 0010-0000 space space
0010-0000 0010-0000 space space
0010-0000 0010-0000 space space


www.radioitalia.it


Gruppo 4A ( Clock-time and date only ): Data e ora vengono trasmessi nei blocchi 3 e 4 come da figura 23:

Fig. 23

Cominciamo a ricavare la sequenza di bits relativi alla data:

MJD = 01101100011100001 corrispondente al numero 55521 decimale. Utilizzando le formule di figura 24 risaliamo alla data trasmessa:

Fig. 24

Y' = 110
M' = 12
D = 21
K = 0
Y = 110
M = 11

La formula è applicabile nel periodo compreso tra il 1900 ed il 2100. Per calcolare la data corretta è necessario sommare alla data di partenza ( 1900 ) il valore Y : 1900 + 110 = 2010. Quindi la data trasmessa è 21 novembre 2010 ( 21/11/2010 ). Volendo ricavare anche il giorno dobbiamo utilizzare la formula:

[(MJD + 2 ) mod 7] + 1 = 7 = domenica


Passiamo ora ad analizzare la sequenza di bits relativi all'ora:

UTC + Local Time = 10010 010101 0 00010

Ora ( 5 bits ) : 10010 = 18
Minuti ( 6 bits ) : 010101 = 21
Offset = 0 = positive offset ( UTC + 1 ora )
local time offset ( 5 bits ) : 00001 = 1

L'ora trasmessa è 19:21 Local time ( 18:21 UTC ).


Gruppo 14A/B e 15B ( EON - Enhanced other network information only ): La funzione EON è molto utile e consente ad una stazione A di interrompere una stazione B per poter diramare un bollettino od un avviso sul traffico. Terminato l'avviso riprende l'ascolto sulla stazione A. Di solito la stazione A ha carattere nazionale mentre la B locale ed entrambe appartengono allo stesso network ( ad esempio la RAI ). Nei gruppi 14A/B e 15B vengono quindi inviati i dati necessari ad espletare questa funzionalità.



14A:
TP ( network corrente ) = 1
PTY ( network corrente )= 01001
TP ( altro network ) = 0
Variant code = 1101 Gruppo 13
Information block = 0000000000000000
PI ( altro network ) = 0000000000000000 <- nessun identificativo 14B: TP (TN) = 1 PTY (TN)= 01001 TP (ON) = 0 TA = 0 PI ( network corrente ) = 0101001000100000 PI ( altro network ) = 0000000000000000 Nel blocco 14B non è indicato nessun PI quindi la funzione EON non è attiva. Al fine di verificare la correttezza dei dati ottenuti ho decodificato il segnale RDS con RDS Spy ottenendo quanto riportato nelle figure 25, 26 e 27 :


Fig. 25



Fig. 26



Fig. 27

I dati visualizzati da RDS Spy sono gli stessi ottenuti per via "manuale". (VIDEO)


Fonti: European Standard EN 50067

Software: SA + bit editor + RDS Spy
Ricevitore. AOR 5000
Panadapter: Perseus Sdr

sabato 16 aprile 2016

FSK 75 baud / KG84

Fig. 1

Modulazione FSK con symbol rate di 75 baud ( = bit rate ) e shift di 850 Hz.

Fig. 2

Calcolo symbol rate.

Fig. 3

Individuazione shift e flusso di bit on air.




MIL-STD 188-141B App C - 3G ALE

Fig.1

Sistema di terza generazione ALE ( Automatic Link Establishment ) utilizzato in ambito militare.

Fig.2


Fig.3


Fig. 3 bis

Nelle figure 2, 3 e 3 bis si evince l'utilizzo della modulazione di fase PSK-8 con symbol rate di 2400 baud.

Fig. 4


Data la natura del segnale è stato preso in esame un solo burst al fine di analizzarlo per riuscire ad identificare in modo corretto il sistema utilizzato ( figura 4 ). Come fare ? ci viene in aiuto la tabella di figura 5 dove sono riportate 5 diverse modalità di trasmissione: BW0 - BW4.

Fig. 5

Confrontando la durata del burst ( burst duration ) con la durata del nostro segnale ( 7,2 sec0ndi ) notiamo subito che è possibile scartare le modalità BW0, BW1 e BW4. Ci rimangono da esaminare le BW2 e la BW3. Calcolando l'ACF del nostro campione ricaviamo 13,33 ms ( figura 6 ), guarda caso proprio uguale al tempo indicato nella modalità BW3.

Fig. 6

Bene, proviamo a prendere in considerazione la BW3 e facciamo due conti:

Partiamo subito con n= 512

otteniamo: 373.33 ms + ( 512 * 13.33 ) = 373.33 ms + 6.842 sec => per un totale di 7,2 sec proprio uguale al nostro campione.


Fig. 7


In figura 7 è riportato il timing del segnale dal quale si ha ulteriore conferma della durata del burst: per n=512 Tbw3_tx =~ 7,2 sec.





CQ DE IK1YDE IK1YDE ....





RYRYRYRYRYRYRYRYRYRYRYRYRYRYRYRYRYRY

9 8 7 6 5 4 3 2 1 0

THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

RYRYRYRYRYRYRYRYRYRYRYRYRYRYRYRYRYRY

9 8 7 6 5 4 3 2 1 0

THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

RYRYRYRYRYRYRYRYRYRYRYRYRYRYRYRYRYRY

9 8 7 6 5 4 3 2 1 0

THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

RYRYRYRYRYRYRYRYRYRYRYRYRYRYRYRYRYRY

9 8 7 6 5 4 3 2 1 0

THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG


ZCZC #12DS44

zsEHOgwoLK2nB5hmJrwftoywpOT/JZDaIaSns5QIyXjMK1bVVw6VHYQetm+FD36r115Urj2YwxflcMWg9D+DZn8eKh1zgu4kI+Z0gNdY8zJ1ODtNesEkoqODhKqHcTBrTJTiBh+aBRKTnWaZXUTpBWgogccQrzeOrXi/+glsaMCWOyhhHQnmmaKpiDLw4Hi0ookMc8fJF3PdX0ETKizEPMtY1er3O9D8yincTL28WSI1Muk0GT4lZ+On0AqZuTYBRz/7AXtlzRCZgOpmYfjCF081K9QCuAle3fVkOF3QMiAW1qNashqz2H11orqsPVOQVHTiiVK0BpBz5R9xOSBhRA==


NNNN

mercoledì 4 novembre 2015

FSK 1200 Bd


Campione audio 22 Khz / Modulazione FSK.


Symbol rate: 1200 Bd


Shift toni: 750 Hz ~


Flusso dati


lunedì 19 ottobre 2015

JT65 - 14076 KHz


Sistema di trasmissione utilizzato in ambito radioamatoriale.


La modulazione utilizzata è una MFSK a 65 toni con shift di 2.69 Hz.


Il symbol rate è estremamente basso, 2,69 Hz.

Per chi volesse approfondire segnalo questo articolo: pdf

sabato 17 ottobre 2015

FSK 2400 bps / Radiomodem 436 MHz


Sistema di trasmissione dati in uso in UHF ( 436 MHz ) destinato espressamente ad applicazioni di telecontrollo/telelettura. Di seguto breve analisi del segnale:


Modulazione di frequenza con symbol rate di 2400 Bd ( 2400 bit/sec )


Flusso dati e shift tra i toni.



ACF = ~ 4.166 s


Sistema asincrono 8 bit dati + 2 bits Start/Stop.