cours-m1-eea/421-Controle_processus/Cours/chap2.tex

462 lines
16 KiB
TeX
Raw Normal View History

2019-01-06 12:05:31 +01:00
\documentclass[main.tex]{subfiles}
\begin{document}
Rappel : filtre analogique linéaire
\[ e(t) \rightarrow \boxed{G(p)} \rightarrow s(t) \]
\[ s(t) = g(t)*e(t) \]
\[ S(p) = G(p) E(p) \]
\section{Premières propriétés}
\begin{thm}
Si on applique un échantillonnage en entrée de e(t),
\[s(t) = g(t) * e^*(t) \]
\begin{enumerate}
\item $s^*(t) = g^*(t) * e^*(t)$$g^*(t)$ est léchantillonnage de $g(t)$
\item $s_n = g_n * e_n = \sum_ {k=0}^n g_{n-k}e_k$
\end{enumerate}
\end{thm}
\begin{proof}
\begin{enumerate}
\item
\[g^*(t) * e^*(t) = \int_0^{\infty} g^*(t-\tau)e^*(\tau)d\tau = ... \]
\item
\begin{align*}
s^*(t) & = s(t)\sum_{k=0}^{\infty}\delta_0(t-kT_e) = \sum_{k=0}^{\infty}s_k\delta_0(t-kT_e)
\intertext{Or, $ s(t) = \int_0^{\infty}g(t-\tau)e^*(\tau)d\tau $ avec $ e^*(t) = \sum_ {k=0}^{\infty}e_k\delta_0(t-kT_e)$}
\text{donc } s(t) & = \int_ 0^{\infty}g(t-\tau)(\sum_{k=0}^{\infty}e_k\delta_0(\tau-kT_e))d\tau \\
& = \sum_ {k=0}^{\infty}e_k \int_0^{\infty} g(t-\tau) \delta_0(\tau-kT_e) d\tau \\
& = \sum_ {k=0}^{\infty}e_k g(t-kT_e) \\
s_n = s(nT_e) & = \sum_ {k=0}^{\infty}e_kg((n-k)T_e) = \sum_ {k=0}^{\infty}e_kg_{n-k}
\end{align*}
\end{enumerate}
\end{proof}
Application : Discrétisation d'un système analogique avec CNA + BOZ
\begin{figure}[h!]
\centering
\begin{tikzpicture}
\sbEntree{E}
\sbBloc{cna}{CNA, BOZ}{E}
\sbRelier[$u_k$]{E}{cna}
\sbBloc[3]{sys}{G(p)}{cna}
\sbRelier[$u(t)$]{cna}{sys}
\sbBloc[3]{can}{CAN}{sys}
\sbRelier[$y(t)$]{sys}{can}
\sbSortie[3]{S}{can}
\sbRelier[$y_k$]{can}{S}
\end{tikzpicture}
\caption{Discrétisation d'un système analogique}
\end{figure}
Hypothèse : Synchronisation des convertisseurs
\[ u_k \rightarrow \boxed{H(z)} \rightarrow y_k \]
\subsection*{Fonction de transfert pour asservissement numérique}
On cherche à déterminer la fonction de transfert $H(z)=\frac{Y(z)}{U^*(z)}$ de l'asservissement numérique suivant :
\begin{figure}[h!]
\centering
\begin{tikzpicture}
\sbEntree{E}
\sbBloc{calc}{CNA}{E}
\sbRelier[$u_k$]{E}{calc}
\sbBloc[3]{boz}{$B_0(p)$}{calc}
\sbRelier[$u^*(t)$]{calc}{boz}
\sbBloc[3]{sys}{$G(p)$}{sys}
\sbRelier{boz}{sys}
\sbBloc[3]{can}{CAN}{sys}
\sbRelier[$y(p)$]{sys}{can}
\sbSortie[3]{S}{can}
\sbRelier[$y^*(t)$]{can}{S}
\end{tikzpicture}
\caption{Asservissement numérique}
\end{figure}
\begin{thm}
\[ \boxed{H(z) = (1-z^{-1}) Z[^*L^{-1}[\frac{G(p)}{p}]]} \]
\end{thm}
\begin{preuve}
\begin{align*}
Y(p) & = B_0(p)G(p)U^*(p) \\
& = (1 - e^{-T_ep})\frac{G(p)}{p}U^*(p) \\
& = \frac{G(p)}{p}U^*(p)-\frac{G(p)}{p}U^*(p)e^{-T_ep}
\intertext{On pose $ \tilde{G}(p) = \frac{G(p)}{p} $ }
Y(p) & = \tilde{G}(p)U^*(p) - \tilde{G}(p)U^*(p)e^{-T_ep}
\end{align*}
Avec $\tilde{Y}(p) = \tilde{G}(p)U^*(p)$, par transformation inverse de Laplace,
\begin{align*}
\tilde{y}(t) & = \tilde{g}(t)*u^*(t) \\
\tilde{y}_n & = \tilde{g}_n*u_n \\
\tilde{Y}(z) & = \tilde{G}(z)U(z)\\
\text{Ainsi, } Y(z) & = \tilde{Y}(z) - z^{-1}\tilde{Y}(z) \\
& = (1-z^{-1})\tilde{Y}(z) \\
H(z) & = (1-z^{-1})\tilde{G}(z) \\
H(z) & = (1-z^{-1})Z[^*L^{-1}[\tilde{G}(p)]]
\end{align*}
\end{preuve}
\medskip
\noindent Remarque : comment choisir $T_e$ ? Tout système physique peut être représenté par un filtre passe-bas :
\[ \boxed{ \text{Règle empirique : } 6f_c \leq f_e \leq 24f_c } \]
\subsection*{Propriétés des systèmes discrétisés}
\begin{enumerate}
\item Un système analogique linéaire reste linéaire après discrétisation.
\item L'ordre du système est conservé.
\item Les pôles du système discrétisé $p_d$ sont liés aux pôles du système analogique $p_c = e^{T_e p_c}$ (cela vient de $z=e^{T_ep}$). Attention, c'est faux pour les zéros !
\item La discrétisation d'une association en série n'est pas identique à la mise en série des discrétisés.
\end{enumerate}
\section{Obtention d'une fonction de transfert en z à partir d'une équation récurrente}
\[a_ny_{k+n} + ... + a_1y_{k+1}+a_0y_k = b_mu_{k+m} + ... + b_1u_{k+1} + b_0u_k \]
\[ \text{ avec } a_i,b_j \in \mathbb{R}, a_n \neq 0 \]
Par causalité, on a $n \geq m$. \\
Rappel : Théorème d'avance
\[ Z[u_{k+d|d\in\mathbb{N}^*}] = z^d U(z) - z^d \sum_{i=0}^{d-1}u_iz^{-i} \]
On applique la transformée en $z$ à ($EQ_n$) = $a_ny_{k+n} + ... + a_1y_{k+1}+a_0y_k$
\[
\begin{array}{lcll}
a_n y_{k+n} & & a_nz^nY(z) & - a_n [y_0...y_{n-1}][z^n...z]^T \\
+ a_{n-1} y_{k+N-1} & & + a_{n-1}z^{n-1}Y(z) & - a_{n-1} [0, y_0...y_{n-2}][z^n...z]^T \\
... & \quad \rightarrow \quad TZ \quad \rightarrow \quad & ... & ... \\
+ a_1 y_{k+1} & & + a_1z^{n-1}Y(z) & - a_1 [0, ...,0,y_0][z^n...z]^T \\
+ a_0 y_k & & +a_0zY(z) \\
\hline
TZ(EQ_n) & = & (\sum_{l=0}^na_lz^l)Y(z) & - CI_y(z)
\end{array}
\]
On fait de même avec ($EQ_m$) = $b_mu_{k+m} + ... + b_1u_{k+1} + b_0u_k$.
Conditions initiales données : les $y_k, k = 0,...,n-1$ et $u_k,k=0,...,m-1$
\begin{align*}
CIy(z) & = \sum_{j=0}^{n-1} ( \sum_{l=0}^j a_{n-l}y_{l-j}) z^{n-j} \\
CIu(z) & = \sum_{j=0}^{m-1} ( \sum_{l=0}^j b_{m-l}u_{l-j}) z^{n-j}
\end{align*}
Ainsi, en posant \[A(z) = \sum_{l=0}^n a_lz^l \text{ et } B(z) = \sum_{l=0}^m b_lz^l \]
\begin{align*}
& A(z)Y(z) - CIy(z) = B(z)U(z) - CIu(z) \\
& \boxed{Y(z) = \frac{B(z)}{A(z)} U(z) + \frac{CIy(z)-CIu(z)}{A(z)}}
\end{align*}
On pose $G(z)=\frac{B(z)}{A(z)}$, appelée fonction de transfert du système.
\begin{align*}
Y(z) & = G(z)U(z) + \frac{CI(z)}{A(z)} \\
& \text{} CI(z) = CIy(z) - CIu(z) \\
& \text{ À CI nulles, } Y(z) = G(z) U(z)
\end{align*}
\subsection*{Définitions}
Les pôles (zéros) du système sont les racines de $A(z)$ ($B(z)$).
Le gain statique (si défini) est \( \lim_{z\rightarrow 0}G(z)\).
Lorsqu'il n'y a plus de simplifications possibles entre pôles et zéros dans G(z), on parle de fonction de transfert minimale. Alors, le degré de A(z) désigne l'ordre du système.
\section{Réponse temporelle de système à temps discret}
On considère le système à temps discret :
\[u_k \rightarrow \boxed{G(z)} \rightarrow y_k \]
\[G(z) = \frac{B(z)}{A(z)} \text{ et } A(z) = \sum_{l=0}^n a_lz^l, B(z) = \sum_{l=0}^m b_lz^l\]
\subsection{Calcul à partir de la relation de récurrence}
On effectue un changement de variable muet pour exprimer $y_k$ en fonction des instants précédents.
\[a_ny_{k+n} + ... + a_1y_{k+1}+a_0y_k = b_mu_{k+m} + ... + b_1u_{k+1} + b_0u_k \]
\[a_ny_k = -a_{n-1}y_{k-1}-...-a_1y_{k-n+1}-a_0y_{k-n} + b_mu_{k+m-n} + ... + b_1u_{k-n+1} + b_0u_{k-n}\]
Intérêt : pratique pour le calcul en temps réel (simulation, implantation systèmes embarqués...). Les CI $y_{-1}, y_{-2}...$ sont à préciser
\subsection{Calcul à partir de la fonction de transfert}
Si les CI sont nulles :
\begin{align*}
Y(z) & = G(z)U(z) \\
y_k & = Z^{-1}[G(z)U(z)]
\end{align*}
En pratique, on effectue une décomposition en éléments simples de $\frac{Y(z)}{z}$ et on applique $Z^{-1}[.]$ à $Y(z)$ en utilisant le tableau des transformées en z usuelles.\\
Exemple :
\begin{align*}
\intertext{On cherche la réponse impulsionnelle ($u_k=\delta_k$) de }
G(z)& = \frac{1}{(z-1)(z-2)}
\intertext{On effectue la décomposition en éléments simples de $\frac{Y(z)}{z}$}
\frac{Y(z)}{z} & = \frac{1}{z(z-1)(z-2)} \\
& = \frac{1}{2z} - \frac{1}{2(z-1)} + \frac{1}{2(z-2)} \\
Y(z) & = \frac{1}{2} - \frac{1}{2}\frac{z}{z-1} + \frac{1}{2} \frac{z}{z-2} \\
y_k &= \frac{1}{2}\delta_k + \frac{1}{2}2^k -1
\end{align*}
SI les CI non nulles et connues :
\begin{align*}
Y(z) & = G(z) U(z) + \frac{CIy(z)-CIu(z)}{A(z)} \\
y_k &= Z^{-1}[G(z) U(z) + \frac{CIy(z)-CIu(z)}{A(z)}]
\end{align*}
\subsection{Par décomposition modale}
\begin{align*}
G(z) & = \frac{b_mz^m + ... + b_0}{a_nz^n + ... + a_0} = \frac{B(z)}{A(z)} \\
& = \frac{K(z-z_1)^{\alpha_1}(z-z_2)^{\alpha_2}...(z-z_r)^{\alpha_r}}{(z-p_1)^{\gamma_1}(z-p_2)^{\gamma_2}...(z-p_q)^{\gamma_q}} \text{ avec } \sum_1^q \gamma_i = n, \sum_1^r \alpha_i = m
\end{align*}
$\gamma_i$ est la multiplicité algébrique du pôle $p_i \in \mathbb{C}$.
$\alpha_i$ est la multiplicité algébrique du zéro $z_i \in \mathbb{C}$
Avec l'hypothèse $a_n=1$, $A(z)$ est un polynôme appelé Monique.
\begin{align*}
\frac{Y(z)}{z} & = \frac{G(z)U(z)}{z} \text{ où U(z) quelconque, de pôles } r_1,...,r_u \\
\text{ d'où } Y(z) & = Y(0) + \sum_{i=1}^q G_i(z) + \sum_{i=1}^{r_u}U_i(z)
\end{align*}
Remarque : $U(z)$ influence la décomposition de $G(z)$ et vice-verse.
\begin{align*}
G_i(z) & = \sum_{j=1}^{\gamma_i}\frac{c_{ij}z}{(z-p_j)^j} \\
g_{i_k} & = Z^{-1}[G_i(z)] \\
& = (c_0 + c_1k + ... + c_{\gamma_i - 1}k^{\gamma_i - 1})p_i^k
& = P_i(k)p_i^k
\end{align*}
$g_{i_k}$ correspond à l'évolution de la sortie $y_k$ due au pôle $p_i$ : mode $p_i$.
\medskip
La sortie $y_k$ est construite à partir de la contribution de chaque mode (et du type d'entrée)
\[ y_k = Y(0)\delta_k + \sum_{i=1}^q g_{i_k} + Z^{-1}[\sum_{i=1}^{r_u}U_i(z)] \]
$\sum_{i=1}^q g_{i_k}$ est l'excitation des modes par l'entrée $y_k$
$Z^{-1}[\sum_{i=1}^{r_u}U_i(z)]$ le régime forcé par $u_k$
\subsubsection{Mode réel}
\begin{itemize}
\item $|p_i|<1 \Rightarrow P_i(k)p_i^k \rightarrow_{\infty} 0$ : mode convergent
\item $|p_i|>1 \Rightarrow P_i(k)p_i^k $ divergence exponentielle
\item $ |p_i| = 1 et P_i(k) = c_0$ constant $\rightarrow$ mode entretenu (ni convergence, ni divergence)
\item $ |p_i| = 1 $ et $ \gamma_i > 1, P_i(k)p ^k \rightarrow $ divergence polynomiale
\begin{itemize}
\item Si $p_i > 0$ alors $ P_i(k)p_i^k$ tend à être du même signe : mode apériodique
\item Si $p_i < 0$ alors $P_i(k)p_i^k = (-1)^k |p_i|^k P_i(k)$ change de signe en fonction de la parité de k : mode oscillant
\item Si $p_i = 0 \rightarrow P_i(k)p_i^k = 0 \forall
k\geq 1$ : mode à réponse pile
\end{itemize}
\end{itemize}
Remarque : un pôle discret nul $p_i = 0$ possède un équivalent en temps continu à partie réelle infiniment négative :
\[p_i = e^{T_ep_{ci}} = 0 \Leftrightarrow p_{i} \rightarrow - \infty\]
\subsubsection{Mode complexe}
À un pôle $p_i$ complexe correspond son conjugué $\overline{p_i}$ :
\[P_{a_i}(k)p_i^k + P_{b_i}(k)\overline{p_i}^k = ... = P(k)\rho_i^k\sin(k\theta_i+\phi\]
$p_i = \rho_ie^{j\theta_i}$ et $\phi$ dépend du contexte.
\begin{itemize}
\item $|p_i| = \rho_i > 1$ : divergence
\item $|p_i| = \rho_i < 1$ : convergence en $\rho_i^k$
\item $|p_i| = \rho_i = 1$
\begin{itemize}
\item si multiplicité de $p_i = 1$ : mode entretenu
\item si multiplicité de $p_i > 1$ : divergence
\end{itemize}
\item $\theta_i \neq 0$ oscillation à la fréquence $\theta$
\end{itemize}
\section{Stabilité}
\begin{defin}[Stabilité EBSB]
Un système discret est stable au sens EBSB si pour toute entrée $u_k$ bornée, $y_k$ reste bornée.
\end{defin}
\begin{thm}[Stabilité et réponse impulsionnelle]
Un système est stable au sens EBSB si et seulement si sa réponse impulsionnelle est absolument sommable, c'est-à-dire $\sum_ {k=0}^{\infty}|g_k|<\infty$
\end{thm}
\subsection*{Théorème : stabilité et pôles}
\begin{thm}[Stabilité et pôles]
Un système discret est stable au sens EBSB si et seulement si tous les pôles de sa fonction de transfert en $z$ sont à l'intérieur du cercle unité (strictement, pas sur le cercle).
\end{thm}
Remarque : cela suppose le calcul des pôles de $G(z) = \frac{B(z)}{A(z)}$
\begin{figure}[h!]
\centering
\includegraphics[scale=0.8]{polesenz.jpg}
\caption{Allure de la réponse temporelle en fonction de la position des pôles dans le plan $z$}
\end{figure}
\subsection*{Critère de Jury}
\emph{À savoir utiliser, voir polycopié.}
\subsection*{Critère de Routh-Hurwitz}
\emph{À connaître par coeur, voir polycopié.}\\
Rappel : En temps continu, le critère de Routh-Hurwitz permet de déterminer le nombre de racines instables de l'équation caractéristique, c'est-à-dire à partie réelle strictement positive.\\
Transformation en w :
\begin{align*}
z & = \frac{1+w}{1-w} ,\quad w \neq 1 \\
w & = \frac{z-1}{z+1} ,\quad z \neq -1
\end{align*}
Cette transformation transforme le disque unité du plan en $z$, en le preuvei-plan ouvert gauche du plan en $w$.
Cette transformation étant bijective, on l'utilise pour appliquer le critère de Routh au polynôme en la variable $w$.
\subsection*{Critère de stabilité de Schur-Cohn}
\emph{Non exigible, voir polycopié.}
\subsection*{Critère de stabilité de Nyquist}
\emph{À connaître par coeur, voir polycopié.}
\section{Transposition des méthodes analogiques}
\subsection{Approximation du BOZ par un retard équivalent}
On rappelle l'expression de la fonction de transfert du BOZ :
\begin{align*}
B_0(p) & = \frac{1-e^{-T_ep}}{p} \\
& = \frac{e^{-\frac{T_e}{2}p} ( e^{\frac{T_e}{2}p} - e^{-\frac{T_e}{2}p})}{p} \\
\text{ Or, } & e^{-\frac{T_e}{2}p} = 1 - \frac{T_e}{2}p + o(\frac{T_e}{2}p) \\
& e^{-\frac{T_e}{2}p} = 1 + \frac{T_e}{2}p + o(\frac{T_e}{2}p) \\
\text{Donc } & \boxed{ B_0(p) \approx T_e e^{-\frac{T_e}{2}p}}
\end{align*}
\subsection{Approximation de Padé pour les retards}
Cette approximation repose sur le développement de Taylor du terme de retard exponentiel. Elle fournit une fraction rationnelle causale.
À l'ordre 1,
\[ e^{-T_ep} = \frac{e^{-\frac{T_e}{2}p}}{e^{+\frac{T_e}{2}p}} = \frac{1 - \frac{T_e}{2}p}{1 + \frac{T_e}{2}p} \]
À l'ordre 2,
\[ e^{-T_ep} = \frac{1 - \frac{T_e}{2}p + \frac{T_e^2}{8}p^2}{1 + \frac{T_e}{2}p + \frac{T_e^2}{8}p^2} \]
Application au BOZ :
\[\boxed{B_0(p) \approx \frac{T_e}{1+\frac{T_e}{2}p}}\]
Conséquence : on peut donc appliquer les résultats des systèmes analogiques sur le système équivalent obtenu.
\subsection{Correction numérique obtenue par discrétisation approchée d'un correcteur continu}
\subsubsection*{Approximation de l'opérateur intégral}
\begin{align*}
x(t) & = \int_ 0^t e(\tau)d\tau\\
x_k & = x(kT_e) = \int_ 0^{kT_e} e(\tau)d\tau \\
x_k & = \sum_{j=0}^k e_jT_e
\end{align*}
\subsubsection*{Approximation d'Euler arrière}
\begin{align*}
\frac{de(t)}{dt} & = \frac{e_k - e_{k-1}}{T_e} \\
pE(p) & = \frac{1-z^{-1}}{t_e}E(z)
\end{align*}
\[ \boxed{p = \frac{z-1}{zT_e}} \]
\subsubsection*{Approximation d'Euler avant}
\begin{align*}
\frac{de(t)}{dt}& = \frac{e_{k+1}-e_k}{T_e} \\
pE(p) & = \frac{z-1}{T_e}E(z)
\end{align*}
\[ \boxed{p = \frac{z-1}{T_e} } \]
\subsubsection*{Approximation de Tustin}
\begin{align*}
x_k - x_{k-1} & = \frac{1}{2}(e_k + e_{k-1})T_e \\
(1-z^{-1})X(z) & = \frac{T_e}{2}(1+z^{-1})E(z) \\
X(z) & = \frac{T_e}{2}\frac{1+z^{-1}}{1-z^{-1}}E(z) \\
& = \frac{T_e}{2}\frac{z+1}{z-1}E(z)
\end{align*}
D'où \[ \boxed{p = \frac{2}{T_e}\frac{z-1}{z+1}} \]
Remarque : semblable à la transformation en $w$.
Remarque : les approximations de $p$ induisent des distorsions fréquentielles.
Exemple : correcteur continu $R_C(p)$ \\
$R_d(z) = R_c(p) |_{p=\frac{2}{T_e} \frac{z-1}{z+1}}$
Réponse fréquentielle : $ z=e^{T_ep}, p=j\omega$
\begin{align*}
R_d(e^{jT_e\omega}) & = R_c(\frac{2}{T_e} \frac{jT_e\omega-1}{jT_e\omega+1}
\\
\frac{jT_e\omega-1}{jT_e\omega+1} & = j\tan(\frac{T_e}{2}\omega) \\
R_d(e^{jT_e\omega}) & = R_c(j\frac{2}{T_e} \tan(\frac{T_e}{2})\omega)
\\
& = R_c(j\tilde{\omega}) \text{} \tilde{\omega} = \frac{2}{T_e}\tan(\frac{T_e}{2}\omega)
\end{align*}
$\tilde{\omega}$ est une "pseudo-pulsation" qui varie de 0 à $+\infty$ lorsque $\omega$ varie de 0 à $\frac{\pi}{2}$. Cela correspond à une distorsion de l'échelle fréquentielle.
Approximation de Tustin adaptée à la pulsation $\omega_c$
On voudrait que $R_d(e^{j\omega_cT_e}) = R_c(j\omega_c)$, alors
\[p \leftarrow \frac{\omega_c}{\tan(\frac{\omega_cT_e}{2})}\frac{z-1}{z+1}\]
\[R_c(j\frac{\omega_c}{\tan(\frac{\omega_cT_e}{2}})) = R_c(j\omega_c)\]
Approximation par correspondance pôle-zéro
Exemple :
\begin{align*}
R_c(p) & = \frac{p+a}{p+b} \\
z & = e^{T_ep} \\
R_d(z) & = \frac{z-e^{-T_ea}}{z-e^{-T_eb}} \alpha \\
\text{Gain statique : } & \lim_{z\rightarrow1}R_d(z) = \alpha \frac{1-e^{-T_ea}}{1-e^{-T_eb}} = \lim_ {p\rightarrow 0} R_c(p) = \frac{a}{b} \\
\alpha & = \frac{a}{b} \frac{1-e^{-T_ea}}{1-e^{-T_eb}}
\end{align*}
En résumé, on construit $R_d(z)$ avec la même structure que $R_c(p)$ en temres de zéros, pôles et gain statique.
Précaution à prendre lorsque le degré du numérateur de $R_c(p)$ est inférieur au degré du dénominateur de $R_c(p)$ (i.e. $R_c(p)$ strictement propre)
Exemple :
\begin{align*}
R_c(p) & = \frac{p+a}{(p+b)(p+c)} \\
R_d(p) & = \frac{(z+1)(z - e^{-T_ea})}{(z-e^{-T_eb)(z-e^{-T_ec})}}\alpha \\
R_d(1) = R_c(0) \rightarrow \alpha = ...
\end{align*}
Le terme $(z+1)$ est ajouté pour permettre d'avoir le même gain de $R_d(z)|_{z=e^{jT_e\frac{\pi}{T_e}}} = R_c(j\omega)|_{\omega \rightarrow \infty}$ (correspondance du gain haute fréquence).
En conclusion, le choix d'une approximation dépend beaucoup des caractéristiques (zéros, ordre,...) du système.
\end{document}