0% ont trouvé ce document utile (0 vote)
92 vues8 pages

TP 3

Ce document décrit les étapes pour démoduler un signal FM commercial et extraire les informations numériques RDS qu'il contient. Il présente d'abord les concepts de base de la modulation FM, puis propose une séquence d'acquisition avec GNURadio pour démoduler le signal, filtrer la sous-porteuse RDS et enregistrer le résultat. Le document détaille ensuite comment identifier les différentes composantes du signal FM et décoder le signal RDS.

Transféré par

Amina Qaddouri
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)
92 vues8 pages

TP 3

Ce document décrit les étapes pour démoduler un signal FM commercial et extraire les informations numériques RDS qu'il contient. Il présente d'abord les concepts de base de la modulation FM, puis propose une séquence d'acquisition avec GNURadio pour démoduler le signal, filtrer la sous-porteuse RDS et enregistrer le résultat. Le document détaille ensuite comment identifier les différentes composantes du signal FM et décoder le signal RDS.

Transféré par

Amina Qaddouri
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

Demodulation de la Radio FM Commerciale

Pr. Belkebir Hicham

April, 2022

Analyse du canal numérique transmis par les sta-


tions radio FM commerciales
Généralités
La bande commerciale FM, comprise entre 88 et 108 MHz, est divisée pour
allouer une bande de 200 kHz à chaque station. Chaque station redivise chaque
tranche du spectre radiofréquence qui lui est allouée en trois sous-segments :
• Le son, avec d’abord la somme des signaux destinés à l’oreille droite et
l’oreille gauche.
• En transmission stéréo, la différence entre oreille droite et oreille gauche
(afin qu’un récepteur mono puisse recevoir une station stéréo).
• Un signal numérique RDS (Radio Data System) comportant des informa-
tions telles que le nom de la station , ou du texte libre tel que le titre d’une
émission ou d’un morceau de musique.
Un récepteur est informé qu’une émission est en stéréo par la présence d’une
onde pilote – un signal périodique continu – à 19 [kHz]. La sous-porteuse de
la transmission numérique se fait à 57 [kHz] générée comme étant la troisième
harmonique du signal pilote si l’émetteur est stéréo. La bande passante du signal
numérique est de l’ordre de 5 kHz.

Acquisition de la station FM
On se propose de réaliser une séquence d’acquisition par GNURadio qui vise:
1. A démoduler un signal dans la bande FM.
2. En extraire la sous-porteuse comportant les informations numériques.
3. Stocker le résultat dans un fichier binaire pour post-traitement.
Deux caractéristiques déterminent la qualité de la démodulation et la puissance
de calcul nécessaire :

1
Figure 1: Spectre de la FM commerciale

• Les fréquences de coupure pour isoler la bande qui nous intéresse par
filtrages successifs.
• Les décimations pour réduire le débit de données.
Un récepteur de télévision numérique terrestre (DVB-T) basé sur le con-
vertisseur analogique-numérique RTL2832U travaille nécessairement avec
une fréquence d’échantillonnage comprise entre 1.5 et 2, 4 [M Hz], soit bien
plus que l’encombrement spectral d’une bande FM. Notre première tâche
consiste à décimer ce flux de données pour n’avoir qu’environ 200 [ksamples/s],
respectant ainsi l’encombrement spectral d’une unique station FM. Cependant,
la décimation ne peut se faire sans avoir atténué le signal des autres stations
se trouvant à plus de 100 [kHz] de la bande qui nous intéresse, sinon leurs
signaux se ramèneront dans la bande de base par repliement spectral lors de la
décimation.
Il devient alors indispensable de commencer par un filtre qui isole la station
d’intérêt, puis de décimer suffisamment pour réduire le flux à un débit de l’ordre
de 200 [ksamples/s]. L’autre intérêt de la décimation est de permettre des
transitions des filtres en aval plus nettes avec un même nombre de coefficients
: en effet, la bande de transition d’un filtre est de l’ordre de la fréquence
d’échantillonnage divisée par le nombre de coefficients. Ainsi, il sera très lourd
de calculer un filtre présentant une bande étroite à taux d’échantillonnage élevé,
tandis que le même résultat s’obtient à ressource de calcul réduite en décimant
judicieusement auparavant. Les 200 [ksamples/s] que nous venons d’obtenir
portent toutes l’information qui encode la station FM commerciale qui nous
intéresse.

