Posts Tagged “Spectrum”

Il y a environ une semaine, des signaux étranges et inhabituels sont apparus sur les grabbers QRSS d’Europe et d’Amérique du nord. Ces signaux ont bien vite été identifiés sur la liste de diffusion spécialisée “KnightsQRSS” comme étant des codes barres 2D. Laurent (F1JKJ) aura d’ailleurs été le premier à reconnaître un QR code.

Les QRcodes sont notamment utilisés par certains transporteurs et ils sont apposés sur les étiquettes de nos colis. Plus récemment, une autre application est apparue. Les téléphones portables, devenus de véritables ordinateurs de poche et doté d’appareil photo sont en mesure de décoder une image comprenant un QRcode pour en délivrer le message. On peu ainsi inclure une adresse email ou l’adresse d’un site Web sur une carte de visite ou sur une page publicitaire.

Et bien voila qu’un QRcode arrive sur la bande des 40m et des 30m le week-end du 6-7 novembre 2010.

Voila l’un des QRcode qui à été relevé sur la bande des 40m. Il mesure 100Hz de haut.

Certains amateurs intriqués ont creusé le sujet sur la liste de diffusion et le secret du code à finalement été percé. Pour la résolution de ce mystère, je n’y suis absolument pour rien, je m’en suis même bien gardé, et pour cause, je suis à l’origine de cette petite énigme :)

Revenons un peu plus en arrière… Alors que je regardais une douchette de lecture de code barre à mon travail, il m’est venu à l’idée de transmettre autre chose que des signaux habituels QRSS FSKCW ou DFCW. La question était de savoir si quelqu’un serait en mesure de le déchiffrer une telle transmission inhabituelle. Aussi, j’ai entamé un paquet de tests et de simulations pour savoir dans quelle mesure le décodage était possible.


Première capture de mon émission ! On voit que l’émission monte légèrement car le petit SoftRock n’était pas encore chaud. L’offset ne dépasse néanmoins pas 5 Hz. A noter également le QRM généré. Mon émission sera alors décalée vers le haut (cf. capture ci-dessous)


Le grabber de G6AVK, sur lequel apparaît d’excellents contrastes. Mon émission est ici décalée vers le haut pour ne pas perturber l’émission QRSS en cours.

La famille des codes barres 2D est assez nombreuse et je me suis amusé à en tester une bonne partie via ce site : Online Barcode Generator. J’ai également testé des codes barres 1D dont le célèbre code 39 très présent en Europe et que l’on retrouve sur tout les paquets des produits disponibles dans nos supermarchés. Mais après quelques tests, il s’est avéré que cet encodage n’est pas utilisable et il me fallait par ailleurs une correction d’erreur robuste pour résister aux aléas de la propagation et du QRN. Parmi les codes 2D comme Aztec, MaxiCode, QRcode et Data Matrix, le QRcode est un de ceux les plus connus mais également facilement identifiable. Les 3 carrés sont assez caractéristiques et ce code dispose d’un correction d’erreur intéressante et configurable. Je me suis donc focalisé sur ce code avec un facteur de correction d’erreur de 25% et j’ai réalisé des simulations.

Image originale du QRcode passé à SpectrumLab pour l’émission. A noter que l’image est inversée, le blanc correspondant à la trace qui sera laissée.


Les résultats de l’analyse FFT par SpectrumLab, sur le principe, cela marche parfaitement bien. En pratique, les lignes verticales contenant moins de surface seront transmises avec plus de puissance… (logique)

Il apparaît vite qu’un traitement de l’image est nécessaire (inversion, contraste, conversion bitmap) pour permettre un décodage. Il apparaît aussi que les douchettes professionnelles sont plus tolérantes que les applications pour téléphones portables ou les sharewares disponibles sur Internet. Il  faut dire que ces applications n’ont pas été conçues pour lire et décoder des codes bruités.

Tout ces tests étant terminés, j’ai alors lancé mon émission sur la bande des 40m puis sur la bande des 30m, à raison d’une activité RX/TX de 50%. Le transceiver utilisé était un SoftRock RXTX v6.3, ajusté à une puissance de sortie de 550 mW. L’occupation spectrale était de 80 Hz et de 100Hz pour les deux QRcodes envoyés.

Les deux messages contenus étaient : “WELL DONE / F4GKA QSL PSE 73″ et ” F4GKA QSL PSE 73″.

J’ai suivi avec grande attention tout les messages échangés sur la liste de diffusion et j’ai bien cru que mon message tomberait à l’abandon. Heureusement, plusieurs participants ont relancé le débat (Merci Peter, Bill & William). J’ai également constaté que mon émission n’était pas toujours la bienvenue. En effet, avec mon graphique relativement large (80 et 100Hz), j’ai occupé une bonne place sur les grabbers Européen et j’ai certainement parasité quelques émissions QRSS de très faible intensité. Aussi, j’ai présenté mes excuses aux personnes concernées sur la liste de diffusion. Ceci dit, pour mener à bien ce petit challenge, il aurait été difficile de faire autrement.

Pour conclure, je suis bien content que la solution ait été trouvée et que ce challenge ait été bien accueilli. Je ne renouvellerais cependant pas cet expérience car l’identification étant faite, cela n’aurait plus d’intérêt (ni même un autre code d’ailleurs) et il faut bien rendre les grabber QRSS à leurs utilisateurs :)

