add IIR filters
This commit is contained in:
1 parent
85cf4d28da
commit
f436b9de25
6 files changed
+86
-2
No files matched your search
@@ -6,4 +6,5 @@
|
||||
- [AD/DA](/infotro/Eln/ADDA)
|
||||
- [Sigma / Delta](/infotro/Eln/Sigma-Delta)
|
||||
- [Transformée en Z](/infotro/Eln/Ztransform)
|
||||
- [Signaux et échantillonnage](/infotro/Eln/SignauxEtEchantillonnage)
|
||||
- [Signaux et échantillonnage](/infotro/Eln/SignauxEtEchantillonnage)
|
||||
- [Filtres numériques](/infotro/Eln/filtres_numeriques)
|
||||
@@ -0,0 +1,82 @@
|
||||
<header><h1>
|
||||
Filtres numériques
|
||||
</h1></header>
|
||||
|
||||
-----------
|
||||
|
||||
# Filtres numériques récursifs (IIR)
|
||||
|
||||
Les filtres numériques récursifs (IIR) sont des filtres numériques qui utilisent des rétroactions.
|
||||
Ils sont basés sur des équations aux différences.
|
||||
Les filtres récursifs sont utilisés pour des applications où la phase du filtre n'est pas critique.
|
||||
Ils sont utilisés dans les télécommunications et la régulation.
|
||||
|
||||
Les intérêts des filtres récursifs :
|
||||
- Leur faible coût en calcul
|
||||
- Faible retard (télécommunication et la régulation)
|
||||
|
||||
Les inconvénients des filtres récursifs :
|
||||
- Ils possèdent une phase non-linéaire
|
||||
- Ils peuvent avoir une instabilité numérique
|
||||
|
||||
Fonction de transfert en $z$ :
|
||||
$$F(z) = \frac{Y(z)}{U(z)} = \frac{b_{0}+b_{1}z^{-1}+\dots+b_{n}z^{-1}}{1+a_{1}z^{-1}+\dots+a_{n}z^{-n}}$$
|
||||
Numérisation par conversion DA et AD d'un filtre analogique :
|
||||
$$F(z) = (1-z^{-1})Z \left\{ L^{-1}\left[ \frac{F(s)}{s} \right] \right\} $$
|
||||
La fonction de transfert en *z* permet ensuite de tirer l'équation aux différences qui servira à réaliser le filtre sous forme d'un algorithme récursif
|
||||
$$y[k]= b_{n}u[k-n]+ \dots + b_{1}u[k-1]+b_{0}u[k]-a_{n}y[k-n]-\dots-a_{1}y[k-1]$$
|
||||
|
||||
Si on souhaite connaître la réponse fréquentielle d'un filtre, il suffit de remplacer l'opérateur *z* par sa transformée de Fourier :
|
||||
$$a\cdot z^{n}=a\cdot \exp(n\cdot s\cdot T_{s})=a\cdot \exp(n\cdot \mathbf{j}\omega T_{s})$$
|
||||
$T_{s}$ : La période d'échantillonnage
|
||||
|
||||
Comme l’exponentielle imaginaire est périodique, la réponse fréquentielle d’un filtre numérique est également périodique
|
||||
de fréquence, et sa représentation se fait dans le domaine de fréquences allant de $0$ à $fs/2$. <br>
|
||||
Le gain statique d’un filtre peut être calculé selon :
|
||||
$$\text{Gain statique d'un filtre} = \lim_{ s \to 0 } F(s) = \lim_{ z \to 1 } F(z)$$
|
||||
|
||||
> [!NOTE|label:Passage pôle et zéro s ↔ z]
|
||||
> $$\begin{align}
|
||||
z&=\exp(s\cdot T_{s}) \\
|
||||
s&=\frac{1}{T_{s}\ln(z)}
|
||||
\end{align}$$
|
||||
|
||||

|
||||

|
||||
|
||||
## Transformation analogique-numérique
|
||||
La transformation bilinéaire : transformation de Tustin ou approximation de Padé de premier ordre
|
||||
$$s = \frac{2}{T_{s}} \frac{z-1}{z+1} \qquad \qquad z = \frac{1+\frac{1}{2}sT_{s}}{1-\frac{1}{2}sT_{s}}$$
|
||||
|
||||
***Pour un filtre analogique de premier ordre :***
|
||||
$$F(s)=\frac{d_{0}+d_{1}s}{c_{0}+c_{1}s} \to F(z) = \frac{b_{1}z^{-1}+b_{0}}{a_{1}z^{-1}+1} $$
|
||||
$$
|
||||
a_{1} = \frac{c_{0}-\frac{2c_{1}}{T_{s}}}{c_{0}+\frac{2c_{1}}{T_{s}}}
|
||||
\qquad \qquad
|
||||
b_{0} = \frac{d_{0}+\frac{2d_{1}}{T_{s}}}{c_{0}+\frac{2c_{1}}{T_{s}}}
|
||||
\qquad \qquad
|
||||
b_{1} = \frac{d_{0}-\frac{2d_{1}}{T_{s}}}{c_{0}+\frac{2c_{1}}{T_{s}}}
|
||||
$$
|
||||
|
||||
***Pour un filtre analogique de second ordre :***
|
||||
$$F(s)=\frac{Y(s)}{U(s)}=\frac{d_{0}+d_{1}s+d_{2}s^{2}}{c_{0}+c_{1}s+c_{2}s^{2}}
|
||||
\to F(z) = \frac{Y(z)}{U(z)}=\frac{b_{2}z^{-2}+b_{1}z^{-1}+b_{0}}{a_{2}z^{-2+}a_{1}z^{-1}+1} $$
|
||||
$$\begin{gather}
|
||||
C = c_{0}+\frac{2c_{1}}{T_{s}}+\frac{4c_{2}}{T_{s}^{2}} \\
|
||||
\\
|
||||
a_{1} = \frac{2\left( c_{0}-\frac{4c_{2}}{T_{s^{2}}} \right)}{C}
|
||||
\qquad \qquad
|
||||
a_{2} = \frac{ c_{0}-\frac{2c_{1}}{T_{s}}+\frac{4c_{2}}{T_{s^{2}}} }{C}
|
||||
\qquad \qquad
|
||||
b_{0} = \frac{d_{0}+\frac{2d_{1}}{T_{s}}+\frac{4d_{2}}{T_{s}^{2}}}{C} \\
|
||||
\\
|
||||
b_{1} = \frac{2\left( d_{0}-\frac{4d_{2}}{T_{s^{2}}} \right)}{C}
|
||||
\qquad \qquad
|
||||
b_{2} = \frac{d_{0}-\frac{2d_{1}}{T_{s}}+\frac{4d_{2}}{T_{s^{2}}}}{C}
|
||||
\end{gather}$$
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 84 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 65 KiB |
+1
-1
@@ -17,7 +17,7 @@
|
||||
- [Sigma / Delta](/infotro/Eln/Sigma-Delta)
|
||||
- [Transformée en Z](/infotro/Eln/Ztransform)
|
||||
- [Signaux et échantillonnage](/infotro/Eln/SignauxEtEchantillonnage)
|
||||
|
||||
- [Filtres numériques](/infotro/Eln/filtres_numeriques)
|
||||
|
||||
## [SEm - Système Embarqué](/infotro/SEm/)
|
||||
- [PLA - Programmation en langage assembleur](/infotro/SEm/PLA.md)
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
* [Sigma / Delta](/infotro/Eln/Sigma-Delta)
|
||||
* [Transformée en Z](/infotro/Eln/Ztransform)
|
||||
* [Signaux et échantillonnage](/infotro/Eln/SignauxEtEchantillonnage)
|
||||
* [Filtres numériques](/infotro/Eln/filtres_numeriques)
|
||||
* [SEm - Systèmes Embarqués](/infotro/SEm/)
|
||||
* [PLA - Programmation en langage assembleur](/infotro/SEm/PLA.md)
|
||||
* [ASM - Assembleur ARM](/infotro/SEm/ASM.md)
|
||||
Reference in new issue
Block a user