BTS Mesure BTS Mesure
Présentation2014CapteursModulationTyponsArduinoDémodulationApp InventorCourbesVidéos

Comment transmettre des informations numériques par radio fréquence (RF) ?

La radio est un système de communication utilisant la propagation dans l'espace des ondes électromagnétiques.

Le signal à transmettre est de type numérique : il s'agit d'une sortie UART 600 bauds.

Nous ne pouvons pas transmettre par radio directement ce signal :

  • sa fréquence est trop basse (longueur d'onde trop élevée)

  • signal carré, donc encombrement spectral très important.

Nous allons donc moduler une sinusoïde appelée porteuse. Quelle type de modulation utiliser ?

La modulation FSK est imposée par le module Kiwi : elle est fiable et plus simple qu'une PSK.

Modulations numériques de base

Une porteuse sinusoïdale possède trois paramètres qui sont l’amplitude, la fréquence et la phase. Ces trois grandeurs sont toutes susceptibles de modulation par déplacement :

  • la modulation par déplacement d’amplitude ASK (Amplitude-shift keying)

  • la modulation par déplacement de fréquence FSK (frequency-shift keying)

  • la modulation par déplacement de phase PSK. (Phase-shift keying)

 Dans un message numérique, deux états sont à coder, le 0 et le 1 logiques. Ces différentes modulations consistent donc en les opérations suivantes :

  • ASK : Coder le 0 par une amplitude de signal égale à 0, et le 1 par une amplitude A.

  • FSK : Coder le 0 par une fréquence fa, et le 1 par une fréquence fb.

  • PSK : Coder le 0 par une phase de référence égale à 0, et le 1 par une phase de 180°.

La modulation bi-fréquence ou FSK

Si la porteuse est modulée par un signal numérique, elle saute d’une fréquence fa («0») à une fréquence fb («1»).

Notre modulation FSK a lieu aux fréquences Audio (900 Hz et 1500Hz),  comme les anciens modems.
C'est le mélangeur de l'émetteur Kiwi qui va translater ces fréquences dans les Radio Fréquences (porteuse à 137,05 MHz).

Mise en œuvre d’un XR2206, test sur platine d’essai associé à un Arduino

Nous allons utiliser le circuit spécialisé XR2206, permettant de réaliser une modulation FSK avec un minimum de composants. Nous sommes partis du montage proposé dans son datasheet.


Nous avons dimensionné les composants afin de répondre au cahier des charges imposé par le module Kiwi, à savoir :

  • Nous avons choisi un condensateur C = 10 nF;
  • le 1 logique correspond à une fréquence de 1500 Hz. Après test, c'est R1 = 110 k       qui nous permet d'obtenir cette fréquence ;
  • le 0 logique correspond  à une fréquence de 900 Hz. Après test, c'est R2 = 74,15 k     qui nous permet d'obtenir cette fréquence ;
  • le FSK input nous est fourni par la sortie Serial 1 de notre Arduino Mega : Tx1

Voici les photos de nos essais, on remarque bien la basse fréquence (900 Hz pour un 0 logique) et la haute fréquence (1500 Hz) pour un 1 logique.

Ecoute de notre modulation sur un PC

Nous avons ensuite envoyé le signal de sortie de notre montage sur la carte son d'un PC.

Pour supprimer la composante continue du signal, nous avons ajouté à la sortie un condensateur de découplage Cd = 100 nF.

Nous avons vérifié à l'oscilloscope que l'amplitude du signal était inférieure à 1 V.

Nous avons alors constaté qu'au lieu d'avoir du silence entre 2 trames, nous avions en permanence du 1500 Hz.

En effet dans une liaison UART, le repos est un 1 logique.

Pour remédier à cela, nous avons trouvé sur le site planète science cette astuce.
Il suffit d'ajouter un condensateur de 10 µF :

  • le + sur la patte 3 du XR2206
  • le - sur une patte "digital" d'un Arduino.
    Lorsque l'Arduino met cette patte en haute impédance (pinMode(FSK, INPUT)), le XR2206 module normalement,
    Lorsque l'Arduino relie cette patte à la masse, le XR2206 n'émet plus de signal.

Encombrement spectral

Pour augmenter la portée de notre émetteur Kiwi, nous devons limiter l'encombrement spectral de notre modulation.
Cf le document planète sciences ci-contre.

Plus la tension de sortie du modulateur FSK est importante, plus le taux de modulation augmente.
Et comme le montre la règle de Carson, plus l'encombrement spectral sera important.

Comme l’émetteur fonctionne à puissance constante, l’énergie du spectre sera plus dense lorsque la bande passante de sortie sera réduite. Et ainsi la portée augmentée.

Pour mesurer notre encombrement spectral, nous avons utilisé une simple carte TNT USB du marché, d’une dizaine d’euros, équipée de la puce Realtek RTL2832U (c’est le point déterminant).
Ainsi nous avons un scanner radio de 22Mhz à 2200Mhz, et le logiciel freeware SDR Sharp  nous offre un analyseur de spectre RF... Pour plus de renseignement : cliquez ici.

Un  premier essai en modulation interne, nous a montré que l'encombrement spectral avait une largeur de bande B = 12,5 kHz. Soit une bande FM étroite (Narrow FM : NFM).

Voici une capture d'écran de notre premier essai en modulation externe avec R3 = 10 k.

On constate que notre modulation a une bande 3 fois plus large que la NFM...

Réduction de notre spectre d'émission

D'après le schéma de l'émetteur Kiwi, lorsque le commutateur est en position K1 (modulation externe), notre modulation FSK arrive sur  un diviseur de tension. Puis rencontre un condensateur de découplage (C13) qui supprime la composante continue.

Il suffit donc d'ajouter une résistance à la sortie (2) de notre XR2206 pour diminuer l'amplitude du signal qui arrive sur le mélangeur de l'émetteur KIWI.

Lorsque l'on augmente R1, on diminue Vmod :

Après ajustement de R1, nous obtenons une modulation de fréquence bande étroite  (NFM) :

Notre montage final :

Problème rencontré et solution à tester

Le jour des tests, nous avons constaté que notre modulation n'était pas compatible avec le démodulateur fourni par planète sciences.
Heureusement,  le jour du lâcher nous avons pu utiliser notre démodulateur et récupérer les données.

Piste pour le prochain projet :
Il reste un résidu  de 1500 Hz lors du "silence" qui n'est pas parfait. Ce résidu ne s'entendait pas avec notre scanner radio mais il est visible à l'oscilloscope (amplitude 16 mV).
Or d'après la documentation Planète Sciences ce silence est impératif pour le démodulateur "officiel".

Solution à tester :
Placer un condensateur C2bis de 1 µF (en rouge sur le schéma) : borne 1 entre les résistances R1 et RVFSK, borne 2 sur le D3 de l'Arduino.

Fonctionnement :

  • D3 est en haute impédance, C2bis ne modifie pas le circuit et le signal FSK est transmis

  • D3 est reliée à la masse, C2BIS court-circuite ( devant 4210 Ohms) le résidu à 1500 Hz : le signal FSK transmis est quasi-nul...