Applications en Radio Amateur
L’algèbre de Boole au service de la radio : circuits pratiques et projets DIY
La Logique dans nos Transceivers
Les circuits logiques sont omniprésents dans l’équipement radioamateur moderne. De la simple LED d’indication au microprocesseur qui gère tout le transceiver, l’algèbre de Boole est au cœur de nos stations !
- Contrôle PTT : Logique de commutation TX/RX
- Tonalités CTCSS/DCS : Encodage et décodage
- Afficheurs : Décodeurs 7 segments, LCD
- Interfaces CAT : Communication série
- Modes numériques : Traitement DSP, codage/décodage
- Relais : Logique de contrôle, identification
- Antennes : Commutation automatique
CTCSS (Continuous Tone-Coded Squelch System)
Le CTCSS utilise une tonalité sous-audio (67-254 Hz) pour filtrer les appels. Seuls les correspondants utilisant le même code peuvent ouvrir votre squelch.
Principe de fonctionnement
Génération de la tonalité
Un oscillateur numérique génère la fréquence sub-audio :
Divise une horloge de référence (ex: 1 MHz) pour obtenir la fréquence CTCSS
ROM ou RAM contenant les échantillons d’une sinusoïde
Convertit les échantillons numériques en signal analogique
Lisse le signal pour obtenir une sinusoïde propre
Table des fréquences CTCSS standard
| Code | Fréquence (Hz) | Code | Fréquence (Hz) | Code | Fréquence (Hz) |
|---|---|---|---|---|---|
| 01 | 67.0 | 11 | 97.4 | 21 | 136.5 |
| 02 | 71.9 | 12 | 100.0 | 22 | 141.3 |
| 03 | 74.4 | 13 | 103.5 | 23 | 146.2 |
| 04 | 77.0 | 14 | 107.2 | 24 | 151.4 |
| 05 | 79.7 | 15 | 110.9 | 25 | 156.7 |
… et 38 autres codes jusqu’à 254.1 Hz
Décodeur CTCSS
Méthode par filtre actif
Utilise des filtres passe-bande très sélectifs :
- Chaque fréquence CTCSS a son propre filtre
- Un comparateur détecte la présence du signal filtré
- Une porte AND combine la détection + signal RF pour ouvrir le squelch
Projet : Encodeur CTCSS Simple
Matériel nécessaire
- 1× NE555 ou ICM7555 (CMOS, moins de bruit)
- 1× Potentiomètre 10kΩ pour réglage fréquence
- 1× Condensateur 100nF
- 1× Condensateur 10µF
- Résistances diverses
- 1× Ampli op TL071 (buffer de sortie)
Remplacer le 555 par un microcontrôleur (Arduino, PIC) pour générer plusieurs fréquences CTCSS programmables avec une meilleure précision !
DCS (Digital-Coded Squelch)
Le DCS est l’équivalent numérique du CTCSS. Au lieu d’une tonalité, un code numérique de 23 bits est transmis en continu à 134.4 bits/s.
- Plus de codes disponibles (104 codes vs 50 CTCSS)
- Meilleure immunité aux interférences
- Pas d’impact sur la qualité audio
- Codage numérique plus robuste
Structure du code DCS
📊 Trame DCS
Le code est transmis en boucle :
Bit 0-11 : Code DCS (12 bits - ex: 023 = 000010011011) Bit 12-22 : Code inversé (pour vérification) Bit 23 : Bit de synchronisation
Débit : 134.4 bps → période d’un bit = 7.44 ms
Durée d’une trame complète : 23 bits × 7.44 ms ≈ 171 ms
Codes DCS standard
| Code | Valeur octale | Code | Valeur octale | Code | Valeur octale |
|---|---|---|---|---|---|
| D023 | 023 | D047 | 047 | D114 | 114 |
| D025 | 025 | D051 | 051 | D115 | 115 |
| D026 | 026 | D054 | 054 | D116 | 116 |
| D031 | 031 | D065 | 065 | D125 | 125 |
| D032 | 032 | D071 | 071 | D131 | 131 |
… et 99 autres codes
Implémentation
Circuit DCS
Encodeur :
- Registre à décalage 23 bits chargeant le code en boucle
- Horloge 134.4 Hz (compteur + oscillateur)
- Modulateur pour générer les bits 0/1
Décodeur :
- Détecteur de bits (comparateur + échantillonneur)
- Registre à décalage 23 bits pour recevoir la trame
- Comparateur numérique vérifiant le code attendu
- FSM pour synchronisation et validation
L’implémentation DCS nécessite un microcontrôleur ou un circuit dédié. Les CI spécialisés comme le TP3120 ou équivalents simplifient grandement la réalisation.
Logique de Contrôle de Relais
Un relais radioamateur est un système automatisé complexe nécessitant une logique de contrôle sophistiquée.
Fonctions logiques d’un relais
Gestion PTT
Détection de porteuse RF + CTCSS/DCS valide → activation émetteur
Time-Out Timer (TOT)
Compteur limitant la durée d’émission (ex: 3 minutes)
Tail (queue)
Maintien TX quelques secondes après relâchement PTT
Identification
Envoi automatique de l’indicatif en morse toutes les 10 minutes
Anti-kerchunk
Filtre les émissions trop courtes (<0.5s)
Courtesy Tone
Bip de fin de transmission signalant que le relais est libre
Exemple : Logique d’activation du relais
| Signal RF | CTCSS OK | TOT OK | Anti-kerchunk | TX activé |
|---|---|---|---|---|
| 0 | X | X | X | 0 |
| 1 | 0 | X | X | 0 |
| 1 | 1 | 0 | X | 0 |
| 1 | 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 | 1 |
Projet : Contrôleur de Relais Simple
Matériel nécessaire
- 1× Arduino Nano ou équivalent
- 1× Module décodeur CTCSS (ex: SA828 intégré)
- 1× Relais 12V pour commutation TX/RX
- 1× Transistor 2N2222 (driver relais)
- 1× Diode 1N4148 (protection)
- Résistances et condensateurs
Pseudo-code Arduino
// Entrées
#define PIN_COR 2 // Carrier Operated Relay (RF détecté)
#define PIN_CTCSS 3 // CTCSS décodé
#define PIN_PTT_OUT 4 // Commande PTT émetteur
// Temporisations
#define TOT_LIMIT 180000 // 3 minutes en ms
#define TAIL_TIME 3000 // 3 secondes
#define MIN_TIME 500 // Anti-kerchunk 0.5s
void loop() {
bool rf_present = digitalRead(PIN_COR);
bool ctcss_ok = digitalRead(PIN_CTCSS);
// Logique de contrôle
if (rf_present && ctcss_ok && !tot_exceeded && kerchunk_ok) {
digitalWrite(PIN_PTT_OUT, HIGH); // Active TX
// Gestion timers...
} else {
// Gestion tail...
digitalWrite(PIN_PTT_OUT, LOW); // Désactive TX
}
}
- Identification automatique en CW
- Courtesy tones multiples
- Télécommande DTMF
- Liaison Internet (EchoLink, IRLP)
- Enregistrement audio des QSO
Décodeur DTMF
Le DTMF (Dual-Tone Multi-Frequency) est utilisé pour la télécommande de relais, de stations, ou pour la numérotation.
Principe DTMF
Chaque touche génère deux fréquences simultanées :
| 1209 Hz | 1336 Hz | 1477 Hz | 1633 Hz | |
|---|---|---|---|---|
| 697 Hz | 1 | 2 | 3 | A |
| 770 Hz | 4 | 5 | 6 | B |
| 852 Hz | 7 | 8 | 9 | C |
| 941 Hz | * | 0 | # | D |
Exemple : Touche « 5 » = 770 Hz + 1336 Hz
Décodage DTMF
Méthodes de décodage
1. Circuit intégré dédié
Décodeur DTMF complet avec sortie 4 bits parallèle
2. Analyse par FFT (logiciel)
Transformée de Fourier pour détecter les fréquences présentes
3. Filtres Goertzel (DSP)
Algorithme optimisé pour détecter des fréquences spécifiques
Projet : Télécommande DTMF
Matériel nécessaire
- 1× MT8870 (décodeur DTMF)
- 1× Arduino Nano
- 1× Cristal 3.579545 MHz
- 1× Module relais 4 canaux
- Condensateurs et résistances
Fonctionnalités
- Code d’accès : 1234 pour déverrouiller
- Commandes :
- *1 : Activer sortie 1
- *2 : Activer sortie 2
- #1 : Désactiver sortie 1
- #0 : Tout désactiver
- Sécurité : Verrouillage après 3 échecs
Commutateur d’Antennes Automatique
Un commutateur d’antennes intelligent sélectionne automatiquement la meilleure antenne selon la bande.
Principe
- Détecter la bande utilisée (VHF, UHF, HF…)
- Utiliser un décodeur pour activer le relais d’antenne correspondant
- Assurer une seule antenne active à la fois
Logique de sélection
| Bande détectée | Code | Antenne activée |
|---|---|---|
| 144 MHz (2m) | 00 | ANT1 (VHF) |
| 432 MHz (70cm) | 01 | ANT2 (UHF) |
| 28 MHz (10m) | 10 | ANT3 (HF haute) |
| 7 MHz (40m) | 11 | ANT4 (HF basse) |
Implémentation
Utiliser un décodeur 2:4 (74139) :
- 2 bits d’entrée → sélection parmi 4 antennes
- Chaque sortie commande un relais RF
- Logique de verrouillage pour éviter deux antennes actives
Analyseur de Spectre Numérique (FFT)
L’analyse spectrale utilise la FFT (Fast Fourier Transform) pour afficher le spectre RF. C’est un exemple parfait d’application des mathématiques et de la logique numérique.
- Échantillonnage du signal RF (ADC)
- Stockage dans une mémoire tampon (registres)
- Calcul FFT par un processeur ou FPGA
- Affichage du spectre sur écran
Applications pratiques
- Panadapter : Visualiser l’activité autour de la fréquence
- Waterfall : Suivi temporel du spectre
- Détection signaux faibles : Modes numériques (FT8, WSPR)
- Analyse d’interférences
Contrôle Automatique de Gain (CAG/AGC)
Le CAG numérique utilise des circuits logiques pour maintenir un niveau de sortie constant malgré les variations du signal d’entrée.
Boucle de régulation
ADC mesure l’amplitude du signal RF
Comparateur numérique (soustracteur)
ALU ou microprocesseur
DAC + amplificateur à gain variable
- Réponse plus rapide et précise
- Paramètres programmables (temps d’attaque, de relâchement)
- Plusieurs modes (lent, rapide, adaptatif)
- Pas de dérive due aux composants analogiques
Modes Numériques : FT8, WSPR, PSK31
Les modes numériques modernes sont entièrement basés sur le traitement numérique du signal (DSP).
FT8
Traitement :
- Échantillonnage audio 12 kHz
- FFT pour détection des 8 tonalités
- Décodage FEC (Forward Error Correction)
- Synchronisation temporelle précise
WSPR
Traitement :
- 4 tonalités FSK espacées de 1.46 Hz
- Durée : 110.6 secondes
- Corrélation pour extraction sous le bruit
- Décodage jusqu’à -28 dB S/N
PSK31
Traitement :
- Modulation de phase (BPSK)
- Débit : 31.25 bauds
- Démodulateur cohérent
- Code Varicode pour compression
- ADC/DAC : Conversion audio ↔ numérique
- FFT : Analyse fréquentielle
- FIR/IIR : Filtres numériques
- Décodeurs FEC : Correction d’erreurs
- Corrélateurs : Synchronisation
- Mémoire : Buffer audio, tables de décision
Projet Final : Station de Relais Complète
Objectif
Réaliser un contrôleur de relais VHF complet avec toutes les fonctions modernes.
Liste du matériel
- 1× Arduino Mega 2560 (ou Teensy 4.0)
- 1× Module radio SA828 VHF (TX/RX intégré)
- 1× Décodeur DTMF MT8870
- 1× Ampli audio LM386
- 1× DAC MCP4725 (génération tonalités)
- 1× Écran LCD 20×4 I2C
- 1× Module RTC DS3231
- 1× Carte SD pour logging
- Relais, transistors, résistances, etc.
Fonctionnalités implémentées
Sécurité d’accès :
- CTCSS 88.5 Hz obligatoire
- Ou code DCS D023
- Ou code DTMF 1234#
Temporisations :
- TOT : 3 minutes
- Tail : 5 secondes
- Anti-kerchunk : 0.5 seconde
Identification :
- Automatique toutes les 10 minutes
- En CW (morse) : F4HXN/R
- Synthèse vocale optionnelle
Tonalités :
- Courtesy tone configurable
- Tonalité d’avertissement TOT
- Bips de statut
Télécommande DTMF :
- *00# : Statut vocal
- *01# : Température
- *02# : Tension batterie
- *99# : Redémarrage
Monitoring :
- Température interne
- Tension d’alimentation
- ROS de l’antenne
- Puissance TX
- Nombre de QSO
Enregistrement :
- Log des activations (SD card)
- Statistiques horaires/journalières
- Alertes système
Ressources et Références
📖 Documentation
- ARRL Handbook
- The Art of Electronics
- AN444 (Motorola CTCSS)
- Datasheets des CI
Sites web
- REF (réseau des émetteurs)
- ARRL.org
- QRZ.com
- GitHub (projets open source)
Logiciels
- WSJT-X (FT8, WSPR)
- Fldigi (modes numériques)
- Arduino IDE
- KiCad (conception PCB)
Formations
- Examen radioamateur
- Cours en ligne (Coursera)
- YouTube (tutoriels)
- Clubs locaux
Points à Retenir
- Le CTCSS utilise des tonalités sub-audio pour le squelch sélectif
- Le DCS est la version numérique avec 104 codes disponibles
- Les relais nécessitent une logique complexe (TOT, tail, identification)
- Le DTMF permet la télécommande par tonalités duales
- Le CAG numérique maintient un niveau audio constant
- Les modes numériques (FT8, WSPR) utilisent massivement le DSP
- Un microcontrôleur simplifie grandement les réalisations
- L’algèbre de Boole est omniprésente dans nos équipements radio
73 de F4HXN – Dernière fiche à venir ! 📡