Mettre en place un grabber QRSS [FR]

Résumé : Cet article décrit l’aspect logiciel de la mise en place d’un grabber QRSS (analyseur spectral pour les émissions en morse à basse vitesse) permettant le partage des captures d’écrans sur Internet.

Summary : This article describes the software side of setting up a QRSS grabber (spectrum analyzer for low speed CW) and sharing screenshots over the Internet.

Révision : 1.0

Avant d’aborder la mise en place et la configuration de ce récepteur particulier, je rappellerais quelques éléments concernant les émissions à basse vitesse, leur champs d’applications et les réseaux d’utilisateurs de ce mode de transmission particulier. Le mot QRSS est empreint de QRS (Code Q : Transmettez plus lentement) et traduit donc une émission très basse vitesse utilisant le code morse. Ainsi, un point vaut plusieurs secondes (typiquement de 3 à 10 secondes). La lecture ne se fait plus additivement, mais visuellement à l’écran. Plutôt qu’une longue description, voici une capture d’écran d’un grabber QRSS.

Exemple d’émissions QRSS réalisées sur la bande des 30m. La capture originale est disponible ici. Une autre ici avec un rendu différent.

Il existe de nombreux grabbers disponibles et consultables sur Internet. Le site : i2NDT’s QRSS Knights – Grabber Compendium reprend sous la forme de planches contacts un bon nombre de ces grabbers. Mon grabber QRSS est quant à lui consultable ici (exemple ci-dessus).

Pour jouer avec ces émissions basses vitesses, il est nécessaire de traduire du morse, mais pas nécessairement de le connaître. En effet, les émissions sont réalisées sur plus minutes à plusieurs dizaines de minutes. Il ne faut donc pas être pressé, mais cette particularité est justement utilisée parce qu’elle permet une réception des signaux là ou une émission plus standard serait noyée dans le bruit. On laisse en effet plus de temps à l’ordinateur pour amasser des données et utiliser une FFT de plus grande taille. La résolution spectrale est donc augmentée et l’on peut descendre bien en dessous du hertz, ce qui se traduit par un niveau de bruit plus bas. Le signal intéressant –ressortira– donc mieux. Au delà de cette compréhension intuitive et si le sujet vous intéresse, une page complète et détaillée est disponible sur le site du radio club ON7YD : “Extreme narrow bandwidth techniques“.

Commençons par survoler le coté technique. Il existe un ribambelle de logiciels permettant de visualiser à l’écran un graphique spectral, aussi appelé sonogramme ou waterfall. Pour les plate-formes Windows, je nommerais par exemple Argo, QRSS VD, Spectran, et Spectrum Lab. QRSS VD est également disponible pour le système Linux, et de manière plus générale, pour tout les Unix. Ces systèmes d’exploitations disposent d’une certaine facilitée dans le chaînage des opérations et des programmes. Pour un utilisateur sachant utiliser les scripts, les graphiques générés sont aisément diffusable sur Internet.

Pour cet article, je détaillerais la mise en place d’un grabber pour les plate-forme Windows, ceci correspondant au cas de la plupart des radioamateurs utilisant un ordinateur. Spectrum Lab est le logiciel que j’ai choisi de vous présenter pour la réalisation de ces captures d’écrans. C’est un outil extraordinaire par les possibilités qu’il offre. De nombreuses options de configuration permettent de couvrir des besoins très différents et il intègre beaucoup de sous-modules. Le revers la médaille est sa complexité quelque peu effrayante lorsqu’on le lance pour la première fois…

Avant de poursuivre sur la configuration du logiciel, regardons la configuration matérielle adaptée à la situation.

La solution la plus simple consiste à utiliser un récepteur ou un transceiver commercial calé un poil en dessous de la fréquence à analyser et à repiquer la sortie audio vers l’entrée ligne du PC (LINE IN). Cette solution fonctionne parfaitement mais à l’inconvénient de monopoliser le transceiver. Un bon grabber est avant tout un système qui dispose d’une bonne qualité de service, et qui fonctionne donc en permanence. Il est par ailleurs intéressant d’amasser des statistiques sur de longues périodes. Plutôt que de mobiliser un matériel de plusieurs milliers d’euros (même amorti) en permanence, il peut-être intéressent de se tourner vers un petit kit à 10/15 euros et de le dédier à cette tache.

