Sie sind auf Seite 1von 17

Chapitre 4

galisation
4.1

Introduction

En principe, si le canal est parfaitement connu, il est possible de rendre linterfrence entre symboles arbitrairement faible, ou mme de lliminer compltement, en utilisant une paire de filtres
dmission et de rception tels que

n

G(f + n/Ts )C(f + n/Ts )H(f + n/Ts ) = Ts ,

cest--dire que la chane complte vrifie le critre de Nyquist (le filtre global G(f )C(f )H(f ) est un
filtre de Nyquist). En pratique, cependant, on ne connat que trs rarement les caractristiques exactes
du canal, et tout au plus des valeurs moyennes. Par ailleurs, il subsiste des erreurs dans la correction de
linterfrence entre symboles, en raison des imperfections sur limplantation des filtres g et h. Enfin,
le canal peut ne pas tre stationnaire, cest--dire que ses caractristiques varient au cours du temps.
Leffet de ces diffrents facteurs est une interfrence entre symboles (ventuellement rsiduelle), quil
faut compenser, laide dun dispositif appel galiseur, ce dispositif pouvant galement tre variable
dans le temps.
En bande de base, si les filtres dmission et de rception sont fixs (et forment ensemble un filtre
de Nyquist), le rle de lgaliseur est simplement de compenser la rponse du canal. En notant ainsi
e(t) la rponse impulsionnelle de lgaliseur et E(f ) sa fonction de transfert, il faut obtenir
1
E(f ) =
, sur [B, B].
C(f )
Comme la paire des filtres dmission et de rception forment un filtre de Nyquist, on peut parfaitement reconstituer la squence dentre {an }. Du point de vue spectral, on a galis la rponse du
canal.
Afin dillustrer les performances et la mise en uvre de certains des algorithmes que nous prsenterons ci-aprs, nous utiliserons les trois canaux test de Proakis [1]. Les fonctions de transfert sont
reprsentes sur la figure 4.1. Le canal (a) est assez facile, le canal (b) modrment difficile et le canal
(c) trs difficile galiser. Les rponses impulsionnelles sont fournies sur la table 4.1. Notons ici que
les performances que nous obtiendrons ne comprennent que laspect galisation, et quil est possible
damliorer notablement ces taux derreurs en utilisant un codage canal.
Figure 4.1 Fonctions de transfert des trois canaux test de Proakis.
Canal (a)
Canal (b)
Canal (c)

0.04 -0.05 0.07 -0.21 -0.5


0.72
0.407 0.815 0.407
0.227 0.46 0.688 0.460 0.227

TABLEAU 4.1 R PONSES

4.2

0.36

0.21

IMPULSIONNELLES DES TROIS CANAUX DE

0.03

0.07

P ROAKIS .

Les structures classiques de lgalisation

Du point de vue des hypothses, on supposera dans ce qui suit, que :


la squence des symboles an est stationnaire, centre et blanche,
le bruit dobservation b(n) est centr, dcorrl (ou indpendant) des symboles a n , et blanche,
la rponse du canal c(t) est causale.

4.2.1 Lgaliseur transverse


Les galiseurs transverses sont les plus simples mettre en uvre. En effet, il sagit simplement
dutiliser un filtre numrique rponse impulsionnelle finie, pour lesquels les mthodes de calcul et
dimplantation sont bien connues. La structure du filtre est donne sur la figure 4.2 et correspond la
relation entre-sortie
z(n) =

M
1


e(i)y(n i),

i=0

o e(n) est la rponse impulsionnelle de lgaliseur, de longueur M, y(n) est la squence dobservations, et z(n) la sortie de lgaliseur.
Figure 4.2 Structure dun galiseur transverse

Lgaliseur par zero forcing


Le zero forcing est un filtre qui tente dinverser exactement la fonction de transfert du canal, ce qui
est a priori prcisment le but recherch, idalement, par lgalisation. Ce faisant, linterfrence entre
symboles est exactement compense (pourvu que lensemble des filtres dmission et de rception
soit Nyquist), et lon dit que interfrence entre symboles est force zro. On a ainsi
E(z) =

1
.
C(z)

