gkSDR

gkSDR c’est quoi ?

gkSDR est un logiciel d’émission et de réception SDR développé en C++ sous Qt, destiné prioritairement au trafic hyper en portable. Il est encore en développement et a été présenté pour la première fois à CJ 2015.

gkSDR

 

[note: je parle de logiciel hyper mais j'affiche du trafic HF... c'est pour montrer que ça marche aussi et ... là il y a des stations à écouter - trop sans doute]

Je me suis fixé le cahier des charges suivant :

  • Permettre d’utiliser au choix un transverter “sur étagère” de type F6BVA ou DB6NT, ou bien un transverter “fait maison”,
  • Utilisable en réception uniquement, avec une clé SDR DVBT par exemple, ou bien en émission/réception avec un SDR plus élaboré (bladeRF, hackRF etc.) accompagné d’étages de transposition de fréquence,
  • Pouvant fonctionner sur un PC portable ou une carte mère de récupération, avec Linux ou Windows, avec au minimum un processeur de type Core2 Duo (dépassé à ce jour… donc trouvable d’occasion à “pas cher”).

Quelles sont les contraintes du trafic en portable, et du trafic en hyper ?

  • On utilise des antennes très directives… il faut donc être pointé dans la bonne direction et sur la bonne fréquence pour “entendre” quelque chose… un SDR permet, grâce à l’affichage de type “spectrogramme” (ou “analyseur de spectre”) de voir TOUTE LA BANDE, et donc de repérer visuellement s’il y a du trafic – même en dehors de la fréquence écoutée…
  • Il est assez difficile de savoir comment la propagation se comporte, assez difficile de savoir sur quelle fréquence on est exactement (à moins d’avoir sous la main un fréquencemètre étalonné ou un analyseur de spectre calibré …). Les balises sont là pour nous aider… Un SDR qui pourrait recevoir 2 fréquences en même temps permettrait de ne pas avoir à “tourner le VFO” en permanence et faire en même temps : la recherche de correspondant et vérification de la propagation ou de son calage en fréquence.

Certaines fonctionnalités de gkSDR ont été imaginées pour aider à l’orientation et au trafic hyper:

  1. Visualisation large bande (2MHz par exemple avec une clé DVB-T), on peut donc visualiser par exemple toute la bande 3cm en continu,
  2. Possibilité d’écouter deux fréquences en même temps grâce à deux récepteurs séparés (un pour le trafic et un pour la veille sur une balise par exemple),
  3. Veille automatique et listage des signaux reçus sur toute la bande (mode “scanner” automatique), quelle que soit la fréquence écoutée,
  4. Possibilité de ré-entendre par simple clic les 2 ou 4 dernières secondes du QSO si on mal compris le correspondant (“replay”),
  5. Visualisation sous forme de cartographie de notre position actuelle (via Locator ou grâce à un récepteur GPS si connecté au PC),
  6. Visualisation cartographique de l’orientation de notre antenne, de son ouverture et de la position des balises,
  7. Le logiciel est installé avec un modèle numérique de terrain de la NASA (voir ici) qui donne le relief de toute la terre avec une résolution au sol de 90×90 mètres… Il permet de visualiser, dans l’axe de l’antenne, le relief jusqu’à l’horizon (60 kilomètres dans le cas général). Le profil du terrain est calculé en temps réel et réactualisé lorsque l’antenne tourne,
  8. Visualisation dans le spectrogramme de la fréquence des balises connues avec accès direct par simple clic,
  9. Enregistrement sur disque de toute la bande reçue ou uniquement de l’audio en MP3 et en continu (pour vérifier à la maison son log un jour de concours…).
  10. Pour expérimentation du “plane scatter” (ou QSO par réflexion sur les avions), un décodeur ADSB est intégré au logiciel et permet de visualiser en temps réel la position des avions en vol par rapport à la station,

Ce logiciel est GRATUIT, FRANCAIS. Il est pour le moment disponible en version binaire uniquement et sera prochainement téléchargeable pour Linux et pour Windows.

Bien que destiné au départ au trafic hyper en portable, ce logiciel peut bien sûr être utilisé en HF ou en VHF. J’ai pour ma part majoritairement fais la mise au point en écoutant les stations radio internationales ou le trafic du 80 et 40 mètres en BLU…

Les sources seront ils disponibles ?

Oui parce plusieurs routines de codes que j’ai réutilisées sont issues du monde “open source” (logiciel libre) et les licenses associées (GPL) l’imposent. Le code sera proposé au téléchargement quand une première version ‘néttoyée’ sera finalisée.

Comment utiliser gkSDR ? De quoi a t’on besoin ?

Il faut au minimum une clé DVBT SDR, avec deux clés on peut aussi visualiser la position des avions (plane scatter). Le diagramme suivant illustre un exemple d’utilisation avec un transverter 10GHz de F6BVA ou DB6NT (ou autre) :

gkSDR

A quoi ça ressemble ?

Voici une vue générale du logiciel, les sous parties seront détaillées dans des pages spécifiques de la documentation.

Copie d'écran gkSDR

L’interface utilisateur (ici sous Windows, mais identique sous Linux) se décompose en plusieurs zones:

La partie haute :

gkSDR partie haute

On retrouve – gauche à droite et de haut en bas :

  1. Un accès direct aux bandes
  2. L’affichage de la fréquence de réception du récepteur principal (rx A)
  3. Le niveau de réception (le “S-mètre”) ici calibré en dBm
  4. Les fonctions “replay” pour ré-écouter les 2 ou 4 dernières secondes d’audio
  5. L’affiche de l’horloge TU (ici inactive sur la copie d’écran, le récepteur GPS n’est pas branché)
  6. La vue générale de toute la bande (2MHz) avec identification du signal le plus fort et de la fréquence actuelle de RXA.

