0% ont trouvé ce document utile (0 vote)
49 vues27 pages

Configuration et utilisation d'ADALM-PLUTO SDR

Ce document présente un TP sur la modulation AM utilisant le module radio SDR ADALM-PLUTO. Il décrit l'architecture du module radio et sa communication avec MATLAB/Simulink. Le TP comprend l'émission et la réception de signaux AM modulés en amplitude et leur caractérisation dans le domaine temporel et fréquentiel.

Transféré par

Melissa Ouedraogo
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
49 vues27 pages

Configuration et utilisation d'ADALM-PLUTO SDR

Ce document présente un TP sur la modulation AM utilisant le module radio SDR ADALM-PLUTO. Il décrit l'architecture du module radio et sa communication avec MATLAB/Simulink. Le TP comprend l'émission et la réception de signaux AM modulés en amplitude et leur caractérisation dans le domaine temporel et fréquentiel.

Transféré par

Melissa Ouedraogo
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Filière : Réseaux Informatiques et Télécommunications

Classe : 2ARIT-FI

TP N°6 de Télécommunications:

 Présentation et configuration du module radio émetteur-récepteur SDR


ADALM-PLUTO

 Emission et réception en temps réel de signaux modulés en amplitude (AM)

ADALM-PLUTO
RTL-SDR
SDR

0
0 t
t

© D. Bonkoungou 2019-2020 dbonkoungou@[Link]


Table des matières

1. Objectifs du TP ............................................................................................................................. 1
2. Présentation du module radio ADALM-PLUTO SDR ............................................................. 1
2.1. Architecture et interaction avec MATLAB............................................................................. 1
2.2. Installation du module radio ADALM-PLUTO ..................................................................... 5
2.3. Configuration et communication avec MATLAB/SIMULINK............................................. 5
3. Fondamentaux théoriques de la modulation AM .................................................................... 15
3.1. Modulation AM DSB-SC ........................................................................................................ 15
3.2. Modulation AM DSB-TC ........................................................................................................ 15
4. Préparation et vérification du matériel de TP ......................................................................... 16
5. Emission et mesures de signaux AM DSB-TC et DSB-SC ...................................................... 18
5.1. Emission de signaux AM DSB-TC et DSB-SC ...................................................................... 18
6. Démodulation AM non cohérente par détection d’enveloppe ................................................ 25

© D. Bonkoungou 2019-2020 dbonkoungou@[Link]


TP6-2A-RIT: Présentation de ADALM-PLUTO, Emission et réception avec modulation AM

1. Objectifs du TP

 Comprendre le principe de fonctionnement et la configuration du module radio émetteur-


récepteur SDR ADALM-PLUTO.

 Observer la transmission d’information par modulation d’amplitude à travers un canal sans fil.

 Décrire et caractériser les signaux modulés en amplitude AM DSB-TC et AM DSB-SC dans le


domaine temporel et fréquentiel.

 Expliquer le concept du multiplexage fréquentiel ou FDM (Frequency Division Multiplexing).

 Utiliser la notation enveloppe complexe (ou signal en bande de base complexe) pour décrire
les signaux modulés en amplitude (AM).

 Construire un émetteur AM à temps réel et émettre deux signaux sans fil AM DSB-TC et AM
DSB-SC multiplexés en fréquence (FDM) qui respectent les spécifications des canaux
fréquences radio de transmission.

 Construire un récepteur AM à temps réel avec démodulation AM non cohérente par détection
d’enveloppe.

2. Présentation du module radio ADALM-PLUTO SDR

2.1. Architecture et interaction avec MATLAB

Les figures 1 et 2 suivantes présentent le schéma du principe de fonctionnement de l’émetteur et du


récepteur du module radio SDR ADALM-PLUTO ainsi que leurs interactions avec
MATLAB/SIMULINK.

1
© D. Bonkoungou 2019-2020 dbonkoungou@[Link]
TP6-2A-RIT: Présentation de ADALM-PLUTO, Emission et réception avec modulation AM

Figure 1: Emetteur du module radio ADALM-PLUTO et son interaction avec MATLAB/SIMULINK

2
© D. Bonkoungou 2019-2020 dbonkoungou@[Link]
TP6-2A-RIT: Présentation de ADALM-PLUTO, Emission et réception avec modulation AM

Figure 2: Récepteur du module radio ADALM-PLUTO et son interaction avec MATLAB/SIMULINK

3
© D. Bonkoungou 2019-2020 dbonkoungou@[Link]
TP6-2A-RIT: Présentation de ADALM-PLUTO, Emission et réception avec modulation AM

La figure 3 suivante présente les couches de software et de hardware traversées par les échantillons du
signal numérique en bande de base entre MATLAB et le module radio ADALM-PLUTO (PlutoSDR).

Figure 3: Couches de software et de hardware traversées par les paquets de données entre MATLAB et le
module radio ADALM-PULTO (PlutoSDR)

Pour décrire le chemin suivi par les échantillons du signal numérique en bande de base à travers les
différentes couches de software et de hardware entre MATLAB et le module radio PlutoSDR, on va
supposer que le client IIO c.à.d. MATLAB a sollicité un buffer de 32768 échantillons avec un débit
d’échantillon de 1 Méga échantillons par seconde, cela signifie qu’on a fixé les propriétés
SamplesPerFrame et BasebandSampleRate de l’objet MATLAB de réception
[Link] créé respectivement à 32768 et 1MHz :

 Suite à la requête de réception du signal avec 32768 échantillons par trame à 1 MHz formulée
par le client IIO MATLAB, le démon iiod qui tourne sur le processeur ARM avec Linux du
module radio PlutoSDR va capturer 32768 échantillons sur un buffer de manière continue à
travers la bibliothèque libiio. Cette collecte d’échantillons va prendre 32, 768 ms (= 32768 x
1MHz) et occuper 131 072 bytes (= 4 bytes par échantillon complexe IQ x 32768
echantillons). Cette collecte d’échantillons par iiod pour former un paquet permet d’assurer la
continuité du signal mais introduit un temps de latence fixe tf = fréquence d’échantillonnage
x nombre d’échantillons par trame). iiod a été conçu pour assurer qu’il n’y ait pas de copies
d’échantillons après la collecte.

 La trame d’échantillons collectée par iiod est transférée au kernel Linux qui tourne sur le
processeur ARM du module radio PlutoSDR qui va la segmenter en paquets USB de 512
bytes (selon les spécifications de USB 2.0). La trame segmentée sera ensuite réassemblée dans
un buffer de 131 072 bytes au niveau du PC Host après avoir traversé la pile de couches USB.
La pile de couches USB introduit un temps de latence inconnu qui est déterminé par le
système d’exploitation du PC Host et la taille de mémoire RAM libre disponible.

4
© D. Bonkoungou 2019-2020 dbonkoungou@[Link]
TP6-2A-RIT: Présentation de ADALM-PLUTO, Emission et réception avec modulation AM

 Une fois que le buffer entier est assemblé, il est transféré à libiio qui le transfert à son tour