Contrairement à ce que l’on pourrait penser, les performances ne sont pas moindre. Le récepteur “SoftRock Lite” de Tony (KB9YIG) est devenu très populaire parmi les petits kits à monter. Il coûte effectivement 15 dollars, utilise le principe du double mélangeur simple en quadrature (un mixer de Tayloe pour être plus précis) et affiche des performances impressionnantes qui n’ont rien à envier aux matériels des constructeurs professionnels.

J’ai évoqué le SoftRock, mais il existe de nombreux récepteurs SDR IQ également excellents qui peuvent être utilisés. Je vais donc détailler ici une méthode pour les récepteurs SDR IQ mais également pour les gens qui souhaiteraient utiliser leur transceiver. Au niveau du logiciel, la différence de configuration est minime. Pour les récepteurs SDR IQ, il faut utiliser une FFT complexe (2 canaux audio utilisés, pour I et Q) et une FFT réelle pour le cas de transceivers à sortie audio monophonique. Je reviendrais sur tout ceci plus en avant de cet article.

Considérons donc un récepteur en place connecté à la carte son de l’ordinateur. Pour obtenir de bonnes performances de l’ensemble, il ne faut pas hésiter à utiliser une carte son de bonne facture. Les cartes son intégrées aux cartes mères sont à éviter. Une bonne solution consiste à utiliser une carte son externe, avec une connectivité USB ou FireWire. De cette façon, les composants de la carte son ne sont pas soumis à l’environnement électroniquement pollué qui règne à l’intérieur d’un boîtier d’ordinateur. Une alimentation stabilisée pourra aussi être utilisée dans ce cas de figure. Cela dit, il existe de très bonnes cartes son internes où les isolations et les découplages sont bien réalisés. J’utilise pour ma part une carte interne qui coûte dans les 100 euros et qui me donne entière satisfaction.

Pour les caractéristiques de la carte son, préférez une carte 24 bits avec un échantillonnage supérieur ou égal à 96kHz. Dans la réalité, les 24 bits ne sont bien entendu jamais atteint (20 bits dans le meilleur des cas) et un grand nombre de carte 24 bits se rapprochent plus de cartes 16 bits. De la même manière, les cartes 16 bits atteignent rarement les 16 bits… En quoi cette résolution est-elle utile ? On pense dans un premier temps à une meilleure sensibilité, mais avec une bonne conception, ça ne devrait pas être le cas. En effet, si le signal est trop faible à l’entrée du convertisseur analogique/numérique (ADC), il –suffit– de relever ce niveau a l’aide d’un amplificateur. Cette résolution numérique détermine avant tout la dynamique théorique du récepteur. Un convertisseur 12 bits peut prendre 4096 valeurs (2^12) soit 72 dB et un convertisseur 16 bit peut prendre 65536 valeurs, soit 96 dB. Avec un étage d’entrée bien adapté, une carte son de plus forte résolution permettra la réception de signaux faibles et de forts à la fois. Bien sur, je suis ici resté dans un cadre purement théorique, et les convertisseurs analogiques/numériques sont loin d’être idéaux, mais ces considérations sortent du cadre de cet article.

Passons à Spectrum Lab. Sa page dédiée issue du site de DL4YHF est consultable ici : Spectrum Lab. Le lien pour le téléchargement du binaire d’installation se trouve ici. Rien de particulier pour l’installation, c’est du standard.

Voici l’écran visible au lancement du logiciel, avec les paramètres par défaut :


Ecran au lancement de Spectrum Lab

Les heureux propriétaires de récepteurs IQ pourrons directement aller dans le menu “Quick Settings” puis dans “Image-cancelling DC receiver (IQ)“. Là, les deux premiers choix couvrent les besoins de la plupart des utilisateurs. Les possesseurs de cartes 196kBits pourrons utiliser les pleines possibilités de leurs carte dans un second temps (détail plus en avant de cet article). Ci dessous, une capture d’écran pour les menus en question :


Une macro de configuration bien pratique pour paramétrer une configuration SDR IQ

Pour donner des résultats optimaux, les récepteurs SDR IQ ont généralement besoin d’une correction de phase et d’amplitude entre les deux canaux. Nous verrons également ceci par la suite.

