Calcul des pôles MATLAB transformé de z
Calculez les pôles d’un système discret à partir du polynôme du dénominateur en z, visualisez leur position sur le plan complexe et obtenez une interprétation directe de la stabilité.
Entrez les coefficients du dénominateur sous la forme décroissante en puissances de z, par exemple 1, -1.2, 0.32 pour z² – 1.2z + 0.32.
Calculateur interactif
Résultats
Renseignez un polynôme de dénominateur et cliquez sur le bouton pour obtenir les pôles.
Guide expert du calcul des pôles MATLAB avec la transformée en z
Le calcul des pôles MATLAB transformé de z est une opération fondamentale en traitement du signal numérique, en automatique discrète et en analyse des systèmes linéaires à temps discret. Lorsqu’un ingénieur écrit une fonction de transfert discrète, par exemple H(z) = B(z) / A(z), les pôles sont simplement les racines du dénominateur A(z). Dans MATLAB, cette étape est souvent réalisée avec des fonctions comme roots, tf, pole ou encore zplane. Mais pour bien interpréter les résultats, il faut comprendre ce que représente la variable z, pourquoi le cercle unité est central, et comment relier les pôles discrets aux propriétés physiques du système.
Dans un système continu, la stabilité dépend de la position des pôles dans le plan s. Dans un système discret, la logique change : un système est asymptotiquement stable si tous ses pôles sont strictement à l’intérieur du cercle unité, c’est-à-dire si leur module vérifie |z| < 1. Cette règle simple est la base de toute interprétation graphique du plan z. Dès qu’un pôle se trouve sur le cercle unité, la réponse peut devenir marginalement stable. Au-delà, pour |z| > 1, la réponse diverge.
Pourquoi la transformée en z est indispensable
La transformée en z joue, pour les systèmes discrets, un rôle comparable à celui de la transformée de Laplace pour les systèmes continus. Elle permet :
- de représenter une équation aux différences sous forme algébrique ;
- d’analyser la stabilité et les régimes transitoires ;
- de calculer les fréquences de résonance et les amortissements ;
- de concevoir des filtres numériques et des correcteurs discrets ;
- de convertir des modèles continus en modèles échantillonnés.
Concrètement, si vous partez d’une équation récurrente du type y[k] – 1.2y[k-1] + 0.32y[k-2] = x[k], alors le dénominateur associé vaut A(z) = z² – 1.2z + 0.32. Les pôles sont donc les racines de ce polynôme. C’est exactement ce que calcule l’outil ci-dessus.
Comment MATLAB calcule les pôles en pratique
Dans MATLAB, plusieurs approches coexistent :
- Approche polynomiale directe : on applique roots(a) sur le vecteur des coefficients du dénominateur.
- Approche système : on construit une fonction de transfert discrète via tf(num, den, Ts) puis on appelle pole(sys).
- Approche graphique : on utilise zplane(num, den) pour visualiser zéros et pôles dans le plan complexe.
Par exemple, pour le dénominateur [1 -1.2 0.32], la commande roots([1 -1.2 0.32]) retourne deux pôles réels : 0.8 et 0.4. Les deux sont dans le cercle unité, donc le système est stable. Si le dénominateur était [1 -1.6 0.81], on obtiendrait des pôles plus proches du bord, ce qui signifie une décroissance plus lente de la réponse temporelle.
Interprétation physique des pôles dans le plan z
Un pôle réel positif entre 0 et 1 produit une réponse monotone décroissante. Un pôle réel négatif à l’intérieur du cercle unité engendre une alternance de signe, typique d’un comportement oscillant d’échantillon à échantillon. Une paire de pôles complexes conjugués, de forme re^{j\theta} et re^{-j\theta}, décrit une oscillation amortie. Ici :
- r contrôle l’amortissement ;
- θ contrôle la fréquence angulaire discrète ;
- T, le temps d’échantillonnage, permet de relier cette dynamique à une fréquence physique en rad/s ou en Hz.
Lorsque le temps d’échantillonnage est connu, on peut relier le pôle discret z au pôle continu s par la formule s = ln(z)/T. C’est très utile pour interpréter un modèle numérique à partir d’une intuition continue. La partie réelle de s correspond alors au taux d’amortissement, tandis que la partie imaginaire correspond à la pulsation d’oscillation.
Tableau comparatif : position d’un pôle discret et comportement observé
| Exemple de pôle z | Module |z| | Type de comportement | Interprétation pratique |
|---|---|---|---|
| 0.30 | 0.30 | Très amorti | Réponse très rapide, extinction en peu d’échantillons |
| 0.80 | 0.80 | Stable et plus lent | Transitoire plus long, mémoire notable du système |
| -0.70 | 0.70 | Stable alterné | Réponse qui change de signe à chaque pas |
| 0.95e±j0.4 | 0.95 | Oscillation faiblement amortie | Résonance marquée, décroissance lente |
| 1.00 | 1.00 | Marginal | Réponse persistante, limite de stabilité |
| 1.08 | 1.08 | Instable | Amplitude croissante, divergence |
Exemple MATLAB typique pour vérifier un calcul de pôles
Supposons un filtre d’ordre 2 défini par :
H(z) = 1 / (z² – 1.2z + 0.32)
Dans MATLAB, vous pourriez écrire :
- den = [1 -1.2 0.32];
- p = roots(den);
Le résultat donne deux pôles réels à l’intérieur du cercle unité. Si l’on considère un temps d’échantillonnage de 0,1 s, il est possible d’estimer les pôles continus équivalents à l’aide de la relation logarithmique. Cette conversion est précieuse pour comparer un correcteur discret à sa conception initiale dans le plan s.
Tableau de référence : fréquence d’échantillonnage, période et limite de Nyquist
| Fréquence d’échantillonnage fs | Période T | Fréquence de Nyquist | Usage courant |
|---|---|---|---|
| 100 Hz | 0,01 s | 50 Hz | Instrumentation lente, surveillance industrielle |
| 1 kHz | 0,001 s | 500 Hz | Contrôle numérique, acquisition capteurs rapides |
| 8 kHz | 0,000125 s | 4 kHz | Téléphonie vocale large bande historique |
| 44,1 kHz | 22,68 µs | 22,05 kHz | Audio grand public |
| 48 kHz | 20,83 µs | 24 kHz | Audio vidéo et broadcast |
Ces valeurs sont des données techniques standard de l’échantillonnage numérique. Elles rappellent qu’un même système discret peut être interprété très différemment selon le temps d’échantillonnage choisi. Deux pôles z identiques ne produiront pas la même lecture en temps continu si T change.
Erreurs fréquentes lors du calcul des pôles en z
1. Inverser l’ordre des coefficients
L’erreur la plus courante consiste à saisir les coefficients du polynôme dans le mauvais ordre. MATLAB et ce calculateur supposent un ordre décroissant. Par exemple, 1, -1.2, 0.32 signifie bien z² – 1.2z + 0.32.
2. Confondre z et z⁻¹
De nombreux filtres numériques sont écrits en puissances de z^-1, surtout en traitement du signal. Une expression du type 1 – 1.2z^-1 + 0.32z^-2 décrit le même système, mais la représentation du polynôme et la lecture des coefficients demandent de la vigilance. Il faut souvent multiplier par z² pour revenir à une écriture polynomiale standard en z.
3. Oublier le cercle unité
Certains utilisateurs habitués au plan s vérifient seulement le signe de la partie réelle. C’est insuffisant en discret. Dans le plan z, la stabilité dépend du module, pas uniquement de la partie réelle.
4. Ignorer l’effet du temps d’échantillonnage
Le passage du continu au discret modifie la localisation des pôles. Un bon choix de T est indispensable pour préserver la dynamique du système. Un échantillonnage trop lent peut rapprocher dangereusement certains pôles du cercle unité apparent et dégrader le comportement.
Bonnes pratiques pour une analyse fiable dans MATLAB
- Vérifiez toujours le format du dénominateur avant d’appeler roots.
- Tracez les pôles avec zplane ou un graphe équivalent pour visualiser la stabilité.
- Utilisez abs(p) pour confirmer immédiatement si chaque pôle est à l’intérieur du cercle unité.
- Si vous connaissez T, comparez les pôles discrets et continus afin de vérifier la cohérence de la modélisation.
- Pour les ordres élevés, surveillez la sensibilité numérique des racines aux coefficients.
Sources académiques et institutionnelles utiles
Pour approfondir la théorie de la transformée en z, de l’échantillonnage et des systèmes discrets, vous pouvez consulter :
- MIT OpenCourseWare (.edu) pour des cours de systèmes, signaux et contrôle numérique.
- University of Michigan EECS (.edu) pour des supports d’enseignement en traitement du signal et systèmes dynamiques.
- NIST (.gov) pour des références métrologiques et numériques utiles à l’analyse scientifique.
FAQ rapide sur le calcul des pôles MATLAB transformé de z
Comment savoir si mon système discret est stable ?
Calculez tous les pôles du dénominateur et vérifiez que chacun satisfait |z| < 1. C’est le critère principal.
Que signifie un pôle complexe ?
Un pôle complexe indique une composante oscillatoire. Son angle donne la fréquence discrète, et son module donne la vitesse d’amortissement.
Pourquoi mes pôles changent-ils quand je modifie T ?
Parce que l’échantillonnage transforme la dynamique continue en dynamique discrète. La correspondance entre z et s dépend explicitement de T.
Puis-je utiliser ce calculateur comme vérification rapide avant MATLAB ?
Oui. Il constitue une vérification pratique pour les racines du dénominateur, l’analyse de stabilité et la visualisation des pôles dans le plan z.
Conclusion
Le calcul des pôles MATLAB transformé de z ne se limite pas à une commande logicielle. C’est un outil d’interprétation puissant pour comprendre la stabilité, la rapidité, l’amortissement et la nature oscillatoire d’un système discret. En pratique, l’essentiel est de partir d’un dénominateur correctement écrit, de calculer ses racines, puis de lire ces pôles par rapport au cercle unité. Si le temps d’échantillonnage est connu, la conversion vers un équivalent continu renforce encore l’analyse. Avec le calculateur ci-dessus, vous disposez d’un environnement simple pour tester un polynôme, obtenir les pôles, vérifier la stabilité et visualiser immédiatement le résultat sur le plan complexe.