Depuis l'annonce du HackRF Pro comme successeur du HackRF One, j'étais curieux de découvrir ses nouveautés. Ces deux radios définies par logiciel peuvent recevoir et émettre jusqu'à 6 GHz avec un taux d'échantillonnage IQ de 20 MHz, ce qui permet de transmettre en continu une bande de 20 MHz.

Améliorations

Par rapport au HackRF One, le HackRF Pro offre une plage de fréquences plus étendue, de meilleures performances RF telles qu'une courbe de transmission plus plate et moins de signaux fantômes grâce à des blindages internes. La précision de la fréquence a également été améliorée grâce à un TCXO. En outre, il est possible d'échantillonner des signaux avec une bande passante de 40 MHz à demi-résolution, ou avec une résolution plus élevée de 16 bits et une bande passante plus étroite.

Il n'existe pas encore de prise en charge logicielle spécifique pour le HackRF Pro. Il doit être initialisé comme un HackRF One. Les deux appareils sont compatibles et tout ce que vous avez déjà développé pour le One fonctionne également sur le Pro.

Pour les premiers comparaisons des deux appareils, je les ai d'abord utilisés avec les mêmes réglages dans SDR Sharp, sans antenne. Le One affiche plusieurs signaux fantômes dans une bande de 10 MHz, ainsi qu'au centre le soi-disant DC spike, un porteuse correspondant au produit de mélange à 0 Hz. Le bruit augmente nettement aux deux extrémités.

 

Le HackRF One de 0 MHz à 10 MHz

Le Pro s'en sort beaucoup mieux lors de ce test, et la promesse n'a pas été exagérée. Le DC spike a complètement disparu. Le bruit aux extrémités est moins prononcé, de sorte qu'il est désormais possible de travailler assez bien à partir de 100 kHz, voire en dessous. Et il n'y a presque plus de porteuses fantômes. Seule une forte porteuse est visible à 10 MHz. Dans toutes les bandes supérieures, on bénéficie d'un calme et d'une courbe de réponse très réguliers.

Le HackRF Pro de 0 MHz à 10 MHz

Un test a ensuite été réalisé avec une antenne extérieure de 20 m de long. Pour éviter la surcharge, le gain a été limité à 24 dB. Les deux appareils permettent de distinguer les bandes de radiodiffusion et un signal CW puissant dans la bande des 40 m des radioamateurs.

Le HackRF One sur l'antenne

Les porteuses fantômes et le DC spike sont clairement visibles sur le One au milieu des signaux utiles, mais pas sur le Pro. Il est frappant de constater que le Pro affiche les signaux utiles en moyenne environ 5 dB plus faibles avec les mêmes réglages. Cela pourrait être dû au circuit de protection amélioré contre les impulsions de tension à l'entrée. Si nécessaire, il est possible d'augmenter le gain pour compenser cela. Un réglage de gain légèrement différent est optimal dans chaque cas, un gain trop élevé se traduisant par une augmentation notable des produits de mélange. Dans l'ensemble, les deux appareils sont étonnamment résistants à la surcharge, surtout si l'on considère qu'une longue antenne sans présélection a été connectée.

Le HackRF Pro sur l'antenne

Signaux dans la gamme GHz

Même si je préfère les ondes courtes, j'ai bien sûr examiné d'autres bandes. Il est intéressant de voir quels appareils se trouvent sur quelles fréquences. J'ai cherché en vain un babyphone sur les fréquences habituelles, pour découvrir qu'il fonctionnait à 1,8 GHz selon la norme DECT. Un talkie-walkie pour enfants est apparu à 2,4 GHz, plus précisément à 2475 MHz. La transmission par blocs de données espacés d'environ 1 ms était également intéressante. Le spectre laissait supposer qu'une simple FSK était utilisée, comme pour les téléscripteurs depuis des temps immémoriaux, mais avec un débit de transmission nettement plus élevé.

Le talkie-walkie à 2,4 GHz

Le spectre de l'émission dans SDR Sharp

GNU Radio

Rien qu'en utilisant SDR Sharp, on peut surfer indéfiniment sur les ondes et voir ce qu'il y a à découvrir. C'est encore plus passionnant lorsqu'on développe son propre logiciel et qu'on explore notamment les possibilités d'émission.

