Vous êtes sur la page 1sur 22

Traitement du signal 1

Vahid Meghdadi
ELT2

1 Rappels
1.1 Echantillonnage [1, Chap. 4]
Soit x(t) un signal limité en fréquence. C’est-à-dire que

X(f ) = 0 pour |f | > B

Si on échantillonne ce signal par une peigne de dirac avec une fréquence minimale
de répétition de 2B, le signal d’origine, x(t) peut être reconstruit parfaitement
en passant ce signal par un filtre passe bas de largeur de bande B.
Theorem 1. Un signal x(t) d’énergie finie dont la transformée de Fourier a
un support borné [−B, B] est entièrement défini par ses échantillons x(kT e)
prélevés à une fréquence d’échantillonnage fe = 1/Te ≥ 2B.
Définitions
On définit un train de dirac de période T étant:
+∞
X
δT (t) = δ(t − nT )
n=−∞

La série de Fourier de δT (t) est la suivante:


+∞
1 X j2πnt/T
δT (t) = e
T n=−∞

La transformée de Fourier de ce signal est donc:


+∞  
1 X k
F{δT (t)} = δ f−
T T
k=−∞

Le signal échantillonné (peigné) est le produit de x(t) par δT (t), ce qui traduit
par une convolution en fréquence.
+∞
X +∞
X
xT (t) = x(t)δT (t) = x(t)δ(t − nT ) = x(nT )δ(t − nT )
n=−∞ n=−∞

+∞  
1 X k
XT (f ) = F (xT (t)) = X f− (1)
T T
k=−∞

1
Il est clair que si le spectre du signal est nul pour les fréquences supérieures
à fe /2 = 1/2T , le chevauchement de spectre n’aura pas lieu. Ainsi, un filtre
passe bas idéal est capable de restaurer le signal parfaitement.
Remarque: Le théorème d’échantillonnage peut être utilisé pour développer
une méthode d’interpolation. En fait, la transformée inverse de Fourier de
XT (f ) filtré, donne la série suivante:
+∞
X sinπ(t/T − n)
x(t) = x(nT )
n=−∞
π(t/T − n)

Filtre anti-repliement (”anti-aliasing”): Pour éviter à tout prix le


chevauchement de spectre (aliasing), on utilise un filtre anti-repliement avant
l’échantillonnage. Ce filtre passe bas a une fréquence de coupure fe /2.

2 Signaux discrets[1, Chap. 5]


Un signal est une suite de nombres (qui ne sont pas forcement quantifiés).
Exemple de signaux

• L’impulsion unité (delta dirac)



1 pour n=0
δ(n) =
0 pour n 6= 0

• L’échelon unité 
0 pour n<0
u(n) =
1 pour n≥0

• La porte de longueur N:

1 pour 0≤n≤N −1
ΠN (n) =
0 ailleurs

Propriété: Un signal peut être écrit sous forme d’une somme de diracs
pondérés:
+∞
X
x(n) = x(k)δ(n − k)
k=−∞

2.1 Transformée en Z
Pour des signaux analogique, c’est la transformée de Laplace qui est utilisée alors
que pour des signaux discrets, c’est la transformée de Z qui devient important.
La transformée en Z du signal discret x(n) est définie par la relation:
+∞
X
X(z) = x(n)z −n
n=−∞

2
z est une variable complexe et la transformée en Z existe si la série converge.
Domaine de convergence: Le domaine de convergence est l’ensemble de
points sur le plan complexe Z où la transformée en Z converge. C-à-d
( +∞ )
X
1 −n
ROC = z tel que |X(z)| = x(n)z < ∞

n=−∞
remarque:
Si z1 ∈ ROC, ∀z tel que |z| = |z1 | alors z ∈ ROC
Dans ce cours nous ne considérons que les signaux causaux. Dans ce cas la limite
inférieure de la somme devient zéro et la formule se transforme en suivante:
+∞
X
X(z) = x(n)z −n
k=0

Cette relation est appelé la transformée en Z monolatéral. Pour ces signaux la


région de convergence est toujours à l’extérieur d’un cercle centré à l’origine.
Par exemple pour un delta dirac, le domaine de convergence est la totalité du
plan complexe Z. Pour le signal x(n) = an u(n), la ROC est |z| > a. (pourquoi?)

Exercices: Calculer la transformée en Z des signaux suivants et pour chaque


cas donner la region de convergence: x1 (n) = δ(n), x2 (n) = u(n), x3 (n) =
an u(n), x4 (n) = Π5 (n)

2.2 Propriétés de la transformée en z


• Linéarité:
ax1 (n) + bx2 (n) ⇒ aX1 (z) + bX2 (z)
• Décalage dans le temps:
x(n − n0 ) ⇒ z −n0 X(z)

• Multiplication par exponentiel:


z0n x(n) ⇒ X(z/z0 )

• Dérivé de X(z):
dX(z)
nx(n) ⇒ −z
dz
• Convolution:
x1 (n) ∗ x2 (n) ⇒ X1 (z)X2 (z)
• Valeur initiale: si x(n) est un signal causal, alors:
x(0) = lim X(z)
z→∞

• Valeur finale : si x(n) est un signal causal, alors:


lim x(n) = lim (1 − z −1 )X(z)
n→+∞ z→1
1 Region of convergence