Spectrum Lab est assez permissif au niveaux des goûts et des couleurs,  un clic droit sur l’écran principal permet de paramétrer la vue principale. La plupart des grabbers utilisent un défilement horizontal. Vous pouvez dès à présent configurer cette option placée en défilement vertical par défaut. Profitez en pour supprimer la barre d’amplitude de droite et le graph tout en haut. Le graph du haut n’est en effet pas très utile pour un grabber car il ne donne qu’une information à un instant t, alors que le waterfall permet une visualisation temporelle. Autant gagner le la place pour la visualisation !


Sélection des options de configuration pour l’écran principal

Avec la configuration initiale, l’entrée audio devrait être activée ainsi que le waterfall. Si ce n’est pas le cas, il faudra aller faire un petit tour dans le menu “Start/Stop“. Si vous avez plusieurs cartes son, ce n’est peut-être pas la bonne qui sera sélectionnée par défaut. Il faudra alors la sélectionner manuellement en passant par le menu “Options” puis “Audio settings / IO device selection“. Et arrivé à ce point, on se rend bien compte de la ribambelle d’options et de possibilités qu’offre Spectrum Lab. Heureusement pour moi, je n’aurais pas à toutes les décrire pour ce cas d’application :)

Menu des options pour les entrées et sorties audio

Comme nous sommes dans les options, autant y rester et faire le tour. Sans quitter ce menu dédié à l’audio et aux entrées/sorties (“Audio IO“), on peut voir des champs intéressants à configurer sur le nombre de bits dans un échantillon (en vert sur la capture ci-dessus), la fréquence échantillonnage (en bleu) et la décimation. Les possesseurs de cartes 24bits 192kHz pourrons ici entrer leurs paramètres pour disposer à l’écran de toute la largeur spectrale utilisable et des pleines performances.

Pour un analyseur de spectre numérique, la fréquence maximale théorique pouvant être analysée est la fréquence de Nyquist, égale à la moitié de la fréquence d’échantionnage. Pour les récepteurs SDR IQ, la FFT est de type complexe et utilise deux canaux. Le résultat de la transformée pour deux canaux utilisant une une carte de 96kHz donne ainsi une bande passante visualisable de 96kHz (96 /2 * 2). A noter tout de même que l’ensemble de cette plage n’est pas exploitable (la partie centrale correspondant à la BF et les extrémités proches de la fréquence de Nyquist).

L’autre onglet très important pour notre application est celui de la FFT (juste à gauche de Audio I/O). C’est ici que l’on va pouvoir sélectionner la taille de la fenêtre : “FFT input size (lenght)” (en rouge sur la capture suivante). Le fait d’augmenter la taille de cette fenêtre aura pour conséquence de diminuer la vitesse de défilement à l’écran mais aussi d’augmenter la précision de l’analyseur de spectre. On peu ainsi descendre en dessous du hertz, ce qui peut-être utile pour aligner précisément deux fréquences d’horloge (article à ce sujet dans le REF du mois de novembre 2010). La bande passante de chaque –canaux– (bins) de la FFT étant restreinte, le niveau de bruit sera diminué en conséquence. (un très bon article de F6CRP est disponible ici : Quelques considérations sur la réception).

Menu des options concernant les paramètres de la FFT utilisée

Il est ici également possible d’effectuer une décimation (en jaune), ce qui peut-être utile pour réaliser des grabbers affichant de longues périodes (plusieurs heures) mais la conséquence directe sera la réduction de la bande passante par ce même facteur. A priori, on pourrait penser que ce n’est pas gênant, mais la réception des signaux pour un récepteur SDR IQ se fait généralement dans une zone favorable, et donc écartée de la zone centrale (la BF). Si la fréquence à recevoir se trouve exactement entre la fréquence centrale (fréquence de l’oscillateur) et le haut de la bande, la décimation par 2 n’est même pas envisageable. Il faudra donc réduire cet écart entre la fréquence centrale et la fréquence à recevoir (j’utilise habituellement un décalage de 15kHz).

Pour le coté droit (en violet), seule la partie haute concernant la réception nous intéresse. Elle permet de sélectionner l’utilisation d’un récepteur SDR IQ ou standard. Ce choix devrait en principe déjà être fait.

Continuons avec un onglet qui va fortement influencer le rendu visuel du grabber. C’est celui note “…(2)“.

Menu des options pour la gamme d’amplitude affichée

