Introduction aux radios logicielles avec GNU Radio/Rappels de traitement du signal

De testwiki
Aller à la navigation Aller à la recherche

Modèle:GRC

Schéma-bloc

Le traitement du signal consiste en la réalisation d'une succession d'opérations mathématiques sur un flux de données. On représente ce traitement par un schéma-bloc ; chaque bloc représente une opération mathématique à laquelle est soumis le signal. Chaque bloc est relié par la ligne d'action, qui représente le « chemin » suivi par les données traitées.

Si GNU Radio est, à la base, un ensemble d'outils de traitement en ligne de commande, des outils graphiques ont été développés. L'outil GNU Radio Companion (GRC), que nous utiliserons, permet de manipuler le signal avec un schéma-bloc (toutefois, l'option de coder soit-même en langage Python le traitement désiré demeure possible). Les blocs de GRC peuvent réaliser plusieurs opérations mathématiques à la fois ou des manipulations complexes (filtrage, affichage graphique, etc). On préférera donc le terme de logigramme (flowgraph).

Décomposition spectrale

La théorie de Fourier[1] garantit que tout signal réel périodique et continu s(t) périodique de période T peut se décomposer sous la forme d'une somme de signaux sinusoïdaux. C'est-à-dire qu'il existe deux suites (Ai)i* et (Bi)i* d'amplitudes et une suite (ωi)i* de pulsations telles que :s(t)=A02+i=1Aicos(ωit)+i=1Bisin(ωit), avec ωi=2πiT,i*. Pour plus de détails (signaux complexes, etc.) voir : https://fr.wikipedia.org/wiki/Série_de_Fourier. Modèle:Définition

Nous ne chercherons jamais ici à établir l'expression mathématique de la décomposition. Toutefois, nous utiliserons une conséquence fondamentale : la connaissance des amplitudes et des pulsations (donc des fréquences) renseigne sur la composition spectrale du signal initial. La représentation graphique des différentes amplitudes en fonction de leur fréquence se nomme le spectre de s. Il permetra d'isoler les composantes « intéressantes » du bruit.

Échantillonnage et critère de Shannon

Considérons un signal analogique, variant dans le temps, par exemple sous la forme d'un cosinus : s(t)=cos(ωt). On peut représenter son évolution dans le temps sous la forme d'une courbe continue. Lorsqu'un ordinateur voudra effectuer un traitement sur la base de ce signal, il ne pourra pas récupérer l'intégralité des valeurs. On dit qu'il discrétise le signal en une succession de valeurs, ou encore qu'il effectue un échantillonnage du signal.

Un des problèmes posés par cette discrétisation vient de la perte d'information qu'elle engendre : puisque tout le signal n'est pas récupéré, il y a nécessairement des « trous ». La parade consiste à acquérir suffisamment de valeurs pour limiter la perte. L'intervalle entre chaque mesure doit donc être adapté au signal ; assez intuitivement, on comprend que « plus le signal oscille vite, plus il faut récupérer de valeurs » afin de préserver l'information. Il s'agit donc de choisir une fréquence d'échantillonnage adéquate. Le critère de Shannon[2] permet de lier la fréquence du signal à la fréquence d'échantillonnage. Modèle:Théorème

Mise en évidence de l'importance du critère de Shannon.

Ne pas respecter le critère de Shannon est une faute grave en traitement du signal, car cela peut conduire à des résultats erronés ! Reprenons l'exemple du signal s(t), que l'on échantillonne avec une fréquence fech insuffisante. On constate tout d'abord que le spectre fait apparaître une sinusoïde de fréquence plus petite que le signal de départ. D'un rapide coup d'œil sur le chronogramme, on en comprend l'origine : l'échantillonnage réalisé est trop faible pour rendre compte correctement du signal initial... Pire encore, le signal échantillonné correspond à une sinusoïde différente du signal de départ.

Modulation, démodulation

Exemple de la modulation d'amplitude

La modulation d'amplitude permet de véhiculer l'information au travers de la variation de l'amplitude de la porteuse. On en rappelle ici le principe de base, afin de mieux mettre en évidence l'intérêt des radios logicielles.

Modulation

Si le signal modulant — celui qui contient initialement l'information et qui imposera la modulation de la porteuse — est s(t), et que la porteuse avant modulation est p(t), alors l'objectif est d'obtenir en sortie un signal modulé de la forme : sAM(t)=p(t)(1+ks(t))=p(t)+kp(t)s(t).

On utilise de façon classique un multiplieur pour réaliser d'abord l'opération kp(t)s(t). La constante k désigne le rapport de multiplication, une valeur propre au composant employé. En écrivant s(t)=Scos(ωSt) et p(t)=Pcos(ωPt), alors en sortie du multiplieur le signal obtenu est SPcos(ωSt)cos(ωPt)=kSP2(cos((ωP+ωS)t)+cos((ωPωS)t)).

Une fois ce produit formé, il ne reste qu'à additionner avec la porteuse. À la sortie du dispositif, après addition avec le signal, on obtient : sAM(t)=Pcos(ωPt)+kSP2(cos((ωP+ωS)t)+cos((ωPωS)t))=P(cos(ωPt)+kS2cos((ωP+ωS)t)+kS2cos((ωPωS)t)).

Le signal de sortie est donc composé de trois sinusoïdes de pulsations ωP, ωPωS et ωP+ωS ; d'amplitudes respectives P, kSP2, kSP2, comme le confirme l'étude de son spectre.

Démodulation synchrone

La démodulation synchrone consiste à multiplier le signal modulé reçu par un signal synchronisé avec la fréquence de la porteuse : s0(t)=S0cos(ωPt). En sortie du multiplieur, on obtient donc le signal ks0(t)p(t)(1+ks(t))=kS0Pcos2(ωPt)(1+kScos(ωSt))=kS0P1+cos(2ωPt)2(1+kScos(ωSt))=kS0P2(1+kScos(ωSt)composante~utile+cos(2ωPt)+kS2(cos(2ωPt+ωS)+cos(2ωPtωS))).

Afin d'isoler le signal émis, on emploie un filtre passe-bande dont les pulsations de coupure seront choisies autour de ωS afin de ne conserver que la composante utile du signal.

Simplifications apportées par les radios logicielles

Notes

  1. Jean Baptiste Joseph Fourier (1768 - 1830), mathématicien et physicien français.
  2. Claude Elwood Shannon (1916 - 2001), ingénieur américain.