2
Demarche d’acquisition
1. Ouvrir GNURadio companion
2. Régler la fréquence d’échantillonnage sur la valeur 2 M Hz
3. Importer les blocs ci-apres pour réaliser cette experience :
• Osmocom source
• QT GUI Frequency Sink
• Low Pass Filter
• WBFM Receive
• QT GUI Waterfall Sink
• Audio Sink

Partie 01 Dans un premier temps nous allons vérifier l’acquisition de la


station FM en utilisant les blocs Osmocom source, Low pass Filter et le QT
GUI Frequency Sink. N’oublier pas d’ajouter un QT GUI RANGE pour contrôler
le gain RF du dongle.
• Pour l’Osmocom utiliser les réglages suivant:

IQ
DC Bal-
Sample [Link] offset ance Gain RF IF BB
rate Frequency(ppm) mode Mode mode Gain Gain Gain
sr 106.1 0 false false Manual 20 20 20

• Pour le LPF on prend:

Sample rate Decimation Gain Cutoff Transition width Window


sr
sr 8 1 16 Cutoff/10 Blackman-Haris

• Pour le QT GUI Frequency Sink on prend les reglages suivants:

Sample rate FFT size Center Frequency refresh rate


sr/8 1024 0 15

• Analyser le spectre que vous obtenez et conclure.

Figure 2: check

3
Partie 02 Il existe de nombreuses techniques pour effectuer une démodulation
FM et sont proposées sous forme de blocs prêts à l’emploi dans GNU Radio. Les
meilleures performances sont probablement obtenues en utilisant une approche
basée sur les PLLs (boucles à verrouillage de phase). Malheureusement, la
conception numérique de PLL n’entre pas dans le cadre de ces seances de travaux
pratiques. Il s’en suit qu’il faut mettre en œuvre une démodulation FM à l’aide
des blocs DSP de base.
Pour ce faire, une option intéressante consiste à mettre en œuvre une technique
de démodulation FM en quadrature qui prend des échantillons IQ en entrée.
La figure ci-dessous montre le schéma qui met en œuvre cette approche de
démodulation FM:

Figure 3: FM-DEM DSP based blocks

Comme on peut le constater, tous les blocs de base qui construisent ce dé-
modulateur sont disponibles sur GNU Radio-Companion. Un autre avantage de
cet exercice est de se familiariser avec la relation entre la phase des signaux
complexes en bande de base et leurs homologues passe-bande.
Une fois la démodulation FM terminée, il est possible d’écouter le signal démodulé
(uniquement l’audio mono) en utilisant un filtre passe-bas et en ajustant la
fréquence d’échantillonnage à l’une des fréquences standard utilisées par votre
carte son. Cette dernière étape implique l’utilisation d’un changement rationnel
de la fréquence d’échantillonnage (de 50 Ksps vers 48 ksps) et peut être mise en
œuvre avec l’utilisation des filtres polyphasés.
* Réaliser le flowchart illustre ci-dessus pour démoduler le signal FM
avec les blocs de bases de gnuradio.

Figure 4: check

4
Le bloc WBFM démodule le signal avec un facteur de decimation de 2 et fournit
un flux de données qui peut lui aussi être décimé en utilisant un deuxième filtre
LPF:
1. Ajouter les element nécessaires pour réussir cette operation
2. La fréquence d’échantillonnage du bloc Audio Sink est de 48 [kHz], cal-
culer le facteur de decimation qu’nn doit utiliser pour le deuxième filtre
LPF tout en spécifiant sa fréquence de coupure et sa bande de transition.
3. Utiliser le bloc QT GUI Waterfall Sink pour afficher le spectrogramme
du signal démodulé.
4. Identifier dans le spectre affiché les quatres composantes qui caractérisent
la transmission FM moderne a savoir les signaux:
• L+R du signal audio.
• L’onde pilote.
• L’audio en mode stéréo si il existe.
• le signal RDS.
5. Conclure.
6. Introduisez maintenant le bloc File sink pour enregistrer une minute du
signal capté par le dongle rtl-sdr.
7. Proposez et réalisez un nouvel diagramme gnu radio pour la démodulation
du signal à partir du fichier source enregistré en utilisant cette fois-ci le
bloc File source comme source de données.

Figure 5: check

Partie 03 Dans cette partie on souhaite couvrir tous le spectre allouée à la


