lundi 15 août 2022

Ais : ESAR

Le 28 juin 2022, rtl-sdr.com a présenté un article ESAR – Extraordinarily Simple AIS Receiver written in C avec un lien vers le code que l'on trouve aussi sur github.

Une partie radio de juste une centaine de lignes (lignes 307 à 402) nettoie le signal
  • Downsampling par 3 (340-344) parce que le rtl-sdr ne peut faire 100 kps, on utilise 300 kps; I1/Q1 est ré-utilisé.
  • Shift de 25 kHz (sample rate/4). Le signal est à 162 MHz +/- 25 kHz; cela le ramène à 0 en I1/Q1 et shift de 50 kHz pour avoir l'autre canal (346-364) en I2/Q2
  • Filtrage et décimation par deux sur charque canal (avec recyclage de I1/Q1 et I2/Q2) (371-377)
  • Démodulation AM & FM (379-387)
  • Pour chaque canal, recherche des trames
La recherche des trames consiste en :
  • Recherche de signal basé sur l'amplitude (161-171)
  • Recherche du maximum de corrélation du préambule (197-237)
  • Échantillonnage de la fréquence et transformation en bits (NRZI & bit stuffing) (251-289)


À suivre...