Je ne vais détailler que les deux premières lignes. Le champ “Range” va appliquer la palette visible à l’écran principal pour la gamme définie. Si cette gamme de couleur allait du noir au blanc pour ce cas de figures, les signaux plus fort que -90dB seront saturé en blanc uni. De la même façons, les signaux plus faibles de 140dB seront ignorés (et passé en noir).

Il est essentiel de bien calibrer cette gamme. Intuitivement, si l’on n’utilisait que les fonctionnalités de la palette de couleurs, ceci serait un résultat envisageable :

Ecran principal avec un réglage perfectible de la gamme de couleurs

On voit bien que la palette de couleurs est centrée sur une toute petite zone. Cette faible zone à transition rapide permet de discerner les signaux faibles à peine supérieurs au niveau de bruit. Mais utilisée de la sorte, cette palette est difficile à ajuster. C’est pourquoi il vaut mieux passer par ce menu pour définir une gamme et ainsi pouvoir utiliser toute la palette sans la compresser et la décaler.

Le paramètre juste en dessous sert à appliquer un offset. J’ai mesuré que mon SoftRock présentait un gain de 18dB à 20dB selon les bandes. Ici je soustrais donc le gain pour retomber la valeur réelle effectivement mesurée à la sortie de l’antenne.

Le tout premier onglet va permettre de configurer l’intervalle de temps dans lequel sera appliqué des repères chronologiques (en bleu). Définir cette valeur à 5 minutes est assez pratique et courant. En vert, c’est une option de rendu graphique. Plus la valeurs de l’overlap (chevauchement / recoupement) sera élevée, plus le graphique sera –étiré– temporellement (indépendamment de la taille de FFT appliquée). Les valeurs usuelles sont 50% et 75%.

Menu des options pour la configuration de certains aspects du rendu graphique

L’ongle “Memory” permet de gérer l’occupation des graphiques en mémoire. La valeur dans le cadre rouge référence le nombre de lignes que le logiciel retient en mémoire. On peut ainsi réaliser des agrandissements car l’intégralité des données est conservées. La contrepartie est que le programme utilise une place plus importante en mémoire. Il est donc sage de ne pas trop forcer sur cette valeur pour éviter des crashs dus à un débordement de mémoire. Pour un grabber bien calibré où l’utilisateur ne n’amuse pas à jouer avec le graphique, cette valeur peut-être placée au minimum (20).

Menu des options pour la gestion et la limitation de la mémoire

Le dernier point à aborder ne se situe plus dans les options, mais sur le panneau principal, en haut à droite. Il concerne entre autres la définition de la zone de fréquence à afficher. Il faut définir l’offset (noté : Offs) qui correspond à la fréquence centrale de votre récepteur SDR IQ ou la fréquence de dial si vous utiliser un transceiver. Pas besoin d’en dire beaucoup plus pour le Min et Max qui permettent de définir la zone à analyser. L’observation des grabbers existants montre une bande passante de 150 à 250Hz généralement utilisée. Cette tendance est à l’augmentation car il se vend pas mal de petits kits QRSS réalisé par différents amateurs (un article à ce sujet à été écrit par XV4TUJ dans Radioamateur Magazine N°22. Le site pour le kit de Hans Summers (G0UPL) est consultable ici. Il existe aussi d’autres kits chez GenesisRadio mais une grande partie des beacons QRSS sont des réalisations sont 100% amateur).

Paramétrage de l’offset à appliquer et de la zone à analyser

Petit complément pour les utilisateurs disposant d’un récepteur SDR IQ : Pour une utilisation optimum du système, il est souhaitable d’ajuster les paramètres de corrections de phase et d’amplitude. Ceci se fait dans le menu “Components“, “Show Components (circuits window)” à l’aide d’un clic droit sur la boite de l’ADC comme le montre l’illustration suivante :

Paramétrage des corrections d’amplitude et de phase pour les récepteurs SDR IQ

La détermination des ces paramètres de correction peut se faire manuellement ou par logiciel, en utilisant par exemple Rocky.

Il est possible de complexifier cette configuration pour faire fonctionner plusieurs grabbers simultanément avec des paramétrages temporels différents. Ceci permet de fournir en même temps un vue plus large, sur une dizaine d’heures par exemple. Les phénomènes de propagation apparaissent clairement et c’est intéressant à consulter. Une autre possibilité est de lancer parallèlement WSPR ou CwSkimmer. Je détaillerais ceci dans un complément pour une utilisation avancée.