Le paquet logiciel libre GNU Radio est idéal à cet effet. Pendant longtemps, je n'ai pas osé m'y aventurer, pensant que ce n'était réservé qu'aux spécialistes des logiciels expérimentés sous Linux. Mais j'ai réalisé qu'il fonctionnait aussi sous Windows. Le mot magique est RadioConda, et ce paquet est disponible pour Windows, Linux et macOS.

Les composants de RadioConda

Le paquet est très complet et nécessite un certain temps d'installation. Avec l'invite RadioConda, vous pouvez ensuite envoyer des commandes directes au HackRF. Gqrx est un logiciel de réception, tandis que GNU Radio Companion est l'interface graphique de GNU Radio.

Génération de signaux SSB

Le HackRF Pro s'est déjà avéré utile en tant que récepteur, le plus souvent avec SDR Sharp. Mais l'appareil peut aussi émettre, et la SSB est la priorité absolue. Dans GNU Radio, vous utilisez des blocs prêts à l'emploi, que vous connectez et paramétrez. Le projet est ensuite compilé en un programme Python qui est exécuté. Pour commencer, j'ai suivi ce cours.

Génération SSB avec la transformation de Hilbert

Après de nombreux autres exercices, j'ai tenté une première expérience sur le thème de la SSB. J'utilise deux blocs de type Signal Source, tous deux générateurs de sinus. Le bloc supérieur génère la fréquence porteuse de 10 kHz sous forme de signal complexe (couleur du signal bleu) composé de deux signaux (I et Q) avec un décalage de phase de 90 degrés. Le bloc inférieur fournit la fréquence de modulation de 1 kHz et représente le futur signal du microphone. Ce signal est de type float et est composé de nombres réels compris entre -1 et 1.

Le signal de modulation passe par une transformation de Hilbert. Cela permet de générer les signaux IQ complexes, chaque fréquence étant décalée de 90 degrés en phase. C'est ce que j'avais essayé de faire avec un réseau de déphaseurs RC pour la génération de SSB, mais c'est beaucoup plus précis car cela repose sur des calculs mathématiques.

Les deux signaux complexes sont ensuite multipliés, échantillon par échantillon, à la fréquence d'horloge commune de 32 kHz. Cela permet de créer un mélangeur, ou plus précisément deux mélangeurs pour I et Q. Le signal IQ-SSB fini devrait être créé à ce moment-là. Pour le voir, j'utilise le QT GUI Frequency Sink, qui est essentiellement une FFT avec une sortie graphique.

Le spectre du signal généré

Et en effet, à 11 kHz, je vois le signal dans la bande latérale supérieure, la porteuse à 10 kHz a complètement disparu et la bande latérale inférieure est atténuée de près de 100 dB. Je n'aurais jamais pu obtenir une telle précision avec du matériel. La prochaine étape consiste à utiliser un vrai microphone et un émetteur dans la bande des 20 m.

Émetteur SSB pour 14,150 MHz

Pour la sortie, j'utilise le bloc Osmocom Sink, un récepteur de données qui envoie mes données de fréquence intermédiaire avec une bande passante de 4 MHz au HackRF Pro via USB. Le signal est ensuite mélangé à 12 MHz. Ma FI est de 2,15 MHz, de sorte que mon signal USB devrait apparaître à 14150 kHz.

Les choses se compliquent un peu car je dois maintenant travailler avec deux taux d'échantillonnage différents. Je demande à la carte son un taux de 8 kHz. Ensuite, il y a un bloc de filtrage pour la bande de 300 Hz à 3 kHz. Ensuite, il y a la transformation de Hilbert et la sortie FFT pour le contrôle.

Avec le bloc Rational Resampler, je convertis le taux d'échantillonnage de 8 kHz à 4 MHz en interpolant 500 valeurs à la fois. C'est la seule façon de faire fonctionner le mélangeur (multiplication) avec le signal porteur FI de 2,15 MHz. À la sortie du bloc Multiply, le signal SSB fini se trouve à 2150 kHz et peut être transmis au HackRF Pro. L'affichage FFT confirme qu'un bon signal SSB a été généré dans la bande latérale supérieure.