sans traitement au client iio client c.à.d. à MATLAB qui peut effectuer un autre traitement.
Dans ce cas MATLAB peut par exemple convertir les échantillons codés en entier signé de 16
bits (int16) en échantillons codés en virgule flottante (single ou double) avec des valeurs
limitées dans l’intervalle [-1 ; +1[.
Pour la conception du système de traitement et de transmission du signal il faut donc tenir compte de
ces retards ci-dessus cités. Si par exemple on veut émettre et recevoir une trame d’échantillons avec le
même module radio PlutoSDR, on peut observer une longue pause sans échantillons avant que la
trame apparaisse dans le vecteur MATLAB de réception à cause de ces retards. C’est pourquoi pour
beaucoup de systèmes on cherche à effectuer le traitement du signal le plus proche possible du
composant radio (convertisseur en bande de base et en RF). Si on veut le faire avec l’architecture des
modules radio SDR, c’est sur le circuit programmable FPGA ou le processor ARM et non sur le PC
Host. Cependant ce module radio PlutoSDR possède un petit FPGA et un seul core de processeur
ARM qui limite ses capacités de processeur cible de traitement du signal.

2.2. Installation du module radio ADALM-PLUTO

Voir le document du manuel d’installation du module radio ADALM-PLUTO.

2.3. Configuration et communication avec MATLAB/SIMULINK

MATLAB/SIMULINK est utilisé comme client LIIO (Linux Industrial Input/Output) sur le PC Host
pour communiquer à travers une connexion USB avec le linux embarqué sur le processeur ARM du
système SoC Zynq-7000 contenu dans le module radio PlutoSDR. Cette communication consiste
d’une part à transférer des données de configuration (fréquence centrale, fréquence d’échantillonnage
en bande de base, gain, …) et d’autre part à recevoir (ou transmettre) des données de signal
(échantillons complexes IQ) du (ou vers le) module radio PLutoSDR.
L’utilisation de MATLAB comme client LIIO est effectuée à travers les deux objets système
MATLAB suivants qui sont disponibles après l’installation du logiciel de support MATLAB "
Communications Toolbox Support Package for Analog Devices ADALM-Pluto Radio " :

 [Link] : objet système MATLAB pour communiquer avec le récepteur du


module radio PlutoSDR.

 [Link] : objet système MATLAB pour communiquer avec l’émetteur du


module radio PlutoSDR.

La figure suivante montre la communication entre MATLAB, les objets systèmes MATLAB
([Link] et [Link]) et le module radio PlutoSDR.

5
© D. Bonkoungou 2019-2020 dbonkoungou@[Link]
TP6-2A-RIT: Présentation de ADALM-PLUTO, Emission et réception avec modulation AM

Antenne
d’émission

MATLAB/SIMULINK

Programme MATLAB
ou modèle Simulink
Objet Système MATLAB Emetteur RF Tx
[Link]
Générateur de signal Ck = Ik + jQk
ou
numérique en bande
bloc SIMULINK
de base
ADALM-Pluto Radio
Transmitter Ck = Ik + jQk
Module radio
USB ADALM-PLUTO SDR Antenne de
Programme MATLAB
réception
ou modèle Simulink
Objet Système MATLAB
[Link]
Récepteur de signal Ck = Ik + jQk
ou
numérique en bande
bloc SIMULINK
de base
ADALM-Pluto Radio
Receiver Récepteur RF Rx

Figure 4: Communication entre MATLAB/SIMULINK et le module ADALM-PLUTO SDR

Pour recevoir un signal numérique en bande de base en utilisant MATLAB, il faut d’abord créer un
objet système MATLAB [Link] et fixer les valeurs des paramètres de l’émetteur RF
du module radio PlutoSDR à travers les propriétés de l’objet en utilisant la fonction MATLAB
sdrrx . On utilise ensuite l’objet créé en l’appelant comme une fonction.

La commande rxPluto = sdrrx(‘Pluto’) crée un objet de réception [Link]


avec des valeurs par défaut.

La commande rxPluto = sdrrx(‘Pluto’,Name1,Value1,Name2,Value2,…) crée un


objet de réception [Link] avec des valeurs (Value1, Value2, …) attribuées aux
propriétés (Name1, Name2, …).
Par exemple, la commande suivante crée un objet de réception rx et fixe la valeur de la fréquence
centrale (avec le nom de propriété CenterFrequency) à 3,5 GHz et la valeur de la fréquence
d’échantillonnage en bande de base (avec le nom de propriété BasebandSampleRate) à 2 MHz :

rx = sdrrx(‘Pluto’,‘CenterFrequency’,3.5e9,
‘BasebandSampleRate’,2.0e6)

Les propriétés principales suivantes de l’objet MATLAB de réception du module radio PlutoSDR
peuvent être configurées.

La valeur de la propriété DeviceName est fixée ici à ‘Pluto’ car la fonction sdrrx peut aussi
être utilisée pour créer un objet MATLAB de réception pour d’autres modules radio SDR supportés
par MATLAB comme par exemple le module radio RTL-SDR.

6
© D. Bonkoungou 2019-2020 dbonkoungou@[Link]
TP6-2A-RIT: Présentation de ADALM-PLUTO, Emission et réception avec modulation AM

 RadioID : fixe le numéro d’indentification (adresse) du module radio connecté au port USB du
PC Host. Sa valeur par défaut est ‘USB:0’. Ce numéro est attribué en fonction de l’ordre de
connexion au PC Host en commençant par 0. Le module radio peut aussi être identifié
optionnellement par son adresse IP. Dans ce cas la valeur par défaut de RadioID est
‘ip:[Link]’. Si aucun autre appareil n’est connecté au PC Host avec cette adresse IP,
on peut laisser l’adresse IP par défaut. Sinon l’adresse IP du module radio peut être changée
manuellement de la manière suivante :

- Aller sur le disque amovible PlutoSDR et ouvrir le fichier [Link].


- Changer l’adresse IP dans le fichier [Link], enregistrer et fermer le fichier.
- Ejecter le disque amovible PlutoSDR.
- Déconnecter et reconnecter le module radio PlutoSDR.
- Confirmer le changement en vérifiant la configuration dans le fichier [Link].
- Dans Windows et la majorité des distributions Linux, l’adresse IP du module radio est
accessible à partir du PC Host. On peut donc essayer d’attribuer une adresse IP au module
radio en exécutant la commande MATLAB suivante (en utilisant l’adresse IP désirée) :

rx = sdrrx(‘Pluto’,‘RadioID’,‘ip :[Link]’)

 CenterFrequency : fixe la valeur de la fréquence centrale du signal RF de réception en Hz. Sa


valeur par défaut est 2.4e9. Il faut noter que la fréquence centrale de réception et d’émission sont
gérées séparément par le module radio PutoSDR à travers deux oscillateurs locaux séparés Rx LO
et Tx LO. Et comme le composant RF AD9363 du module radio PlutoSDR est un convertisseur
direct de fréquence (c.à.d. sans utilisation de fréquence intermédiaire) la fréquence centrale de
réception ou d’émission est livrée directement par l’oscillateur local (LO).
La valeur de la fréquence centrale du signal de réception peut être fixée de 70 MHz (70.0e6) à
6 GHz (6.0e9).
Il est important de noter que selon les spécifications du module radio PlutoSDR de Analog
Devices la fréquence centrale du signal de réception et d’émission va de 325 MHz à 3,8 GHz.
Mais le support package de MATLAB du module radio PlutoSDR installé permet de fixer la
fréquence centrale du signal de réception et d’émission de 70 MHz (70.0e6) à
6 GHz (6.0e9) avec une largeur de bande RF instantanée maximale de 56 MHz en configurant
le module radio pour qu’il utilise le firmware du composant RF AD9464 au lieu de celui du
composant RF AD9363 à travers la fonction MATLAB configurePlutoRadio :
configurePlutoRadio(‘AD9464’)

Un argument de sortie 1 comme résultat de l’exécution de la fonction signifie que la configuration


a réussi et 0 signifie que la configuration a échoué.

 BasebandSampleRate : fixe la valeur de la fréquence d’échantillonnage (débit d’échantillon


ou débit de symbole) du signal en bande de base en Hz. Sa valeur par défaut est 1.0e6. Il faut
noter qu’il n’existe qu’un seul générateur d’horloge pour le CAN du récepteur et le CNA de
l’émetteur. C’est pourquoi la fréquence d’échantillonnage doit être fixée à la même valeur
lorsqu’on utilise l’émetteur et le récepteur du même module radio PlutoSDR.
La fréquence d’échantillonnage du signal en bande de base correspond à la fréquence
d’échantillonnage du CAN/CNA qui est fixée par le module radio PlutoSDR à travers l’horloge
du CAN/CNA et des filtres de décimation (en mode réception) et d’interpolation (en mode
émission).

La valeur de la fréquence d’échantillonnage du signal en bande de du signal qui correspond à la


largeur de bande du signal RF peut être fixée de 65,105 kHz (65105) à 61,44 MHz (61.44e6).
7
© D. Bonkoungou 2019-2020 dbonkoungou@[Link]
TP6-2A-RIT: Présentation de ADALM-PLUTO, Emission et réception avec modulation AM

Il faut noter que lorsque la valeur de la fréquence d’échantillonnage en bande de base est configurée,
le module radio effectue en interne un calcul pour trouver la valeur configurée à partir de la valeur de
l’horloge de référence d’échantillonnage ou master clock rate (fcan = 25 …640 MHz en réception et fcna
= 320 MHz en émission) et celle des facteurs de décimation et d’interpolation. La valeur calculée et
celle configurée peuvent ne pas exactement correspondre.
Il est cependant important de noter que le port USB 2.0 qui est l’interface de transmission des
échantillons entre le module radio PlutoSDR et le PC Host peut supporter un débit d’échantillon (ou
fréquence d’échantillonnage) de 7,5 à 12 MS/s (MHz) en fonction du contrôleur USB, du système
d’exploitation et d’autres facteurs du PC Host.

La figure suivante illustre la relation entre la fréquence d’échantillonnage en bande de base (fEBB) et la
largeur de bande du signal RF (BRF) ainsi que la fréquence maximale du signal en bande de base fBBmax
(largeur de bande signal en bande de base).

Figure 5: Relation entre fréquence d’échantillonnage et largeur de bande RF et en bande de


base

On remarque que le spectre du signal numérique en bande de base n’est pas symétrique par rapport à
l’axe des ordonnées c.à.d. n’est pas paire car le signal numérique en bande de base est complexe.

Lorsque le bloc Simulink de réception ADALM-Pluto Radio Receiver est utilisé à la place de l’objet
MATLAB de réception [Link] et si l’on veut effectuer une simulation à temps réel il
faut que la période d’échantillonnage du bloc Simulink (sample time) soit égale à l’inverse de la
fréquence d’échantillonnage en bande de base c.à.d. Ts = 1/fEBB. Cette période fixe le débit avec lequel
le bloc Simunlink livre les échantillons à sa sortie pendant l’exécution de la simulation.

Il faut noter que la période d’échantillonnage d’un bloc Simulink peut être basée sur le port (port-
based) ou sur le bloc (block-based). Pour la période d’échantillonnage basée sur le bloc (block-based),
tous les ports d’entrée et de sortie du bloc Simulink fonctionnent avec le même débit d’échantillon (ou
fréquence d’échantillonnage). Pour la période d’échantillonnage basée sur le bloc (block-based), les

8
© D. Bonkoungou 2019-2020 dbonkoungou@[Link]
TP6-2A-RIT: Présentation de ADALM-PLUTO, Emission et réception avec modulation AM

ports d’entrée et de sortie du bloc Simulink peuvent fonctionner à des débits d’échantillon (fréquences
d’échantillonnage) différents.
Pour un bloc Simulink avec un temps d’échantillonnage discret (discrete sample time), Simulink
exécute la sortie du bloc pour livrer les échantillons aux instants suivants :

𝑡 = 𝑛 ⋅ 𝑇 + |𝑇 |

Ts est la période d’échantillonnage (sample Time) qui doit être supérieure à zéro et inferieure au temps
de simulation Tsim. Le nombre de périodes N qui doit être entier est

𝑇
𝑁= 𝑎𝑣𝑒𝑐 0 ≤ 𝑛 ≤ 𝑁
𝑇

Pendant l’exécution de la simulation, le bloc Simulink livre à sa sortie des échantillons seulement à
ces instants discrets à intervalle fixe tn qui sont appelés sample time hits. Lorsqu’on veut retarder ces
instants discrets, on peut définir un offset T0. Le bloc Simulink retardateur d’une période
d’échantillonnage (Unit Delay) est un exemple de bloc avec un temps d’échantillonnage discret.

Pour utiliser un bloc Simulink avec un temps d’échantillonnage continu (simulation de signaux
analogiques) il faut fixer la période d’échantillonnage (sample time) à 0 ou [0, 0].

Remarque : Pour d’autres modules radio comme le B200 de USRP, c’est la valeur de l’horloge de
référence du CAN (Master clock rate = 5 MHz à 56 MHz) et celle du facteur de décimation
(Decimation factor = 1 à 512) en réception qui sont configurées et le module radio calcule en interne
la valeur de la fréquence d’échantillonnage en bande de base selon la formule

fEBB = Master clock rate / Decimation factor.

Pour par exemple le module radio USRP N200 avec port Ethernet, la valeur du master clock est fixée
à 100 MHz et c’est la configuration du facteur de decimation qui permet de fixer la valeur de la
fréquence d’échantillonnage en bande de base.

En émission, le module radio USRP B200 effectue une interpolation pour augmenter la fréquence
d’échantillonnage en bande de base pour l’adapter à la fréquence d’échantillonnage utilisée par le
CNA c.à.d. à la valeur du Master clock rate. Dans ce cas le module radio B200 fixe la valeur du
master clock rate à partir de la valeur de la fréquence d’échantillonnage en bande de base fEBB et celle
du facteur d’interpolation (Interpolation factor = 1 à 512)

Master clock rate = fEBB * Interpolation factor.

 GainSource : définit la source du gain de l’amplification du signal de réception. Il ya trois


options possibles fixer la valeur de cette propriété :

- ‘Manual’: pour ce choix, une autre propriété nommée Gain devient automatiquement
configurable pour fixer manuellement la valeur gain de réception qui est associée à une
table de valeurs de gain qui se trouve dans le composant RF AD9363 du module radio
PlutoSDR. En effet lorsque la valeur du gain est changée, les valeurs de gain des
différents étages de l’amplificateur de réception sont mises à jour en se basant sur cette
table de gain interne. Des tables de gain spécifiques peuvent être utilisée si nécessaire
mais une telle configuration est considérée comme une option avancée et ne sera pas
considérée ici.

9
© D. Bonkoungou 2019-2020 dbonkoungou@[Link]
TP6-2A-RIT: Présentation de ADALM-PLUTO, Emission et réception avec modulation AM

La valeur du gain de réception peut être fixée de -4 dB (-4) à 71 dB (71). La valeur par
défaut est 10.
Il est cependant important de noter que la valeur minimale et maximale acceptables du
gain dépend de la valeur de la fréquence centrale. Une combinaison incompatible de
valeur de gain et de fréquence centrale signale une erreur.

En émission, la valeur de la propriété du gain d’émission de l’objet MATLAB d’émission


[Link] ou du bloc SIMULINK d’emission ADALM-Pluto Radio
Transmiter peut être fixée de -87,5 dB (-87.5) à 0 dB (0) avec un pas de 0, 25 dB
(0.25). La valeur par défaut est -10 dB. La valeur du gain d’émission de 0 dB correspond
à la puissance maximale d’émission de 7 dBm.

- ‘AGC Slow Attack’: Ce choix par défaut est utilisé pour les signaux dont le niveau
de puissance varie lentement avec le temps. Dans ce cas, la valeur du gain est adaptée
automatiquement en fonction du niveau de signal reçu ou RSSI (Received Signal Strength)
à travers l’AGC (Automatic Gain Control) du module radio.

- ‘AGC Fast Attack’: Ce choix est utilisé pour les signaux dont le niveau de
puissance varie rapidement avec le temps. Dans ce cas, la valeur du gain est adaptée
automatiquement en fonction du niveau de signal reçu ou RSSI (Received Signal Strength)
à travers l’AGC (Automatic Gain Control) du module radio.

 ChannelMapping : la valeur de cette propriété est toujours fixée à 1. Pour d’autres modules
Radio SDR, cette propriété est utilisée pour une réception multi-canal c.à.d. MIMO (Multiple-
Input Multiple-Output).

 OutputDataType : définit le format (type de données) des échantillons (ou symboles) du signal
numérique en bande de base à recevoir. Techniquement, le module radio ne peut livrer que des
valeurs complexes entières de 16 bit signées c.à.d. en format int16 mais codées sur 12 bits
(valeurs de -2048 à + 2047) ; cela signifie que le module radio effectue en réception une extension
du bit de signe des valeurs de 12 bits pour obtenir les 16 bits. En émission, le module radio rejette
les 4 bits les moins signifiants des 16 bits pour utiliser les 12 bits du CNA.
L’utilisation par MATLAB des 16 bits est due au fait que la plupart des hardwares et softwares
utilise 8 bit (1 byte) ou un multiple d’un byte pour représenter les valeurs numériques.
La valeur de la propriété peut être fixée à int16 (entier de 16 bit signé) qui est le format par
défaut, double (virgule flottante double précision 64 bit) ou single (virgule flottante simple
précision 32 bit).
MATLAB obtient les valeurs en virgule flottante (single ou double) en normalisant les valeurs
entières c.à.d. en divisant les valeurs entières par la valeur entière maximale en valeur absolue. On
obtient ainsi des valeurs en single ou double qui appartiennent à l’intervalle [-1 ; +1[. Il faut
cependant noter qu’à cause du codage sur 12 bits du CAN du module radio, les valeurs des
échantillons reçus en format single ou double appartiennent à l’intervalle
[-2048/32768 ; -2048/32768 [ = [-0,0625 ; +0,0625 [. 32768 = (2^16)/2.
Le format single ou double est très souvent utilisé car il est plus précis et permet de travailler avec
les fonctions trigonométriques qui demandent des arguments en format single ou double.
Le format en valeur entière (int8 ou int16) ou format en virgule fixe est généralement utilisé pour
une implémentation sur des processeurs à virgule fixe.

10
© D. Bonkoungou 2019-2020 dbonkoungou@[Link]
TP6-2A-RIT: Présentation de ADALM-PLUTO, Emission et réception avec modulation AM

 SamplesPerFrame : détermine le nombre d’échantillons complexes par trame stockée dans


la mémoire tampon (buffer) qui doit être livrée à MATLAB par le module radio à travers le
démon iiod qui tourne sur le processeur ARM du module radio. Ce traitement par trame
permet d’effectuer un traitement efficace des échantillons reçus dans MATLAB.
Chaque trame d’échantillons complexes est représentée dans MATLAB par un vecteur de
valeurs complexes (échantillons IQ). La valeur du nombre d’échantillons par trame c.à.d. la
taille du vecteur d’échantillons peut être fixée comme un entier positif de 2 à 16 777 216. La
valeur par défaut est 20 000. Le choix d’une valeur inferieure à 3660 peut conduire à une
faible performance. L’utilisation de trames de grande taille permet de traiter le flux
d’échantillons reçu de manière plus efficiente. Le flux d’échantillons reçu sera toujours
continu comme envoyé par le module tant qu’il n’ya pas de débordement (overflow). On peut
vérifier le débordement c.à.d. la continuité du flux reçu en appelant l’objet de réception créé
avec un troisième argument de sortie qui va indiquer les échantillons perdus.

L’objet système MATLAB d’émission [Link] possède presque les mêmes propriétés
que celles de l’objet système MATLAB de reception [Link] à l’exception des
propriétés GainSource, SamplesPerFrame et OutputDataType qui n’ont pas de sens dans
un contexte d’émission.

Après la création de l’objet MATLAB de réception du module radio rxPluto et la configuration de


ses propriétés, celui-ci peut maintenant être utilisé en l’appelant comme une fonction pour récupérer
les échantillons du signal complexe en bande de base ainsi que des données de signalisation du module
radio PlutoSDR :

[rxdata, datavalid, overflow] = rxPluto()

L’objet appelé livre ainsi les arguments de sortie suivants :

 rxdata: vecteur colonne complexe contenant une trame d’échantillons complexes à chaque
appel de l’objet.

 datavalid: indication de la validité des échantillons.

 overflow: indication des échantillons perdus à cause du débordement supérieur.

Cet argument de sortie peut être utilisé pour vérifier le traitement en temps réel de l’objet
MATLAB de réception.
overflow = 0 indique qu’il n’ya pas d’échantillons perdus.
overflow = 1 indique une perte d’échantillons. Et cela signifie que la réception n’est pas à
temps réel c.à.d. que le flux d’échantillons contient des discontinuités. On peut dans ce cas
réduire la fréquence d’échantillonnage (débit d’échantillons) en bande de base pour obtenir
une performance à temps réel.

Fonctions de l’objet de réception créé :

Les fonctions (ou méthodes) suivantes peuvent être utilisées avec l’objet de réception rxPluto créé
comme argument d’entrée :

 info : livre des informations (valeurs des propriétés ou paramètres radio) sur le module
radio.
Exemple :

11
© D. Bonkoungou 2019-2020 dbonkoungou@[Link]
TP6-2A-RIT: Présentation de ADALM-PLUTO, Emission et réception avec modulation AM

rx = sdrrx('Pluto'); % créer un objet de réception


info(rx) % obtenir les infos sur le module radio

 designCustomFilter : concevoir un filtre spécifique pour le chip RF AD936x du


module radio PlutoSDR.

En émission (utilisation de l’objet MATLAB d’émission [Link] ), la commande


txPluto = sdrtx(‘Pluto’) crée un objet d’émission [Link] avec des valeurs
par défaut.

La valeur du gain d’émission peut être fixée de -89,75 dB (-89.75) à 0 dB (0) avec un pas de 0,25
dB à travers la propriété d’objet Gain. La valeur par défaut est -10.

Après la création de l’objet MATLAB d’émission du module radio txPluto et la configuration de


ses propriétés, celui-ci peut maintenant être utilisé en l’appelant comme une fonction pour transmettre
les échantillons d’un signal complexe en bande de base au module radio PlutoSDR :

underflow = txPluto(data)

L’objet est appelé avec l’argument d’entrée data qui est un vecteur colonne complexe contenant des
d’échantillons complexes du signal en bande de base à transmettre au chip RF AD936x du module
radio PlutoSDR pour l’émission RF.

L’objet d’émission appelé peut livrer si désiré l’argument de sortie underflow qui signal une perte
d’échantillons. On parle ici de débordement inferieur (underflow). underflow = 1 indique une
perte d’échantillons. On peut dans ce cas augmenter la fréquence d’échantillonnage (débit
d’échantillons) en bande de base pour obtenir une performance à temps réel. underflow = 0
indique qu’il n’ya pas de perte d’échantillons.

Fonctions de l’objet d’émission créé :

Les fonctions (ou méthodes) suivantes peuvent être utilisées avec l’objet d’émission txPluto créé
comme argument d’entrée :

 info : livre des informations (valeurs des propriétés ou paramètres radio) sur le module
radio.
Exemple :
tx = sdrtx('Pluto'); % créer un objet de réception
info(tx) % obtenir les infos sur le module radio

 designCustomFilter : concevoir un filtre spécifique pour le chip RF AD936x du


module radio Pluto SDR.

 transmitRepeat : télécharger une onde de MATLAB sur la mémoire du module radio et


l’émettre de manière répétée à travers le support de transmission sans fil.

12
© D. Bonkoungou 2019-2020 dbonkoungou@[Link]
TP6-2A-RIT: Présentation de ADALM-PLUTO, Emission et réception avec modulation AM

Exemple : Programme MATLAB pour l’émission continue d’une tonalité sinusoïdale complexe de
100 kHz avec le module PlutoSDR.

Générer le signal sinusoïdal :


fs = 2e6;
sw = [Link]; % Création d’un objet pour générer un signal
sinusoïdal.
[Link] = 0.5;
[Link] = 100e3;
[Link] = true;
[Link] = fs;
[Link] = 5000;
txWaveform = sw(); % Générer le signal sinusoïdal en appelant
l’objet créé comme une fonction.

Télécharger le signal sinusoïdal généré sur le module radio pour l’émettre de manière répétée en sans
fil :
tx = sdrtx('Pluto'); % créer un objet d’émission radio
[Link] = 2.415e9; % Fixer la fréquence (centrale)
d’émission à 2,415 GHz
[Link] = fs;
[Link] = -5;
transmitRepeat(tx,txWaveform);

Stopper la transmission du signal sinusoïdal en libérant l’objet d’émission :

release(tx);

Il faut noter que le nombre d’échantillons à transmettre par la fonction transmitRepeat doit être
pair.

Remarque :
Lorsque la propriété ComplexOutput de l’objet [Link] est fixée à false (valeur par
défaut), l’objet crée qui est appelé comme une fonction livre la version échantillonnée du signal
sinusoïdal analogique réel suivant :

𝑥(𝑡) = 𝐴 ⋅ 𝑠𝑖𝑛(2𝜋𝑓 𝑡 + 𝜑 )

Lorsque la propriété ComplexOutput de l’objet [Link] est fixée à true , l’objet crée
qui est appelé comme une fonction livre la version échantillonnée du signal sinusoïdal analogique
complexe suivant :

( )
𝑥(𝑡) = 𝐴 ⋅ 𝑒 = 𝐴 ⋅ 𝑐𝑜𝑠(2𝜋𝑓 𝑡 + 𝜑 ) + 𝑗 ⋅ 𝐴 ⋅ 𝑠𝑖𝑛(2𝜋𝑓 𝑡 + 𝜑 )

Lorsqu’on utilise SIMULINK, on utilise le bloc de réception ADALM-Pluto Radio Receiver (voir
figure suivante) qui équivaut à l’utilisation l’objet système de réception [Link] dans
MATLAB.

13
© D. Bonkoungou 2019-2020 dbonkoungou@[Link]
TP6-2A-RIT: Présentation de ADALM-PLUTO, Emission et réception avec modulation AM

En émission dans SIMULINK, on utilise le bloc d’émission ADALM-Pluto Radio Transmitter (voir
figure suivante) qui équivaut à l’utilisation l’objet système d’émission [Link] dans
MATLAB.

Les paramètres à configurer des blocs SIMULINK correspondent aux propriétés des objets système
MATLAB respectifs (voir figure suivante).

14
© D. Bonkoungou 2019-2020 dbonkoungou@[Link]
TP6-2A-RIT: Présentation de ADALM-PLUTO, Emission et réception avec modulation AM

3. Fondamentaux théoriques de la modulation AM

3.1. Modulation AM DSB-SC

La figure suivante montre le schéma fonctionnel du modulateur AM à porteuse supprimée ou AM


DSB-SC (Double Sideband AM with Suppressed Carrier) qui consiste à multiplier (mixer) le signal
d'information ou de message (ou signal modulant) sm(t) avec la porteuse sinusoïdale sp(t) pour obtenir
le signal AM à porteuse supprimée sam-dsb-sc(t).

Figure 6: Schéma fonctionnel de la modulation AM DSB-SC

Le signal d'information considéré ici sinusoïdal c.à.d. un signal à une tonalité a une amplitude
Am = 1 V et une fréquence fm= 1,2 kHz et est donné par:

𝑠 (𝑡) = 𝐴 cos (2𝜋𝑓 𝑡)

La porteuse sinusoïdale d'amplitude Ap= 1V et de fréquence fp= 10 kHz supérieure à fm est donnée par:

𝑠 (𝑡) = 𝐴 cos (2𝜋𝑓 𝑡)

1) Déterminer la forme en cosinus du signal AM à porteuse supprimée sam-dsb-sc(t).

2) Dessiner à partir de 1) le spectre unilatéral du signal AM à porteuse supprimée sam-dsb-sc(t).

3.2. Modulation AM DSB-TC

La figure suivante montre le schéma fonctionnel du modulateur AM à porteuse transmise ou AM


DSB-TC (Double Sideband AM with Transmitted Carrier) ou encore AM DSB-LC (Double Sideband
AM with Large Carrier). Le signal d'information sm(t) avec un Offset DC (tension continue) A0 est
multiplié (mixé) avec la porteuse sinusoïdale sp(t) pour obtenir le signal AM à porteuse transmise sam-
dsb-tc(t). A0 est aussi appelé amplitude de la modulation.

Figure 7: Schéma fonctionnel de la modulation AM DSB-TC

15
© D. Bonkoungou 2019-2020 dbonkoungou@[Link]
TP6-2A-RIT: Présentation de ADALM-PLUTO, Emission et réception avec modulation AM

Le signal d'information considéré ici sinusoïdal c.à.d. un signal à une tonalité a une amplitude Am = 1V
et une fréquence fm = 1,8 kHz et est donné par:

𝑠 (𝑡) = 𝐴 cos (2𝜋𝑓 𝑡)

La porteuse sinusoïdale d'amplitude Ap = 1V et de fréquence fp = 10 kHz supérieure à fm est donnée


par:

𝑠 (𝑡) = 𝐴 cos (2𝜋𝑓 𝑡)

L'amplitude de la modulation (Offset DC) est fixée à A0 = 2,2 V.

1) Déterminer la forme en cosinus du signal AM à porteuse transmise sam-dsb-sc(t).


2) L'indice de modulation (ou profondeur de modulation) est défini par:

𝐴
𝑚=
𝐴
a) Calculer m
b) Exprimer le signal AM à porteuse transmise sam-dsb-sc(t) en fonction de m.

3) Dessiner à partir de 2-b) le spectre unilatéral du signal AM à porteuse transmise


