Correction TP2
Correction TP2
TP2 : La transformée en Z
Objectifs
Apprendre à:
• Utiliser MATLAB comme outil de solution de la transformé en Z,
• Calculer la fonction de transfert H(z) des SDLI,
• Calculer et représenter les pôles/zéros de la fonction de transfert H(z).
• Tracer la réponse en fréquence de H(z)
1- Quelques commandes utiles
lookfor sert à rechercher une fonction (commande) par mot-clef, par exemple pour trouver la transformée de
Fourier discrète, on met lookfor z transform .
doc est utiliser pour ouvrir un browser, et avoir plus de détaille sur la commande désirer. Le browser
contient un moteur de recherche et des menus permettant de trouver une fonction facilement.
Pour afficher un message sur la sortie standard (l’écran par default) MATLAB utilise la commande disp.
Elle prend comme argument le message à afficher.
La commande syms sert à créer des variables symboliques quand la valeur exacte de la variable n’est pas
encore connue.
2- Transformée en Z
La transformée en Z est l’équivalent dans le domaine discret de la transformée de Laplace pour le domaine
continu. L’utilisation principale de la transformée en Z est le design de filtres numériques. On peut montrer
comment la transformée en Z est obtenue à partir de la transformée de Laplace.
La transformée de Laplace est définie par :
X ( s) x(t )e st dt
Où x(t) est un signal continu dans le domaine du temps, et X(s) est son équivalent dans le domaine de
Laplace. Pour mieux illustrer le concept de la transformée de Laplace, on peut remplacer l’opérateur s par
son équivalent, s j .La transformée de Laplace permet d’analyser un signal en termes de sinusoïdes
décroissants. Si on remplace s, on obtient :
X ( s) x(t )e t e jt dt
Cette forme permet de mieux illustrer ce qui se passe dans la transformée de Laplace : la partie e t
représente un exponentiel décroissant, et la partie e jt représente les sinusoïdes. Pour arriver à la
transformée en Z, la première étape est de discrétiser le signal x(t) pour obtenir x[n], et remplacer l’intégrale
par une sommation.
X ( , ) x[n]e e
n
n jwn
Remarquer que X ( , ) est continu : bien que x[n] est discret, σ et ω sont quand même des variables
continues. On va remplacer l’exponentiel e n par une autre notation, r n . La transformée est maintenant
X ( , ) x[n]r
n
n jwn
e
Cependant, ce n’est pas la forme la plus compacte de la transformée en Z. Il reste à remplacer z re jw , pour
obtenir :
X ( , ) x[n]z
n
n
C’est la forme standard de la transformée en Z. L’opérateur z n représente en fait un délai de n échantillons.
Si nous voulons représenter la séquence suivante x[n] {7,3,1, 4, 8,5} par la transformée en z la solution
sera :
X ( z ) 7 z 2 3z1 z 0 4 z 1 8 z 2 5 z 3
Pour calculer la transformée en Z d’un signal x(n) sous MATLAB on utilise la commande ztrans.
Calculons maintenant la transformée en Z du signal suivant : x[n] (0.5)n u[n] .
Le signal est une suite infinie de chiffres non-nuls :
x[n] {1, 0.5, 0.52 , 0.53 ,..., 0.5n ,...}
La transformée en Z est :
X ( z ) 1 0.5 z 1 0.52 z 2 ... 0.5n z n
0.5n z n (0.5 z 1 )n
n 0 n 0
C’est une série géométrique infinie. Rappel :
1
1 A A2 A3 ... si A 1
1 A
Donc, la transformée en Z est :
1 z
X ( z) 1
si z 0.5
1 0.5z z 0.5
Retrouvons le même résultat en utilisant la commande ztrans de MATLAB.
>> syms n z %créer des variables symboliques
>> x1(n)=0.5^(n)
x1(n) =
(1/2)^n
X1(z) =
z/(z - 1/2)
3- Produit de convolution
Le produit de convolution de deux signaux discrets f et g est définie par :
( f * g )(n)
m
f ( n m) g ( m)
m
f ( m) g ( n m)
6 17 34 43 38 24
Ce résultat est interprété comme : X 3 ( z ) 6 17 z 1 34 z 2 43z 3 38z 4 24 z 5
4- Fonction du transfert
Une fonction de transfert H(t) est un modèle mathématique qui fait la relation entre l'entrée x(t) et la
sortie y(t) d'un système linéaire. Pour un système discret linéaire, la fonction de transfert a la forme :
Y ( z ) b0 b1 z 1 b2 z 2 ... bm z m
H ( z)
X ( z ) 1 a1 z 1 a2 z 2 ... an z n
Pour déclarer une fonction de transfert sous MATLAB il faut utiliser la commande tf. Cette commande
reçoit comme argument trois paramètres, le premier est le numérateur de la fonction, le deuxième est le
dénominateur et le troisième c’est la fréquence d’échantillonnage. Ce dernier reçoit -1 si la fréquence n’est
1 z
pas connue. Pour définir la fonction de transfert suivante H ( z ) 1
on écrit:
1 0.9 z z 0.9
>> n=[1 0];
>> d=[1 -0.9];
>> tf(n,d,-1)
ans =
z
-------
z - 0.9
a=[1 0];
b=[1 -0.9];
subplot(1,2,1)
zplane(a,b)
title('les pôles et les zéros avec zplane')
subplot(1,2,2)
H=tf([1 0],[1 -0.9],-1);
pzmap(H)
title('les pôles et les zéros avec pzmap')