TP - T RANSMISSION NUMÉRIQUE
Master ReTel - 2017
M. Mboup
1 Effets du canal
Dans les transmissions radio à travers le canal atmosphérique (line-of-sight), le signal arrive au récepteur
en suivant plusieurs chemins de propagation : un chemin direct et des chemins secondaires (avec retard)
qui résultent des diverses réflections du signal (sur les montagnes, immeubles, ...). Si s(t) désigne le
signal continu (onde électromagnétique) émis, alors le signal reçu, noté y(t), peut être modélisé par
y(t) = s(t) + ∑ αi s(t − τi ) +b(t),
|i
|{z}
direct {z }
secondaire
où les αi < 1 sont des coefficients d’atténuation des chemins secondaires, τi est le retard associé au che-
min i et b(t) est un signal continu appelé bruit, qui symbolise les perturbations affectant la transmission.
Celles-ci étant inconnues, b(t) est considéré comme un bruit blanc.
Le modèle discret correspondant est
L
y ( n ) = s ( n ) + ∑ α i s ( n − i ) + b ( n ),
i =1
où l’on considère qu’il y a L chemins secondaires.
Le fichier [Link] contient un code qui permet de générer un signal avec une constellation MAQ (Mo-
dulation d’Amplitude en Quadrature).
1 - Simuler l’effet du canal atmosphérique sur la transmission, pour différentes valeurs de L et αi , i = 1, L.
On suppose que le bruit est nul et que l’entrée est un signal QAM16 de variance unité.
2 - Même question en ajoutant un bruit avec un rapport signal sur bruit SNR = 35db.
2 Correction des distorsions du canal : égalisation
Dans cette partie, on s’intéresse à la mise en oeuvre d’un traitement visant à corriger l’effet distordant
du canal dans le schéma de transmission de l’exemple précédent. Cette distorsion provient d’une inter-
férence entre les symboles émis (ISI : InterSymbol Interference). On dit qu’on égalise le canal lorsqu’on
élimine cette interférence.
Le problème de l’égalisation est le suivant :
1 - On envoie un signal discret représenté par la suite de données s0 , s1 , · · · , sn , sn+1 , · · · , à travers un ca-
nal de transmission. Le canal est représenté par un filtre linéaire de réponse impulsionnelle h0 , h1 , · · · , h N
où N est un entier. La fonction de transfert correspondant est H (z) = h0 + h1 z + · · · + h N z N .
On note {yn } le signal reçu (à la sortie du canal). A chaque instant n, on a
y n = h 0 s n + h 1 s n −1 + · · · + h N s n − N .
1
Remarque 1. Dans la pratique, le signal {yn } est obtenu directement par mesure : c’est par exemple l’onde
électromagnétique captée par l’antenne de votre mobile, puis échantillonnée et quantifiée. Le canal est évidemment
inconnu mais dans ce projet, on le représente par une fonction de transfert que l’on se donne, pour simuler la
transmission.
2 - On voit donc que le récepteur (par exemple votre mobile) reçoit le signal {yn } et non le signal envoyé
{sn }. Il faut alors effectuer un traitement sur le signal reçu {yn } pour retrouver {sn }. C’est ce traite-
ment que l’on appelle égalisation. Pour le réaliser, on va filtrer le signal reçu. Plus précisément, il faut
déterminer un filtre ayant une réponse impulsionnelle g0 , g1 , · · · , g L qui soit tel que si l’on applique
{yn } à l’entrée, on obtiennent (idéalement) {sn } à la sortie. Dans la pratique, on sera satisfait si, à la
place de {sn }, on obtient un signal qui lui est "proche". La question centrale est alors de savoir comment
déterminer ce filtre
G ( z ) = g0 + g1 z + g2 z 2 + · · · + g L z L .
Si on appelle { xn } la sortie de ce filtre, d’entrée {yn }, alors on sait que pour chaque instant n, l’échan-
tillon xn est donné par :
x n = g0 y n + g1 y n − 1 + · · · + g L y n − L (1)
yn
y n −1
= [ g0 g1 · · · g L ] .. (2)
.
yn− L
g0 yn
g1 y n −1
On note g = . et Yn = . . Avec ces notations, on a xn = g t Yn . Pour déterminer le filtre G (z)
.
. . .
gL yn− L
ou, de façon équivalente, le vecteur g, on se sert du résultat suivant : si g est choisi tel que la fonction
J ( g ) = E(| xn |2 − 1)2 est minimale c’est à dire J ( g ) ≤ J ( g̃ ) quelque soit g̃ 6= g alors le signal { xn } sera
“proche” du signal {sn }. Nous avons ainsi un critère pour déterminer le filtre G (z) : il doit être choisi de
sorte que si on applique à son entrée le signal {yn }, on obtienne à la sortie un signal { xn } tel que son module soit
le plus proche d’une constante (qui vaut 1 ici).
Remarque 2. J est bien une fonction de g puisque xn = g t Yn dépend de g.
3 - L’algorithme de module constant CMA (Constant Modulus Algorithm) permet de trouver le filtre g
qui minimise J. Dans la pratique on ignore l’espérence mathématique qui apparaît dans l’expression de
J, pour obtenir l’algorithme le suivant :
– Initialisation de L, g et µ et nb_iter :
On peut se donner par exemple L = 10, g0 = 1 et gi = 0, i = 1, . . . L, µ = 0.001 et nb_iter = 5000
(nombre d’itérations).
– Pour n = L à nb_iter
– Calculer xn
– actualiser g par g = g − µ∇ J ( g ) = g + µxn (1 − | xn |2 )Yn∗ , où Yn∗ est le conjugué de Yn .
FinPour
Il faudra tracer les 500 dernières valeurs de xn (de la même façon qu’on a tracé les valeurs de sn - voir
le code [Link]) pour voir si l’algorithme a convergé ou pas. La convergence a lieu si l’on retrouve la
même constellation que celle du signal émis {sn }.
2
Le travail demandé consiste à :
– Simuler la transmission pour un canal de fonction de transfert (complexe)
H (z) = [1 + 0.01i ] + [0.1 − 0.2i ]z−1 − [0.5 + 0.1i ]z−2 ,
et dont l’entrée est le signal QAM16 de la question précédente. En fait, cette partie aura déjà été faite
par la question 1.1. Elle permet d’avoir le signal {yn } qui sera considéré comme l’entrée du filtre G (z).
– Implémenter l’algorithme du CMA pour trouver le filtre optimal G (z) et par conséquent, le signal
{ xn } qui représente une approximation du signal transmis.