sam-dsb-tc(t).
4) Quel est l'avantage et l'inconvénient de la modulation AM à porteuse transmise par rapport à la
modulation AM à porteuse supprimée?

4. Préparation et vérification du matériel de TP

Les points suivants permettent de vérifier l'installation des pilotes des modules radio ADALM-PLUTO
et RTL-SDR ainsi que l’installation des packages de support des modules radio qui permettent à
MATLAB/Simulink de communiquer avec les modules radio.

1) Démarrer MATLAB et Simulink.


2) Vérifier à l’aide du navigateur de bibliothèque Simulink Library Browser l'installation du package
ou bibliothèque (library) supplémentaire de support du module radio ADALM-PLUTO désigné
par Communications Toolbox Support Package for ADALM-PLUTO Radio et celui du module
radio RTL-SDR désigné par Communications Toolbox Support Package for RTL-SDR Radio.

La bibliothèque supplémentaire Communications Toolbox Support Package for ADALM-PLUTO


Radio doit contenir deux modèles Simulink appelés ADALM-PlutoRadio Receiver et ADALM-Pluto
Radio Transmitter qui servent respectivement d’interface de réception et d’émission entre le module
radio ADALM-PLUTO et Simulink (voir figure suivante).

16
© D. Bonkoungou 2019-2020 dbonkoungou@[Link]
TP6-2A-RIT: Présentation de ADALM-PLUTO, Emission et réception avec modulation AM