Ds maintenant, on peut sapercevoir que cette dmarche souffre de deux dfauts : dabord, C(z) peut
possder des zros de module suprieur 1, ce qui induit des ples instables pour E(z), si celui-ci
doit tre causal ; dautre part, si c(n) est une rponse impulsionnelle finie, alors e(n est rponse
impulsionnelle infinie. On peut tourner partiellement la premire difficult en introduisant un retard
R lors de de la rsolution ce qui permet de prendre en compte une ventuelle partie non causale (mais
retarde), et tient galement compte du ncessaire retard li la mise en uvre des filtres. Le choix
de ce retard est la fois important et difficile. Globalement, on peut dire que le retard engendr par les
deux filtres est gal la moiti de la longueur du filtre quivalent, longueur qui vaut ici N + M 1.
Dautre part, on choisit de prendre un ordre M assez grand pour que lventuelle erreur de troncature
de la rponse impulsionnelle soit peu sensible. Dans ces conditions, on peut crire lquation de
convolution correspondant linversion du canal
M
1


e(i)c(n i) = (n R),

i=0

o est une impulsion de Dirac temps discret, (n R) = 1 pour n = R et (n R) = 0


sinon. Cette relation de convolution tant valable pour tout n, on peut se donner M quations, par
exemple pour n = 0..M 1, et rsoudre exactement le systme linaire correspondant pour obtenir
les coefficients de lgaliseur e(i), i = 0..M 1. la sortie de lgaliseur, on obtient alors
z(n) = anR + b (n),
o b (n) est le bruit dobservation filtr par lgaliseur. Lannulation des interfrences entre symboles
se fait gnralement au prix dune augmentation sensible du niveau de bruit. En effet, la fonction de
transfert du canal est en gnral de type passe-bas, et son inverse est de type passe haut. Lorsque le
bruit est large bande, il sen suit une forte augmentation du bruit en haute frquence et une dgradation
du rapport signal--bruit. Ainsi, en dehors du cas o lon est assur dun faible niveau de bruit dobservation, cette solution nest pas retenir. On notera en outre que le canal est suppos parfaitement

connu ; dans cette mthode supervise, on devra alors passer par une estimation pralable de la rponse impulsionnelle du canal. Les erreurs destimation de la rponse impulsionnelle se rpercuteront
alors sur les coefficients de lgaliseur et entraneront une dgradation des performances.
La figure 4.3 fournit les performances de lgaliseur zero forcing pour les trois canaux de Proakis,
en fonction du rapport signal--bruit (RSB). Ce dernier est dfini ici, comme dans toute la suite de ce
chapitre, comme

Pa c(n)2
RSB =
,
Pb
o Pa et Pb sont respectivement la puissance de la squence de symboles et la puissance du bruit
additif1. On constate que si les performances pour le canal (a) sont bonnes, les canaux (b) et (c)
montrent un taux derreur suprieur 10% jusqu un RSB trs lev. Ceci est li la prsence des
vanouissements en frquence (voir la figure 4.1), dont linverse produit une amplification du bruit.
Figure 4.3 Performances de lgaliseur zero forcing pour les trois canaux test.
Les performances ont t obtenues laide du script M ATLAB du L ISTING 4-1, qui prpare les
donnes, calcule lgaliseur zero forcing par appel une fonction externe ffe_zf, voir le L ISTING
4-4, section 4.4, puis value les performances en fonction du rapport signal--bruit. Ce premier script
nest donn ici que comme exemple demploi dune fonction spcialise, et nous ne dcrirons plus
ensuite que les fonctions M ATLAB de calcul des galiseurs.
L ISTING 4-1 : S CRIPT M ATLAB POUR L VALUATION

DES PERFORMANCES DU

zero forcing

N=length(c);
% N : longueur du canal
R=(N+M)/2-1;
% R : choix du retard
L=length(y);
% L : longueur de la squence dobservation
RSB=[5 7 9 12 15 ...
% Niveaux de RSB pour ltude (en dB)
20 25 30 35 40];

% Calcul de lgaliseur zero forcing


e_zf=ffe_zf(y,sym,M,c,nom_canal);
% Evaluation des performances
for i=1:length(RSB)
yb=y+10^(-RSB(i)/20)*randn(1,L); % Signal bruit avec le RSB=RSB(i)
z=filter(e_zf,1,yb);
% Calcul de la sortie de lgaliseur
dec=sign(z(1+R:L));
% Puis des dcisions,
err=sym(1:L-R)-dec;
% de lerreur,
BER(i)=length(find(err))/L;
% et du taux derreur
end

galiseur erreur quadratique minimale


Alors que lgaliseur zero forcing rsoud le problme en faisant abstraction du bruit dobservation, lide de lgaliseur erreur quadratique minimale (galiseur EQM) est de minimiser lerreur
quadratique entre la squence dentre (symboles) et la sortie de lgaliseur. Le bruit est ainsi pris en
compte dans le critre. On cherche ainsi minimiser lerreur quadratique moyenne


(e) = E |z(n) anR |2 .


toutes fins utiles, on notera que dans [1], le bruit est pris de variance N 0 /2, mais que seul un facteur N 0 intervient
dans sa dfinition du RSB, ce qui entrane un cart de 3dB sur les performances.
1

M 1

Avec z(n) =
M + 1)], on a

i=0