Cependant, cela ne signifie pas encore que j'ai trouvé les meilleurs réglages. Avec plus d'expérience, certains paramètres seront encore modifiés.

Le signal SSB généré dans la bande latérale supérieure

Le signal d'antenne a été reçu avec le bouclier Elektor SDR et SDR#. Je peux bien m'entendre car le signal semble retardé d'environ une seconde à travers tous les tampons et étapes de traitement. Je ne sais pas encore si cela peut être amélioré. Mais je connais ce phénomène en radioamateur. En mode numérique, le temps de réaction est toujours plus long lors du passage de la réception à l'émission.

Sinon, le signal est très bon et le son est parfait. Il faudrait peut-être encore construire quelque chose pour optimiser le niveau du microphone avec un ALC.

Le signal reçu

Émetteur AM avec GNU Radio

Il s'agit de ce vieux poste à tubes. Je voulais programmer un émetteur AM avec le HackRF Pro et utiliser mon propre programme pour transmettre sur les ondes moyennes et courtes. J'utilise l'entrée microphone du PC comme source de modulation. Vous pouvez y connecter un microphone ou une autre source. Pour les tests, j'ai d'abord utilisé la sortie casque d'un radio FM portable.

Le poste à tubes utilisé

Le bloc Audio Source récupère les données de la carte son. Cette fois, j'utilise un taux d'échantillonnage de 20 kHz, qui est fixé dans la variable samp_rate_AF. Le programme utilise un second taux d'échantillonnage samp_rate = 4 MHz pour la transmission des données au HackRF Pro. Dans Osmocom Sink, la fréquence de sortie est fixée. Cela fonctionne à partir de 500 kHz, mais ici, la fréquence ISM de 6,78 MHz a été choisie, qui est autorisée pour ce type d'expériences scientifiques. On entend parfois des émetteurs pirates engagés dans cette bande, mais ici, on travaille sans amplificateur de puissance.

Les essais ont montré que la bande passante limitée du poste à tubes donne un son étouffé lorsque toutes les basses sont transmises à fond. Le spectre d'entrée a donc été limité à la bande de 200 Hz à 4,5 kHz. Pour le filtre passe-bande, la pente a été réglée sur 200 Hz. Cela permet d'obtenir un son de modulation équilibré.

Une composante de tension continue de 0,5 doit maintenant être ajoutée au signal AF, ce qui forme la porteuse. Lorsque le signal de modulation atteint 0,5 en crête, l'émetteur est complètement modulé. Je règle le niveau approprié sur le contrôleur de volume de la source audio. Enfin, le VB Virtual Audio Cable a été utilisé, de sorte que les fichiers audio peuvent être transmis directement depuis le PC. Pour le traitement ultérieur, le signal doit passer par la conversion de type Float to Complex. Ensuite, il y a le Rational Resampler, qui crée 200 nouveaux échantillons à partir de chaque échantillon AF par interpolation, afin d'atteindre le taux d'échantillonnage HF de 4 MHz.

L'émetteur AM pour 6,78 MHz

Lorsque le signal est transmis au HackRF Pro, la fréquence d'émission et le gain sont réglés. IF Gain va jusqu'à 47 dB. Ici, 20 dB ont été réglés, ce qui convient pour une connexion à l'entrée d'antenne du poste à tubes. RF Gain concerne l'amplificateur TX commutable, qui ne peut en fait fournir qu'un gain constant. À 0 dB, il est désactivé.

Avec le vieux poste àtubes, on pouvait toujours entendre des stations lointaines sur les ondes courtes. Les stations les plus intéressantes se trouvent désormais sur la FM ou sur Internet. J'aime écouter les stations d'Afrique sur Internet. Maintenant, c'est aussi possible avec le poste à tubes nostalgique et son son merveilleux.

Jusqu'à présent, seule une petite partie des innombrables applications du HackRF Pro a été testée. De nombreuses expériences et développements passionnants sont encore à venir. Mais une chose est déjà claire : le HackRF Pro représente une amélioration significative par rapport à son prédécesseur dans de nombreuses applications. L'attente en valait la peine : le HackRF Pro est une évolution réussie.