Projet

Général

Profil

RIESCOnnection » Historique » Version 3

Robin Gerzaguet, 19/05/2015 10:46

1 1 Robin Gerzaguet
h1. Prise en main de la carte USRP N210 avec GNU Radio
2
3
Nous supposons à présent que le pilote UHD ainsi que l'environnement GNU Radio sont installés. Par ailleurs, une carte USRP N210 + WBX est correctement configurée et étalonnée. Parmi les exemples proposés certains mettent en œuvre des liaisons point-à-point et nécessite ainsi deux station identiquement configurées.
4
5
h2. Génération de signaux et analyse de spectre
6
7
Nous pouvons dans un premier temps mettre en œuvre un analyseur de spectre réalisant une transformée de Fourier rapide par blocs. L'exemple suivant permet d'analyser une bande de 5 MHz autour de 950 MHz en supposant qu'une antenne adaptée à cette bande soit installée sur le port RX2.
8
<pre>
9
uhd_fft -A RX2 -f 950e6 -s 5e6
10
</pre>
11
12 2 Robin Gerzaguet
!{width:600px}Rx_B200_950MHz.png!
13 1 Robin Gerzaguet
14
Il est également possible de visualiser le signal reçu dans un environnement _waterfall_.
15
<pre>
16 2 Robin Gerzaguet
uhd_fft -W -A RX2 -f 950e6 -s 5e6
17 1 Robin Gerzaguet
</pre>
18
19
20
La carte USRP peut être utilisée comme un générateur de signaux élémentaires. L'exemple suivant permet la création d'une sinusoide autour de 950 MHz.
21
<pre>
22
uhd_siggen -A TX/RX -f 950e6 -s 1e6
23
</pre>
24 2 Robin Gerzaguet
25
!{width:600px}Rx_waterfall_B200_950MHz.png!
26 1 Robin Gerzaguet
27
h2. Réception de radiodiffusion en modulation de fréquence large bande
28
29
Nous souhaitons réceptionner un signal de communication analogique audio modulé en fréquence. Nous nous intéressons à la bande FM définie entre 88 MHz et 108 MHz. Les canaux fréquentiels sont espacés de 100 kHz et la modulation de fréquence est dite à large bande dans la mesure où la dévation de 75 kHz est supérieure à la bande du signal modulant de 20 kHz (nous nous intéressons ici au signal mono).
30
31
Afin de recevoir un tel signal, nous définissons une chaîne de traitement à l'aide de GNU Radio Companion (GRC). Il s'agit d'un outils graphique permettant la génération de chaines de traitement GNU Radio. Le fichier rx_fm.grc définit la chaîne de traitement ci-dessous.
32
33
!rx_fm.grc.png!
34
35
La source USRP est réglée par défaut sur la fréquence porteuse 102.8 MHz et échantillonne le signal à la fréquence 5 MHz. Une fréquence d'échantillonnage aussi élevée permet d'observer environ 1/4 de la bande FM à l'aide d'un analyseur FFT Sink. La source USRP est suivie d'un filtre passe-bas permettant de sélectionner un canal fréquentiel de 100 kHz et de décimer le signal par un facteur 10. Nous utilisons ensuite un démodulateur FM à large bande. Afin de faire le lien entre la sortie du démodulateur FM et la sortie de la carte son, nous effectuons un ré-échantillonnage avec de s'adapters à une fréquence de travail de la carte son. Remarquons enfin que nous pouvons visualiser le signal démodulé dans un FFT Sink (la création de deux onglets pour les FFT Sinks est réalisée à l'aide du bloc Notebook).
36
37 3 Robin Gerzaguet
h2. Réception de signaux ADS-B et visualisation sur google-earth
38 1 Robin Gerzaguet
39 3 Robin Gerzaguet
L'ADS-B (Automatic dependent surveillance-broadcast) est un standard de communication dédié à la surveillance coopérative et au contrôle du trafic aérien mondial. Un avion transmet donc régulièrement sa position, obtenue par l'intermédiaire d'un système de positionnement par satellite (GNSS).
40
En utilisant des outils déjà créés par la communauté Gnuradio, on est capable avec les USRP de recevoir ces signaux, puis de les décoder pour en déduire le positionnement des avions dans un environnement proche. Dans un second temps on peut afficher en temps réel la position de ces avions sur google-earth, émulant ce que peut être un radar de positionnement.
41
42
h3. Installation de gr-air-modes
43
44
Il faut dans un premier temps installer le module sous gnuradio permet le décodage des trames ADS-B, nommé "gr-air-modes":https://github.com/bistromath/gr-air-modes.
45
Le code source étant sur un dépôt GIT, le plus simple est directement de cloner ce dernier avant la compilation.
46
<pre>
47
 git clone https://github.com/bistromath/gr-air-modes.git
48
 cd gr-air-modes
49
 cd build
50
 cmake ../
51
 make
52
 sudo make install
53
 sudo ldconfig
54
</pre>
55
56
h3. Installation de Google-earth
57
58
Pour visualiser les trames décodées et en particulier la position en temps réel des avions voisins, il est nécéssaire d'installer  un atlas mondial, tel que google-earth. Des solutions alernatives à google-earth peuvent être choisies, telle que "Marble":https://marble.kde.org/index.php même si l'installation de ce dernier est lourde dans un environnement gnome.
59
Pour installer google-earth il suffit d'aller sur "le site associé":http://www.google.fr/earth/download/ge/agree.html en prenant le dernier paquet 64 bits stable.
60
L'installation se fait alors de manière tout à fait classique : 
61
<pre>
62
 cd Downloads/
63
 sudo dpkg -i google-earth-stable_current_amd64
64
</pre> 
65
66
h3. Lancement du script de décodage et visualisation
67
68
Pour lancer le décodage des trames en temps réel, il faut placer une antenne 900MHz sur un USRP et lancer la commande suivante :
69
<pre>
70
 modes_rx -g 60 -A TX/RX -K planes.kml
71
</pre>
72
Des messages associés au décodage des données apparaissent alors dans la console 
73
<pre>
74
(-63 3.92050375) Type 4 (short surveillance altitude reply) from 85e323 at 69100ft (AIRBORNE ALERT)
75
(-64 4.30157850) Type 4 (short surveillance altitude reply) from c2f28c at 124500ft (SPI)
76
(-63 4.92450325) Type 5 (short surveillance ident reply) from 689042 with ident 7634 (SPI)
77
(-63 5.30652800) No handler for message type 24 from c4a9d2
78
(-65 6.22557325) Type 5 (short surveillance ident reply) from f8068a with ident 202 (SPI ALERT)
79
(-64 7.62526400) No handler for message type 24 from 56cdfe
80
(-65 7.69495500) Type 5 (short surveillance ident reply) from 5c4d6f with ident 7214 (SPI ALERT)
81
(-62 8.20580500) No handler for message type 24 from 820adc
82
(-62 8.68486325) Type 5 (short surveillance ident reply) from 63f6f9 with ident 224 (aircraft is on the ground)
83
(-64 8.98844225) Type 5 (short surveillance ident reply) from 29ca4c with ident 2574 (SPI ALERT)
84
(-64 9.75643550) No handler for message type 24 from b9f344
85
(-63 10.38734725) Type 4 (short surveillance altitude reply) from d134f9 at 30600ft (AIRBORNE ALERT)
86
(-65 10.44437550) No handler for message type 24 from af4b42
87
</pre>
88
89
Enfin, il faut ouvrir google-earth et associé un chemin réseau 
90
<pre>
91
 Clic droit sur lieux temporaire -> Ajouter -> lien Réseau
92
 Lien : fichier planes.kml
93
 Actualisation : périodique -> 5 secondes
94
</pre>
95
96
!{width:600px}air_modes_googleEarth.png!
97
98
99
h2. Modulation numérique DPSK entre deux cartes USRP 
100 1 Robin Gerzaguet
101
Prochainement...
102
103
h2. Diffusion vidéo entre deux cartes USRP
104
105
Prochainement...
106
107
h2. Échanges bidirectionnels IP entre deux cartes USRP
108
109
Prochainement...