transmission FM commerciale (88 [M Hz] − 108 [M Hz]). Pour ce faire on doit
modifier notre diagramme de bloc gnu radio en utilisant le QT GUI Range pour
pouvoir sélectionner les différentes chaines émises dans cette plage spectrale.
1. Ajoutez un bloc QT GUI Range et mettez dans le paramètre id la valeur
“station”. Vous prenez comme pas 100 [kHz].
2. Lancer la simulation et compter le nombre de station qu’on peut capter
tout en dressant leur fréquences d’émission dans un tableau.
3. Verifier si tout les stations émettent le signal rds.
On desire maintenant modifier notre diagramme de bloc pour recevoir simul-
tanément deux stations au lieu d’une seul (phénomène de cacophonie). Pour
ce faire, 0n peut utiliser un mélangeur pour transposer le spectre d’une station

5
au voisinage d’une autre. On aura besoin pour accomplir cette tache des blocs
ci-apres:
• Signal source
• multiply
• Xlating FIR Filter
• QT GUI Push Button
1. Dans une premiere etape, modifier votre diagramme de bloc pour visualiser
et écouter le phénomène de cacophonie.
2. Analysez le spectre de fréquence et commentez
3. Ensuite, utilisez le bloc QT GUI Push Button pour sélectionner automa-
tiquement l’activation /désactivation du phénomène de cacophonie.
4. Enfin, remplacer les blocs Signal Source et multiply par le bloc Xlating
FIR Filter et essayez d’obtenir le meme comportement.
5. Expliquez brièvement le fonctionnement de ce bloc.
6. Conclure.

Figure 6: check

Partie 04 Nous désirons décoder le signal RDS qui se trouve autour d’une
sous-porteuse à 57 [kHz], donc nous ne pouvons pas encore décimer, mais devons
attendre de transposer la sous-porteuse de 57 kHz vers la bande de base par un
Xlating FIR Filter. pour une fois de plus décimer, les 192 [ksamples/s] étant
bien trop rapides pour les quelques kHz occupés par le signal numérique. Ainsi,
le filtre FIR (filtre à réponse impulsionnelle finie) est conçu pour isoler le signal
numérique sur une bande de quelques kHz et rejeter les autres composantes
spectrales avant la décimation qui fournit un débit de données raisonnable pour
décoder le signal numérique.
1. Ajouter le bloc Frequency Xlating FIR Filter
2. Declarer une variable taps dans laquelle vous utiliserez la méthode
[Link].low_pass_2 avec lea paramètres ci-apres:

gain Sample rate cuttoff transition band window


1 192×103 2000 500 60

3. Connectez la sortie du filtre a un bloc QT GUI Frequency sink

6
4. Analysez le spectre obtenue et conclure.
5. Ajoutez maintenant les bloc Complex to real, complex to arg, multipy
by const et QT GUI Time Sink pour visualiser la phase et la partie reel
de la sortie du filtre Xlating.
6. Analysez et conclure.

Figure 7: check

Partie 05 Le mode de modulation BPSK, caractérisé par deux états de la


phase 0 et 180 pour représenter deux états binaires 0 et 1 et facile a démoduler
si on arrive a produire une copie locale de la porteuse. Pour ce faire, nous
pourrions considéré diverses approches incluant l’extraction de la phase à partir
des données complexes I et Q issues du démodulateur en exploitant une fonction
insensible aux rotations de phase de 180.
On pourra aussi songer a utiliser le carré du signal (le multiplier par lui-même).
Certes, la fréquence double aussi mais on peut contourner ce problème par
l’usage d’un diviseur de fréquence et par suite générer une copie locale de la
porteuse. Cette dernière méthode est implémentée dans le bloc de traitement
dit de la boucle de Costas, qui fournit d’une part le signal corrigé de l’erreur
entre l’oscillateur émetteur et l’oscillateur local du récepteur, et d’autre part une
estimation de cette erreur.
Notre stratégie de traitement consiste alors à fournir le signal de sortie du filtre
Xlating à une boucle de Costas qui estimera le décalage ∆f et le compense.
La modulation en bande de base est faite à 1187.5 [bits/s], en fait il s’agit d’un
mode d’encodage différentiel qui nécessite donc au moins 1187.5 × 2 = 2375 [Hz].
1. Ajouter les blocs Boucle de costas a votre diagramme et afficher a la
fois la partie réelle et la phase de sa sortie en fonction du temps.
2. Afficher aussi les spectres correspondants.
3. Visualiser le signal d’erreur générer par la boucle de Costas.
4. Interprétez les résultats obtenus.
5. Ajouter le bloc File Sink pour enregistrer les donnes dans un fichier.
6. Conclure.

7
Figure 8: check

Vous aimerez peut-être aussi