Figure 8: Blocs Simulink d’interface de réception et d’émission avec ADALM-PLUTO

La bibliothèque supplémentaire Communications Toolbox Support Package for RTL-SDR Radio


doit contenir un modèles Simulink appelé RTL-SDR Receiver qui sert d’interface de réception et
entre le module ADALM-PLUTO et Simulink (voir figure suivante).

Figure 9: Bloc Simulink d’interface de réception avec RTL-SDR

3) Connecter les antennes appropriées (adaptées à la bande de fréquence à utiliser) aux modules radio
ADALM-PLUTO et RTL-SDR. Connecter ensuite séparément les modules radio ADALM-
PLUTO et RTL-SDR à deux ordinateurs. Seul un groupe de TP va utiliser le module radio
ADALM-PLUTO en mode émission. Les autres groupes de TP vont utiliser le module radio RTL-
SDR qui est un récepteur.
4) Vérifier (pour le groupe d’émission) la communication entre MATLAB/Simulink et le module
radio ADALM-PLUTO en exécutant la commande findPlutoRadio. Si MATLAB/Simulink
communique correctement avec le module radio ADALM-PLUTO, alors les informations
similaires suivantes qui indiquent le numéro d’identification radio (RadioID) et le numéro de
série (SerialNum) du module s’affichent.

