Vous êtes sur la page 1sur 91

galisation en

communications numriques
But de lgalisation
Rduire leffet de lInterfrence Entre Symboles (IES ou ISI) due au canal
de transmission
Si le canal varie dans le temps (mobilit) adaptation
Channel
Bruit
Egaliseur
Comment faire ?
Approche optimale :
Estimation des donnes par le critre du maximum de
vraisemblance (MV ou MLSE Maximum Likelihood Sequence
Estimator )
Exemple : galisation de VITERBI
Souvent trop lourde en complexit
Approche sous optimale : galisation
Appliquer un filtre galiseur ` de telle sorte que la sortie donnes
mises
Diffrents types de filtres :
- Linaires : par exemple des filtres transverses ( feedforward
filter )
- Non linaires : deux structures ( feedforward and feedback )
avec retour de dcision (DFE ou Decision Feedback
Equalizers)
- Un design : dtermin (ou preset ) ou adaptatif
1. la chane de transmission
Systme bande de base
Modle quivalent
Tx filter
Channel
) t ( w
blanc
) t ( x
Rx. filter
Detector
k
y
kT t =
{ }
k
a
{ }
k
a
1
a
2
a
3
a
T
T
) (
) (
f H
t h
t
t
) (
) (
f H
t h
r
r
) (
) (
f H
t h
c
c
Equivalent system
) t ( w
color
) t ( y
Detector
k
y
kT t =
{ }
k
a
{ }
k
a
1
a
2
a
3
a
T
T
) (
) (
f H
t h
Bruit filtr
) ( ) ( ) ( ) ( f H f H f H f H
r c t
=
Nyquist
Critre de Nyquist:
La bande minimale requise pour dtecter sans IES un dbit
symbole R =1/T [symbols/s] est B
min
=R/2=1/2T [Hz].
De manire quivalente, un systme avec une bande fixe
B=R/2=1/2T [Hz], peut supporter sans IES un dbit
maximum de 2B=1/T=R
Max
[symbols/s].

+
=
=
n
T )
T
n
f ( H
Hz] [symbol/s/ 2
B
R
B
2
R
T 2
1
=
Nyquist -Cas idal
T 2
1
T 2
1
T
) ( f H
f t
) T / t sinc( ) t ( h =
1
0
T T 2 T T 2
0
T 2
1
B =
Ideal Nyquist filter Ideal Nyquist pulse
Nyquist cas rel
Nyquist pulses: Pas dIES aux instants dchantillonnage
Nyquist filter: Filtre ralisable B> 1/2T
Exemple : Raised-Cosine filter

+
>
+
< <

(

+

<
=
T 2
1
| f | for 0
T 2
1
| f |
T 2
1
for
T 2
1
f (
T
cos 1
2
T
T 2
1
| f | for T
) f ( H
Roll-off factor
1 0
) T / t 4 1 ( T / t
) T / t cos( ) T / t sin(
) t ( h
2 2 2


=
2
R
) 1 ( B Baseband
sSB
+ =
| ) ( | | ) ( | f H f H
RC
=
0 =
5 . 0 =
1 =
1 =
5 . 0 =
0 =
) ( ) ( t h t h
RC
=
T 2
1
T 4
3
T
1
T 4
3
T 2
1
T
1
1
0.5
0
1
0.5
0 T T 2 T 3 T T 2
T 3
R ) 1 ( B Passband
DSB
+ =
) f ( H ) f ( H ) f ( H ) f ( H
r c t RC
=
Pas dIES linstant dchantillonnage
Problme : il faut connatre le canal (Hc(f))
Une alternative :
Ajouter un filtre galiseur en rception (He(f)) :
Mthode :
) ( ) ( ) ( ) (
) ( ) ( ) (
SRRC RC
RC
f H f H f H f H
f H f H f H
t r
r t
= = =
=
Tenir compte
de lIES due
aux filtres
) ( ) ( ) ( ) ( ) (
RC
f H f H f H f H f H
e r c t
=
) (
1
) (
f H
f H
c
e
=
Tenir compte
de lIES due
au canal
) f ( j
c c
c
e ) f ( H ) f ( H

=
Non-constant amplitude
Amplitude distortion
Non-linear phase
Phase distortion
Filtre galiseur
Systme bande de base
Modle quivalent
Tx filter
Channel
) t ( w
blanc
) t ( x
Detector
k
z
kT t =
{ }
k
a
1
a
2
a
3
a
T
) (
) (
f H
t h
t
t
Rx. filter
) (
) (
f H
t h
r
r
) (
) (
f H
t h
c
c
Equivalent system
) t ( w
color
Detector
k
' y
kT t =
) (
) (
f H
t h
Bruit filtr ou color
) ( ) ( ) ( ) ( f H f H f H f H
r c t
=


k
k
kT t a ) (
Equalizer
) (
) (
f H
t h
e
e
1
a
2
a
3
a
T


k
k
kT t a ) ( Equalizer
) (
) (
f H
t h
e
e
) t ( h ) t ( w ) t ( w
r b c
=
{ }
k
a
Problme: le bruit nest
pas AWGN
Filtre numrique
Bruit color Bruit blanc
Equivalent system
) t ( w
c
Detector
k
' y
kT t =
) (
) (
f H
t h
1
a
2
a
3
a
T


k
k
kT t a ) ( Equalizer
) (
) (
f H
t h
e
e
{ }
k
a
Filtre
Blanchissant
) f ( H
W
Filtre
galiseur
) f ( H
e
k
w
~
k
z Equivalent system
Detector
k
y
~
) z ( H ) z ( H ) z ( G
w
=
k
a galiseur
) z ( H
e
k
a

+ = + =


k n
k n k n
n
0 k k n k n k
w
~
g a g a w
~
g a y
~
En temps discret :

=

j
j k , E j k
h y
~
z
?
Critres de performances
Diagramme de loeil
time scale
a
m
p
l
i
t
u
d
e

s
c
a
l
e
Marge au bruit
sensibilit
timing error
Distortion
lie lIES
timing jitter
Pas de bruit Pas dIES
Bruit Pas dIES
Pas de Bruit - IES
Bruit - IES
Critres de performances
EQM : Erreur Quadratique Moyenne
e(n) reprsente lerreur destimation des donnes
est le retard du filtre
Interfrences rsiduelles
Maximum de distorsion
) ) n ( z ) n ( a ( E ) ) n ( e ( E
2 2
=
2
max
k
2
max
2
k
z
z z
ISI


=
max
k
max k
z
z z
MD


=
SOMMAIRE
galiseurs linaires
Filtrage transversal
galiseur Zero-forcing (ZF)
galiseur Minimum Mean Square Error (MMSE)
Simulations : MATLAB
galiseurs adaptatifs
LMS, RLS, autodidacte
galiseurs non linaires
Decision feedback (DFE)
Utilise les dcisions antrieures pour rduire lIES
galisation Linaire
k
w
~
k
z Equivalent system
Detector
k
y
~
) z ( H ) z ( H ) z ( G
w
=
k
a galiseur
) z ( H
e
k
a


) N ( h
e
) 1 N ( h
e
+
) 1 N ( h
e

) N ( h
e

k
y
k
z
Calcul des
coefficients
) k n ( y
Filtre transverse (2N+1) coefficients
galisation Linaire
Filtre transverse (2N+1) coefficients

=
= = =
N
N n
n , e
N 2 ,..., N 2 k N ,..., N n ) n k ( y h ) k ( z

) N ( h
e
) 1 N ( h
e
+
) 1 N ( h
e

) N ( h
e

k
y
k
z
Calcul des
coefficients
) k n ( y
La relation matricielle Z=Y.He
(
(
(
(
(
(
(
(
(

+
+

=
(
(
(
(
(
(

=
(
(
(
(
(
(

) N ( y 0 0 0 0
) 1 N ( y ) N ( y 0 0 0
) N ( y ) 1 N ( y ) 2 N ( y ) 1 N ( y ) N ( y
0 ) N ( y ) 1 N ( y
0 0 0 0 ) N ( y
Y et
h
h
h
e H
) N 2 ( z
) 0 ( z
) N 2 ( z
Z
N , e
0 , e
N , e
L
L
M M M
L
M M M
L L L
L
M
M
M
M
Pour un nombre dchantillons gal la longueur du filtre (2N+1), on
observe :y(-N), y(-N+1), y(N-1), y(N)

=
= = =
N
N n
n , e
N 2 ,..., N 2 k N ,..., N n ) n k ( y h ) k ( z
(
(
(
(
(
(
(
(
(

+
+
+
=
) N ( y ) 1 N ( y ) 1 N 3 ( y ) N 3 ( y
) 1 N ( y ) N ( y ) N 3 ( y
) N ( y ) 1 N ( y ) 2 N ( y ) 1 N ( y ) N ( y
) 1 N ( y ) N ( y ) 1 N ( y
) N 3 ( y ) 1 N 3 ( y ) 2 N ( y ) 1 N ( y ) N ( y
Y
L L
L L M
M M M
L
M M M
L L L
L
Si le nombre dchantillons est plus grand y(-3N)y(3N) on a :
EXERCICE : crire les relations pour un filtre 3 coefficients
Comment calculer les coefficients {h
e,n
} pour
minimiser les erreurs en sortie ?
Deux critres : Zero Forcing et MMSE
1) Zro Forcing ou ZF : Inversion du canal
le moyen le + simple
Dans le cas sans bruit : on retrouve exactement les
symboles dinfo
) z ( G
1
) z ( H
E
=
Critre ZF
On pose
do:
) t ( h ) t ( g ) t ( q
E
=

+ + =

+
=

k n n
n k n , E k n n k 0 k
w
~
h q a a q z
utile
IES
bruit
Pour un canal donn (g(t)), si on peut choisir les
{h
e,j
} tels que:
ou
On aura limin lIES cest le ZF
0 n , 0 q
n
=

=
= =

+
=

0 n 0
0 n 1
g h q
j
j n j , E n
Problme : le bruit nest pas pris en compte et il
risque mme dtre amplifi car la densit de
puissance du bruit est divise par qui
peut devenir nulle certaines frquences
2
) f ( G
Critre ZF
On cherche les {h
e,j
} tels que :
On se limite la rsolution de (2N+1) quations
Mise en uvre du critre ZF
E
H . Y Z
et
N , 2 , 1 k pour 0
0 k pour 1
) k ( z
=

=
=
=
K
|
|
|

\
|

|
|
|
|
|
|

\
|

1 , E
0 , E
1 , E
h
h
h
) 1 ( y 0 0
) 0 ( y ) 1 ( y 0
) 1 ( y ) 0 ( y ) 1 ( y
0 ) 1 ( y ) 0 ( y
0 0 ) 1 ( y
|
|
|
|
|
|

\
|

) 2 ( z
) 1 ( z
) 0 ( z
) 1 ( z
) 2 ( z
|
|
|
|
|
|

\
|
0
0
1
0
0
= =
Z . Y H
1
E

=
Exercice ZF
galiseur 3 coefficients ? Distorsion ?
galiseur 5 coefficients ? Distorsion ?
Utilisation de MATLAB.
Solution pour 3 coefficients
Consider a three-taps transversal filter, the given received data {y(k)} are
[0.0, 0.2, 0.9, -0.3,0.1]
(
(
(

(
(
(

=
(
(
(

(
(
(


=
(
(
(

1 , e
0 , e
1 , e
1 , e
0 , e
1 , e
h
h
h
9 . 0 3 . 0 1 . 0
2 . 0 9 . 0 3 . 0
0 2 . 0 9 . 0

h
h
h
) 0 ( y ) 1 ( y ) 2 ( y
) 1 ( y ) 0 ( y ) 1 ( y
) 2 ( y ) 1 ( y ) 0 ( y
0
1
0

YHe z
(
(
(

=
(
(
(

3448 . 0
9631 . 0
2140 . 0

1 ,
0 ,
1 ,
e
e
e
h
h
h
MD= 8.4%
Solution pour 5 coefficients
[0.0, 0.2, 0.9, -0.3,0.1]
Les 5 coefficients de lgaliseur sont :
0.0443
-0.1994
0.9637
0.3419
0.0069
La distorsion maximum est : MD= 4.17%
Script MATLAB
%zeroforcing 3 coeff
y1=[ 0.9 -0.3 0.1]'
y2=[ 0.2 0.9 -0.3 ]'
y3=[0 0.2 0.9 ]'
xx=[y1,y2,y3]
zer=[ 0 1 0 ]'
cof=inv(xx)*zer
y=[ 0 0 0 0 0 0.2 0.9 -0.3 0.1 0 0 0 0 ];
z=filter(cof,1,y)
sum=0;
for i=1:length(z)
sum=sum+abs(z(i));
end
sum=sum-max(z);
MD=sum/max(z)
% calcul des perfs en BER
x=[ 0.0 0.2 0.9 -0.3 0.1 ];
LLc=length(x);
n_coeff=length(cof);
RSB=[1 2 3 4 5 7 8 9 10 12 15];
R=(n_coeff+LLc)/2-1;
ya=2*randint(10000,1,2)-1;
y=ya';
ly=length(y);
yf=filter(x,1,y);
for i=1:length(RSB)
yb=awgn(yf,RSB(i),0,1234);
eqz=filter(cof,1,yb);
dec=sign(eqz(1+R:ly));
err=y(1:ly-R)-dec;
BER(i)=length(find(err))/ly
%BER=length(find(err))/ly
end;
figure(4)
semilogy(RSB,BER)
TEB en fonction du RSB
3 coeffs
En bleu : sans galisation
En vert : avec galisation sur squence non bruite
On voit quon a 10
-4
pour 12dB
0 5 10 15
10
-4
10
-3
10
-2
10
-1
10
0
Script MATLAB
%zeroforcing 5 coeff
y1=[ 0.9 -0.3 0.1 0 0]'
y2=[ 0.2 0.9 -0.3 0.1 0]'
y3=[0 0.2 0.9 -0.3 0.1 ]'
y4=[0 0 0.2 0.9 -0.3]'
y5=[0 0 0 0.2 0.9]'
xx=[y1,y2,y3,y4,y5]
zer=[ 0 0 1 0 0]'
cof=inv(xx)*zer
y=[ 0 0 0 0 0 0.2 0.9 -0.3 0.1 0 0 0 0 ];
z=filter(cof,1,y)
% Calcul taux distorsion egaliseur
sum=0;
for i=1:length(z)
sum=sum+abs(z(i));
end
sum=sum-max(z);
MD=sum/max(z)
% calcul des perfs en BER
x=[ 0.0 0.2 0.9 -0.3 0.1 ];
LLc=length(x);
n_coeff=length(cof);
RSB=[1 2 3 4 5 7 8 9 10 12 15];
R=(n_coeff+LLc)/2-1;
ya=2*randint(10000,1,2)-1;
y=ya';
ly=length(y);
yf=filter(x,1,y);
for i=1:length(RSB)
yb=awgn(yf,RSB(i),0,1234);
eqz=filter(cof,1,yb);
dec=sign(eqz(1+R:ly));
err=y(1:ly-R)-dec;
BER(i)=length(find(err))/ly;
end;
figure(4)
semilogy(RSB,BER)
TEB en fonction du RSB
5 coeffs
En bleu : sans galisation
En vert et rouge : avec galisation 3 et 5 coeffs sur squence non bruite
Rsultats en TEB identiques
0 5 10 15
10
-5
10
-4
10
-3
10
-2
10
-1
10
0
TEB en fonction du RSB 5 coeffs
Si on tient compte du bruit la sortie du canal pour lgalisation (cas
raliste), on met en vidence la non robustesse du critre face au bruit
0 5 10 15 20 25
10
-5
10
-4
10
-3
10
-2
10
-1
10
0
TEB vs RSB Distorsion vs RSB
0 5 10 15 20 25 30
0
20
40
60
80
100
120
140
160
180
Comparaison ZF avec bruit et sans bruit
0 5 10 15 20 25
10
-5
10
-4
10
-3
10
-2
10
-1
10
0
0 5 10 15 20 25
10
-5
10
-4
10
-3
10
-2
10
-1
10
0
Sans galisation
avec galisation ZF
et bruit
avec galisation ZF
sans bruit
2) Critre de lerreur quadratique
moyenne (EQM) ou MMSE
Objectif : minimiser lerreur quadratique moyenne EQM
(ou MSE) de tous les termes (IES + bruit) la sortie de
lgaliseur
Critre plus robuste que le ZF en prsence de bruit
( ) [ ]
2
k k
2
k
z a E ) ( E EQM = =
Equalizer
+ Error
signal
k
y
k
z
k
a
Donnes
mises
k

[ ]
2
) ) ( ( min
k
a kT z E
Critre EQM ou MMSE
Filtre transverse :

= = =

=

+ =
(
(

|
|

\
|
=
N
N j
N
N p
N
N p
ay p , E
p j
y p , E j , E k
N
N j
j , E j k k
p
R h R h h ) a ( E h y a E EQM 2
2
2
k
z
) (
*
p k j k p j
y y E Ry

=
Corrlation des donnes reues :
Inter corrlation entre les donnes reues et les donnes mises :
) (
*
j k k p
y a E Ray

=
Critre EQM ou MMSE
Minimiser lEQM revient rsoudre (2N+1)
quations telles que :
Sous forme matricielle :
N , , , p pour Ray Ry h
N
N j
p p j j , E
= =

=

K 2 1 0
ay y
T
E
R R H = .
[ ]
k
T
k y
Y Y E R . =
[ ]
k
T
k ay
Y a E R . =
Mais : on ne connat pas les
donnes mises !!!!!
Critre EQM ou MMSE
Solution : une squence dapprentissage
Training
Sequence
Data transmission
Training
Sequence
Data transmission
1
.

=
y ay
T
E
R R H
[ ]
k
T
k ay
Y a E R . =
k
a
Critre EQM ou MMSE
Exercice
y(3)= 0.0108 ; y(2)=-0.0558 ; y(1)=0.1617 ;
y(0)=1 ;
y(-1)=-0.1749 ; y(-2)=0.227 ; y(-3)=0.011
Supposons que la squence dapprentissage soit un simple dirac.
Quel est l galiseur 7 coefficients qui permet de retrouver en sortie le dirac mis?
Critre EQM ou MMSE
Les coefficients obtenus sont :
-0.0835
-0.1538
0.2088
0.9227
-0.1192
0.0635
-0.0254
Et la distorsion : MD=5.92%
Inv(R) =
0.9227 0.0513 -0.1232 -0.0710 0.0202 0.0169 0.0011
0.0513 0.9256 0.0444 -0.1271 -0.0698 0.0213 0.0169
-0.1232 0.0444 0.9417 0.0535 -0.1285 -0.0698 0.0202
-0.0710 -0.1271 0.0535 0.9467 0.0535 -0.1271 -0.0710
0.0202 -0.0698 -0.1285 0.0535 0.9417 0.0444 -0.1232
0.0169 0.0213 -0.0698 -0.1271 0.0444 0.9256 0.0513
0.0011 0.0169 0.0202 -0.0710 -0.1232 0.0513 0.9227
R=
1.1116 -0.0600 0.1427 0.0683 -0.0128 0.0018 0.0001
-0.0600 1.1116 -0.0600 0.1427 0.0683 -0.0128 0.0018
0.1427 -0.0600 1.1116 -0.0600 0.1427 0.0683 -0.0128
0.0683 0.1427 -0.0600 1.1116 -0.0600 0.1427 0.0683
-0.0128 0.0683 0.1427 -0.0600 1.1116 -0.0600 0.1427
0.0018 -0.0128 0.0683 0.1427 -0.0600 1.1116 -0.0600
0.0001 0.0018 -0.0128 0.0683 0.1427 -0.0600 1.1116
Ray =d=
0.0108
-0.0558
0.1617
1.0000
-0.1749
0.2270
0.0110
Comparaison de la distorsion ZF-EQM vs le RSB
sur le canal [0.0, 0.2, 0.9, -0.3,0.1]
0 5 10 15 20 25 30
0
20
40
60
80
100
120
140
160
180
Distorsion EQM Distorsion ZF
Programmation MATLAB
critre ZF
Dfinition des chantillons dentre ({x}) :
x=[ 0.0 0.2 0.9 -0.3 0.1 ]; % rponse du canal un dirac
LL=length(x); % longueur de x : LL= 2*L+1 ici LL=5 => L=2
L=round((LL-1)/2) ;
Dfinition du temps ( t ) et trac :
T=1 ; % T reprsente un facteur dchantillonnage
t= -L*T:T:L*T;
figure(1)
stem(t,x)
title('reponse impulsionnelle du canal')
Choix du nombre de coefficients du filtre galiseur
n_coeff=5 ;
N=round((n_coeff-1)/2) ; % n_coeff= 2*N+1 ici N=2
Cration de la matrice carre X des chantillons
La dimension de la matrice des chantillons est (4N+1 2N+1) donc ici 95;
Le nombre dchantillons va de x(-2N) x(2N) dans la matrice carre.
cd de x(-4) x(4)
On insre donc 2N (ici 4) zros dans le vecteur x si sa longueur est < (4N+1)
soit ici 9,donc ce qui est le cas :
If L<2N
x=[zeros(1, 2*N),x,zeros(1, 2*N)];
LL=length(x);
L=round((LL-1)/2) ;
else
x=x;
end;
Remarque : MATLAB indice les vecteurs partir de 1: x(1), x(2).pas partir de 0 !!!
xx=x'; % on transforme x en un vecteur colonne de dimension 4N+1
X=[ ]; % initialisation de la matrice X carre de dimensions (2N+12N+1)
for m=-N:1:N
for n=-N:1:N
X(m+N+1,n+N+1)=xx(L+m-n+1);
end;
end;
Inversion de la matrice
K=inv(X);
Calcul des coefficients par le critre ZF: c_opt
z=zeros(n_coeff,1); % cration dun vecteur colonne de longueur n_coeff
rempli de zros
z((N+1),1)=1; % on force 1 la valeur centrale du vecteur
c_opt=K*z
c_opt
Utilisez le script pour retrouver les
rsultats obtenus prcdemment sur
lexemple .
Modifiez le nombre de coefficients et
examiner la valeur de la distorsion.
Canal B : influence du nombre
de coefficients
7 8 9 10 11 12 13 14 15 16 17
0
1
2
3
4
5
6
Distorsion %
Nombre
coefficients
Autre exemple
)
4 . 0
1 (
1
) (
2
|

\
|
+
=
T
t
t x
Impact du bruit
-20 -15 -10 -5 0 5 10 15 20
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
comparaison entres sans bruit avec bruit - sortie de l galiseur
RSB=50 dB
Impact du bruit
-20 -15 -10 -5 0 5 10 15 20
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
comparaison entres sans bruit avec bruit - sortie de l galiseur
RSB=5 dB
Canal B
Comparaison des valeurs des coefficients avec le bruit awgn:
Sans bruit SNR=100dB SNR=50dB SNR=20dB SNR=10dB SNR=5dB
-0.0851 -0.0851 -0.0841 -0.0544 -0.0135 -0.0195
-0.1581 -0.1581 -0.1592 -0.1929 -0.2696 -0.3476
0.2086 0.2086 0.2096 0.2432 0.3286 0.4574
0.9234 0.9234 0.9227 0.9027 0.8662 0.8124
-0.1187 -0.1187 -0.1194 -0.1441 -0.2164 -0.3183
0.0638 0.0638 0.0635 0.0570 0.0629 0.1072
-0.0269 -0.0269 -0.0258 0.0059 0.0733 0.1426

Impact du bruit
Impact du bruit : distortion
0 10 20 30 40 50 60 70 80 90 100
0
10
20
30
40
50
60
RSB
Distorsion %
Programmation MATLAB
critre MMSE
Cration de la matrice X des chantillons ( elle nest plus
carre !!)
if L<3*N
x=[zeros(1, 3*N),x,zeros(1, 3*N)];
LL=length(x);
L=round((LL-1)/2) ;
else
x=x;
end;
xx=x'; % on transforme x en un vecteur colonne
X=[]; % initialisation de la matrice X
for m=-2*N:1:2*N
for n=-N:1:N
X(m+2*N+1,n+N+1)=xx(L+m-n+1);
end;
end;
Matrice de corrlation des donnes reues
Rx=X*X
Inversion de la matrice
K=inv(Rx);
Intercorrlation des donnes reues avec la squence
dapprentissage ( un dirac)
ap=zeros((4*N+1),1) ; % vecteur de longueur 4N+1 rempli de zros
ap((2*N+1),1)=1 ; % on force 1 la valeur centrale du vecteur
D=X*ap;
Calcul des coefficients par le critre MMSE: c_opt
c_opt=K*D;
Utilisez le script pour retrouver les
rsultats obtenus prcdemment.
Modifiez le nombre de coefficients et
examiner la valeur de la distorsion.
Pour un nombre de coefficients de 7,
comparer les performances des 2
critres (ZF et EQM) sur cet exemple en
labsence de bruit. Conclusion.
Influence du nombre de coefficients
et comparaison au ZF
7 8 9 10 11 12 13 14 15 16 17
0
1
2
3
4
5
6
ZF
EQM
Nombre de
coefficients
Distorsion %
Impact du bruit
Pour comparer les 2 critres : 1 seul
programme
Impact du bruit
1 2 3 4 5 6 7 8 9
-0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Nouveau canal : fir1(8,0.8)
H=[-0.0038 0.0218 -0.0821 0.1625 0.8031 0.1625 -0.0821 0.0218 -0.0038]
Impact du bruit
Gnration dun signal modul MDA-4
M=4000;
a=[-3 -1 1 3];
Ak=a(randint(M,1,4)+1);
figure(1)
plot(Ak,zeros(1,M),'o');
title('constellation de la modulation MDA-4');
Impact du bruit
Impact du canal sans bruit
-4 -3 -2 -1 0 1 2 3 4
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
constellation de la modulation MDA-4 en sortie du canal bruit
Impact du bruit
Impact du canal avec bruit (SNR=12dB)
-5 -4 -3 -2 -1 0 1 2 3 4 5
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
constellation de la modulation MDA-4 en sortie du canal bruit
Impact du bruit
Impact du canal avec bruit (SNR=5dB)
-8 -6 -4 -2 0 2 4 6 8
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
constellation de la modulation MDA-4 en sortie du canal bruit
Utilisez le script fourni (eqm_zf_ask.m)
pour galiser la sortie du canal non bruit
par les 2 critres EQM et ZF (galiseur
avec 9 coefficients); on prendra
SNR=50dB
Mme opration pour le cas bruit : SNR
variant entre 1 et 50 dB
Impact du bruit
Solution
Pour un SNR=50dB :
Coefficients EQM :
0.0652 -0.1480 0.2814 -0.4215 1.4793 -0.4228 0.2832 -0.1524 0.0705
nombre de symboles faux = 0
taux d erreur par symboles SER = 0
Distortion mmse= 13.6353 %
EQM mmse= 0.01285
Coefficients ZF :
0.0816 -0.1640 0.2958 -0.4346 1.4921 -0.4365 0.2986 -0.1698 0.0883
nombre de symboles faux = 0
taux d erreur par symboles SER = 0
Distortion zf = 10.3075 %
EQM zf = 0.014828
SNR=50dB
-4 -3 -2 -1 0 1 2 3 4
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
constellation de la modulation MDA-4 en sortie galiseur EQM
-4 -3 -2 -1 0 1 2 3 4
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
constellation de la modulation MDA-4 en sortie galiseur ZF
Impact du bruit
0 5 10 15 20 25 30 35 40 45 50
-40
-30
-20
-10
0
10
20
30
40
50
ZF
EQM
SNR (dB)
EQM (dB)
Distorsion
SNR(dB)
0 5 10 15 20 25 30 35 40 45 50
0
50
100
150
200
250
300
ZF
EQM
Distorsion %
Comparaison ZF - MMSE
Dans les 2 cas , plus le nombre de coefficients est
grand, plus la distorsion est faible.
Sans bruit, les deux critres donnent peu prs les
mmes rsultats.
En prsence de bruit, le MMSE est plus robuste.
Le paramtre distorsion est insuffisant pour valuer seul
la qualit dgalisation en prsence de bruit souvent
on prfre calculer lEQM.
SIMULINK
galisation Adaptative
On peut tenir compte des variations du canal en actualisant
les coefficients de lgaliseur ( par un algorithme adaptatif )
Lapproche adaptative est lie un signal derreur :
e(k) = z(k)-x(k)
Lobjectif est de minimiser:
2
k
J E e =
Equalizer Channel
+
Error
signal
galisation Adaptative
Lapproche adaptative comporte deux phases :
1
re
phase : Initialisation ou mode supervis ou
Training mode
Une squence dapprentissage est ncessaire.Elle permet
dajuster les coefficients de lgaliseur.
Equalizer Channel
+
galisation Adaptative
2
me
phase : phase de poursuite ou Decision Directed
Mode
Les dcisions sont utilises pour gnrer le signal derreur.
Lactualisation en mode DD est efficace si les variations du
canal sont lentes
Equalizer Channel
+
galisation Adaptative
Un des algorithmes les + simples : le gradient
stochastique ou Least Mean Square (LMS)
partir des coefficients linstant (k-1) on calcule les
coefficients linstant k
Avantage : calcul itratif simple qui ne ncessite plus de
calculer des matrices dauto et inter corrlations.
k k E E
Y e ) 1 k ( h ) k ( h + =
Signal reu
Signal derreur
Constante ou
pas dadaptation
Mise en uvre du LMS
MATLAB : exemple de la transmission dun signal ASK-4
sur le canal fir1(8,0.8) galisation 9 coefficients
Pour 50dB :
0.0625
-0.1377
0.2624
-0.3980
1.4569
-0.3960
0.2592
-0.1336
0.0572

0 1000 2000 3000 4000 5000 6000 7000 8000
-0.5
0
0.5
1
1.5
C
o
e
f
f
i
c
i
e
n
t
s
It rati on
Canal du chapitre 2 : H = 0.0110 0.2270 -0.1749 1.0000
0.1617 -0.0558 0.0108
- Calculez les 7 coefficients de lgaliseur par application de
lalgorithme LMS
- Quel est le nombre ditrations pour assurer la
convergence?
Mise en uvre du LMS
Mise en uvre du LMS
H = 0.0110 0.2270 -0.1749 1.0000 0.1617 -0.0558 0.0108
SNR=100 dB
-0.0800
-0.1528
0.2046
0.9185
-0.1205
0.0632
-0.0273
Mise en uvre du LMS
H = 0.0110 0.2270 -0.1749 1.0000 0.1617 -0.0558 0.0108
SNR=10 dB
-0.0767
-0.1505
0.2093
0.9191
-0.1291
0.0486
-0.0240

0 200 400 600 800 1000 1200
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
C
o
e
f
f
i
c
i
e
n
t
s
Itration
Mise en uvre du LMS
H = 0.0110 0.2270 -0.1749 1.0000 0.1617 -0.0558 0.0108
SNR=10dB
7 coefficients 21 coefficients
LMS - Simulink
erreur
coeff
Scatter Plot
mission
Scatter Plot
galis
Scatter Plot
+bruit +canal
Scatter Plot
+bruit
Random -Integer
Generator
Random
Integer
M-PSK
Modulator
Baseband
M-PSK
M-PSK
Demodulator
Baseband 1
QPSK
LMS Filter
LMS
Input
Desired Desired Desired Desired
Output
Error
Wts
Integer Delay 1
z
-8
Error Rate
Calculation
Error Rate
Calculation
Tx
Rx
Display 1
0
0
7993
Display
0.06599 + 0.001947 i
-0.1492 - 0.0009534 i
0.2835 + 0.004401 i
-0.4217 - 0.001342 i
1.478 - 0.0002475 i
-0.421 + 0.001593 i
0.2829 - 0.003933 i
-0.1488 + 0.001293 i
0.06545 - 0.001703 i
Digital Filter
Digital
Filter
Complex to
Real -Imag 2
Re
Im
Complex to
Real -Imag 1
Re
Im
AWGN
Channel
AWGN
galisation Adaptative
Le LMS devient inappropri lorsque les variations du
canal sont rapides
Un autre algorithme qui est plus performant mais qui est
complexe : Recursive Least Square (RLS) :
Optimisation de la vitesse de convergence en fonction des coefficients.
RLS - Simulink
erreur
coeff
Scatter Plot
mission
Scatter Plot
galis
Scatter Plot
+bruit +canal
Scatter Plot
+bruit
Random -Integer
Generator
Random
Integer
RLS Filter
Input
Desired
Output
Error
Wts
RLS
M-PSK
Modulator
Baseband
M-PSK
M-PSK
Demodulator
Baseband 1
QPSK
Integer Delay 1
z
-8
Error Rate
Calculation
Error Rate
Calculation
Tx
Rx
Display 1
0
0
2493
Display
0.06003 - 0.01277 i
-0.1503 + 0.01938 i
0.2811 - 0.01806 i
-0.4185 + 0.01052 i
1.475 - 0.002859 i
-0.4196 + 0.0003463 i
0.2819 + 0.009577 i
-0.1506 - 0.01111i
0.06654 + 0.009081 i
Digital Filter
Digital
Filter
Complex to
Real -Imag 2
Re
Im
Complex to
Real -Imag 1
Re
Im
AWGN
Channel
AWGN
galisation Adaptative
Pour initialiser la convergence, une squence
dapprentissage est ncessaire pnalisation
Exemple : une trame dapprentissage est rgulirement
mise pour actualiser la convergence lorsque le canal
varie trs rapidement rduction du dbit utile
Une solution : galisation autodidacte
Sans squence dapprentissage; ex du CMA pour les
modulations enveloppe constante
galisation retour de dcision
ou DFE Decision Feedback Equalizer
Egaliseurs non linaires utiliss lorsque le canal
prsente des distorsions damplitude svres
Le DFE utilise des dsicions antrieures
(feedback) pour annuler les interfrences dues
aux symboles dj dtects.
Lide de base est que si les valeurs des
symboles dj dcids sont connues ( ou
supposes correctes) alors il est possible
dannuler exactement lIES due ces symboles
Exemple du concept de lannulation
Simulink Proakis
Scatter Plot
mission
Scatter Plot
galis
Scatter Plot
+bruit
Random -Integer
Generator
Random
Integer
M-PSK
Modulator
Baseband
M-PSK
M-PSK
Demodulator
Baseband 1
QPSK
Error Rate
Calculation
Error Rate
Calculation
Tx
Rx
Display 1
0
0
6999
Digital Filter 2
Digital
Filter
Digital Filter 1
Digital
Filter
Digital Filter
Digital
Filter
AWGN
Channel
AWGN
Le retard pour le calcul du TEB est 2 (1canal +1 filtre adapt)
Pour un SNR de 50dB le TEB=0.18
Pour un SNR de 15dB TEB=0.238
Exemple du concept de lannulation
Simulink Proakis SNR=50 et 15dB


Exemple du concept de lannulation
Simulink Proakis SNR= 15dB

erreur
coeff
Scatter Plot
mission
Scatter Plot
galis
Scatter Plot
+bruit +canal
Scatter Plot
+bruit
Random -Integer
Generator
Random
Integer
M-PSK
Modulator
Baseband
M-PSK
M-PSK
Demodulator
Baseband 1
QPSK
LMS Filter
LMS
Input
Desired Desired Desired Desired
Output
Error
Wts
Integer Delay 1
z
-2
Error Rate
Calculation
Error Rate
Calculation
Tx
Rx
Display 1
0.06676
534
7999
Display
-0.465 + 0.007991 i
1.396 + 0.007524 i
-0.4524 - 0.01769 i
Digital Filter
Digital
Filter
Complex to
Real -Imag 2
Re
Im
Complex to
Real -Imag 1
Re
Im
AWGN
Channel
AWGN
es coefficients sont : !0"#$5 1"%&$ !0"#52
'(B = 0"0$$
Exemple du concept de lannulation
Simulink Proakis SNR= 15dB
Scatter Plot
mission
Scatter Plot
galis
Scatter Plot
+bruit
Random -Integer
Generator
Random
Integer
M-PSK
Modulator
Baseband
M-PSK
M-PSK
Demodulator
Baseband 1
QPSK
Error Rate
Calculation
Error Rate
Calculation
Tx
Rx
Display 1
0
0
6999
Digital Filter 2
Digital
Filter
Digital Filter 1
Digital
Filter
Digital Filter
Digital
Filter
AWGN
Channel
AWGN
galisation retour de dcision
Structure dun DFE
The forward and feedback coefficients may be adjusted
simultaneously to minimize the MSE
Feed forward
filter (FFF)
Feed bac
filter (F!F)
"djustment of
filter coefficients
#n$ut %ut$ut
+
+
&'mbol
decision
galisation retour de dcision
#n$ut
Feed forward
C(z)
Feedbac
F(z)
"djustment of
filter coefficients
%ut$ut
+
+
&'mbol
decision
galisation retour de dcision
#n$ut
Feed forward
C(z)
Feedbac
F(z)
"djustment of
filter coefficients
%ut$ut
+
+
&'mbol
decision
galisation retour de dcision
Utilisez le script fourni pour calculer les
coefficients par le LMS..