3
3 Transformée inverse de Z [2, paragraphe 2.2]
3.1 Inversion par la formule de résidus
Le théorème d’intégral de Cauchy montre que
I 
1 1, k = 0
z k−1 dz =
2πj C 6 0
0, k =

où C est un contour orienté dans le sens positif englobant l’origine. La trans-
formée en Z est définie par la relation:
+∞
X
X(z) = x(n)z −n
n=−∞

En multipliant les deux côtés par z k−1 et intégrer comme il faut, puis, changer
l’ordre de l’intégral et la somme, on obtiendra

I
1
x(n) = X(z)z n−1 dz
2πj C
X
= [ résidus de X(z)z n−1 pour les p^
oles à l’intérieur de C]

En général, si X(z)z n−1 est une fonction rationnelle de z, elle peut s’écrire sous
la forme:
φ(z)
X(z)z n−1 =
(z − z0 )s
où X(z)z n−1 possède s pôles en z = z0 . Dans ce cas le résidu de X(z)z n−1 en
z = z0 sera:
 s−1 
n−1 1 d φ(z)
Res[X(z)z en z = z0 ] =
(s − 1)! dz s−1 z=z0

et pour le cas particulier de s = 1 on a:

Res[X(z)z n−1 en z = z0 ] = φ(z0 )

Exemple: Soit
1
X(z) = |z| > |a|
1 − az −1
Alors la transformée inverse de z est:
z n−1 z n dz
I I
1 1
x(n) = dz =
2πj C 1 − az −1 2πj C z − a

où le contour C est un cercle de rayon supérieur à a. Pour n ≥ 0 il n’y a qu’un


seul pôle à z = a. Dans ce cas x(n) = an . Pour les n < 0, deux pôles existent.
Pour n = −1, x(−1) = −a−1 +a−1 = 0. Pour n = −2, x(−2) = −a−2 +a−2 = 0.
On peut voir que pour tout n < 0, x(n) = 0, c’est à dire que:

x(n) = an u(n)

4
3.2 Inversion par développement en série
Si on peut présenter le X(z) sous forme d’une série en z −1 , les valeurs de x(n)
seront trouvées par identification.
Exemple: Soit
X(z) = log(1 + az −1 ), |z| > |a|
Utilisant le développement en série de Taylor pour log(1 + x) on obtient:

X (−1)n+1 an z −n
X(z) =
n=1
n

Alors, x(n) sera:


n
(−1)n+1 an

n≥1
x(n) =
0 n≤0
Un exemple très récurant dans les cas pratiques est le H(z) rationnel. Dans ce
cas, il suffit de diviser le numérateur par le dénominateur selon les puissances
croissantes de z −1 . Ainsi on trouvera finalement un signal nul à gauche.
1+2z −1
Exemple: Soit X(z) = 1−2z −1 +z −2 . En effectuant une division longue, X(z) =

1+4z −1 +7z −2 +...+(3k+1)z −k +.... On en déduit le signal x(n) = (3n+1)u(n).

3.3 Inversion par développement en éléments simples


Dans cette méthode, on essaye de développer la fonction rationnelle de X(z) =
N (z −1 )
D(z −1 ) en une somme d’éléments d’ordre 1. On peut écrire

PM −k
k=0 bk z
X(z) = PN
−k
k=0 ak z

Si M < N alors:
M
(1 − ck z −1 )
Q
N
b0 k=1 X Ak
X(z) = =
a0 QN 1 − dk z −1
(1 − dk z −1 ) k=0
k=1

où Ak = 1 − dk z −1 X(z)|z=dk . Alors, utilisant le fait que an u(n) ↔ 1



1−az −1 ,
la transformée inverse de Z sera donc:
N
X
x(n) = Ak (dk )n u(n)
k=1

Si M ≥ N ,
M −N N
X X Ak
X(z) = Br z −r +
r=0
1 − dk z −1
k=0

Exemple: Calculer la transformée inverse de

3 + 2.5z −1 − z −2 − 0.5z −3
X(z) =
1 + 1.5z −1 + z −2

5
En divisant, on obtient
3 + 2z −1
X(z) = 1 − z −1 +
1 + 1.5z −1 + z −2
2 1
= 1 − z −1 + +
1 + z −1 1 + 0.5z −1
L’inverse de la transformée en Z est:
x(n) = δ(n) − δ(n − 1) + (2 + 0.5n )u(n)
Exemple: Calculer le transformée inverse de Z quand il existe un pôle d’ordre
2 : X(z) = (1−az1 −1 )2 .
Solution: x(n) = (n + 1)an u(n)

3.4 Utilisation de la table et des propriétés


Il y a aussi la possibilité d’utiliser la table de la transformée en Z et ensuite
appliquer les propriétés de la transformée en Z pour obtenir la transformée
inverse. On peut appliquer cette méthode à l’exemple précédant, tout en sachant
1
que an u(n) ↔ 1−az −1 . Application de la propriété de la dérivé de X(z), puis

décalage temporel, on obtiendra le résultat souhaité.

4 Transformée de Fourier signal discret (TFSD)


Ici, nous essayons de trouver le lien entre la transformée en Z et la transformée
de Fourier du signal analogique échantillonnée. Supposons que x(t) est un signal
analogique à largeur de bande limitée. On échantillonne ce signal par un train
de delta pour obtenir le signal xT (t). Le spectre de ce signal est donné par la
relation (1).
La transformée de Fourier du signal xT (t) sera:
Z ∞X
XT (f ) = x(nT )δ(t − nT )e−j2πf t dt
−∞ n
X
= x(nT )e−j2πf nT
n


