Présentation

La clé de changement de fréquence (FSK) demeure l'un des systèmes de modulation numérique les plus accessibles pour les cours d'introduction aux communications. Sa simplicité – représentant les données binaires comme deux fréquences porteuses distinctes – la rend idéale pour l'apprentissage pratique, mais les équipements de test commerciaux FSK portent souvent des étiquettes de prix qui imposent des budgets éducatifs. La conception de modules FSK rentables spécifiquement pour la classe permet aux étudiants de construire, tester et déboguer des systèmes de modulation réels à partir de zéro.

Principes fondamentaux de la modulation de la FSK

Binaire et Mary FSK

Dans le FSK binaire (BFSK), une logique 0 est attribuée à une fréquence porteuse (souvent appelée la fréquence ]] et une logique 1 à une autre ([. La différence entre ces deux fréquences doit être suffisamment grande pour être distinguée de façon fiable par un démodulateur.

Indice de largeur de bande et de modulation

Si l'écart de fréquence est faible par rapport au débit binaire, le spectre ressemble à un FSK en phase continue (CPFSK) de forme gaussienne. Les écarts plus importants produisent des lignes spectrales distinctes aux fréquences de marque et d'espace. Un indice de modulation (souvent exprimé sous h = écart ÷ débit binaire) d'environ 0,5 donne un réglage de changement de cap minimal (MSK), qui est une forme efficace spéciale de FSK. Les étudiants peuvent observer ces compromis en ajustant les composantes oscillatrices et le taux de données.

Avantages pour l'éducation

  • Routesse sonore: FSK est moins sensible au bruit d'amplitude qu'ASK, ce qui le rend pardonné lors du prototypage précoce.
  • Matériel simple:[ Un modulateur FSK de base peut être construit avec un oscillateur unique et un élément de commutation (par exemple, un transistor ou un commutateur analogique).
  • Démodulation rapide avant :[ À l'aide d'une boucle verrouillée par phase ou de filtres assortis, les étudiants peuvent récupérer les données originales sans FSD complexe.

Principales considérations de conception pour les modules éducatifs

Simplicité et nombre de pièces basses

Chaque composant supplémentaire augmente le coût, le temps de montage et les points de défaillance potentiels. S'efforcer de créer un circuit qui utilise moins de dix composants passifs plus le microcontrôleur. Éviter les modulateurs intégrés coûteux; mettre en place un changement de fréquence directement dans le firmware.

Sécurité et réutilisabilité

Tous les modules doivent fonctionner à basse tension (3,3 V à 5 V) et consommer un courant minimal pour permettre une utilisation sûre dans les laboratoires surpeuplés. Utilisez des alimentations USB ou des batteries standard. Concevez le tableau avec des points d'essai et des en-têtes de saut afin que les étudiants puissent reconfigurer les paramètres – comme l'échange de condensateurs pour changer de fréquence – sans soudure.

Modularité pour l'expansion

Séparer physiquement le modulateur du démodulateur, ce qui permet aux élèves de mélanger et d'allumer les conceptions et d'insérer un canal de transmission (par exemple un simple fil, un câble audio ou même une courte liaison radio) pour étudier les effets des canaux.

Sélection des composantes et stratégies d'économie

Microcontrôleur : Le cœur du modulateur

Les microcontrôleurs à faible coût, comme les Arduino Nano (ATmega328P) ou ESP32-C3 fournissent des sorties PWM ou DAC capables de générer des signaux FSK de fréquence audio. La plateforme Arduino bénéficie de vastes bibliothèques communautaires, dont tone() pour la génération d'ondes carrées.

Oscillateurs: RC ou cristal?

Pour les oscillateurs RC fonctionnant en dessous de 20 kHz (autonomie sonore), les oscillateurs RC construits avec un oscillateur 555 minuteur ou simple oscillateur de relaxation op-amp sont suffisants et coûtent des sous. Pour les fréquences plus élevées (p. ex., 100 kHz à 1 MHz), les résonateurs céramiques à bas coût ou les cristaux de quartz fournissent des fréquences stables. Un truc astucieux est d'utiliser un oscillateur à cristaux simples et de diviser sa sortie avec un compteur pour obtenir deux fréquences connexes – puis de les commuter avec un multiplexeur.Cette méthode assure que les deux fréquences maintiennent un rapport fixe, simplifiant la démodulation. Electronics Tutorials offre une explication claire des circuits oscillateurs de cristaux.

Filtrage et conditionnement des signaux

Un filtre à touches de deuxième ordre, construit à partir d'un op-amp (LM358), deux résistances et deux condensateurs coûte moins de 1 $. On peut aussi demander à un filtre RC passif de calculer la fréquence de coupure en fonction de la fréquence de portance la plus élevée et d'observer la sortie filtrée sur un oscilloscope USB bon marché (p. ex. ADALM2000 ou une interface de carte son).

Alimentation électrique

L'alimentation USB (5 V) est omniprésente et sûre. Un simple adaptateur USB-to-readboard élimine la nécessité d'une alimentation dédiée. Si le fonctionnement de la batterie est souhaité pour des démonstrations portables, une batterie 9 V avec régulateur 7805 fonctionne, mais un pack Li-ion 2 cellules avec convertisseur de boost est plus efficace.

Processus de conception étape par étape

Définir les exigences

  • Taux de données: 300 bps à 1200 bps (commun pour les démonstrations éducatives).
  • Frequences du transporteur:[ 1200 Hz (marque) et 2200 Hz (espace) pour une FSK compatible Bell 202, ou 1070 Hz / 1270 Hz pour une compatibilité de modem 300-baud.
  • Étendue de sortie:[ 0 à 5 V de pointe à pointe (niveau TTL ou niveau ligne pour l'entrée audio sur un PC).
  • Source de puissance: 5 V USB.

Sélectionner les composants

Selon les exigences, choisissez un microcontrôleur (Arduino Nano), un oscillateur RC (NE555) pour la génération de porteurs si vous n'utilisez pas de logiciel PWM, et un double op‐amp (LM358) pour le filtrage. Pour le démodulateur (construit plus tard), ajoutez un IC à boucle verrouillée (NE567 ou CD4046) et un comparateur (LM393).

Description schématique du circuit

Le circuit de module relie la sortie numérique du microcontrôleur (p. ex., broche D9 pour PWM) à un filtre RC à passe basse de premier ordre (1 k-résistance, condensateur 0,1 μF, coupure -1,6 kHz). Le signal filtré se nourrit dans un amplificateur non inversé (gain --2), en utilisant la moitié de la LM358 pour porter la balance de tension à 5 V. La sortie est couplée à travers un condensateur 10 μF à un connecteur BNC pour transmission coaxiale ou directement à un haut-parleur/cric audio.

Prototypage sur tableau de pain

Assemblez les composants sur une table à pain standard sans soudure. Gardez les rails de puissance propres avec un condensateur de dérivation (100 μF électrolytique + 0,1 μF céramique) près du microcontrôleur. Utilisez des fils de saut courts pour les chemins de haute fréquence. Les élèves doivent tester chaque étape de façon séquentielle : d'abord vérifier que le microcontrôleur produit la fréquence correcte (utiliser un multimètre en mode fréquence ou un clignotement LED si inférieur à 20 Hz), puis vérifiez la sortie du filtre, et enfin l'amplificateur.

Essais et débogage

Un oscilloscope USB peu coûteux (comme la série PicoScope 2000 ou l'open-source Simple Oscilloscope[ peut afficher la forme d'onde du domaine temporel. Pour l'analyse du spectre, le logiciel libre Audacity peut effectuer un FFT sur un enregistrement à partir de l'entrée du microphone de l'ordinateur, ce qui réduit considérablement le coût des mesures de la fréquence-domaine. Utiliser un RTL-SDR comme analyseur de spectre de l'homme pauvre est une autre technique populaire pour la FSK à haute fréquence (p. ex., 433 MHz).

Mise en œuvre du logiciel

Générer FSK avec Arduino en utilisant ton()

La méthode la plus simple consiste à utiliser la fonction , qui produit une onde carrée sur une broche spécifiée. Pour BFSK, écrivez une boucle qui lit un peu à partir d'un tampon de données (ou d'un ensemble de commutateurs DIP) et appelle avec la fréquence correspondante. Le schéma pseudocode suivant illustre le concept :

void loop() {
 if (digitalRead(dataPin) == HIGH) {
 tone(9, 2200); // 2200 Hz for mark
 } else {
 tone(9, 1200); // 1200 Hz for space
 }
 delay(bitDuration);
}

Notez que désactive PWM sur la broche et utilise des interruptions de minuterie. Il fonctionne bien pour les débits de bits jusqu'à environ 1200 bps. Pour des taux plus élevés ou des formes d'onde plus lisses, il faut manipuler directement les registres de comparaison de sortie de minuterie.

Utilisation de tables de recherche pour les ondes sinusoïdales lisses

Si le module doit produire une onde sinusoïdale (p. ex. pour la compatibilité avec la ligne téléphonique standard FSK), utilisez une table de recherche (LUT) stockée en mémoire flash. Le microcontrôleur lit la LUT à une vitesse f sample et affiche la valeur à une broche DAC (ESP32) ou à une broche PWM avec minuterie à grande vitesse. L'approche LUT consomme plus de cycles CPU mais donne un signal spectralment plus pur. Une méthode efficace consiste à générer deux LUT – une pour chaque support – et à les passer aux bords des bits.

Intégration aux données sérielles

Pour une démonstration entièrement fonctionnelle, le module peut transmettre des caractères ASCII envoyés depuis un PC sur USB-to-serial (UART). Le microcontrôleur tamponne chaque octet et effectue la conversion série-to-parallèle, puis sort le bitstream sous forme de FSK. À la fin du récepteur, un deuxième microcontrôleur avec démodulateur PLL récupère les bits et imprime les caractères sur un moniteur série. Ce chat fin-à-fin -FSK est un exercice de laboratoire engageant qui renforce la modulation, la démodulation et la synchronisation de synchronisation.

Activités et expériences éducatives

Transmission de messages texte

Demandez aux élèves d'envoyer un message court (par exemple, -HELLO-H) entre deux modules FSK connectés par un fil. Ils mesurent le temps nécessaire pour transmettre le message, calculent le débit binaire effectif et le comparent au maximum théorique. Ensuite, ils introduisent une source de bruit (par exemple, un ventilateur voisin ou un diviseur de tension résistive injectant du bruit aléatoire) et observent comment le taux d'erreur binaire augmente.

Mesurer le taux d'erreur de bit (BER) avec différents niveaux de bruit

Construisez un simple ensemble de tests BER : transmettez une séquence pseudo-randomisée connue (p. ex. un PRBS 511-bit) et comparez les bits reçus avec la séquence attendue. Variez le rapport signal-bruit en ajustant le gain du circuit d'injection sonore. Plot BER vs. SNR pour vérifier les courbes théoriques pour FSK non-cohérent. Cette expérience construit l'intuition pour l'échange entre la bande passante, la puissance et la performance d'erreur.

Comparaison de FSK avec ASK et PSK

Un module éducatif rentable peut être adapté pour démontrer le verrouillage par décalage d'amplitude (ASK) et le verrouillage par décalage de phase (PSK) en modifiant le logiciel et quelques composants passifs. Pour ASK, il suffit d'activer et de désactiver le support. Pour PSK, utilisez une porte XOR pour inverser la phase du support. Les élèves comparent les formes d'onde, les spectres et l'immunité sonore de chaque schéma. Tout sur CircuitsLe chapitre modulation RF fournit un excellent contexte théorique.

Analyse des coûts et ventilation budgétaire

Voici une estimation des matériaux pour un module FSK unique (à l'exclusion du récepteur) adapté à une classe de 20 étudiants, en supposant des rabais en vrac:

  • Nano clone Arduino: 3,50 $
  • LM358 op‐amp : 0,30 $
  • NE555 minuterie (facultatif, pour oscillateur autonome): 0,25$
  • Composants passifs (résistants, condensateurs, en-têtes): 1,00 $
  • Tableau de cuisson: 2,00 $
  • Fils de saut d'obstacles (mâle à mâle): 1,50 $
  • Câble USB : 1,00 $
  • Divers (connecteur BNC, potentiomètre): 0,50 $

Total par module: ~10,00 $ (sauf un oscilloscope ou un PC). Pour une classe de 20, le total est d'environ 200 $ – bien dans les budgets de laboratoire typiques. De plus, la plupart des pièces sont réutilisables tous les semestres. Si l'école possède déjà des microcontrôleurs de base et des tableaux de pain, le coût différentiel tombe à moins de 3 $ par élève pour les IC supplémentaires et passifs.

Dépannage de problèmes communs

  • Aucun signal de sortie: Vérifier la puissance, le sol et l'horloge du microcontrôleur. Vérifiez que la fonction est appelée avec une broche valide (pins 3, 5, 6, 9, 10, 11 sur Uno).
  • Forme d'onde déformée:[ La coupure du filtre passe-bas peut être trop élevée; les harmoniques passent. Réduire la fréquence de coupure ou augmenter l'ordre du filtre.
  • Dérigation fréquente: Pour les oscillateurs RC, la tension de température et d'alimentation affectent le transporteur. Utilisez une alimentation de 5 V réglée et considérez un condensateur de compensation pour un réglage fin.
  • Erreurs de débit à faible NRS: Le démodulateur PLL ne peut pas se verrouiller. Réglez la fréquence centrale PLL=s avec un potentiomètre. Assurez-vous que les fréquences de marquage et d'espace sont symétriques à propos de la fréquence de lancement libre PLL=s.
  • Interférence avec le bruit numérique:[ Séparer la section de filtre analogique des traces du microcontrôleur numérique. Utiliser un plan de sol sur un Veroboard ou ajouter des perles ferrites sur la ligne de puissance.

Conclusion

La conception de modules de modulation FSK rentables à des fins éducatives est non seulement réalisable, mais également enrichissante sur le plan pédagogique. En tirant parti de microcontrôleurs omniprésents, d'opamps génériques et de composants passifs, les éducateurs peuvent créer des plateformes modulaires, sûres et réutilisables qui enseignent les concepts fondamentaux de la communication numérique. Le budget par étudiant reste suffisamment bas pour équiper une classe entière, tandis que la nature pratique de la construction et de l'essai d'un véritable modulateur favorise une compréhension plus approfondie que toute simulation seule.

Pour les instructeurs qui cherchent des ressources supplémentaires, le tutoriel National Instruments] FSK fournit un angle plus théorique, tandis que FSK‐Bibliothèque pour Arduino sur GitHub offre des exemples de codes prêts à utiliser.