ans =
struct with fields:
RadioID: 'usb:0'
SerialNum: '100000235523730700230031090216eaeb'

Vérifier (pour les groupes de réception) la communication entre MATLAB/Simulink et le module


radio RTL-SDR en exécutant la commande sdrinfo. Si MATLAB/Simulink communique
correctement avec le module radio RTL-SDR, alors les informations similaires suivantes s’affichent.

17
© D. Bonkoungou 2019-2020 dbonkoungou@[Link]
TP6-2A-RIT: Présentation de ADALM-PLUTO, Emission et réception avec modulation AM

5. Emission et mesures de signaux AM DSB-TC et DSB-SC

Pour ce TP, un seul groupe d’étudiants va générer deux signaux AM DSB-TC et AM-DSB-SC en
bande de base multiplexés en fréquence ou FDM (Frequency Division Multiplex) et ensuite émettre le
signal multiplexé FDM avec l’émetteur du module radio ADALM-PLUTO dans la bande de fréquence
de 920 MHz à 930 MHz. Les autres groupes d’étudiants doivent recevoir le signal multiplexé FDM
avec le module récepteur RTL-SDR, mesurer et analyser les deux signaux AM DSB-TC et AM-DSB-
SC dans le domaine fréquentiel et temporel.

5.1. Emission de signaux AM DSB-TC et DSB-SC

