Filtres RII#

Réponse impulsionnelle#

Un filtre RII a une réponse impulsionnelle qui ne s’annule jamais au délà d’un certain échantillon :

\[\begin{split} h[n] = \begin{cases} c_n &\text{si}\, n \geq 0, \\ 0 &\text{sinon}. \end{cases} \end{split}\]

Fonction de transfert#

La fonction de transfert d’un filtre RII est de la forme:

\[ H(z) = \frac{ \sum_{m=0}^M b_m z^{-m} }{ \sum_{n=0}^N a_n z^{-n} }. \]

Les filtres RII sont parfois appelés filtres ARMA car la fonction de transfert est le quotient entre :

  • un numérateur correspondant à un filtre MA (on l’a vu précédemment),

  • et un dénominateur correspondant à un filtre appelé AR (autoregressive).

Schéma bloc#

Comme pour les filtres RIF, il est possible de représenter les filtres RII sous forme d’un schéma bloc. À partir de la fonction de transfert, on peut écrire la sortie en fonction de l’entrée :

\[ H(z) = \frac{Y(z)}{X(z)} = \frac{ \sum_{m=0}^M b_m z^{-m} }{ \sum_{n=0}^N a_n z^{-n} } \qquad\Leftrightarrow\quad \sum_{k=0}^N a_k z^{-k} Y(z) = \sum_{l=0}^M b_l z^{-l} X(z). \]

d’où, en utilisant la transformée en z inverse :

\[ \sum_{k=0}^N a_k y[n-k] = \sum_{l=0}^M b_l x[n-l]. \]

On peut alors isoler \(y[n]\) et l’écrire en fonction des autres termes :

\[ y[n] = \frac{1}{a_0} \left( \sum_{l=0}^M b_l x[n-l] - \sum_{k=1}^N a_k y[n-k] \right). \]

La sortie \(y[n]\) est donc la somme de \(M+1\) échantillons d’entrée pondérés et retardés et de \(N\) échantillons de la sortie pondérés et retardés, le tout multiplié par \(\frac{1}{a_0}\). On peut donc représenter graphiquement cette équation (rappel : le bloc \(z^{-1}\) indique un retard) :

../_images/filtre-rii.svg

Remarquez qu’à l’inverse des filtres RIF, les filtres RII possèdent une boucle de retour (partie récursive). À cause de cette boucle, les filtres RII peuvent être instables : le signal étant indéfiniment réinjecté dans le filtre, la sortie peut être de plus en plus grande.

Transformation bilinéaire#

La transformation bilinéaire est la méthode la plus simple pour concevoir un filtre RII. Elle s’applique sur un filtre analogique pour le transformer en filtre numérique. De ce fait, l’application de la transformation bilinéaire suit les étapes ci-dessous, en partant d’un gabarit numérique.

  1. Les fréquences \(f_n\) du gabarit numérique sont remplacées par de nouvelles valeurs \(f_a\) qui définissent un gabarit analogique. La transformation de fréquence est :

    \[ f_a = \frac{f_e}{\pi} \tan\left(\pi\frac{f_n}{f_e}\right). \]

    \(f_e\) est la fréquence d’échantillonnage.

  2. Un filtre analogique est conçu à partir de ce gabarit analogique : on dispose alors de la fonction de transfert \(H_a(s)\) de ce filtre analogique.

  3. Enfin, la fonction de transfert numérique \(H_n(z)\) s’obtient à partir de la la fonction de transfert analogique \(H_a(s)\) grâce à la relation suivante :

    \[ H_n(z) = H_a\left(2f_e \left(\frac{1-z^{-1}}{1+z^{-1}}\right)\right). \]

Cette méthode se base sur la transformation bilinéaire qui effectue le passage du domaine analogique au domaine numérique en transformant l’axe des imaginaires du plan en \(s\) en le cercle unité du plan en \(z\) :

\[ s = \frac{2}{T_e} \left(\frac{1-z^{-1}}{1+z^{-1}}\right) \qquad\Leftrightarrow\qquad z = \frac{1+T_e/2s}{1-T_e/2s}. \]

La Fig. 25 illustre cette transformation.

../_images/tbilineaire.svg

Fig. 25 Transformée bilinéaire.#

Ainsi, la stabilité du filtre analogique est conservée pour le filtre numérique puisque les pôles à partie réelle négative du plan en \(s\) se retrouvent dans le cercle unité du plan en \(z\).