Conception d'un récepteur SDR HF avec STM32H723 et ADC 16 bits
Le STM32H723ZGT6 permet de réaliser un récepteur SDR HF couvrant la plage 1–30 MHz en utilisant un mélangeur Tayloe. La sortie audio est fournie via le DAC interne 12 bits ou un flux I/Q vers un PC via UAC1. La carte PCB à quatre couches mesure 100×60 mm et dispose de broches MCU inutilisées reliées à des connecteurs PLS pour l'expansion.
Le circuit d'entrée utilise un détecteur Tayloe. Des variantes avec transformateurs et configurations équilibrées ont été testées—aucune différence de performance n'a été observée. Un design simple a été choisi, malgré une variation de sensibilité de 1–2 dB entre les bandes 160 m et 10 m.
Chemin analogique et filtrage
Les signaux de sortie du mélangeur sont amplifiés par des amplificateurs opérationnels instrumentaux pour supprimer le bruit en mode commun. L'étape suivante est un filtre passe-bas actif d'ordre 4 utilisant une topologie Sallen-Key avec des fréquences de coupure de 48 kHz ou 24 kHz.
La réponse en fréquence du LPF montre une atténuation suffisante aux bords de bande, mais un repliement dû à des signaux forts à ±25–30 kHz est observé. Pour un traitement près de la fréquence zéro, cela est acceptable.
Les signaux sont envoyés aux entrées ADC 16 bits du STM32H723ZGT6. Le mélangeur est cadencé par un Si5351 avec un facteur de multiplication de fréquence de 4.
Implémentation logicielle et interface
Le code est développé dans STM32CubeIDE en utilisant HAL, TinyUSB pour un périphérique USB composite (COM + audio), et CMSIS-DSP pour le traitement du signal. Les paramètres sont stockés dans une mémoire flash externe.
Le contrôle se fait via un encodeur avec bouton et trois boutons de fonction. L'affichage montre la fréquence, l'état AGC/NOTCH, le S-mètre, un spectre waterfall de ±24 kHz, et les limites de bande démodulée.
En mode USB avec un PC, le spectre est masqué et l'état est affiché. Les ADCs fonctionnent en mode canal indépendant double (ADC1/ADC2) déclenché par Timer 8 à 48 kHz. Le mode double a causé un miroitage du signal et n'a pas été utilisé.
- Corrections post-numérisation :
- Suppression du décalage DC.
- Calibration d'amplitude et de phase (coefficients par bande).
Les données I/Q vont dans un tampon circulaire : vers PC—UAC1 ; autonome—FFT pour waterfall, démodulation SSB/CW, AGC/NOTCH, DAC.
Le DAC (12 bits) est cadencé par le même Timer 8, tamponné par OPAMP1 + filtre passe-bas RC. Cela suffit pour la radio amateur HF et la radiodiffusion. Un PCM5102 externe (16–24 bits) a été testé pour une qualité améliorée.
Traitement numérique du signal
Le DSP a été exploré via une application C# pour analyser les I/Q de l'ADC ou des fichiers WAV, plus un générateur de signal I/Q de test.
Des extraits de code DSP sont disponibles sur le site web de l'auteur. Les projets futurs incluent l'optimisation et une section émettrice.
Points clés :
- L'ADC 16 bits du STM32H723 gère les I/Q en temps réel à 48 kHz.
- Mélangeur Tayloe + Si5351 minimise les coûts matériels.
- HAL + CMSIS-DSP accélèrent le développement sans perte de performance.
- Mode autonome avec FFT intégré, démodulation et DAC.
- USB UAC1 pour le transfert I/Q vers un PC sans pilotes supplémentaires.
— Editorial Team
Aucun commentaire pour le moment.