X
−n
= x(n)z
n=−∞

z=exp(j2πf T )

Sachant que T est la période d’échantillonnage, f T = f /fe . Ce rapport est en


fait le résultat d’une normalisation de la fréquence par la fréquence d’échantillonnage.
Cette quantité s’appelle la pulsation normalisée: ω = 2πf T = 2πf /fe . La re-
lation ci-dessus veut dire que la transformée de Fourier du signal xT (t) peut
être obtenue en remplaçant le z, dans la transformée en Z de x(n), par exp(jω).
C’est-à-dire que l’on doit évaluer la transformée en Z sur un cercle du rayon 1
(cercle unité).
Alors, la transformée de Fourier d’une séquence discrète est définie par la
relation:
X∞
X(ejω ) = x(n)e−jωn (2)
n=−∞

6
Conclusion: La transformée en Z calculée sur le cercle unité donne la trans-
formée de Fourier de la sequence x(n), qui est la même chose que la transformée
de Fourier du signal xT (t), qui est la même chose que la transformée du Fourier
du signal x(t) antre (−fe /2, fe /2), à condition d’avoir respecté le critère de
Shannon (tout cela est bien sûr à un facteur près).

La transformée de Fourier inverse est:


Z π
1
x(n) = X(ejω )ejωn dω (3)
2π −π
Exemple: Calculer la transformée de Fourier de la séquence
(
1 −2 ≤ n ≤ 2
x(n) =
0 ailleurs

Propriétés : Nous avons les même propriétés que celles d’une transformation
en Z car la transformée de Fourier n’est que l’évaluation de la transformée en Z
sur un sous ensemble des points sur le plan Z. Par exemple:

ax1 (n) + bx2 (n) ↔ aX1 (ejω ) + bX2 (ejω )

x(n − n0 ) ↔ ejωn0 X(ejω )


ejω0 n x(n) ↔ X(ej(ω−ω0 ) )
x1 (n) ∗ x2 (n) ↔ X1 (ejω )X2 (ejω )

5 Systèmes linéaires
Considérons un système linéaire défini en temps continu présenté par sa fonction
de transfert H(f ). La relation entrée-sortie de ce système est la suivante:

Y (f ) = H(f )X(f )

En respectant le critère de Shannon, on peut remplacer X(f ) par XT (f ) et


H(f ) par HT (f ) et toujours obtenir:

YT (f ) = HT (f )XT (f )

Comme nous avons vu dans la section précédente, en passant par les séquences
au lieu des signaux “peignés”, on peut écrire:

Y (ejω ) = H(ejω )X(ejω )

Une transformation inverse de Fourier donne:

y(nT ) = x(nT ) ∗ h(nT )

Ou plus simplement:
y(n) = x(n) ∗ h(n) (4)
Conclusion : Un système à temps continu peut être parfaitement remplacé
par son équivalent en temps discret (à condition de respecter le critère de Shan-
non).

7
On peut appliquer une transformée en Z aux deux côtés de la relation (4). On
obtient alors pour un système linéaire:

Y (z) = X(z)H(z) (5)

Ceci est la relation la plus utilisée pour résoudre les systèmes à temps discret.

5.1 Système linéaire et invariant dans le temps (LIT)


Un système est invariant dans le temps si la condition suivante est vérifiée.
Soit y(n) la réponse du système à l’entrée x(n), la sortie du système à l’entrée
x(n − n0 ) est y(n − n0 ).
On suppose le système S, un système LIT. La réponse de ce système à l’entrée
δ(n) s’appelle par définition la réponse impulsionnelle h(n). Maintenant, quelle
sera la réponse à une entrée quelconque x(n) ?
On peut écrire:
X∞
x(n) = x(m)δ(n − m)
m=−∞

On applique cette séquence au système S et on profite de LIT du S:



X
y(n) = x(m)h(n − m)
m=−∞

Cette somme s’appelle la somme de convolution :



X ∞
X
y(n) = x(m)h(n − m) = h(m)x(n − m) = x(n) ∗ h(n)
m=−∞ m=−∞

C’est-à-dire que connaissant la réponse impulsionnelle, on peut parfaitement


calculer la réponse du système LIT à n’importe quelle autre entrée.

5.2 Système rationnel


Le cas particulier où la transformée en Z est le rapport de deux polynômes est
considéré par la suite:
N (z)
H(z) =
D(z)
N (z)
En ré-écrivant l’équation 5 mais en remplaçant H(z) par D(z) on obtient:

N (z)
Y (z) = X(z)
D(z)

D(z)Y (z) = N (z)X(z)


Les polynômes N (z) et D(z) sont en général en fonction des puissances négatives
de z: PM
N (z) ak z −k
H(z) = = Pk=0 N
D(z) k=0 bk z
−k

8
Ce qui donne:
N
X M
X
Y (z) bk z −k = X(z) ak z −k
k=0 k=0
Une transformée inverse de Z, donnera l’équation aux différences correspondant
à ce système rationnel:
b0 y(n) + b1 y(n − 1) + ... + bN y(n − N ) = a0 x(n) + a1 x(n − 1) + ... + aM x(n − M )
1
y(n) = [a0 x(n) + a1 x(n − 1) + ... + aM x(n − M ) − b1 y(n − 1) − ... − bN y(n − bN )]
b0
Exemple: Donner l’équation aux différences pour le système ci-dessous:
2 − z −1 + 0.5z −2
H(z) =
1 + 0.5z −1 + 3z −2 − 0.3z −3
L’équation aux différences sera donc:
y(n) = 2x(n) − x(n − 1) + 0.5x(n − 2) − 0.5y(n − 1) − 3y(n − 2) + 0.3y(n − 3)

5.3 Stabilité
Un système est stable si une entrée bornée donne une sortie bornée (BIBO pour
Bounded Input Bounded Output). Reconsidérons le système H(z) = N (z)
D(z) , la
région de convergence est à l’extérieur du cercle qui passe au pôle le plus loin du
centre. Pour que la transformée de Fourier existe, il faudra donc que le cercle
unité fasse partie de la région de convergence. Ceci implique qu’il faudra que
tous les pôles du H(z) soient à l’intérieur du cercle unité. On peut montrer que
c’est un condition nécessaire et suffisante pour le système H soit stable. Dans
ce cas, la fonction de transfert fréquentielle est obtenue par la relation

X N (ejω )
H(ejω ) = h(n)e−jωn =
n=−∞
D(ejω )

5.4 Fonction de transfert


Pour un système linéaire rationnel avec
PM
bk z−k
H(z) = Pk=0N −k
k=0 ak z

La transformée de Fourier est donc:


M M
bk e−jωk (1 − ck e−jω )
P Q
 
iω k=0 b0 k=1
H(e ) = N
= N
a0
e−jωk (1 − dk e−jω )
P Q
ak
k=0 k=1

On peut écrire séparément le module et la phase de H(ejω )


M
1 − ck e−jω
Q

b
H(ejω ) = 0 k=1

N
a0 Q
|1 − dk e−jω |
k=1

9
et
  M N
b0 X  X

arg 1 − ck e−jω − arg 1 − dk e−jω

arg H(e ) = arg +
a0
k=1 k=1

Le délai de groupe de H(z) est définie par la dérivée de la phase par rapport
à ω:
d
Délai de groupe : = − arg H(ejω )

5.4.1 Evaluer la réponse fréquentielle par une méthode graphique


Soit H(z) = N (z)
D(z) , les racines de N (z) et D(z) sont respectivement les zéros et
les pôles de H(z). On peut donc écrire:
QM
j=1 (z − zj )
H(z) = α QN
j=1 (z − zj )

C’est une relation qui calcule la valeur de H(z) quand z bouge sur le plan Z.
Le numérateur est le produit de tous les vecteurs qui relie les zéros de H(z) au
point Z, et le dénominateur est le produit de tous les vecteurs qui relie les pôles
de H(z) au point Z. Si on souhaitait calculer H(eiω ), le z ne varie que sur le
cercle unité. Alors en se référant à la figure de la page 196 du livre Delamas, le
|H(ejω )| peut être évaluer par l’expression:
QM
jω j=1 (Zj M )
|H(e )| = |α| QN
j=1 (Pj M )

Dans cette expression, le point M est en fait ejω et Zj M est la taille de la droite
reliant le zéro Zj au point P . Pour la phase nous avons l’expression suivante:
M
X N
X
Arg[H(ejω )] = Arg[α] + Arg[Zj M ] − Arg[Pj M ]
j=1 j=1

Remarque: Lorsque h(n) est réel, les coefficients de N (z) et D(z) sont réels.
Alors,les pôles et les zéros de H(z) sont par pair conjugué.

5.4.2 Filtre à phase minimale


Le comportement fréquentiel d’un filtre est en partie caractérisé par le module
de la TFSD:
|H(ejω )|2 = H(ejω ).H ∗ (ejω )
Utilisant l’astuce:
H(ejω ) = H(1/z ∗ )|z = ejω
On peut écrire:

|H(ejω )|2 = H(ejω ).H ∗ (ejω ) = H(z).H ∗ (1/z ∗ )|z=ejω

10
x1(n)
a
y1(n)
x2(n) b

c y2(n)
x3(n)

1/z*1

z1

plan Z

Figure 1: Réflexion d’un zéro (ou pôle) par rapport au cercle unité

Ceci veut dire que:


|H(z)|z=ejω = |H(1/z ∗ )|z=ejω
En étudiant la relation entre z et 1/z ∗ présenté sur la figure 1, on constate
qu’une réflexion d’un pôle ou d’un zéro par rapport au cercle unité ne change
pas le module de la transformée de Fourier.
Nous allons profiter de cette propriété et définir les filtre à phase minimal.
Dans un premier temps, on parle de l’inverse d’un filtre. L’inverse d’un filtre
H1 (z) est le filtre H2 (z) qui se met en série avec le premier et qui donne un
système avec une réponse impulsionnelle δ(n). Idéalement H2 (z) = 1/H1 (z).
Le problème est que quand le filtre H1 possède des zéros à l’extérieur du cercle
unité, ces zéros seront transformés en pôle qui rendent le système inverse in-
stable. C’est-à-dire que le système inverse n’est pas réalisable. Cependant, on
peut uniquement essayer d’inverser le module de la transformée de Fourier, en
réfléchissant les zéros en dehors du cercle vers l’intérieur et concevoir le système
inverse. Ainsi, on pourra égaliser le module de la TFSD.

Exemple
−1
1−2z
Un canal de transmission présente la distorsion suivante: H1 (z) = 1+0.5z −1 .

Comment peut-on égaliser ce canal?


−1
Solution: Le filtre H2 (z) = 1+0.5z 1−2z −1 n’étant pas stable, on rentre d’abord le
zéro à z = 2 à l’intérieur du cercle unité:
1 − 0.5z −1
H10 (z) = a.
1 + 0.5z −1
Pour avoir le même module, la valeur de a se calcule tel que |H1 (ejω )|ω=0 soit
égal à |H10 (ejω )|ω=0 . Ce qui donne a = 2. En suite, on inverse le H10 (z) pour
obtenir:
1 + 0.5z −1
H2 (z) = 0.5
1 − 0.5z −1

5.5 Filtre passe-tout


Un filtre est passe-tout si |H(ejω )| = 1. Nous avons vue que un pôle et un zéro
symétrique par rapport au cercle unité présentaient le même module. Profitant
de cette propriété, leur rapport va faire 1. A savoir:
−1
z − p∗1

|H(z)|z=ejω = =1
1 − p1 z −1 z=ejω

11
x1(n)
a
y1(n)
x2(n) b

c y2(n)
x3(n)

Figure 2: Le diagramme de flux

5.6 Structure d’implantation


Soit H(z) = N (z)
D(z) la fonction de transfert d’un système linéaire. On donne dans
ce paragraphe quelques méthodes systématiques pour implanter cette fonction
de transfert.

5.6.1 Diagramme de flux


Pour implanter les fonctions de transfert, on utilise une méthode graphique qui
est immédiatement implantable par des circuits numériques. La figure 2 résume
les éléments de ce type d’implantation et les opérations correspondantes:
En utilisant cette figure, on peut écrire:

y1 (n) = y2 (n) = ax1 (n) + bx2 (n) + cx3 (n)

Y1 (z) = Y2 (z) = aX1 (z) + bX2 (z) + cX3 (z)


Remarque: Les coefficients peuvent être aussi de type z −1 ou en général z −M .

5.6.2 Structure Directe I


On présente dans ce paragraphe une méthode systématique pour implanter une
fonction de transfert rationnelle de type:
b0 + b1 z −1 + ... + bM −1 z −M +1
H(z) =
1 − a1 z −1 − .... − aN −1 z −N +1
Cette expression peut être écrite sous la forme H(z) = H1 (z)H2 (z) avec
1
H1 (z) = b0 + b1 z −1 + ... + bM −1 z −M +1

1 − a1 z −1 − ... − aN −1 z −N +1
comme présente la figure 3.

x(n) y1(n) y(n)


H1(z) H2(z)

Figure 3: Developper la fonction de transfert en deux structures plus simples

Ceci se réalise par une mise en série de deux systèmes rationnelles. La


4 présente la structure d’implantation de cette méthode appelée la structure
Directe I.

12
x(n) b0 y1(n) y(n)

z-1 z-1

b1 a1

z-1 z-1

z-1 z-1

bM-1 aN-1

Figure 4: L’architecture Directe I

5.6.3 Structure Directe II


La structure directe II consiste à permuter H1 (z) et H2 (z), ce qui nous permet
de mutualiser les éléments de retard z −1 . Cette structure est présentée sur la
figure 5.
x(n) b0 y(n)

z-1

a1 b1

z-1

a2

z-1

bM-1

z-1

aN-1

Figure 5: L’architecture Directe II

5.6.4 Structure transposée


Le théorème de transposition indique que, si dans un diagramme de flux, on
inverse le sens de toutes les flèches et qu’on permute l’entrée et la sortie, la
fonction de transfert du système reste inchangée.

13
Exemple
Soit H(z) un filtre à réponse impulsionnelle finie (RIF) de taille N + 1. La
figure 6 présente l’architecture Directe I ou Directe II d’un filtre FIR. Après
une transposition, le résultet se voit sur la figure 7. Cette figure peut être
arranger pour avoir comme d’habitude l’entrée par la gauche et la sortie par la
droite (figure 8).

x(n) z-1 z-1 z-1 z-1

h0 h1 h2 hN-1 hN
y(n)

Figure 6: Structure d’implantaion d’un filtre FIR.

y(n) z-1 z-1 z-1 z-1

h0 h1 h2 hN-1 hN
x(n)

Figure 7: Structure transposée d’un filtre FIR.

x(n)

hN hN-1 h2 h1 h0
y(n)
z-1 z-1 z-1 z-1

Figure 8: Structure transposée d’un filtre RIF (arrangé)

Exemples
1. Pour les fonction de transfert suivantes donner la réalisation directe I et
puis directe II.
1
• H(z) = 1−0.5z −1

• H(z) = h0 + h1 z −1 + h2 z −2 + ... + hM z −M
0.2+0.2z −1 +0.6z −3
• H(z) = 1−0.3z −1

2. Pour chacune des fonctions de transfert ci-dessus, donner l’équation aux


différences.

14
3. Pour l’accumulateur ci-dessous, donner la structure directe II.

0 n < 0

h(n) = 1 0 ≤ n < M

0 n≥M

6 Transformée de Fourier discrete (TFD)


6.1 Signaux périodiques
Un signal discret est périodique de période N si

x̃(n) = x̃(n + rN ) pour tout n et r

Pour cette séquence la transformée en Z n’existe pas car le domaine de con-


vergence est vide. On peut cependant présenter ce signal par une série, c’est à
dire par une somme des exponentiels pondérés. La fréquence fondamentale est
2π/N . Le nombre d’exponentiels distincts aux fréquences n(2π/N ) n’est pas
infini alors que cela était le cas pour des signaux à temps continu. Ici, il n’y a
que N exponentiels distincts car
2π 2π
ej N = ejN N

Alors la série de Fourier d’un signal discret périodique de période N n’a que N
termes:
N −1
1 X
x̃(n) = X̃(k)ej(2π/N )nk (6)
N
k=0

où X̃(k) est la pondération sur l’exponentiel correspondant. Utilisant la remar-


que:
N −1
(
1 X j(2π/N )nr 1, pour r = mN, m un entier
e =
N n=0 0, autres
on peut démontrer que
N −1

X
X̃(k) = x(n)e−j N nk (7)
n=0

On peut facilement remarquer que la séquence X̃(k) est une séquence périodique
de fréquence N , c-à-d X̃(0) = X̃(N ), X̃(1) = X̃(N + 1), etc.

6.2 Signaux bornés dans le temps


Maintenant considérons un signal qui est zéro en dehors d’un intervalle temporel:
x(n) = 0 pour tout n < 0 ou n ≥ N . Pour ce signal, la transformée de Z existe
et le domaine de convergence est le plan Z. La transformée de Z de ce signal est:
N
X −1
X(z) = x(n)z −n
n=0

15
Comparant cette expression et celle de la série de Fourier (7) pour un signal
périodique, on remarque que

X̃(k) = X(z)|z=ej2π/N k

On définit alors la Transformée de Fourier Discret (TFD) d’un signal discret et


borné dans le temps avec:
N −1

X
X(k) = x(n)e−j N nk (8)
n=0

Le transformée inverse de Fourier discret est alors:


N −1
1 X
x(n) = X(k)ej(2π/N )nk
N
k=0

Conclusion
• Un signal borné dans le temps peut être représenté par sa TFD alors qu’un
signal périodique est représenté par sa SFD (Série de Fourier Discret,
relation 6).
• Soit X(k) la TFD d’un signal borné dans le temps x(n). La TFD inverse
de X(k) donne un signal périodique x̃(n). Il suffit de ne le regarder que
dans l’intervalle (0,N − 1) pour obtenir x(n).
(
x̃(n) 0 ≤ n < N
x(n) =
0 ailleurs

• La TFD de x(n) est une séquence de taille N qui peut être obtenue à
partir de X(z) car
X(k) = X(z)|z=ej2πk/N
ce qui veut dire que le TFD n’est que les échantillons de X(Z) sur des
points homogènement répartis sur le cercle unité.
• X(k) se trouve aussi sur la transformé de Fourier de x(n): X(ejω à la
fréquence ω = 2πk/N .

6.3 Propriétés de la TFD


Nous pouvons prouver les propriétés suivantes pour des signaux bornés [0, N −1]:
• linéarité
ax1 (n) + bx2 (n) ↔ aX1 (k) + bX2 (k)

• décalage temporel circulaire

x((n − n0 )N ) ↔ ej2πkn0 /N X(k)

où (.)N est l’opérateur modulo N .

16
• symétrie
x(n) est réel ↔ X(k) = X ∗ (−k) = X ∗ (N − k)

• décalage fréquentiel (modulation)


y(n) = ej2πk0 n x(n) ↔ Y (k) = X((k − k0 )N )

• convolution circulaire (attention: cette expression est différente qu’une


convolution linéaire que nous connaissions déjà)
N
X −1
x(n) ⊗ y(n) = x((m)N )y(n − m)N ) ↔ X(k)Y (k)
m=0

où (m)n signifie m modulo n.


• Théorème de Parseval
N −1 N −1
X 1 X
|x(n)|2 = |X(k)|2
n=0
N
k=0

6.4 Présentation matricielle de la TFD


Reconsidérons l’expression de la TFD donnée en (8). Pour simplifier l’écriture,
on, définit
WN = e−j2π/N
Alors l’équation (8) peut être présentée
N
X −1
X(k) = x(n)WNnk
n=0

Utilisant cette définition la relation (8) peut s’écrire:


X = Wx
et la TFD inverse est:
1
x= WH X
N
Dans ces expressions:
x = [x(0), x(1), ..., x(N − 1)]T
X = [X(0), X(1), ..., X(N − 1)]T

W = [wij ]N ×N où wij = WNij = ej N ij
Par exemple pour un signal borné de taille 4, la matrice W a la forme suivante:
 
1 1 1 1
 1 e−j2π/4 e−j2π2/4 e−j2π3/4 
W=  1 e−j2π2/4 e−j2π4/4 e−j2π6/4


1 e−j2π3/4 e−j2π6/4 e−j2π9/4
 
1 1 1 1
 1 −j −1 j 
= 1 −1 1 −1 

1 j −1 −j
Remarque: On note que WWH = N I.

17
6.5 Approximation de spectre utilisant la TFD
Soit x(t) un signal à temps continu. On souhaite estimer le spectre de ce signal
en faisant un calcul sur les valeurs numériques issues d’échantillonnage. On
suppose que l’on respecte le critère de Shannon : le spectre du signal est nul
pour tout |f | > fe /2. Par contre, le signal n’est pas borné dans le temps. Une
TFD exige une séquence limitée sur N points. On échantillonne alors le signal
xa (t) pour obtenir la séquence x0 (n) = xa (nT ) et ensuite, on la tronque sur N
points pour obtenir x(n). Cette opération est équivalent à
• soit multiplier le signal xa (t) par une fonction de porte et puis l’échantillonner
• soit par d’abord échantillonner le signal à temps continu x(t) pour obtenir
x0 (n) et puis multiplier la séquence obtenue par une fonction de porte
discrète.

Dans les deux cas, le spectre de la séquence bornée obtenue ne sera pas ex-
actement celui du signal d’origine. Par exemple, dans le premier cas, le spectre
est d’abord convolué par un sinus cardinal. Ceci, non seulement va modifier le
spectre, mais aussi va le rendre non-borné en fréquence. Ce qui veut dire que le
critère de Shannon n’est plus respecté. Si la largeur de la porte est importante,
N , le sinus cardinal va s’approcher d’un delta de Dirac et le spectre résultant
se ressemble de plus en plus au spectre du signal d’origine. Ceci est tout à fait
plausible car en augmentant le N , on tend vers le signal original.

Exercice
Soit le signal x(t) = e−t u(t). Echantillonner ce signal avec fe = 1/T et puis le
tronquer brutalement sur [0, N T ]. Tracer |X(f )| et |X(exp(jω))|ω=2πf /fe sur
les mêmes repères pour N = 16 et Te = 0.25. Sur le même repère, tracer les
X(k) sachant que l’fréquence correspondant l’indice k, est kfe /N (pourquoi ?).

Remarque 1
Si on utilise la TFD pour estimer le spectre d’un signal à temps continu, la
résolution fréquentielle est une fonction de fe et N . En fait, la distance entre
deux points consécutifs de la TFD est égale à fe /N .

Remarque 2
Si nous disposons d’une séquence limitée dans le temps [0, N − 1] et nous cher-
chons à calculer son spectre utilisant la TFD mais avec une précision meilleure
que fe /N , nous pouvons ajouter des zéros à la fin de la séquence pour obtenir
une autre séquence sur M > N points et calculer la TFD pour cette nouvelle
séquence. Sachant que l’essentiellement le spectre des deux séquences sont iden-
tiques (pourquoi ?), la résolution dans la deuxième solution est de fe /M , qui
est meilleure que fe /N .

18
6.6 Convolution linéaire et la TFD
On sais que la sortie d’un système linéaire est le résultat de la convolution
linéaire entre l’entrée et la réponse impulsionnelle du système. On souhaite
utiliser la TFD pour calculer cette convolution.

6.6.1 Convolution des séquences bornées


Supposons que x1 (n) et x2 (n) sont deux séquences bornées de taille L et P ,
respectivement. Si on effectue les opérations suivantes:
• TFD de x1 (n) sur N points
• TFD de x2 (n) sur N points
• X3 (k) = X1 (k)X2 (k)
• TFD inverse de X3 (k) sur N points pour obtenir x3 (n)
Est-ce que x3 (n) = x1 (n) ∗ x2 (n) ? La réponse en général est “non”. Y’a-t-il
une possibilité pour que x3 (n) = x1 (n) ∗ x2 (n) ? La réponse est “oui”. Mais
comment ?
En faite, x3 (n) est le résultat d’une convolution circulaire entre les deux séquences.
Sachant que x1 (n) est de taille L et que x2 (n) est de taille P , x1 (n) ∗ x2 (n) est
une séquence de taille L + P − 1. Dans ce cas, si on prend N ≥ L + P − 1, le
résultat d’une convolution circulaire sera identique à une convolution linéaire.
C’est à dire que l’on ajoute assez de zéros à la fin des séquences x1 (n) et x2 (n)
pour obtenir des séquences de taille N . Ensuite, on applique la procédure ci-
dessus.

Exercice
Calculer la convolution circulaire pour les séquence x1 (n) = δ(n − 1), et x2 (n) =
4δ(n) + 3δ(n − 1) + 2δ(n − 2) + δ(n − 3) quand N = 4 et puis quand N = 5.
Utilisation de Matlab
x1=[0 1 0 0];
x2=[4 3 2 1];
conv(x1,x2)
ans = 0 4 3 2 1 % convolution linéaire x1*x2
ifft(fft(x1).*fft(x2))
ans = 1 4 3 2 % qui n’est qu’une convolution
% linéaire entre x1 et x2
ifft(fft(x1,5).*fft(x2,5),5)
ans = 0 4.0000 3.0000 2.0000 1.0000 % en respectant
Deuxième exercice: x1 (n) = x2 (n) = rect5 (n)
Utilisation de Matlab
x1=[1 1 1 1 1];
x2=x1;
conv(x1,x2) % donne 1 2 3 4 5 4 3 2 1 (convolution linéaire)
ifft(fft(x1).*fft(x2))
ans = 5 5 5 5 5 % donne une convolutioncirculaire

19
% entre x1 et x2
ifft(fft(x1,9).*fft(x2,9),9)
ans = 1 2 3 4 5 4 3 2 1 % là on obtient
% la convolution linéaire car N=L+P-1
ifft(fft(x1,11).*fft(x2,11),11)
ans = 1 2 3 4 5 4 3 2 1 0 0 % là on obtient
% le convolution linéaire car N>L+P-1
Quel est le résultat si on effectuer la commande ci-dessous:

ifft(fft(x1,6).*fft(x2,6),6)

6.7 Transformée de Fourier Rapide (TFR ou FFT)


Pour calculer la TFD d’une séquence de taille N , et en utilisant la relation
(8), il nous faut N multiplications complexes. Sachant que pour multiplier
z1 .z2 = (x1 + jy1 )(x2 + jy2 ), il faut 4 multiplications réelles, pour une TFD de
taille N il faudra 4N multiplications pour chaque point de TFD. Sachant que la
taille de X(k) est de N , alors 4N 2 multiplications réelles sont nécessaires pour
le calcule de la TFD. Ici, on cherche à réduire ce nombre.

6.7.1 Décimation dans le temps


Dans un premier temps, et supposant que N est pair, on divise en deux la
relation (8) pour des points pairs et impairs:
N/2−1 N/2−1
(2r+1)k
X X
X(k) = x(2r)WN2rk + x(2r + 1)WN
r=0 r=0
N/2−1 N/2−1
X X
= x(2r)WN2rk + WNk x(2r + 1)WN2rk
r=0 r=0

Utilisant la propriété:
2π 2π
WN2rn = e−j N 2rn = e−j N/2 rn = WN/2 rn

On peut écrire:
N/2−1 N/2−1
X X
rk
X(k) = x(2r)WN/2 + WNk rk
x(2r + 1)WN/2
r=0 r=0
= G(k) + WNk H(k) pour k = 0, 1, ..., N − 1

Cette expression présente deux TFD chacun de taille N/2, la première à effectuer
sur les points pairs de la séquence x(n) et la seconde sur les points impairs. Le
nombre de multiplications réelles sera: 4(N/2)2 + 4(N/2)2 + 4N = 2N 2 + 4N .
C’est à dire que pour grand N , la complexité est approximativement divisée
par deux. On peut dessiner le graphe de flux pour réaliser l’équation ci-dessus
(voir figure 6.7.1 En dessinant ce graphe, nous avons utilisé la propriété de
périodicité de TFD: G(k) = G(k + N/2) et H(k) = H(k + N/2). Ce résultat
étant encourageant, nous pouvons continuer à diviser ces deux TFD chacune de

20
k
0 W
W2 N

1 k+N/2
W2 W
N
1

k
W -1
N

k
G(0) W
x(0) W2
0
N X(0)
0
WN
x(2) G(1) X(1)
DFTW21 k+N/2
W WN
1
x(4) N/2 points G(2) N X(2)
1
WN2
x(6) G(3) X(3)
k 3
W W
-1N
N

4
x(1) H(0) WN X(4)
5
H(1) WN
x(3) X(5) WN6
x(0) DFTG(0) X(0)
x(5) N/2 points H(2) 0
WN W6 N X(6) WN7
x(2) G(1) X(1)
DFT H(3)
1
W7
x(4) x(7) X(7)
WN
N/2 points G(2) N
X(2)
2
WN
x(6) G(3) X(3)
3
WN WN6
Figure 9: Une seule décimation dans le temps pour le cas N = 8
4
x(1) H(0) WN X(4)
5
H(1) WN
x(3) G(0) X(5) WN6
DFT x(0)
x(5) DTF WN6 W0
X(6)
N/2 points x(4)H(2) WN7
N/4 points G(1) 7
4

x(7) H(3) WN X(7)


1
W
4

WN6
x(2) H(0) W2
4
DTF 3
x(6) N/4 points H(1) W
4

x(0) G'(0)
DTF G(0)
W0
N/4 points G'(1)
4
x(4)
1
G(1)
W
4

x(2) H'(0) W2
4 G(2)
DTF 3
x(6) N/4 points H'(1) W
4 G(3)

Figure 10: Décimation dans le temps pour le cas N = 8 pour arriver à des TFD
de taille 2

21
taille N/2. Si N = 2v , on arrive à la fin à des TFD de taille élémentaire de 2
comme présenté figure (6.7.1 Dans cette itération, on distingue v étages pour
calculer une TFD de taille N = 2v . On remarque dans chaque étage il y a N
multiplication complexe à effectuer. Alors le nombre total de multiplications
réelles est de 4(N log2 N ). Par exemple une TFD de taille 1024 a besoin de
4.194.304 multiplications alors que la TFR correspondant ne demande que 40960
multiplications.

7 Exercice
1. Soit
1 + 3z −1 + 8z −4 + 16z −10
X(z) =
1 − 3z −1 + 2z −2 + 8z −10
la transformée en Z du signal causal x(t). Quelles sont les valeurs x(0) et
x(1).
Hint: Utilisez la propriété de la valeur initial pour trouver x(0). Puis,
retranchez le de x(t) est décalez le tout de 1 vers la gauche pour trouver
x(1) à l’origine. Appliquez à nouveau la propriété de la valeur initiale.
Un autre façon de résoudre cet exercice est d’effectuer la division longue
et repérer la constante et le coefficient de z −1 .

References
[1] Element de théorie du signal: les signaux déterministes, Jean-Pierre DEL-
MAS

[2] Digital signal processing, A. Oppenheim and R. Schafer

22

Vous aimerez peut-être aussi