Le script (programme) MATLAB am_DSBTC_DSBSC_BandeDeBaseComplex.m génère un


signal AM à porteuse transmise (AM DSB-TC) et à porteuse supprimée (AM DSB-SC) complexe en
bande de base multiplexés en fréquence (FDM) pour une émission simultanée avec le module radio
ADALM-PLUTO. Le script est basé sur les figures 6 et 7.

Les signaux AM en bande de base sont générés avec des fréquences porteuses intermédiaires
complexes, ce qui rend le signal en bande de base complexe car d’une manière générale, l’entrée de
l’émetteur du module ADALM-PLUTO doit recevoir un signal en bande de base complexe afin
d’éviter la corruption éventuelle du signal émis à cause de la correction du déséquilibre IQ (lié aux
imperfections du hardware) effectuée (par défaut) par le module ADALM-PLUTO (voir configuration
des propriétés avancées à travers ShowAdvancedProperties).

Créer un dossier TP_emissionReceptionAM et Copier le script


am_DSBTC_DSBSC_BandeDeBaseComplex.m (livré) dans le dossier
TP_emissionReceptionAM.

Démarrer MATLAB et fixer le dossier actuel de MATLAB au dossier TP_emissionReceptionAM.

1) Analyser le script am_DSBTC_DSBSC_BandeDeBaseComplex.m. Exécuter le script et


vérifier les fréquences du spectre des signaux AM DSB-TC et AM-DSB-SC en bande de bas sur la
figure de représentation spectrale affichée.
Après l’analyse du code du script MATLAB et la vérification sur la représentation spectrale,
répondre aux questions suivantes :

18
© D. Bonkoungou 2019-2020 dbonkoungou@[Link]
TP6-2A-RIT: Présentation de ADALM-PLUTO, Emission et réception avec modulation AM

a) Quelle est la valeur de la fréquence d’échantillonnage du signal en bande de base à


transmettre ? Cette valeur est-elle justifiée ici et pourquoi ?

b) Donner la valeur de la fréquence maximale du signal modulant de la AM DSB-TC et DSB-


SC.
c) Donner la valeur de la fréquence centrale (ou porteuse) intermédiaire des signaux modulés
AM DSB-TC et DSB-SC
d) Donner la valeur de l’écart de fréquence entre les deux signaux AM DSB-TC et DSB-SC.
e) Déterminer la largeur de bande de fréquence occupée par le signal en bande base multiplexé
FDM ?

2) Pour le groupe d’émission :

Démarrer SIMULINK et créer un nouveau modèle Simulink. Enregistrer le nouveau modèle


Simulink sous le nom emetteurSignalBBWorkspace_Pluto.slx. dans le dossier
TP_emissionReceptionAM.
Le fichier emetteurSignalBBWorkspace_Pluto.slx va contenir le modèle Simulink
d’émission avec le module radio ADALM-PLUTO à construire.
Construire le modèle Simulink d’émission avec le module radio ADALM-PLUTO selon la figure
suivante.