Passé toutes ces configurations, le grabber devrait être en mesure d’afficher un résultat convenable. Il reste encore à réaliser des captures d’écrans et les diffuser sur Internet. Avec Spectrum Lab, il n’y a heureusement pas besoin d’utiliser un programme de screenshot externe. Tout est déjà intégré dans la boite :)

Le menu ci-dessous (accessible via “File”, “Screen Capture”) montre un lancement d’actions toute les 2 minutes. Le fichier est placé dans le répertoire “D:\QRSS” avec une qualité de compression de 80. Juste en dessous, une copie de ce même fichier est effectuée vers un répertoire de sauvegarde (vous pouvez passer ce détail).

Écran de configuration des actions périodiques

Il ne reste plus qu’à configurer les informations incrustées à l’écran. Une fois le screenshot arrivé sur Internet, ces informations pourraient bien être utile à quelqu’un qui chercherait, ne serait-ce que l’origine de cette capture.

Voici les options de configuration que j’utilise :

  • “QRSS grabber”
  • Votre Call
  • “QTH : Ville, Locator
  • “Antenna : ???
  • “Software : Spectrum Lab, DL4YHF”
  • “Date  : “+str(“YYYY-MM-DD”,now)+” “+str(“hh:mm”,now)
  • “Freq  : “+str(“00.000 000″,(water.f_offset+water.f_min)/1000000)+” – “+str(“00.000 000″,(water.f_offset+water.f_max)/1000000)+” MHz”
  • “Noise : “+str(“##0.0″,noise(water.f_offset+water.f_min,water.f_offset+water.f_max))+”dB, PeakAmpl=”+str(“##0.0″,peak_a(water.f_offset+water.f_min,water.f_offset+water.f_max))+”dB”

Configuration des options de légende

Une fois les actions périodiques activées via le menu “File“, “Periodic Actions…“, les captures d’écrans devraient être mises à jours automatiquement toutes les n minutes.

Il reste encore à les déposer sur votre page Internet. Comme toujours, il existe plusieurs solutions. Une fois l’image au format JPG générée, on peut demander à Spectrum Lab de lancer un programme de transfert FTP. Je n’ai pour ma part pas utilisé cette solution et j’ai préféré un programme externe qui vérifie toute éventuelle modification du document et qui réalise le transfert le cas échéant. Pour cela, j’ai utilisé le logiciel SyncBackSE. Je n’ai aucune action dans ce logiciel et bien d’autres pourraient également convenir. Le tout est de télécharger votre fichier image sur votre site/page Internet.

Et après ? Après, autant faire partager votre réalisation à la communauté.  Pour cela, vous pouvez vous inscrire à la liste de diffusion “KnightsQRSS” (en anglais) et vous présenter en donnant au passage l’URL de votre grabber (ou directement l’URL de l’image). Vous pouvez également écrire à I2NDT en lui demandant gentiment d’inclure votre grabber à sa page de planches contacts. Bien entendu, ne le faite que si vous avez l’intention de laisser votre grabber tourner un petit moment. Encore une fois, les meilleurs grabbers sont les plus stables ! (je ne suis donc pas un bon élève :)

Je vous souhaite bonne chance dans vos futures expérimentations QRSS. N’hésitez pas à faire des reports avec vos captures d’écrans, elles seront toujours très appréciées. Plus généralement, cette petite communauté est très sympathique, disponible et motivée. J’en profite ici pour tous les remercier !

Leave a Reply

Merci de remplir le Catcha ci-dessous pour prouver que vous êtes humain / Prove you are human by reading this resistor:
0Ω+/- 5%

0
0
1
2
3
4
5
6
7
8
9

0
0
1
2
3
4
5
6
7
8
9

0
0
1
2
3
4
5
6
7
8
9

5
5
10
20

Faites correspondre chaque glissière aux couleurs de la résistance. Une fois validé correctement, votre commentaire sera publié immédiatement. Si vous ne voyez pas les glissières, vérifier que JavaScript est bien activé sur votre navigateur. Ce système est un anti-spam / anti-bot, merci de votre compréhension.

Cliquer ici pour un autre résistance.

Si vous souhaitez en savoir plus sur les résistances et le code des couleurs, consulter la page Wiki ici.