gr-satellites
What is GNU radio (Qu’est-ce que GNU radio) ?
Le projet étant international la documentation générale de GNU radio est en anglais. Mais une présentation différente en français est lisible ici.
Décodeurs GNU radio pour satellites amateurs
gr-satellites est un module hors arborescence de GNUradio comprenant une collection de décodeurs de télémétrie qui prend en charge de nombreux satellites amateurs différents. Ce projet open source a démarré en 2015 avec pour objectif de fournir des décodeurs de télémétrie pour tous les satellites qui émettent sur les bandes radioamateurs. Il prend en charge les protocoles les plus populaires, tels que AX.25, les modems GOMspace NanoCom U482C et AX100, une partie importante de la pile CCSDS, le protocole AO-40 utilisé dans les satellites FUNcube et plusieurs protocoles ad hoc utilisés dans d’autres satellites.
Les décodeurs n’ont pas besoin d’une interface graphique pour fonctionner, ils peuvent donc être utilisés dans un ordinateur intégré ou distant. Ils sont conçus pour fonctionner en temps réel et imprimer les paquets de télémétrie sur le terminal lorsqu’ils sont reçus. Facultativement, les paquets de télémétrie peuvent être téléchargés en temps réel vers la banque de données SatNOGS ou tout autre serveur de télémétrie qui implémente le protocole SiDS (Simple Downlink Sharing Convention).
Il est également possible d’utiliser le décodeur avec un enregistrement (fichier audio WAV ou IQ), au cas où la télémétrie n’aurait pas été traitée en temps réel. Pour ce faire, il faut connaître l’heure et la date à laquelle l’enregistrement a commencé et l’enregistrement doit être lu à vitesse normale. Cela permet au décodeur de calculer les horodatages corrects pour les paquets lors de leur téléchargement sur le serveur de télémétrie. Il simplifie également la correction Doppler de l’enregistrement avec Gpredict si l’enregistrement n’a pas été corrigé Doppler.
Branches et « releases »
Il existe actuellement trois branches de développement de gr-satellites:
maint-3.7
Compatible avec GNU Radio 3.7 uniquement. Aucun développement futur ne sera effectué sur cette branche. Des changements importants, tels que des satellites très populaires, seront peut-être rétroportés par la branchemaint-3.8
.maint-3.8
Compatible avec GNU Radio 3.8 uniquement. Des développements futurs sont en cours dans cette branche, ajoutant un soutien aux nouveaux satellites lors de leur lancement. Si vous contribuez à des gr-satellites, veuillez envoyer des demandes de « requests »maint-3.8
en cas de doute.next
Branche où une grande refonte de satellites gr apportant des changements importants est en cours. Un développement actif est en cours, mais il reste encore plusieurs mois avant que la « release »next
le soit pleinement utilisable.
À partir de 2020, master
est égal à maint-3.8
(auparavant, il était égal à maint-3.7
).
En ce qui concerne les versions numérotées, la série 1.x.y
est utilisée pour les versions stables sur la branche maint-3.7
(et donc, les versions prenant en charge GNU Radio 3.7), la série 2.x.y
est utilisée pour les versions stables sur le maint-3.8
(et donc, les versions prenant en charge GNU Radio 3.8), et les versions alpha sont fait sur la branche next
présentant certains des derniers développements.
Installation
Vous devez d’abord installer les dépendances (voir ci-dessous).
Après cela, les gr-satellites doivent être installés comme tout autre module hors arborescence de GNU Radio. La production se résume généralement à ce qui suit:
mkdir build cd build cmake .. make sudo make install sudo ldconfig
Enfin, vous devez compiler les organigrammes hiérarchiques inclus dans les gr-satellites (voir ci-dessous).
Dépendances
gr-satellites v2 nécessite GNU Radio version 3.8.
Dépendances requises:
- KA9Q de Phil Karn
libfec
. Un fork qui construit dans les systèmes Linux modernes peut être trouvé ici . - construct , au moins la version 2.9.
- requests
- swig
Les modules hors arborescence GNUradio suivants ne sont nécessaires que pour le décodeur d’un satellite particulier. Vous ne pouvez installer que ceux qui vous intéressent.
- décodeur beesat-sdr BEESAT et TECHNOSAT et TNC. Il est également utilisé pour D-STAR One.
- gr-lilacsat Cela ne doit être installé que si vous souhaitez soumettre la télémétrie à HIT. Un décodeur complet qui n’utilise pas gr-lilacsat est déjà inclus dans gr-satellites.
- PW-Sat2 FramePayloadDecoder Cela ne doit être installé que si vous souhaitez analyser les trames de PW-Sat2. Voir les instructions ici .
- gr-equisat_decoder Blocs de décodeur EQUiSat, analyseur de télémétrie et émetteur.
Si vous souhaitez utiliser l’un des décodeurs d’images en temps réel, vous devez également installer feh .
Organigrammes hiérarchiques
Certains décodeurs utilisent des organigrammes hiérarchiques. Ceux-ci sont placés dans le dossier apps/hierarchical
. Les organigrammes hiérarchiques doivent être compilés et installés avant d’utiliser l’un des organigrammes qui les incluent.
Pour compiler et installer les organigrammes hiérarchiques, le script compile_hierarchical.sh
dans le dossier racine peut être utilisé.
Usage
Le signal est envoyé aux décodeurs à l’aide d’un flux UDP. Le format utilisé est le même que celui utilisé par gqrx . Par conséquent, vous pouvez utiliser gqrx pour envoyer le signal aux décodeurs. Vous devrez régler la fréquence, le mode et la bande passante appropriés en gqrx pour le satellite que vous souhaitez recevoir. C’est probablement la façon la plus simple de commencer à utiliser les décodeurs des satellites gr. Gqrx prend en charge la correction Doppler avec Gpredict.
Remarque: Le réglage de fréquence exact pour un décodage optimal peut nécessiter un réglage pour centrer correctement le signal dans la bande passante. Cela est particulièrement vrai pour les signaux SSB. Une façon de le faire est d’utiliser ce panneau de contrôle radio dans Gpredict. Cela permet à l’utilisateur de faire de petits ajustements tout en surveillant les signaux dans la bande passante gqrx.
Il est également possible d’utiliser les streamers frontaux de gr-frontends . Ceux-ci permettent de diffuser des données par UDP à partir de différents matériels SDR sans utiliser de programme GUI SDR. Il reste à effectuer la correction Doppler avec Gpredict. Il existe également des streamers frontaux pour utiliser un récepteur conventionnel connecté via une carte son et des enregistrements (audio WAV et IQ).
Chaque satellite a son propre décodeur dans le apps/
dossier. Vous pouvez ouvrir le fichier .grc
avec gnuradio-companion
et modifier les paramètres (ils se trouvent dans la partie supérieure du diagramme). Vous pouvez également générer et exécuter le script .py
correspondant et spécifier les paramètres sur la ligne de commande. Utilisez l’indicateur -h pour obtenir de l’aide sur la façon de spécifier les paramètres. Le décodeur imprimera chaque paquet de télémétrie dans le terminal dès qu’il le recevra.
Satellites supportés (voir dans la deuxième partie du document de ce lien)