e(i)y(n i) = eT y(n), o eT = [e(0) . . . e(M 1)] et y(n)T = [y(n) . . . y(n




(e) = E |eT y(n) anR |2 .


Ainsi, la minimisation de lerreur quadratique moyenne est obtenue pour



(e)
= 2E y(n) eT y(n) anR = 0,
e

soit

E y(n)y(n)T e = E [y(n)anR ]

On tire de cela
Ryy e = Rya (R),
et

e = R1
yy Rya (R),

(1)

o Ryy est la matrice de corrlation de y(n) et Rya (R) est le vecteur dintercorrlation entre y(n) et
a(n R). Le nombre de coefficients du filtre est ncessairement limit. Si lgalisation obtenue est
clairement de meilleure qualit que celle fournie par un zero forcing, en raison de la prise en compte
effective du bruit, elle reste souvent de qualit mdiocre, en particulier en prsence dvanouissements
slectifs (non stationnarits). Ceci est galement li la structure transverse (pas de ples) qui limite
la capacit de reprsentation dune rponse quelconque. Par ailleurs, pour la mise en uvre pratique,
il est ncessaire de connatre a(n R). Pour ce faire, on utilise une squence connue du rcepteur,
une squence dapprentissage, pour calculer les coefficients du filtre, voir figure 4.4. La ncessit
dinclure dans lmission une squence dapprentissage, ventuellement rpte priodiquement si le
systme est non stationnaire, limite en outre le dbit en donnes utiles.
Figure 4.4 Structure dgalisation avec priode dapprentissage
La figure 4.5 fournit les performances de lgaliseur minimisant lerreur quadratique moyenne,
pour les trois canaux. Par rapport lgaliseur zero forcing, on constate que la prise en compte du
bruit amliore sensiblement les performances, et permet dgaliser les canaux prsentant des vanouissements en frquence. Le programme M ATLAB correspondant figure au L ISTING 4-5.
Figure 4.5 Performances de lgaliseur minimisant lerreur quadratique moyenne.

Solution dgalisation maximum de vraisemblance : algorithme de Viterbi


La prsence dinterfrences entre symboles, lie un canal imparfait, est caractristique dune
mmoire dans le signal. Comme dans nous lavons vu dans le chapitre sur le rcepteur optimal, on
peut alors chercher reconstituer la squence de symboles au sens du maximum de vraisemblance,
en exploitant linterdpendance des donnes reues, et en maximisant la vraisemblance laide de
lalgorithme de Viterbi. Rappelons que celui-ci permet de slectionner dans un treillis le chemin de
mtrique la plus faible, o la mtrique est une mesure cumule, mise jour de noeud en noeud. Ceci
signifie en fait que la densit de probabilit conjointe des observations pour une squence particulire
(la vraisemblance), peut scrire comme le produit des vraisemblances lmentaires chaque instant.
Il est important de noter alors que ceci nest vrai que si le bruit dobservation, aprs chantillonnage,
est blanc.
Ds lors, si le bruit dobservation est blanc, on pourra utiliser lalgorithme de Viterbi sur le signal
reu chantillonn au rythme symbole. Cependant, le bruit dobservation nest pas ncessairement

blanc dune part, et mme si tel tait le cas, il perdrait cette proprit en sortie du filtre de rception. Notons Sbb (f ) la densit spectrale de puissance du bruit ; on peut toujours factoriser S bb (f )
comme Sbb (f ) = Sb (f )Sb (f ), o Sb (f ) est une fonctions de transfert dinverse causal et stable (
phase minimale), et lon peut blanchir le bruit dobservation en plaant en tte de rcepteur un filtre
blanchisseur de fonction de transfert 1/Sb (f ). La partie utile du signal tant galement filtre par
ce filtre blanchisseur, on choisira alors comme filtre de rception un filtre adapt (qui est optimal,
rappelons le, si le bruit en entre est blanc) la cascade filtre dmission, canal, filtre blanchisseur,
cest--dire avec une fonction de transfert (G(f )C(f )/Sb(f )) , un dphasage prs. En sortie du
filtre de rception, le bruit est nouveau corrl, avec une densit spectrale de puissance de la forme
b2 |G(f )C(f )|2/Sbb (f ). Aprs chantillonnage au rythme symbole, en utilisant le fait que G(f )H(f )
est un filtre de Nyquist, on obtient le modle discret quivalent


y(n) =

r(i)ani + b (n),


o r est la rponse impulsionnelle du canal quivalent temps discret, et qui vaut ici r(n) =
c (t)c (t
nT )dt (avec c la rponse impulsionnelle associe C(f )/Sb (f )), et o b (n) a pour densit spectrale
de puissance Sb b (z) = b2 C(z)C (1/z )/Sbb (z). nouveau, il est possible de blanchir le bruit en
factorisant Sb b (z) sous la forme Sb b (z) = Sb (z)Sb (1/z ), et en filtrant y(n) par 1/Sb (z), pour
obtenir finalement le modle discret bruit blanc additif

y(n) =

L1

i=0

v(i)ani + w(n).

Notons que lorsque le bruit additif sur le canal est blanc, on trouve pour V (z) le facteur dinverse
causal et stable dune factorisation de R(z). Mme si les diffrentes oprations nonces ci-dessus
ne sont pas de mise en uvre aise, il nous a sembl opportun de nous attarder un peu sur ces diffrents traitements, souvent luds, dont le but est de se ramener au modle bruit blanc additif, ce
modle garantissant loptimalit des procds de rception, et en particulier de la mise en uvre de
lalgorithme de Viterbi qui nous occupe ici.
La rponse impulsionnelle est ici de longueur L. La mmoire du signal vaut alors L. Ainsi, y(n)
dpend des symboles anL+1 , anL+2 , . . . an et y(n+1) dpendra des symboles anL+2 , anL+3 , . . . an+1 .
Ces deux squences de symboles contiennent L 1 symboles communs, et il ny a que M possibilits pour passer de la premire squence la seconde, si an+1 prend ses valeurs dans un alphabet de
cardinal M. On peut donc btir un treillis associ aux M L tats de L symboles, et chaque noeud du
treillis comporte M chemins entrants et M chemins sortants.
Si on considre maintenant une squence de symboles de longueur K, et que lon note s (n) la
e
n parmi les M K squences possibles, alors, sous lhypothse dun bruit additif blanc gaussien, la
densit de probabilit conjointe de la squence dobservation y 1 , y2 , . . . , yK si la squence s(n) a t
mise, est
p(y1 , y2 , . . . , yK |s

(n)

) =

=
(n)

K

1
k=1

22

exp

Kb

exp

2b2

(n)

(yk sk )2
2b2

212
b

K

k=1 (yk

(n)
s k )2

L1
o sk = i=0
v(i)s(n) (k i) est la sortie linstant k qui correspondrait lentre s (n) . on peut alors
rechercher la squence s(n) qui maximise la vraisemblance, ou qui minimise la mtrique cumule

D(K) =

K


(n)

(yk sk )2 .

k=1

(n)

tout instant i, on observe que D(i) = D(i 1) + (y i si )2 , ce qui signifie que lon peut mettre en
uvre lalgorithme itrativement. Ceci tant pos, lalgorithme de Viterbi procde exactement comme

nous lavons indiqu dans le chapitre sur le rcepteur optimal : parmi tous les chemins entrants sur
un noeud, on ne conserve que celui de plus faible mtrique cumule, et seul ce chemin est prolong.
La complexit calculatoire passe alors de M K KM L chemins valuer. On rpte ces oprations
au cours du temps, et on peut prendre les dcisions avec un retard de 5L.
Cet galiseur est lgaliseur extrme . En effet, il affiche les meilleures performances, voir la
figure 4.6, et la plus grande complexit en terme dimplantation et charge calculatoire : il nest gure
utilisable que pour des squences binaires (M = 2) et des canaux courts (L < 10). Cest la raison pour
laquelle nous navons pu calculer les performances pour le canal (a), dont la rponse impulsionnelle
11 coefficients, nous mne un treillis 2048 tats. . . En outre, on ne peut utiliser cet algorithme
qu condition davoir accs la rponse impulsionnelle du canal, ce qui ncessite donc didentifier
le canal pralablement la transmission.
Figure 4.6 Performances de lgaliseur maximum de vraisemblance.

galiseur transverse adaptatif


Les galiseurs prcdents souffrent de deux limitations communes : dune part une charge de calcul importante, et dautre part un caractre statique . En effet, le canal est le plus souvent non
seulement inconnu, mais variable dans le temps. On peut alors utiliser des priodes de synchronisation o on met des squences dapprentissage afin de recalculer lgaliseur. Ceci nempche
cependant pas les performances de se dgrader entre deux tapes de synchronisation.
Les mthodes adaptatives sont des mthodes simples qui permettent de rsoudre simultanment
les problmes lis la mconnaissance du canal et son caractre volutif et dterminer le filtre
galiseur e.
Il sagit toujours de rsoudre lquation 1. En minimisant lerreur moyenne quadratique, on a
obtenu



(e)
T
=
2E
y(n)
e
y(n)

a
nR
e
= 2E [y(n)*(n)] = 2Ry ,
o lon a pos *(n) = anR eT y(n) le terme derreur. Lapproche adaptative consite rendre les
quantits apparassant dans 1 ou dans la relation prcdente dpendantes du temps. Lapproche la plus
simple consiste rsoudre 1 en utilisant un algorithme du gradient :
e(n) = e(n 1)

(e)
,
2 e

o est une constante positive. Dans notre cas, ceci fournit


e(n) = e(n 1) + Ry .
Plutt que de manipuler lintercorrlation Ry , on remplace celle-ci par son estime instantane2
Rny = y(n)*(n).
Lalgorithme devient alors simplement

e(n) = e(n 1) + y(n)*(n),


*(n) = anR e(n 1)T y(n).

Cet algorithme, qui rsoud par un algorithme de gradient approch un critre quadratique, est le
clbre algorithme du gradient stochastique ou de Least Mean Square (LMS).

 
On notera que cette estime, mme si elle peut paratre un peu brutale , nest pas biaise, puisque E Rny =
E [y(n)(n)] = Ry .
2

On notera que e(n 1)T y(n) est simplement la sortie du filtre adaptatif linstant n, z(n). Cet
algorithme permet donc, chaque instant, de remettre jour les coefficients du filtre, proportionellement lerreur destimation *(n). En cas de variations des caractristiques du canal, lgaliseur sera
donc capable de sadapter celles-ci, et ce dautant plus rapidement que est grand. En contrepartie, plus est grand, plus les variations lies au bruit dobservation induiront une variabilit sur les
estimes e(n).
La mise en uvre de lalgorithme se fait suivant deux modes opratoires, voir figure 4.7 :
un mode supervis, ou la squence a(n) est connue (apprentissage). Le calcul de z(n) ne sert
alors qu adapter le filtre, jusqu convergence. Au bout de K itrations, on considre que
e(K) a converg vers la solution, et
on commute en mode oprationnel. La sortie de lgaliseur z(n) sert alors estimer a nR :
a
nR = dec(z(n)), o dec indique que lon prend la dcision sur z(n). Lerreur est alors maintenant calcule partir des dcisions : *(n) = dec(z(n)) z(n).
Figure 4.7 galiseur pilot par les dcisions
La thorie montre que sous des hypothses dergodisme et de moments borns, e(n) atteint e
asymptotiquement, cest--dire lorsque n +, avec une prcision inversement proportionnelle
, et une vitesse de convergence proportionnelle . Le pas optimal de lalgorithme est de lordre
de = 2/(MPy ), o est de lordre de 2 ou 3 et Py est une estime de la puissance dentre

2
1/N N
i=1 y(i) .
Cet algorithme est trs simple dimplantation, parfaitement stable numriquement et trs peu coteux (M multiplications). En phase oprationnelle, lalgorithme est dit pilot par les dcisions
(decision directed). Un exemple dimplantation en M ATLAB, qui illustre cette simplicit dimpantation, est fourni sur le LISTING 4-2 ;
L ISTING 4-2 : I MPLANTATION

DU GRADIENT STOCHASTIQUE ( APPRENTISSAGE )

% y : squence dobservations
% R : valeur du retard
% Napp : longueur dapprentissage
nelle de lgaliseur
% sym : squence de symboles
%%% Mode supervis
%
---->
Le gradient est calcul

% z : squence de sortie de lgaliseur


% e : erreur
% e_lms : rponse impulsion% mu : valeur du pas dadaptation
avec apprentissage

for n=R+1:Napp
y_v=y(n:-1:n-M+1);
%y_v=[y(n) ... y(n-M+1)];
z(n)=y_v*e_lms;
e(n-R)=sym(n-R)-z(n);
e_lms=e_lms+mu*e(n-R)*y_v;
end

En mode oprationnel, il suffit de poursuivre la boucle for par


for n=Napp+1 :N
et remplacer le calcul de lerreur par
e(n-R)=sign(z(n))-z(n) ;
Lorsque le canal est peu svre, et pourvu que linitialisation e(0) soit raisonnable, on peut se dispenser de priode dappprentissage. Plusieurs variantes de cet algorithme existent. Parmi celles-ci on peut
citer lalgorithme LMS normalis, o le pas dadaptation est normalis par la puissance de lentre
(moins sensible des variations de puissance de lentre), ou lalgorithme du signe , dans lequel

on remplace le terme derreur dans lexpression de e(n) par son signe. Ceci est prcieux pour limplantation sur processeurs spcialiss, dans la mesure o la dynamique du produit y(n)Signe{*(n)}
est identique celle de y(n).
Lorsque la rapidit de convergence est importante, on peut utiliser un algorithme du second ordre,
comme lalgorithme des moindres carrs rcursifs (MCR), ou Recursive Least Squares,
e(n) = e(n 1) + G(n)y(n)*(n),
o G(n) est une estimation de R1
yy obtenue rcursivement


G(n 1)y(n)y(n)T G(n 1)


1
G(n 1)
.
G(n) =
1
1 + y(n)T G(n 1)y(n)
Cet algorithme converge nettement plus vite que lalgorithme du gradient stochastique, mais il est
galement beaucoup plus coteux.

4.2.2 galiseur rcursif retour de dcision


Il sagit ici de prolonger lide davoir un galiseur pilot par les dcisions, ce qui permet dviter
une rptition de squences dapprentissage, tout en utilisant une structure rcursive. Cette structure
rcursive permet dobtenir des filtres de rponse impulsionnelle longue laide dun petit nombre de
coefficients. Un tel galiseur est reprsent sur la figure 4.8.
Figure 4.8 galiseur rcursif retour de dcision
Dans le cas optimal, la dcision sur u(n) est gale la squence dentre, un retard prs :
a
nR = z(n) = dec(u(n)), cest--dire que le signal est parfaitement galis. On a alors z(n) =


u(n) = qi=0 bi y(n i) + pj=1 aj z(n j), o les bi et les aj sont les coefficients du filtre. Afin
de calculer ces coefficients, on peut utiliser un critre derreur quadratique moyenne. On peut en
outre utiliser une approche de type gradient stochastique, ou LMS, de sorte profiter de capacits
adaptatives et allger la charge en calcul. Posons ainsi

e(n) = [b0 (n) . . . bq (n) a1 (n) . . . ap (n)]T = b(n)T a(n)T


T

T
T

v(n) = [y(n) . . . y(n q) z(n 1) . . . z(n p)] = y(n)

,
z(n)T

T

laide de ces notations, lerreur *(n) scrit *(n) = anR u(n), en mode appprentissage, et
*(n) = z(n) u(n) en mode pilot par les dcisions, et lalgorithme LMS scrit alors
e(n) = e(n 1) + v(n)*(n),
ou encore

b(n) = b(n 1) + y(n)*(n),


a(n) = a(n 1) + z(n)*(n),

avec u(n) = b(n)T y(n) + a(n)T z(n).

Lors de la mise en uvre, on utilisera une priode dapprentissage, lors de laquelle on prendra les
symboles connus pour z(n), z(n) = anR , puis on basculera en mode oprationnel, en remplaant
la squence dapprentissage par les dcisions, z(n) = dec(u(n)). Le LISTING 4-3 donne ainsi les
quelques lignes M ATLAB qui permettent dimplanter cet galiseur.

L ISTING 4-3 : I MPLANTATION


%
%
%
%
%
%
%
%

DE L GALISEUR RCURSIF RETOUR DE DCISIONS

galiseur rcursif retour de dcisions


M : taille de B(z)
L : taille de A(z)
Lc : longueur de la RI du canal
Napp : longeur de la squence dapprentissage
y : squence dobservations
% z : squence de sortie de lgaliseur
R : valeur du retard
% e : erreur
sym : squence de symboles
% mu : valeur du pas dadaptation

% Initialisations
N=length(y);
% Longueur de la squence dobservations
R=Lc+M-L;
% Valeur du retard
y_v=zeros(M,1); % Initialisations des vecteurs y et z
z_v=zeros(L,1);
% Boucle de calcul de lgaliseur
for n=R+M:Napp
y_v=y(n:-1:n-M+1);
%y_v=[y(n) ... y(n-M+1)];
z_v=sym(n-R:-1:n-R-M+1);
% en mode apprentissage
%z_v=z(n:-1:n-M+1);
% en mode oprationnel
u=y_v*b_lms-z_v*a_lms;
% Calcul de la sortie
e=sym(n-R)-u;
% Erreur en mode apprentissage
%e=z(n)-u;
% Erreur en mode oprationnel
z(n+1)=sign(u);
% Dcision
b_lms=b_lms+mu*e*y_v;
% Mise jour
a_lms=a_lms-mu*e*z_v;
% des coefficients
end

Cet galiseur est dune charge calculatoire faible (peu de coefficients), mais il peut prsenter des ples
instables, qui entranent une divergence. Ce type dgaliseur prsente dexcellentes performances, y
compris en environnement svre. Ces performances sont rapportes sur la figure 4.9.
Figure 4.9 Performances de lgaliseur retour de dcisions.

4.3 Mthodes autodidactes


Les mthodes prcdentes, qui ncesssitent une ou plusieurs priodes dapprentissage, pnalisent
beaucoup de systmes de communications. Lorsque le canal subit des variations brutales, les algorithmes adaptatifs peinent poursuivre ces variations, et si le systme est pilot par les dcisions, qui
deviennent fausses, il peut sen suivre une totale dsadaptation. On doit alors recourir un apprentissage rgulier, ce qui limite singulirement le dbit. De plus, dans un systme de communications
multipoints (comme la tldiffusion audio ou vido), ds quun rcepteur narrive plus galiser le
canal, il faut transmettre une squence dapprentissage, ce qui prive tous les autres rcepteurs du flot
dinformation. Cest pour ces raisons que des mthodes autodidactes (on parle aussi de mthodes
aveugles, cest--dire qui ne requirent pas de priode dapprentissage, ont t dveloppes. Parmi le
trs grand nombre de mthodes proposes, nous ne prsenterons ici que deux approches, lune fonde
sur une structure cascade de deux galiseurs spcialiss (en suivant la prsentation de O. Macchi,
[3]), et lautre qui utilise une famille de fonctions de cot non-quadratiques, en mettant en jeu une
fonction non linaire de la sortie z(n) de lgaliseur.
Dans la mesure o ces mthodes travaillent sans rfrence, il subsiste certaines indtermines sur
la squence obtenue. On obtient ainsi une indtermine sur le gain, le signe et la phase (puisquen

multipliant la rponse impulsionnelle inconnue du canal par un facteur complexe A, la squence galise est divise par A). De plus, si la rponse impulsionnelle du canal ou de lgaliseur est dcale
dans le temps, on obtient une sortie dcale. Comme lentre est inconnue, on ne dispose pas de rfrence temporelle, et la squence de sortie sera donc reconstitue un retard prs. En ce qui concerne le
gain, on contraint en gnral la puissance de sortie, par exemple avec E [|z(n)|2 ] = 1, en introduisant
une commande automatique de gain, avant ltape de dcision.

4.3.1 galiseur autodidacte cascade


Les zros de la fonction de transfert du canal, cest--dire de la transforme en z de sa rponse
impulsionnelle, nont pas de raison particulire dtre de module infrieur ou suprieur 1. Ainsi,
la fonction de transfert inverse possde des ples lintrieur et lextrieur du cercle unit, et la
rponse impulsionnelle correspondante, stable, comporte une partie causale et une partie non causale.
Dans le cas, o les zros sont lintrieur du cercle unit, on parle de canal phase minimale, dans
le cas contraire de canal phase maximale, et enfin, dans le cas gnral de canal phase mixte. Pour
aboutir un galiseur gnral, on peut procder par la mise en srie de deux galiseurs spcialiss,
lun pour les canaux minimum de phase et lautre pour les canaux maximum de phase.

Canal phase minimale prdicteur


Dans le cas dun canal phase minimale, les choses sont relativement simples. En supposant que
les symboles dentre sont dcorrls, cest--dire que lon a ventuellement employ lmission un
embrouilleur pour annuler les corrlations, lgaliseur consiste simplement blanchir ( lordre 2) la
squence dobservations y(n), afin dobtenir en sortie une squence z(n) dcorrle. Or on sait, voir
par exemple [2], que le seul blanchisseur causal (ce qui correspond lhypothse de zros de module
infrieur 1) est obtenu par la prdiction linaire en moyenne quadratique. Ainsi, si lon cherche

prdire la valeur y(n) partir dun pass de longueur p, sous la forme y(n) = pi=1 i y(n i),
alors, lerreur *(n) = y(n) y(n), appele innovation, est une squence une squence dcorrle,
que lon peut donc identifier la squence dentre an . Lgaliseur obtenu est ainsi un galiseur de
type transverse, reprsent sur la figure 4.10.
Figure 4.10 Structure du prdicteur transverse
En minimisant la puissance de linnovation, E [|*(n)| 2 ], on obtient facilement le gradient par rapport aux i , et on en dduit les quations normales qui fournissent les coefficients i :
= Ryy 1 ry ,
o = [1 , . . . p ]T , et o Ryy et ry sont respectivement la matrice de corrlation et le vecteur dintercorrlation de y(n) :

. . . Ryy (p 1)
Ryy (1)

.
..
et ry =
.
..
Ryy =
.

Ryy (1 p) . . .
Ryy (p)
Ryy (0)
Ryy (0)
..
.

Bien entendu, il est possible dadopter un gradient stochastique afin de minimiser E [|*(n)| 2 ], et
on obtient alors

(n) = (n 1) + y(n 1)*(n),


*(n) = y(n) (n 1)T y(n 1),

avec y(n 1) = [y(n 1) . . . y(n p)]T .

Du fait de lhypothse de phase minimale, il est galement possible de trouver un blanchisseur


sous forme rcursive. En effet, si lon note k(i) les coefficient de la rponse impulsionnelle du canal
quivalent (incluant le canal mais galement les filtres dmission et de rception), alors y(n) =
M
i=0 k(i)ani , et rciproquement,
an =

M


1
k(i)
ani
y(n).
k(1)
i=1 k(1)

La squence an tant blanche ( lordre 2), il existe donc un blanchisseur rcursif, et les coefficients
optimaux e(i) de lgaliseur rcursif seraient tels que e(i) = k(i)/k(1). La structure de cet galiseur
est donne figure 4.11.
Figure 4.11 Structure du prdicteur rcursif
La difficult est que le calcul exact du gradient de E [|*(n)|2 ] est impossible, et lon doit adopter
une solution approche, comme

e(n) = e(n 1) + e(n 1)*(n),


*(n) = y(n) e(n 1)T *(n 1),

avec *(n 1) = [*(n 1) . . . *(n p)]T .


Lavantage de la structure rcursive est quelle reste avec un nombre de coefficients faible, mme
lorsque la rponse impulsionnelle de lgaliseur doit tre longue.
On notera que la commande automatique de gain peut galement tre ralise par un algorithme
adaptatif o lon chercherait par exemple minimiser E [|z(n)2 1|2 ], ce qui fournit
g(n + 1) = g(n) + g(n)(z(n)2 1).

Canal phase maximale rtroinnovateur


Lorsque le canal nest pas phase minimale, le prdicteur prcdent nest pas adapt et les performances sont faibles. Pour un tel canal, les zros de C(z) sont tous situs lextrieur du cercle
unit, et la rponse impulsionnelle correspondante est typiquement croissante en module. Il sensuit
que linformation dominante est porte par les derniers coefficients de la rponse impulsionnelle et
que le retard de restitution, ou dgalisation, doit tre gal la longueur de la rponse impulsionnelle
du canal. La fonction de transfert de lgaliseur, E(z), doit tendre vers 1/C(z), un retard prs. Or
ce filtre nadmet pas de reprsentation rcursive stable, car les ples sont de module infrieur 1.
Par contre, on peut y associer un filtre transverse en prenant le dveloppement en srie tronqu de
1/C(z) :

M
1
M
1


1
1
j
M 1 1M
=

1

z
=
z
z

j z j+1 = z M 1 R(z).
M j
i
C(z)
c
z
i i
j=1
j=1

Ainsi, R(z) correspond un filtre transverse que lon appelle rtro-innovateur, dont la structure est
fournie sur la figure 4.12. Celui-ci correspond valuer une erreur de prdiction rtrograde *(n) =
Figure 4.12 Structure dun rtro-innovateur


1
j+1
y(n M + 1) y(n M + 1), avec y(n M + 1) = M
. En minimisant la puissance
j=1 j z
2
de lerreur E [|*(n)| ], laide dun algorithme de gradient stochastique, on obtient alors

(n) = (n 1) + y(n 1)*(n),


*(n) = y(n M + 1) (n 1)T y(n 1),

avec y(n 1) = [y(n 1) . . . y(n p)]T .

Canal phase mixte cascade rtro-innovateur et innovateur


Dans les paragraphes prcdents, on a trait le cas des canaux minimum de phase, puis maximum de phase. On peut regrouper les deux approches afin de traiter le cas des canaux phase mixte.
En effet, la fonction de transfert du canal peut scrire comme un produit de ses zros, cest--dire
finalement comme le produit dune fonction de transfert phase minimale et dune fonction de transfert phase maximale, correspondant respectivement aux zros de module suprieur et infrieur
1:
1
M
1
N
1
C(z) = N
i=1 (1 zi z ) = i=1 (1 zi z )j=M +1 (1 zj z ).
On peut donc utiliser un galiseur cascade compos dun bloc prdicteur et dun bloc rtro-innovateur,
chacun prenant en charge une portion de la fonction de transfert du canal. Le choix de lordre des blocs
dans la cascade peut-tre choisi afin que la structure puisse tre aisment commute en mode pilot
par les dcisions. Pour ce faire, on choisit dutiliser un prdicteur rcursif, plac en aval du rtroinnovateur, comme indiqu sur la figure 4.13. Lgalisation se droule alors en deux phases. Durant la
Figure 4.13 Structure dun galiseur autodidacte en cascade
premire phase (commutateur en position 1), lgaliseur fonctionne en aveugle et est dit en phase de
convergence. On peut ensuite basculer en mode retour de dcisions (commutateur en position 2), ce
qui a pour effet damliorer les performances.
La squence *2 (n) doit tre une squence blanche, puisque les donnes an sont supposes tre
blanches. Par contre, *1 (n) na pas de raison dtre blanche, (en dehors du cas ou le canal serait purement phase maximale). Le critre minimiser lors de la phase de convergence est donc
E [|*2 (n)|2 ], par rapport aux coefficients et . En mode retour de dcisions, on utilise le critre
E [|z(n) *2 (n)|2 ], o z(n) = dec(*2 (n)). Afin dutiliser simultanment ces deux fonctions de cot,
on utilise un critre mixte


J(, ) = E |*2 (n)|2 + (1 )E |z(n) *2 (n)|2 ,

(2)

o la valeur de varie au cours du temps : = 1 en dbut de convergence, pour atteindre = 0 en


phase retour de dcisions. Dans [3], la rgle dadaptation de est choisie comme (n) = tanh|z(n)
*2 (n|, o tanh est la tangente hyperbolique. La minimisation du critre composite 2 conduit alors aux
gradients stochastiques

(n) = (n 1) 1 z(n 1)* (n),

(n) = (n 1) 2 u(n)* (n),

avec * (n) = (1 )z(n) * (n),

z(n

1)
=
[y(n

1)
.
.
.
y(n

M)]T ,

u(n) = [u(n) . . . u(n K + 1)]T ,

et u(n) = y(n) (n 1)T u (n 1),


o u (n 1) est le vecteur u(n 1) rapport la dimension M, et K est le nombre de coefficients du
rtro-innovateur.
Du point de vue des performances, cette structure permet dobtenir des performances quivalentes,
sinon suprieures celles des galiseurs transverses superviss (avec priode dapprentissage) ou de
lgaliseur rcursif retour de dcisions. Une autre structure cascade, ainsi que des applications, sont
prsentes dans [3] et [4].

4.3.2 Autres galiseurs autodidactes


La cl de lgalisation autodidacte rside dans le choix dune mthode dadaptation des coefficients de lgaliseur, qui permette de pallier labsence dapprentissage. Pour cela, on utilise des

fonctions de cot non quadratiques, qui permettent de prendre en compte les statistiques dordre lev
du signal observ y(n). Lgaliseur est donc dfini par une certaine fonction de cot E [(y(n))]. Ensuite, un gradient stochastique, ou une mthode du second ordre, conduit un galiseur adaptatif.
Les algorithmes de Godard utilisent la fonction de cot


E [|an |2q ]
(z(n)) = |z(n)|
E [|an |q ]
q

p

, pour p, q = 1, 2, . . .

Sous lhypothse que les symboles a n soit circulaires, E [a2n ] = 0, et que le kurtosis soit ngatif,
Godard a montr que le minimum de la fonction de cot conduit lgaliseur optimal. Pour p, q
gaux deux, on a une erreur *(n) = |z(n)|2 E [|an |4 ] /E [|an |2 ], et le carr de cette erreur conduit
la fonction de cot de Godard pour p, q = 2. Lalgorithme du gradient stochastique correspondant
scrit
e(n) = e(n 1) + z(n)y(n)*(n).

Cet algorithme tendant annuler lerreur *(n), il est clair quil privilgie les solutions de module
constant. Il a t dvelopp dans cet esprit, ainsi que diffrentes variantes, sous le nom de Constant
Modulus Algorithm (CMA). Cet algorithme simplante trs simplement. Il suffit en fait de remplacer
le calcul de lerreur dans le gradient stochastique du L ISTING 4-2 par

{e(n-R)=(1-abs(z(n)^2))*z(n)}.
En fait, les algorithmes de Godard appartiennent une classe plus large dalgorithmes appels algorithmes de Bussbang. Le plus simple des algorithmes de Bussbang est lalgorithme pilot
par les dcisions, dans lequel on nemploie pas de squence dapprentissage. Dans ce cas, les performances sont assez pauvres, moins que la condition initiale soit bien choisie. Le premier algorithme dgalisation autodidacte propos ds 1975 est lalgorithme de Sato, et appartient la
classe des algorithmes de Bussbang. La fonction de cot est dfinie par le biais de (z(n)) =
z(n) E [|z(n)|2 ] /E [|z(n)|] signe(z(n)). Cet algorithme converge sous lhypothse de kurtosis ngatif, et montre de meilleures performances que lalgorithme pilot par les dcisions.
Bien dautres approches de lgalisation autodidacte sont rapportes dans une littrature abondante. Les rfrences [3] et [5] constituent des points de dpart pour une tude plus approfondie.

4.4 Listings des programmes spcialiss

L ISTING 4-4 : F ONCTION M ATLAB

DE CALCUL DE L GALISEUR ZERO FORCING .

function e_zf=ffe_zf(y,sym,M,c,nom_canal)
% SYNTAXE: e_zf=ffe_zf(y,sym,M,c,nom_canal)
%
% DESCRIPTION : Calcul de la rponse impulsionnelle
% dun galiseur par zero forcing. Le principe est de
% rsoudre le systme linaire prsent dans le paragraphe
% << galisation par zero forcing >>, pour forcer la
% convolution entre la RI de lgaliseur et la RI du
% canal a tre une impulsion de Dirac dcale en R.
% En termes matriciels, ce systme scrit ici Q*e_zf=delta.
%
% ENTRES :
% - y : signal observ
% - sym : squence de symboles
% - M : longueur de lgaliseur
% - c : rponse impulsionnelle du canal
% - nom_canal : nom du canal
%
% SORTIE :
% - e_zf : rponse impulsionnelle de lgaliseur
%
% Auteurs : P. Jardin et J.-F Bercher
% Date : nov. 2000
% ===================================================================
% Initialisations :
N=length(c);
% Longueur du canal
Q=zeros(N+M-1,M);
% Initialisation de Q
delta=zeros(N+M-1,1);
% Dfinition de Delta(n-R)
R=(N+M)/2;
delta(R)=1;
% Dfinition de la matrice Q dcrivant le systme linaire
for i=1:N+M-1
for j=max(1,i-N+1):min(M,i)
Q(i,j)=c(i-j+1);
end
end
% Inversion du systme
e_zf=pinv(Q)*delta;

% Pour vrification, calcul de la sortie z de lgaliseur


% et de la dcision associe, et comparaison la
% squence de symboles
z=filter(e_zf,1,y);
N=50;
figure;
subplot(211); plot(sym(1:N)); title(Squence de symboles)
subplot(212);plot(1:N,z(1+R:N+R),-,1:N,sign(z(1+R:N+R)),:)
title([galisation ZF du canal nom_canal])
%\label{ListingZF}
%\caption{Fonction Matlab de calcul de lgaliseur zero forcing.}

L ISTING 4-5 : F ONCTION M ATLAB

DE CALCUL DE L GALISEUR MINIMISANT L ERREUR

QUADRATIQUE MOYENNE

function [e_eqm,Rya]=ffe_mse(y,sym,M,L,nom_canal)
% SYNTAXE: e_eqm=ffe_mse(y,sym,M,L,nom_canal)
%
% DESCRIPTION : Calcul de la rponse impulsionnelle
% dun galiseur minimisant lerreur quadratique moyenne (EQM).
% Il sagit rsoudre le systme linaire prsent dans le paragraphe
% << galiseur erreur quadratique ation par zero forcing >>,
% quation (1) : e_eqm = inv(Ryy)*Rya(R), o Ryy est la matrice de
% corrlation et Rya(R) le vecteur dintercorrlation entre y(n)
% et a(n-R).
%
% ENTRES :
% - y : signal observ
% - sym : squence de symboles
% - M : longueur de lgaliseur
% - L : longueur de la RI du canal
% - nom_canal : nom du canal
%
% SORTIE :
% - e_eqm : rponse impulsionnelle de lgaliseur
%
% Auteurs : P. Jardin et J.-F Bercher
% Date : nov. 2000
% ===================================================================
% Initialisations :
Ns=length(y);
R=(L+M)/2-1;

% Calcul de la fonction dautocorrlation


% [Estimateur biais]
ryy=xcorr(y,y,M+1);
% rend une squence pour les retards
% compris entre -(M) et (M)
% Matrice de corrlation
Ryy1=toeplitz(ryy(M+2:2*M+1)); % Calcul de la matrice a structure de
% Toeplitz, symtrique, engendre par
% le vecteur [Ryy(0) ... Ryy(M-1)]
% Vecteur dintercorrlation
rya=xcorr(sym,y,R);
% rend les intercorrlations entre y
% et a pour les retards compris entre -R et R
Rya=rya(2*R+1:-1:2*R+2-M); % vecteur des intercorrlations pour les
% retards R R-M+1

% Calcul de lgaliseur....
e_eqm=inv(Ryy1)*Rya;

% Pour vrification, calcul de la sortie z de lgaliseur


% et de la dcision associe, et comparaison la
% squence de symboles
Na=50;
z=filter(e_eqm,1,y);
figure;
subplot(211);plot(sym(1:Na)); title(Squence de symboles)
subplot(212);plot(1:Na,z(1+R:Na+R),-,1:Na,sign(z(1+R:Na+R)),:)
title([galisation EQM de nom_canal])
%\label{ListingEQM}

Bibliographie
[1] Proakis J. G. Digital Communications, 4 e dition, New York, Mc Graw-Hill, 2000.
[2] Picinbono B. Signaux alatoires (en trois tomes), Bases du traitement statistique du signal
(tome 3), Paris, Dunod, 1995.
[3] Macchi O. Lgalisation numrique en communications, Annales des tlcommunications,
vol. 53, n 1-2, pp. 39-58, 1998.
[4] Labat J., Macchi O., Laot C. Adaptive decision feedback Equalizers : Can you skip the training
period, IEEE trans. on Communications, 1996.
[5] Tugnait J. K., Tong L., Ding Z. Single User Channel Estimation and Equalization, IEEE Signal
Processing Magazine, pp. 17-28, may 2000.

17