View
18
Download
7
Category
Preview:
DESCRIPTION
signal
Citation preview
Égalisation en communications numériques
But de l’égalisation• Réduire l’effet de l’Interférence 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 données par le critère du maximum de
vraisemblance (MV ou MLSE « Maximum Likelihood Sequence Estimator »)
Exemple : égalisation de VITERBISouvent trop lourde en complexité
– Approche sous optimale : ÉgalisationAppliquer un filtre ´égaliseur ` de telle sorte que la sortie ≈ données
émises
Différents types de filtres :- Linéaires : par exemple des filtres transverses ( « feedforward
filter »)- Non linéaires : deux structures (« feedforward and feedback” )
avec retour de décision (DFE ou « Decision Feedback Equalizers”)
- Un design : déterminé (ou « preset ») ou adaptatif
1. la chaîne de transmission
• Système bande de base
• Modèle équivalent
Tx filter Channel
)t(wblanc
)t(x Rx. filterDetector
ky
kTt =
{ }ka{ }ka1a 2a
3aTT
)(
)(
fH
th
t
t
)(
)(
fH
th
r
r
)(
)(
fH
th
c
c
Equivalent system
)t(wcoloré
)t(yDetector
ky
kTt =
{ }ka{ }ka1a 2a
3aTT
)(
)(
fH
th
Bruit filtré
)()()()( fHfHfHfH rct=
Nyquist
– Critère de Nyquist:
• La bande minimale requise pour détecter sans IES un débit symbole R =1/T [symbols/s] est Bmin=R/2=1/2T [Hz].
• De manière équivalente, un système avec une bande fixée B=R/2=1/2T [Hz], peut supporter sans IES un débit maximum de 2B=1/T=RMax [symbols/s].
∑+∞
−∞==−
nT)
T
nf(H
Hz][symbol/s/ 2B
RB
2
R
T2
1 ≤⇒≤=
Nyquist -Cas idéal
T2
1
T2
1−
T
)( fH
f t
)T/tsinc()t(h π=1
0 T T2T−T2−0
T2
1B =
Ideal Nyquist filter Ideal Nyquist pulse
Nyquist – cas réel• Nyquist pulses: Pas d’IES aux instants d’échantillonnage • Nyquist filter: Filtre réalisable B> 1/2T
Exemple : Raised-Cosine filter
α+>
α+<<α−
α−−απ+
α−<
=
T2
1|f|for 0
T2
1|f|
T2
1for
T2
1f(
Tcos1
2
TT2
1|f|for T
)f(H
Roll-off factor10 ≤α≤
)T/t41(T/t
)T/tcos()T/tsin()t(h
222α−⋅ππαπ=
2
R)1(B Baseband sSB α+=
|)(||)(| fHfH RC=
0=α5.0=α
1=α1=α
5.0=α
0=α
)()( thth RC=
T2
1
T4
3
T
1T4
3−T2
1−T
1−
1
0.5
0
1
0.5
0 T T2 T3T−T2−T3−
R)1(B Passband DSB α+=
)f(H)f(H)f(H)f(H rctRC =Pas d’IES à l’instant d’échantillonnage
• Problème : il faut connaître le canal (Hc(f))• Une alternative :
– Ajouter un filtre égaliseur en réception (He(f)) :
– Méthode :
)()()()(
)()()(
SRRCRC
RC
fHfHfHfH
fHfHfH
tr
rt
===
= Tenir compte de l’IES due
aux filtres
)()()()()(RC fHfHfHfHfH erct=
)(
1)(
fHfH
ce = Tenir compte
de l’IES due au canal
)f(jcc
ce)f(H)f(H θ=
Non-constant amplitude
Amplitude distortion
Non-linear phase
Phase distortion
Filtre Égaliseur• Système bande de base
• Modèle équivalent
Tx filter Channel
)t(wblanc
)t(x
Detectorkz
kTt =
{ }ka1a
2a 3aT )(
)(
fH
th
t
t
Rx. filter
)(
)(
fH
th
r
r
)(
)(
fH
th
c
c
Equivalent system
)t(wcoloré
Detector
k'y
kTt =)(
)(
fH
th
Bruit filtré ou coloré
)()()()( fHfHfHfH rct=
∑ −k
k kTta )(δ Equalizer
)(
)(
fH
th
e
e
1a
2a 3aT
∑ −k
k kTta )(δ Equalizer
)(
)(
fH
th
e
e
)t(h)t(w)t(w rbc ∗=
{ }ka
Problème: le bruit n’est pas AWGN
Filtre numérique
Bruit coloré � Bruit blanc
Equivalent system
)t(wc
Detector
k'y
kTt =)(
)(
fH
th
1a
2a 3aT
∑ −k
k kTta )(δ Equalizer
)(
)(
fH
th
e
e
{ }ka
FiltreBlanchissant
)f(HW
FiltreÉgaliseur
)f(He
kw~
kzEquivalent systemDetector
ky~
)z(H)z(H)z(G w⋅=ka Égaliseur
)z(Heka
∑ +∑ +=+=≠
−−kn
knknn
0kknknk w~gagaw~gay~
• En temps discret :
∑= −j
jk,Ejk hy~z?
Critères de performances
• Diagramme de l’oeil
time scale
amp
litu
de
scal
e Marge au bruit
sensibilité“timing error”
Distortionliée à l’IES
“timing jitter”
Pas de bruit – Pas d’IES
Bruit – Pas d’IES
Pas de Bruit - IES
Bruit - IES
Critères de performances• EQM : Erreur Quadratique Moyenne
e(n) représente l’erreur d’estimation des donnéesτ est le retard du filtre
• Interférences résiduelles
• Maximum de distorsion
))n(z)n(a(E))n(e(E 22 −τ−=
2max
k
2max
2k
z
zz
ISI∑ −
=
max
kmaxk
z
zz
MD∑ −
=
SOMMAIRE– Égaliseurs linéaires
• Filtrage transversal– Égaliseur « Zero-forcing » (ZF)– Égaliseur « Minimum Mean Square Error » (MMSE)
– Simulations : MATLAB– Égaliseurs adaptatifs
• LMS, RLS, autodidacte
– Égaliseurs non linéaires • Decision feedback (DFE)
– Utilise les décisions antérieures pour réduire l’IES
Égalisation Linéaire
kw~
kzEquivalent systemDetector
ky~
)z(H)z(H)z(G w⋅=ka Égaliseur
)z(Heka
τ τ ττ
)N(he
− )1N(he +− )1N(he − )N(he
∑
ky
kz
Calcul descoefficients
)kn(y −
Filtre transverse à (2N+1) coefficients
Égalisation Linéaire• Filtre transverse à (2N+1) coefficients
∑−=
−=−=−⋅=N
Nnn,e N2,...,N2k N,...,Nn )nk(yh)k(z
τ τ ττ
)N(he
− )1N(he +− )1N(he − )N(he
∑
ky
kz
Calcul descoefficients
)kn(y −
• La relation matricielle Z=Y.He
−
−+−−−
−+−−
=
=
−
=
−
)N(y0000
)1N(y)N(y000
)N(y)1N(y)2N(y)1N(y)N(y
0)N(y)1N(y
0000)N(y
Yet
h
h
h
eH
)N2(z
)0(z
)N2(z
Z
N,e
0,e
N,e
L
L
MMM
L
MMM
LLL
L
M
M
M
M
Pour un nombre d’échantillons égal à la longueur du filtre (2N+1), on observe :y(-N), y(-N+1), … y(N-1), y(N)
∑−=
−=−=−⋅=N
Nnn,e N2,...,N2k N,...,Nn )nk(yh)k(z
−−−
−+−−−
−−−+−−+−−−−−−
=
)N(y)1N(y)1N3(y)N3(y
)1N(y)N(y)N3(y
)N(y)1N(y)2N(y)1N(y)N(y
)1N(y)N(y)1N(y
)N3(y)1N3(y)2N(y)1N(y)N(y
Y
LL
LLM
MMM
L
MMM
LLL
L
Si le nombre d’échantillons est plus grand y(-3N)…y(3N) on a :
EXERCICE : écrire les relations pour un filtre à 3 coefficients
Comment calculer les coefficients { he,n} pour minimiser les erreurs en sortie ?
• Deux critères : Zero Forcing et MMSE
1) Zéro Forcing ou ZF : Inversion du canal � le moyen le + simple
�Dans le cas sans bruit : on retrouve exactement les symboles d’info
)z(G
1)z(H E =
Critère ZF• On posed’où:
)t(h)t(g)t(q E∗=
∑ ∑ ⋅++=≠
+∞
−∞=−−
kn nnkn,Eknnk0k w~hqaaqz
utile
IES bruit
• Pour un canal donné (g(t)), si on peut choisir les {he,j} tels que:
ou
On aura éliminé l’IES � c’est le ZF
0n,0qn ≠∀=
≠=
=⋅= ∑+∞
−∞=− 0n0
0n1ghq
jjnj,En
• Problème : le bruit n’est pas pris en compte et il risque même d’être amplifié car la densité de puissance du bruit est divisée par qui peut devenir nulle à certaines fréquences
2)f(G
Critère ZF
• On cherche les {he,j} tels que :
• On se limite à la résolution de (2N+1) équations
Mise en œuvre du critère ZF
EH.YZ
et
N,2,1kpour0
0kpour1)k(z
=
±±±==
=K
⋅
−−
−
−
1,E
0,E
1,E
h
h
h
)1(y00
)0(y)1(y0
)1(y)0(y)1(y
0)1(y)0(y
00)1(y
−−
)2(z
)1(z
)0(z
)1(z
)2(z
0
0
1
0
0
= = Z.YH 1E
−=
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.03.01.0
2.09.03.0
02.09.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
YHez
−=
∴−
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 l’égaliseur sont :0.0443-0.19940.96370.34190.0069
La distorsion maximum est : MD= 4.17%
Script MATLAB%zeroforcing 3 coeffy1=[ 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));endsum=sum-max(z);MD=sum/max(z)
% calcul des perfs en BERx=[ 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=yf+10^(-RSB(i)/20)*randn(1,ly);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 RSB3 coeffs
En bleu : sans égalisationEn vert : avec égalisationOn voit qu’on a 10-4 pour 12dB
0 5 10 1510
-4
10-3
10-2
10-1
100
Script MATLAB%zeroforcing 5 coeffy1=[ 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 egaliseursum=0;for i=1:length(z)
sum=sum+abs(z(i));endsum=sum-max(z);MD=sum/max(z)
% calcul des perfs en BERx=[ 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=yf+10^(-RSB(i)/20)*randn(1,ly);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 RSB5 coeffs
En bleu : sans égalisationEn vert et rouge : avec égalisation 3 et 5 coeffsRésultats en TEB identiques
0 5 10 1510
-5
10-4
10-3
10-2
10-1
100
2) Critère de l’erreur quadratique moyenne (EQM) ou MMSE
• Objectif : minimiser l’erreur quadratique moyenne EQM (ou MSE) de tous les termes (IES + bruit) à la sortie de l’égaliseur
• Critère plus robuste que le ZF en présence de bruit
( )[ ]2kk
2k zaE)(EEQM −== ε
Equalizer
+Error signal
ky
kz ka Données émises
kε
[ ]2))((min kakTzE −
Critère EQM ou MMSE
• Filtre transverse :
∑ ∑ ∑∑−= −= −=
−−=
− −+=
−=
N
Nj
N
Np
N
Npayp,Epjyp,Ej,Ek
N
Njj,Ejkk p
RhRhh)a(EhyaEEQM 222
kz)yy(ERy pk
*jkpj −−− =Corrélation des données reçues :
Inter corrélation entre les données reçues et les données émises :
)ay(ERay *kjkp −=
Critère EQM ou MMSE
• Minimiser l’EQM revient à résoudre (2N+1) équations telles que :
• Sous forme matricielle :
N,,,ppourRayRyhN
Njppjj,E ±±±==∑
−=− K210
ayEy RHR =.
[ ]Tkky YYER .=
[ ]kkay YaER .= Mais : on ne connaît pas les données émises !!!!!
Critère EQM ou MMSE
• Solution : une séquence d’apprentissage
TrainingSequence Data transmissionTraining
Sequence Data transmission
ayyE RRH .1−=
[ ]kkay YaER .=
ka
Critère 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 séquence d’apprentissage soit un simple dirac.
Quel est l’ égaliseur à 7 coefficients qui permet de retrouver en sortie le dirac émis?
Critère EQM ou MMSE
Les coefficients obtenus sont :-0.0835-0.15380.20880.9227
-0.11920.0635
-0.0254Et la distorsion : MD=5.92%
Inv(R) =0.9227 0.0513 -0.1232 -0.0710 0.0202 0.0169 0.00110.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.07100.0202 -0.0698 -0.1285 0.0535 0.9417 0.0444 -0.12320.0169 0.0213 -0.0698 -0.1271 0.0444 0.9256 0.05130.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.00180.1427 -0.0600 1.1116 -0.0600 0.1427 0.0683 -0.01280.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.14270.0018 -0.0128 0.0683 0.1427 -0.0600 1.1116 -0.06000.0001 0.0018 -0.0128 0.0683 0.1427 -0.0600 1.1116
Ray =d=0.0108
-0.05580.16171.0000
-0.17490.22700.0110
Programmation MATLABcritère ZF
Définition des échantillons d’entrée ({x}) :x=[ 0.0 0.2 0.9 -0.3 0.1 ]; % réponse du canal à un diracLL=length(x); % longueur de x : LL= 2*L+1L=round((LL-1)/2) ;
Définition du temps ( t ) et tracé :T=1 ; % T représente un facteur d’échantillonnaget= -L*T:T:L*T;figure(1)stem(t,x) title('reponse impulsionnelle du canal')
Choix du nombre de coefficients du filtre égaliseurn_coeff=5 ;N=round((n_coeff-1)/2) ; % n_coeff= 2*N+1
Création de la matrice carrée X des échantillonsLa dimension de la matrice des échantillons est (4N+1 × 2N+1) donc ici 9×5;Le nombre d’échantillons va de x(-2N) à x(2N) dans la matrice carrée.On insère donc 2N zéros dans le vecteur x si sa longueur est < (4N+1):If L<2N
x=[zeros(1, 2*N),x,zeros(1, 2*N)];LL=length(x); L=round((LL-1)/2) ;
elsex=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 carrée de dimensions (2N+1×2N+1)for m=-N:1:N
for n=-N:1:NX(m+N+1,n+N+1)=xx(L+m-n+1);
end;end;
Inversion de la matriceK=inv(X);
Calcul des coefficients par le critère ZF: c_optz=zeros(n_coeff,1); % création d’un vecteur « colonne » de longueur n_coeff
rempli de zérosz((N+1),1)=1; % on force à 1 la valeur centrale du vecteurc_opt=K*zc_opt‘
• Utilisez le script pour retrouver les résultats obtenus précédemment sur l’exemple .
• Modifiez le nombre de coefficients et examiner la valeur de la distorsion.
Autre exemple
)4.0
1(
1)(
2
+
=
T
ttx
Impact du bruit
Impact du bruit
Programmation MATLABcritère MMSE
Création de la matrice X des échantillons ( elle n’est plus carrée !!)
if L<3*Nx=[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 Xfor m=-2*N:1:2*N
for n=-N:1:NX(m+2*N+1,n+N+1)=xx(L+m-n+1);
end;end;
Matrice de corrélation des données reçuesRx=X’*X
Inversion de la matriceK=inv(Rx);
Intercorrélation des données reçues avec la séquence d’apprentissage ( un dirac)
ap=zeros((4*N+1),1) ; % vecteur de longueur 4N+1 rempli de zéros
ap((2*N+1),1)=1 ; % on force à 1 la valeur centrale du vecteur
D=X’*ap;
Calcul des coefficients par le critère MMSE: c_optc_opt=K*D;
• Utilisez le script pour retrouver les résultats obtenus précédemment.
• Modifiez le nombre de coefficients et examiner la valeur de la distorsion.
• Pour un nombre de coefficients de 7, comparer les performances des 2 critères (ZF et EQM) sur cet exemple en l’absence de bruit. Conclusion.
Impact du bruit
• Pour comparer les 2 critères : 1 seul programme pour que le bruit aléatoire généré soit identique
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
• Génération d’un 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
1constellation 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
1constellation 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
1constellation 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 critères EQM et ZF (égaliseur avec 9 coefficients); on prendra SNR=50dB
• Même opération pour le cas bruité : SNR entre 10 et 20 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.0705nombre de symboles faux = 0taux d erreur par symboles SER = 0Distortion 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.0883nombre de symboles faux = 0taux d erreur par symboles SER = 0Distortion 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
1constellation 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
1constellation de la modulation MDA-4 en sortie égaliseur ZF
Solution
• Pour un SNR=20dB :EQM :nombre de symboles faux = 0taux d erreur par symboles SER = 0Distortion mmse= 26.7841 %EQM mmse= 0.049556ZF :nombre de symboles faux = 0taux d erreur par symboles SER = 0Distortion zf = 20.5456 %EQM zf = 0.061398
Solution
• Pour un SNR=12dB :EQM :nombre de symboles faux = 0taux d erreur par symboles SER = 0Distortion mmse= 49.7648 %EQM mmse= 0.10203ZF:nombre de symboles faux = 5taux d erreur par symboles SER = 0.0012525Distortion zf = 39.9726 %EQM zf = 0.14139
Comparaison ZF - MMSE
• Dans les 2 cas , plus le nombre de coefficients est grand, plus la distorsion est faible.
• Sans bruit, les deux critères donnent à peu près les mêmes résultats.
• En présence de bruit, le MMSE est plus robuste.• Le paramètre distorsion est insuffisant pour évaluer seul
la qualité d’égalisation en présence de bruit � souvent on préfère calculer l’EQM.
SIMULINK
Égalisation Adaptative
• On peut tenir compte des variations du canal en actualisant les coefficients de l’égaliseur ( par un algorithme adaptatif )
• L’approche adaptative est liée à un signal d’erreur :e(k) = z(k)-x(k)
L’objectif est de minimiser:2
kJ E e=
EqualizerChannel
+
Error signal
Égalisation Adaptative
L’approche adaptative comporte deux phases :• 1ère phase : Initialisation ou mode supervisé ou
« Training mode »Une séquence d’apprentissage est nécessaire.Elle permet
d’ajuster les coefficients de l’égaliseur.
EqualizerChannel
+
Égalisation Adaptative
• 2ème phase : phase de poursuite ou « Decision Directed Mode »
Les décisions sont utilisées pour générer le signal d’erreur.
L’actualisation en mode DD est efficace si les variations du canal sont lentes
EqualizerChannel
+
Égalisation Adaptative
• Un des algorithmes les + simples : le gradient stochastique ou « Least Mean Square » (LMS)– À partir des coefficients à l’instant (k-1) on calcule les
coefficients à l’instant k
– Avantage : calcul itératif simple qui ne nécessite plus de calculer des matrices d’auto et inter corrélations.
kkEE Ye)1k(h)k(h µ+−=
Signal reçuSignal d’erreur
Constante ou pas d’adaptation
Mise en œuvre du LMS• MATLAB : exemple de la transmission d’un signal ASK-4
sur le canal fir1(8,0.8) – égalisation 9 coefficientsPour 50dB : 0.0652 -0.1480 0.2814 -0.4215 1.4793 -0.4228 0.2832
-0.1524 0.0705
0 1000 2000 3000 4000 5000 6000 7000 8000-0.5
0
0.5
1
1.5C
oef
fic
ien
ts
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 l’égaliseur par application de l’algorithme LMS
- Quel est le nombre d’itérations 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.0108SNR=100 dB
-0.0800-0.15280.20460.9185-0.12050.0632-0.0273
Mise en œuvre du LMS
H = 0.0110 0.2270 -0.1749 1.0000 0.1617 -0.0558 0.0108SNR=10 dB
-0.0767-0.15050.20930.9191
-0.12910.0486
-0.0240
0 200 400 600 800 1000 1200-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Coe
ffic
ient
s
Itération
Mise en œuvre du LMSH = 0.0110 0.2270 -0.1749 1.0000 0.1617 -0.0558 0.0108SNR=10dB7 coefficients 21 coefficients
LMS - Simulink
erreur
coeff
Scatter Plotémission
Scatter Plotégalisé
Scatter Plot+bruit +canal
Scatter Plot+bruit
Random -IntegerGenerator
RandomInteger
M-PSKModulatorBaseband
M-PSK
M-PSKDemodulatorBaseband 1
QPSK
LMS Filter
LMS
Input
DesiredDesiredDesiredDesired
Output
Error
Wts
Integer Delay 1
z-8
Error RateCalculation
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
DigitalFilter
Complex toReal -Imag 2
Re
Im
Complex toReal -Imag 1
Re
Im
AWGNChannel
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 -IntegerGenerator
RandomInteger
RLS Filter
Input
Desired
Output
Error
Wts
RLSM-PSK
ModulatorBaseband
M-PSK
M-PSKDemodulatorBaseband 1
QPSK
Integer Delay 1
z-8
Error RateCalculation
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
DigitalFilter
Complex toReal -Imag 2
Re
Im
Complex toReal -Imag 1
Re
Im
AWGNChannel
AWGN
Égalisation Adaptative
• Pour initialiser la convergence, une séquence d’apprentissage est nécessaire � pénalisation
• Exemple : une trame d’apprentissage est régulièrement émise pour actualiser la convergence lorsque le canal varie très rapidement � réduction du débit utile
• Une solution : égalisation autodidacte• Sans séquence d’apprentissage; ex du CMA pour les
modulations à enveloppe constante
Égalisation à retour de décisionou DFE « Decision Feedback Equalizer »
• Egaliseurs non linéaires utilisés lorsque le canal présente des distorsions d’amplitude sévères
• Le DFE utilise des désicions antérieures (feedback) pour annuler les interférences dues aux symboles déjà détectés.
• L’idée de base est que si les valeurs des symboles déjà décidés sont connues ( ou supposées correctes) alors il est possible d’annuler exactement l’IES due à ces symboles
Exemple du concept de l’annulationSimulink – Proakis
Scatter Plotémission
Scatter PlotégaliséScatter Plot
+bruit
Random -IntegerGenerator
RandomInteger
M-PSKModulatorBaseband
M-PSK
M-PSKDemodulatorBaseband 1
QPSK
Error RateCalculation
Error Rate Calculation
Tx
Rx
Display 1
0
0
6999
Digital Filter 2
DigitalFilter
Digital Filter 1
DigitalFilter
Digital Filter
DigitalFilter
AWGNChannel
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 l’annulationSimulink – Proakis SNR=50 et 15dB
Exemple du concept de l’annulationSimulink – Proakis SNR= 15dB
erreur
coeff
Scatter Plotémission
Scatter Plotégalisé
Scatter Plot+bruit +canal
Scatter Plot+bruit
Random -IntegerGenerator
RandomInteger
M-PSKModulatorBaseband
M-PSK
M-PSKDemodulatorBaseband 1
QPSK
LMS Filter
LMS
Input
DesiredDesiredDesiredDesired
Output
Error
Wts
Integer Delay 1
z-2
Error RateCalculation
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
DigitalFilter
Complex toReal -Imag 2
Re
Im
Complex toReal -Imag 1
Re
Im
AWGNChannel
AWGN
Les coefficients sont : -0.465 1.396 -0.452
TEB = 0.066
Exemple du concept de l’annulationSimulink – Proakis SNR= 15dB
Scatter Plotémission
Scatter PlotégaliséScatter Plot
+bruit
Random -IntegerGenerator
RandomInteger
M-PSKModulatorBaseband
M-PSK
M-PSKDemodulatorBaseband 1
QPSK
Error RateCalculation
Error Rate Calculation
Tx
Rx
Display 1
0
0
6999
Digital Filter 2
DigitalFilter
Digital Filter 1
DigitalFilter
Digital Filter
DigitalFilter
AWGNChannel
AWGN
Égalisation à retour de décision
• Structure d’un DFE
The forward and feedback coefficients may be adjusted simultaneously to minimize the MSE
Feed forward filter (FFF)
Feed back filter (FBF)
Adjustment of filter coefficients
Input Output
++
Symbol decision
Égalisation à retour de décision
InputFeed forward
C(z)
Feedback
F(z)
Adjustment of filter coefficients
Output
++
Symbol decision
Égalisation à retour de décision
InputFeed forward
C(z)
Feedback
F(z)
Adjustment of filter coefficients
Output
++
Symbol decision
Égalisation à retour de décision
• Utilisez le script fourni pour calculer les coefficients par le LMS…..
Recommended