Figure 10: Schéma du modèle Simulink d’émission avec le module radio ADALM-PLUTO

 Pour l’élément Interface d’émission du module radio ADALM-PLUTO, choisir le bloc


Simulink ADALM-Pluto Radio Transmitter dans la bibliothèque (library) Communications
Toolbox Support Package for ADALM-PLUTO Radio et configurer le bloc de la manière
suivante :
- Choisir Input Port pour la source de la fréquence centrale (Source of center
frequency).
- Choisir Input Port pour la source du gain d’émission (Source of gain).

19
© D. Bonkoungou 2019-2020 dbonkoungou@[Link]
TP6-2A-RIT: Présentation de ADALM-PLUTO, Emission et réception avec modulation AM

- Fixer la valeur de la fréquence d’échantillonnage en bande de base (Baseband sample


rate) à celle fixée dans le script MATLAB
am_DSBTC_DSBSC_BandeDeBaseComplex.m.
- Décocher (désactiver) l’indicateur de perte d’échantillons (Enable output port
for underflow indicator).

 Pour l’élément Fréquence centrale d’émission, choisir le bloc Simulink Constant dans
Simulink/Commonly Used Blocks et configurer le en entrant la valeur de la fréquence centrale
de 925 MHz (925e6) pour Constant value.

 Pour l’élément Gain de l’émetteur, choisir le bloc Simulink Constant dans


Simulink/Commonly Used Blocks et configurer le en entrant la valeur du gain d’émission de
-5 dB (-5) pour commencer pour Constant value. Cette valeur peut être augmentée à
au maximum 0 dB (0) si la réception du signal émis n’est pas bonne.

 Pour l’élément Signal du Workspace, choisir le bloc Simulink Signal From Workspace dans
DSP System Toolbox/Sources et configurer le bloc de la manière suivante :

- Entrer dans Signal le nom de la variable qui contient le signal en bande de base à
émettre c.à.d. la variable z généré dans l’espace de travail (workspace) après l’exécution
du script MATLAB am_DSBTC_DSBSC_BandeDeBaseComplex.m.
- Entrer dans Sample time la valeur de la période d’échantillonnage en bande de base
c.à.d. l’inverse de la fréquence d’échantillonnage en bande de base fixée dans le script.
- Entrer dans Samples per frame la valeur du nombre d’échantillons par trame qui
est fixée ici à 1000.
- Choisir Cyclic repetition pour Form output after final data value
by afin de permettre une répétition cyclique de l’émission du signal en bande de base
généré.

 Pour l’élément Spectre signal en bande de base, choisir le bloc Simulink Spectrum Analyzer
dans DSP System Toolbox/Sinks et configurer le bloc si nécessaire pour mieux analyser le
spectre du signal en bande de base à émettre.

Fixer le temps final de simulation (Simulation stop time) à inf pour émettre de manière
continue.

Exécuter la simulation en cliquant sur run pour commencer à émettre. Faire une pause avant de
continuer l’exécution pour vérifier les valeurs des fréquences du signal en bande de base émis sur
l’analyseur de spectre. Faire une capture d’écran pendant la pause, annoter et commenter le spectre.

Continuer l’exécution de la simulation et vérifier avec les groupes de réception s’ils reçoivent le signal
émis. Sinon augmenter par exemple le gain d’émission (mais ne pas de pas dépasser 0 dB). Les
groupes de réception peuvent aussi augmenter le gain de récepteur pour améliorer la réception.

20
© D. Bonkoungou 2019-2020 dbonkoungou@[Link]
TP6-2A-RIT: Présentation de ADALM-PLUTO, Emission et réception avec modulation AM

3) Pour les groupes de réception :

Démarrer SIMULINK et créer un nouveau modèle Simulink. Enregistrer le nouveau modèle


Simulink sous le nom recepteurAnalyseAM_RTLSDR.slx. dans le dossier
TP_emissionReceptionAM créé.
Le fichier recepteurAnalyseAM_RTLSDR.slx va contenir le modèle Simulink de réception
avec le module radio RTL-SDR à construire.
Construire le modèle Simulink de réception avec le module radio RTL-SDR selon la figure
suivante.

Figure 11: Schéma du modèle Simulink de réception avec le module radio RTL-SDR

 Pour l’élément Interface de réception du module radio RTL-SDR, choisir le bloc Simulink
RTL-SDR Receiver dans la bibliothèque (library) Communications Toolbox Support
Package for RTL-SDR Radio et configurer le bloc de la manière suivante :
- Choisir Input Port pour la source de la fréquence centrale (Source of center
frequency).
- Choisir Input Port pour la source du gain d’émission (Source of gain).
- Fixer la valeur de la fréquence d’échantillonnage en bande de base (Baseband sample
rate) à celle fixée par le groupe d’émission.
- Cocher (activer) l’indicateur de perte d’échantillons (Lost samples output port)
et de latence (Latency output port).
Le port d’indicateur de perte d’échantillons livre le nombre (entier positif) d’échantillons
perdus pendant le transfert des échantillons reçu par le module RTL-SDR vers MATLAB
à travers le port USB. Ce port permet de savoir si le traitement des échantillons reçus dans
MATLAB est effectué à temps réels (nombre d’échantillons perdus = 0) ou pas (nombre
d’échantillons perdus > 0).
Le port d’indicateur de latence livre le retard avec lequel les échantillons sont reçus en
nombre de trames. Lorsque la valeur de ce retard est ≤ 1, alors les échantillons sont reçus
sans latence (retard).

21
© D. Bonkoungou 2019-2020 dbonkoungou@[Link]
TP6-2A-RIT: Présentation de ADALM-PLUTO, Emission et réception avec modulation AM

- Choisir single pour Output data type pour recevoir les échantillons émis en
format virgule flottante normalisé dans l’intervalle [-1 ; +1].
- Fixer le nombre d’échantillons par trame (Samples per frame) à 1000.

 Pour l’élément Fréquence centrale de réception, choisir le bloc Simulink Constant dans
Simulink/Commonly Used Blocks et configurer le en entrant la valeur de la fréquence centrale
de celle fixée par le groupe d’émission dans Constant value.

 Pour l’élément Gain ajustable du récepteur, choisir le bloc Simulink Slider Gain dans
Simulink/Math Operations. Ce bloc permet de modifier le gain de réception pendant
l’exécution de la simulation. Configurer le bloc de la manière suivante :

- Fixer la valeur minimale du gain (Low) à 0 dB(0) et la valeur maximale du gain (High) à
50 dB (50).
- Fixer une valeur de départ du gain à 35 dB (35). Cette valeur peut être augmentée pendant
l’exécution à au maximum 50 dB (50) si la réception du signal émis n’est pas bonne

 Pour le bloc connecté à l’élément Gain ajustable du récepteur, choisir le bloc Simulink
Constant dans Simulink/Commonly Used Blocks et configurer le en entrant la valeur 1 dans
Constant value.

 Pour les éléments Echantillons perdus et Latence connectés respectivement aux ports lost et
late de l’interface de réception, choisir pour chacun un oscilloscope (bloc Time Scope) dans
DSP System Toolbox/Sinks.

 Pour l’élément Filtre passe bande connecté au port Data de l’interface de réception, choisir
le bloc Simulink Digital Filter Design dans DSP System Toolbox/Filtering/Filter
implementations.
Le filtre passe-bande sert ici à isoler soit le signal AM DSB-TC ou le signal AM DSB-SC
pour une meilleure analyse dans le domaine temporelle.

