Professional Documents
Culture Documents
Trouver, sur le site GNURadio dcrivant lAPI des blocs de traitement, les mthodes associes lobjet filtre passe bande.
Ajouter dans le script Python gnr par GNURadio-companion la longueur du filtre.
Sortir le signal ainsi filtr sur la carte son : couter leffet de la largeur et de la frquence centrale du filtre.
Prenons un second exemple simple qui illustrera la souplesse de GNURadio-companion pour apprhender et prototyper
des concepts de traitement du signal en explicitant les coefficients du filtre. Un filtre FIR propose une sortie y n comme somme
pondre des entres x k tel que
N
X
y n = b k x nk
0
avec N le nombre de coefficients. Ce nombre influe significativement sur la puissance de calcul ncessaire produire chaque y n
et il est utile den intuiter le sens. Partant dun schma tel que propos ci-dessous
dans lequel les coefficients b k , nomms taps, sont dynamiquement dfinis par la fonction Python
filter.firdes.low_pass_2(1, samp_rate, fc, fc+df ,attenuation)
pour dfinir un filtre de frquence de coupure fc sur une bande fc+df avec une attnuation hors bande de attenuation. Nous
allons voir que df est un point cl pour dfinir N . Pour intuiter le sens de N et sa relation avec fc, une transforme de Fourier
sur N points se traduit par un spectre de pas de frquence samp_r at e/N avec samp_r at e la frquence dchantillonnage. Si
fc est plus petit que samp_r at e/N , le spectre nest pas suffisamment rsolu pour dfinir les flancs du filtre : il faut augmenter
N.
GNURadio-companion tant un gnrateur de code Python, nous pouvons modifier le code gnr en ajoutant dans la
fonction de callback de taps un affichage de la longueur du vecteur :
qui nous permet de constater que la longueur du filtre crot lorsque fc dcrot. Cette fonction est appele chaque fois quun
paramtre du filtre est modifi, et permet donc de suivre lvolution du nombre de coefficients avec les divers paramtres.
Exercice : modifier la fonction de callback pour afficher, en plus du nombre de coefficients, la frquence centrale et la frquence de coupure du filtre. Constater comment N volue en fonction de ces paramtres.
F IGURE 1 Deux implmentations de filtres passe-bande, gauche avec une bande de transition de 5 Hz, droite avec une
bande de transition de 150 Hz. La diffrence nest pas significative en terme de performances, mais les implications en terme de
nombre de coefficients traiter est significative (Fig. 2).
Nous pouvons tester des algorithmes simples mais fondamentaux de traitement du signal tels que les filtres. Un filtre
rponse impulsionnelle finie (FIR) est conu pour traiter un signal synthtique. Afin de caractriser les proprits spectrales du
filtre, nous lattaquons par un bruit uniforme, et observons le spectre en entre et en sortie du filtre.
Quel est leffet de demander une bande de transition plus troite pour un filtre ?
F IGURE 2 Outil de conception de filtres fourni par GNURadio Companion : noter la croissance du nombre de coefficients dont
le nombre est inversement proportionnel la bande passante de transition requise.
3 Coefficients I-Q
F IGURE 5 Dfinition de samp_rate comme multiple de la frquence audio finale, et activation de la sortie son du PC.
est multiple du dbit audio-frquence de sortie, il est prudent de dfinir samp_rate comme multiple de la frquence de sortie
audio. Par exemple pour une sortie 48 kHz, une entre de 48 32 = 1, 536 MHz respecte la bande passante dchantillonage
du rcepteur. De mme pour une sortie 44,1 kHz, une entre 44, 1 50 = 2, 205 MHz respecte les conditions dchantillonage
dentre et de sortie sous rserve que les divers blocs de traitement dciment de 50 = 5 5 2.
Connecter un casque la sortie audio du PC et couter le rsultat. Que se passe-t-il si le facteur de dcimation du dmodulateur est modifi de 24 18 par exemple ? De 24 30 ?
F IGURE 6 Encombrement spectral des modulations AM (gauche) et FM (droite). Dans les deux cas le signal modulant est une
sinusode 2400 Hz.
Une modulation damplitude est produite par un attnuateur command en tension, aussi nomm transistor (par exemple
FET). Une modulation de frquence est produite par le tirage en frquence dun oscillateur, par exemple en plaant une varicap
commande en tension dans loscillateur (VCO Voltage Controlled Oscillator). Dmoduler les signaux AM et FM afin den
afficher lvolution temporelle lorsque la modulation est de nature sinusodale
5.2 BPSK
La modulation en phase sobtient en attaquant un mlangeur (dans notre cas un Minicircuits ZX05-43MH+, Fig. 7) dune part
par un signal RF reprsentant la porteuse (port LO) et dautre part par un signal crnau de valeur moyenne null reprsentant
le signal (port IF) pour gnrer le signal attaquant lantenne (port RF). Daprs le schma du mlangeur, la polarit du signal
modulant dtermine le ct du pont de diodes par lequel passe le signal LO pour attaquer le point milieu du transformateur, et
donc la phase (entre 0 et ) qui affectera le signal de sortie.
F IGURE 7 Gauche : extrait de la datasheet du ZX05-43MH+ expliquant son cablage interne, et schma GnuRadio-Companion
pour dmontrer llimination de la modulation par mise au carr du signal modul en phase, ainsi que la dmodulation par
boucle de Costas. Droite : montage exprimental.
La subtilit de la dmodulation PSK tient en lextraction de la porteuse afin dannuler lcart de frquence f entre loscillateur et la porteuse incidente. En effet, si cette diffrence nest pas annule, la phase du signal est affecte dune part dun signal
voluant dans le temps 2 f t et de la phase dtecter [0, ]. Une faon destimer la porteuse est la boucle de Costas
(Costas loop) qui fournit le signal dmodul et lestimation dcart de frquence.
Dmontrer la dmodulation du signal modul en phase (Fig. 8). Quelle est lcart de la frquence de porteuse LO acceptable pour obtenir un asservissement acceptable ?
6 Modulation FSK
La modulation FSK est trs classique : les deux tats possibles dun bit sont cods par deux frquence de modulation de la
porteuse. la rception, un dmodulateur FM renvoie deux tats possibles de la tension de sortie, correspondant aux deux tats
des bits du flux dinformation (Fig. 9).
Que se passe-t-il en cas de dcallage des oscillateurs locaux de lmetteur et du rcepteur ? comment une modulation sur une
porteuse remdie ce problme ?
Sachant que le signal commandant le VCO est issu dun UART compatible RS232 de microcontrleur, quel est la baudrate de
cette communication issu de lanalyse de la Fig. 9 (droite) ?
7
F IGURE 8 De gauche droite : porteuse 1249,7 MHz (en dehors de la bande dasservissement), puis 1249,99 et 1250,3 MHz
(dans la bande dasservissement).
F IGURE 9 Rception du signal mis par un radiomodem Semtech XE1203F mettant des trames numriques sur 434 MHz.
F IGURE 10 Gauche : spectre autour de 466 MHz o les signaux POCSAG sont transmis. Droite : traitement des signaux dmoduls.
3. Connecter multimon ce tuyau par multimon -t raw montuyau
4. Observer le rsultat (Fig. 11)
On notera lutilisation du filtre passe-haut entre la sortie du dmodulateur de frquence et le convertisseur de flottant en
entiers. En effet tout dcalage de frquence entre les oscillateurs de lmetteur et du rcepteur en FM se traduisent aprs dmodulation par une tension continue. Le filtre passe-haut sert non seulement liminer cette tension continue mais aussi
dcimer le flux de donnes pour atteindre le dbit requis par multimon.
8 Analyse multicanaux
POCSAG est caractris par plusieurs canaux radiofrquences. Ici nous ne dcodons que un seul canal en nous plaant sur
sa frquence de porteuse. Il serait intressant, puisque le flux de donnes I/Q contient les informations portes dans tous les
canaux, de dcoder le contenu de tous les canaux de communication en parallle.
Dun point de vue de traitement du signal, il saggit de placer un filtre passe-bande autour de chaque canal et den traiter les
informations, sans tre polu par le contenu spectral des canaux adjacents. En pratique, nous transposons chaque canal prs de
la frquence nulle, et plaons un filtre passe-bas pour liminer les autres contributions spectrales.
Cette mthode de travail est si classique quelle est implmente comme un unique bloc dans GNURadio Companion :
Frequency Xlating FIR Filter. Ce bloc contient loscillateur local par lequel la frquence est transpose par mlange, et
9
le filtre passe-bas. Un filtre passe-bas est dfini par ses caractristiques spectrales : les coefficients du FIR sobtiennent par
firdes.low_pass(1,samp_rate,15000,5000,firdes.WIN_HAMMING,6.76). Nous plaons cette commande dans une variable dont le nom renseigne les caractristiques du filtre.
Dmoduler deux canaux POCSAG simultanment.
Cette mthode de travail stend un nombre quelconque de canaux, dans la limite de la puissance de calcul disponible. En
pratique on se limitera au nombre de curs de calcul disponibles sur le processeur.
10
F IGURE 13 Haut : schma de la chane de traitement pour gnrer le signal audio et la squence numrique de bits transmis
pour identifier lmetteur radiofrquence (inspir du travail de K. McQuiggin). Bas : signal numrique lorsque le dcodage est
possible, avec un diagramme de constellation permettant de clairement distinguer les deux tats possibles des bits (gauche), et
droite lorsque le niveau de bruit est trop lev.
11