Partie centrale:

gkSDR recepteur A

cette partie change suivant l’onglet choisi. Ici on voit le récepteur principal (rx “A”).

La partie supérieure de l’écran correspond au spectre du signal reçu avec en dessous la partie “waterfall” (chute d’eau) où la couleur correspond à l’intensité du signal reçu.

Note : l’affichage “chute d’eau” est issu du logiciel Open Source gqRX dont les sources ont été adaptées à mon utilisation (pour infos, gqRX s’était d’ailleurs inspiré du programme CuteSDR dont le code avait été repris et corrigé… merci ;-) )

On retrouve en dessous la zone de sélection du mode actif pour le récepteur :

gkSDR - demodulation

  1. Un bouton marche / arrêt (pour le récepteur actif à l’écran),
  2. Le choix du mode ici USB, LSB, CW, AM (autres modes en cours de préparation)
  3. Un curseur horizontal correspondant au “RIT” (ou “clarifier”) pour ajuster le BFO en BLU,
  4. Une visualisation de la fréquence actuelle du RIT
  5. Un bouton de remise à zéro du RIT.

Partie basse :

controle

  1. Un bouton pour transférer la fréquence du récepteur A vers le récepteur B (A->B)
  2. Un bouton pour transférer la fréquence du récepteur B vers le récepteur A (B->A)
  3. Un bouton pour permuter A et B
  4. Un bouton “volume/balance” permettant de décider si l’on écoute A, B ou les 2 récepteurs en même temps,
  5. La possibilité d’enregistrer l’audio au format MP3 (pour le moment environ 1 méga octet par minute)
  6. La possibilité d’enregistrer les données RF de toute la bande captée (format propriétaire, voire docà venir)
  7. La possibilité de rejouer des données RF enregistrées au préalable avec le logiciel (uniquement).

Note concernant l’enregistrement :

  • Lors de l’enregistrement en mp3 : si vous avez deux récepteurs actifs (RX A et RXB), l’audio est en stéréo avec à droite RXA et à gauche RXB…
  • le format propriétaire intègre l’orientation de l’antenne, la position GPS, le gain du récepteur etc.

Autres onglets – aperçu des autres fonctions disponibles

Second récepteur:

gkSDR second récepteur

Scanneur automatique de la bande :

gkSDR le scanner

 Visualisation des réglages actuels (onglet “graphe”) :

graphe

Visualisation cartographique – relief :

gkSDR cartographie

Cette partie ne nécessite pas de connexion à internet mais suppose – pour l’affichage du plan – que la zone d’intérêt soit pré-chargée (mise en cache sur l’ordinateur). Le relief est calculé à partir de fichiers “modèle numérique de terrain” fournis avec le logiciel.

Le bandeau vertical à droite de l’écran permet de visualiser la position actuelle de votre antenne (voir doc). Cette orientation détermine la direction de calcul du relief.

ET SI VOUS UTILISEZ DEUX CLES SDR :

gkSDR mode S ADSB

Dans ce cas le décodeur ADSB – mode S – se met en service et affiche sur la carte la position en temps réel des avions décodés (petits points bleus).


Quel type de matériel SDR envisagez-vous d'utiliser avec gkSDR ?

  • RTLSDR (59%, 80 Votes)
  • hackRF (23%, 31 Votes)
  • FUNcube (20%, 27 Votes)
  • Airspy (8%, 11 Votes)
  • Autre ! (faites moi un mail...) (6%, 8 Votes)
  • Softrock (5%, 7 Votes)
  • PERSEUS (5%, 7 Votes)
  • BladeRF (4%, 5 Votes)
  • Transfox (4%, 5 Votes)
  • Elad (3%, 4 Votes)
  • QS1R (1%, 1 Votes)

Total Voters: 136

Loading ... Loading ...

 

INFORMATIONS LEGALES – COPYRIGHT

Ce logiciel a été développé à 100% par F4GKR – Sylvain AZARIAN. Certaines parties du programmes sont issues de projets Open Source existants.  Pour cette raison, le code source de mon programme sera rendu disponible intégralement très prochainement.

Je me suis inspiré en particulier de :

  • CuteSDR et gqRX pour l’affichage “chute d’eau” et le module de sélection de la fréquence,
  • RTL1090 pour le décodage ADSB
  • Des exemples d’OpenStreetMap pour la cartographie
  • Des examples de la librairie Lame pour l’encodage MP3
  • De la librairie LiquidDSP pour certains modules de calcul et de traitement du signal,

Le programme est donc accompagné d’un fichier “license.txt” que je reproduis ici:

+ + + This Software is released under the “Simplified BSD License” + + +
Copyright 2014 F4GKR Sylvain AZARIAN . All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are
permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of
conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list
of conditions and the following disclaimer in the documentation and/or other materials
provided with the distribution.

THIS SOFTWARE IS PROVIDED BY Sylvain AZARIAN F4GKR AS IS” AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Sylvain AZARIAN OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

The views and conclusions contained in the software and documentation are those of the
authors and should not be interpreted as representing official policies, either expressed
or implied, of Sylvain AZARIAN F4GKR.

Contact : sylvain<dot>azarian[at]gmail<dot>com

 

The following software have been my source of inspiration and are partially included in this work:
- CuteSDR from Moe Wheatley, thanks for his excellent documentation.
From his original code I reused the Fractional Resampler and the downconverter
The waterfall display + freq selection are those from gqrx because they contain lots of bug fixes and new features

- Map display from https://github.com/raptorswing
- ADSB decoding section with code portions from RTL1090
- XMLRPC server Copyright (c) 2007 Sebastian Wiedenroth <wiedi@frubar.net>

I hope I do not forgot anybody, if so let me know and please accept my apologizes !
73 de F4GKR