Configurer le bloc de la manière suivante :

- Pour le type de réponse fréquentielle (Response Type) choisir un passe-bande


(Bandpass)

- Pour la méthode de conception (Design Method) choisir FIR Equiriple.

- Choisir un filtre d’ordre (Filter Order) 60 dans Specify order.

- Pour les spécifications des fréquences caractéristiques (Frequency


Specifications), on va supposer d’abord (dans un premier cas) que le filtre passe-
bande est utilisé pour isoler et analyser uniquement le signal AM DSB-TC. Pour cela,
choisir des valeurs appropriées pour les fréquences caractéristiques suivantes en se basant
sur la figure suivante et en s’entretenant avec le groupe d’émission pour connaitre les
fréquences du spectre du signal en bande de base émis afin d’isoler uniquement le signal
AM DSB-TC en bande de base :

 Unités (Units) : choisir par exemple kHz.


 Fréquence d’échantillonnage en bande de base (Fs) :
 Fréquence supérieure de la bande bloquante inferieure (Fstop1) :
 Fréquence inferieure de la bande passante(Fpass1) :

22
© D. Bonkoungou 2019-2020 dbonkoungou@[Link]
TP6-2A-RIT: Présentation de ADALM-PLUTO, Emission et réception avec modulation AM

 Fréquence supérieure de la bande passante(Fpass2) :


 Fréquence inferieure de la bande bloquante supérieure (Fstop2) :

Figure 12: Spécifications du filtre passe-bande pour isoler le signal AM DSB-TC ou DSB-SC

La bande Bti = Fpass1 – Fstop1 est appelée bande de transition inferieure et détermine la raideur du flanc
inferieur du filtre passe-bande. La bande Bts = Fstop2 – Fpass2 est appelée bande de transition
supérieure et détermine la raideur du flanc supérieur du filtre passe-bande. Ces deux bandes de
transition déterminent donc la sélectivité du filtre passe-bande. Plus les bandes de transition sont
petites, plus le filtre est sélectif.
La bande BP = Fpass2 – Fpass1 est appelée bande passante et détermine la bande de fréquence du
signal à isoler.

- Cliquer sur Design Filter pour la conception du filtre passe-bande. Vérifier la


réponse en amplitude (Magnitude Response) représentée pour s’assurer que le filtre
est adapté pour l’isolation du signal AM DSB-TC.

 Pour les éléments Spectre signaux AM multiplexés et Spectre signal AM, choisir le bloc
Simulink Spectrum Analyzer dans DSP System Toolbox/Sinks et configurer le bloc si
nécessaire pour mieux analyser le spectre du signal en bande de base à émettre. Etant donné
que les signaux reçus proviennent d’un canal réel, on peut par exemple fixer la valeur du
paramètre Averages (dans View/Spectrum Settings) à 10 afin de réduire le bruit en
permettant à la fenêtre de l’analyseur de spectre de faire une moyenne sur plusieurs
représentations spectrales.

 Pour l’élément Oscilloscope signal AM, choisir le bloc Simulink Time Scope dans DSP
System Toolbox/Sinks et configurer le bloc si nécessaire pour mieux analyser la
représentation temporelle du signal AM DSB-TC.

Fixer le temps final de simulation (Simulation stop time) à inf pour recevoir de manière
continue.

S’assurer que le groupe d’émission est entrain d’émettre. Exécuter la simulation en cliquant sur run
pour commencer à recevoir. Faire une pause avant de continuer l’exécution pour vérifier les valeurs
des fréquences du signal en bande de base émis.

23
© D. Bonkoungou 2019-2020 dbonkoungou@[Link]
TP6-2A-RIT: Présentation de ADALM-PLUTO, Emission et réception avec modulation AM

a) L’analyseur de spectre Spectre signaux AM multiplexés présente t-il le spectre du signal AM


DSB-TC et DSB-SC tel que émis en bande de base ? Faire une capture d’écran du spectre de
l’analyseur de spectre et annoter l’image en identifiant les signaux suivants sur la base des
fréquences :

 Porteuse du signal AM DSB-TC et DSB-SC. Mesurer à l’aide des curseurs les valeurs des
fréquences porteuses (centrales) et vérifier les résultats avec le groupe d’émission.

 Bande (raie) latérale inferieure et supérieure du signal AM DSB-TC et DSB-SC. Mesurer


à l’aide des curseurs les valeurs des fréquences correspondantes et vérifier les résultats
avec le groupe d’émission.

 Ecart entre la fréquence porteuse (centrale) du signal AM DSB-TC et DSB-SC à travers


une mesure avec les curseurs. Verifier le résultat avec le groupe d’émission.

b) L’analyseur de spectre Spectre signal AM présente t-il uniquement le spectre du signal AM


DSB-TC isolé par le filtre passe-bande ?

c) L’oscilloscope Oscilloscope signal AM présente t-il l’allure temporelle du signal AM DSB-


TC tel que émis en bande de base ? L’enveloppe du signal AM contient-il le signal
d’information (ou signal modulant) ? Verifier le résultat avec le groupe d’émission.

Faire une capture d’écran de la représentation temporelle de l’oscilloscope et annoter l’image


en identifiant les caractéristiques suivantes :

 Le signal d’information (ou signal modulant) de la AM DSB-TC. Mesurer la


fréquence du signal d’information à l’aide de curseurs et verifier le résultat avec le
groupe d’émission.

 L’indice de modulation. Mesurer graphiquement l’indice de modulation et comparer


le résultat avec la théorie.

d) Modifier maintenant les fréquences caractéristiques du filtre passe-bande pour isoler


uniquement le signal AM DSB-SC.

Analyser le signal AM DSB-SC en répondant aux mêmes questions formulées dans b) et c)


pour le signal AM DSB-TC.

24
© D. Bonkoungou 2019-2020 dbonkoungou@[Link]
TP6-2A-RIT: Présentation de ADALM-PLUTO, Emission et réception avec modulation AM

6. Démodulation AM non cohérente par détection d’enveloppe

Créer un nouveau modèle Simulink. Enregistrer le nouveau modèle Simulink sous le nom
DemodAM_DetectionEnv_RTLSDR.slx. dans le dossier TP_emissionReceptionAM créé.
Le fichier DemodAM_DetectionEnv_RTLSDR.slx va contenir le modèle Simulink de réception
et démodulation avec le module radio RTL-SDR à construire.
Construire le modèle Simulink de réception et de démodulation avec le module radio RTL-SDR en
modifiant le modèle Simulink recepteurAnalyseAM_RTLSDR.slx et en utilisant le modèle
Simulink créée dans le TP intitulé " Conception et test d'un détecteur d'enveloppe pour une
démodulation non cohérente de signaux AM " .
La modification consiste à compléter le modèle recepteurAnalyseAM_RTLSDR.slx après le
bloc du filtre passe-bande d’isolation du signal AM DSB-TC.

S’assurer que le groupe d’émission est entrain d’émettre .Configurer et exécuter la simulation pour
recevoir et démoduler le signal AM DSB-TC émis par le groupe d’émission.

Le signal démodulé correspond t-il au signal d’information ou (signal modulant) utilisé pour la
modulation AM DSB-TC ?
.

25
© D. Bonkoungou 2019-2020 dbonkoungou@[Link]

Vous aimerez peut-être aussi