Je termine avec un lien portant sur le blog de l’auteur de la réponse. Il s’agit de Scott, AJ4VD qui accuse réception du message sous l’indicatif du radio club W4DFU, et c’est tout à son honneur. Son analyse est consultable ici : Deciphering QR code from Radio Spectrograph.

Encore merci à tous les contributeurs pour ce travail d’équipe !

Comments 3 Comments »

80m radio amateur band green cw matrixGreen

Analyse spectrale d’une partie de la bande des 80 mètres (zone du CW)

Ce samedi 11 juillet 2009, les bandes CW étaient bien blindées à l’occasion du concours d’été IARU pour les bandes HF, en CW et SSB.

J’avais justement reçu mon petit kit SoftRock Lite II 80m et j’ai passé la soirée à l’assembler. Pour faire court, c’est un petit récepteur radio minimaliste reposant sur les principes de la SDR (Software Defined Radio [link]). Il n’y a aucun variateur ni réglage possible sur la platine car le petit récepteur utilise le PC pour faire le gros du travail. C’est donc la carte son qui récupère environ 100kHz de bande passante. La plupart des logiciels font une analyse spectrale, l’affichent sous la forme de sonogramme, et il suffit à l’utilisateur de sélectionner la portion qui l’intéresse.

Le circuit du SoftRock en lui même contient un peu de CMS (composant monté en surface) mais le pas n’est pas trop petit et c’est encore largement jouable avec un petit fer à souder. Pair ailleurs, le site dispense de bons conseils et la documentation est excellente ! Super boulot des auteurs pour ce petit kit avec des heures d’amusement (Les kits sont en vente à cette adresse pour une dizaine de dollars).

Sans une bonne antenne, même le meilleur des récepteurs ne peut pas s’exprimer. C’est un peu comme pour la photo, où il faut une bonne optique. Pour l’importance de ces deux composants, on entend souvent 50 / 50, pour ma part je suis loin du compte car j’ai du m’improviser une antenne. J’ai (lamentablement) tendu un câble téléphonique de 20 mètres vers le fond du jardin, et raccordé la masse au radiateur (oui je sais, c’est -mal-, mais bon, c’est de la réception et c’est temporaire). L’antenne est donc non accordée, et loin d’être idéale. Mais comme témoignent les photos, c’est un minimum suffisant pour capter des émissions dans toute l’europe !
Note après coup: Pour le 50/50, sur le plan financier, je dois pas être loin car le prix du câble doit globalement être le même que le récepteur  :)

J’ai testé toute une ribambelle de logiciel qui permettent d’explorer et de décoder tout un petit monde. Bien entendu, le choix d’un logiciel dépend de ce que l’on veut faire, pour ma part et dans le cas présent, c’était l’écoute et le décodage du morse (hé oui, je ne le traduit pas à l’oreille, j’en suis encore à l’apprentissage, à 7 lettres pour être exact…).

CwSkimmer est le logiciel qui va bien pour scanner un large spectre et décoder plusieurs conversations CW. Mon viel Athlon 4200 XP à été mis à genoux par ce petit shareware qui essayait de décoder l’ensemble des échanges du contest.

cwSkimmer workingCwSkimmer en plein travail, sur la bande des 80m surchargée par le contest. [Autre exemple]

Le décodage n’est pas parfait, mais je pense que c’est un outil plus qu’utile pour les pro du contest chassant les coefficients multiplicateurs (cf. règles des contests).

Le succès du montage SoftRock lui a valu un bon paquet d’adaptations de programmes existants pour la compatibilité et de programmes dédiés. Dans les programmes gratuits on peut citer Rocky, fait par l’auteur de CwSkimmer.

Rocky en action, sur la bande des 80 mètres, segment du CW

Rocky en action, sur la bande des 80 mètres, segment du CW [autre exemple]

Spectrum Lab est un autre programme gratuit assez complet pour celui qui cherche un analyseur de spectre. On peut même customiser les couleurs du spectre, et pour le coup, je me suis gavé et j’ai pris une bonne tripotée de screenshots :

!!! ATTENTION !!!
Pour les connaisseurs, une partie des images ont été prisent avec une inversion de I/Q (entrée stéréo inversée), ce qui fait que le spectre est inversé autour de 3.515 MHz et on peut donc -voir- des émissions en dessous de 3.5 MHz. Réellement, il n’y a pas d’émission sous les 3.5, c’est juste que j’ai connecté les pinoches à l’envers :)

SpectrumLab working decoding - Palette Sunrise - CWPalette Sunrise [autre image, et encore ]

SpectrumLab - Palette Black&White - CWPalette Noir et blanc [autre exemples ici, ici, ici, ici (zoom), ici (FFT plus petite) et ici]

Et aussi à la pelle :

Finalement, vers la fin du contest, on peut voir que la bande est redevenue plus calme (les gens sont fatigués ? :)

Rocky working, sunday, SDREt après 12h00 GMT, c’est carrément la zone. Circuler, y rien a voir (fin du contest).

afterContest Rocky in actionEn bonus de fin, le spectre sans antenne, pour voir les zones constantes puis le spectre avec une entrée numérique de ligne nulle ]. Le système (SoftRock ou carte son) n’est pas insensible aux perturbation du PC car on peut voir des modifications du tracé en bougeant la souris [ici].

Vala vala, petit montage sympa, avec des conditions idéales (le contest) pour le tester !

Comments No Comments »