11 KiB
Signaux et échantillonnage
Fourier
Pour comprendre les signaux, il est important de comprendre la transformée de Fourier. La transformée de Fourier est une technique de traitement du signal utilisée pour analyser et manipuler les signaux continus. Elle permet d'exprimer un signal dans le temps en domaine fréquentiel.
Transformée de Fourier
La transformée de Fourier est une technique de traitement du signal utilisée pour analyser et manipuler les signaux continus. Elle permet d'exprimer un signal dans le temps en domaine fréquentiel.
La transformée de Fourier est définie par la formule suivante :
Soit f(x) une fonction non périodique définie sur \mathbb{R}.
$$\begin{align}
\text{Transformée de Fourier de }f(x) &: \qquad \widehat{f}(\omega) = \int^{\infty}{-\infty}f(x)e^{-\mathbf{i}\omega x}dx \qquad (\omega\in \mathbb{R})\
\text{Intégrale de Fourier de } f(x) &: \qquad \frac{1}{2\pi}\int{-\infty}^{\infty} \widehat{f}(\omega) e^{\mathbf{i}x\omega}, d\omega \qquad(x \in\mathbb{R}).
\end{align}$$
Théorème : Si \int_{-\infty}^{\infty} |f(x) \, dx < \infty et si f est une fonction de variation bornée sur tout \mathbb{R}, alors
\frac{1}{2\pi}\int_{-\infty}^{\infty} \widehat{f}(\omega)e^{\mathbf{i}x\omega} \, d\omega = \begin{cases}
f(x) &\text{si }f \text{ est continue au point }x \\
\text{milieu du saut de } f(x) &\text{si }f \text{ a un saut en }x
\end{cases}
Transformée de Fourier discrète
La transformée de Fourier discrète (DFT - Discret Fourier Transform) est une transformation discrète utilisée pour analyser le spectre fréquentiel d'un signal discret. Elle est l'équivalent discret de la transformée de Fourier, qui est utilisée pour analyser les signaux continus.
On pose: \Omega := \omega \cdot T_{s}
La transformation de Fourier de x[k] est donnée par la formule suivante :
\mathcal{F}\{x[k]\} = X(\Omega) \quad := \quad\sum^{+\infty}_{k=-\infty}x[k]\cdot e^{-jk\Omega}= \mathcal{F}\{x_{s}(t)\}
\mathcal{F\{x[k]\} = \mathcal{Z}\{x[k]\}}|_{z=e^{j\Omega}}
x[k]=\frac{1}{2\pi} \int^{+\pi}_{-\pi}X(\Omega)e^{jk\Omega} d\Omega
La DFT est utilisée dans de nombreux domaines, notamment en traitement du signal, en télécommunications, en traitement d'images et en compression de données.
[!NOTE|label:FFT] La transformée de Fourier rapide (FFT) est un algorithme efficace pour calculer la DFT. Elle est largement utilisée dans de nombreuses applications, notamment en traitement du signal et en compression de données.
Réponse impulsionnelle
La réponse impulsionnelle h[k] d'un système discret LIT est sa réponse à l'impulsion unitaire à l'origine δ[k].
Avant l'impulsion, la réponse impulsionnelle h est nulle.
Après l'impulsion, la réponse impulsionnelle h est la réponse du système à l'impulsion unitaire à l'origine.
Causal = le futur n'a pas d'influence sur le passé.
h[k] = \mathcal{H} \{ δ[k] \}
\mathcal{H} : Heaviside (peut aussi se noter \varepsilon pour un heaviside en discret)
y[k] : réponse du système
x[k] : signal d'entrée
h[k] : réponse impulsionnelle
\forall x \in \mathbb{R}, \mathcal{H}(x)=\begin{cases}
0 &\text{ si } x<0 \\
1 &\text{ si } x \geq 0
\end{cases}
Pour un système causal
$$\begin{align} y[k] &= \sum^{k}{n=-\infty}(x[n]\cdot h[k-n]) \ \ y[k] &= \sum^{+\infty}{n=0}(x[k-n]\cdot h[n]) \end{align}$$
La réponse impulsionnelle caractérise ENTIÈREMENT un système LIT.
Système LIT stable
Un système LIT (Linéaire et Invariant dans le Temps) est stable si et seulement si sa réponse impulsionnelle est sommable.
Note
\sum^{+\infty}_{k=-\infty}|h[k]|<+\infty
Système LIT causal à réponse impulsionnelle finie
Un système LIT (Linéaire et Invariant dans le Temps) est causal à réponse impulsionnelle finie si et seulement si sa
réponse impulsionnelle est nulle pour k<0 et sommable pour k\geq0.
Note
fini:
h(k) |_{k<\infty} = 0
$$\begin{align}
y[k] &= \sum^{N}{n=0}x[k-n]\cdot h[n] \
&= b{0}x[k]+b_{1}x[k-1]+\dots+b_{N}x[k-N]
\end{align}$$
N : Limite de notre réponse impulsionnelle.
En faisant la somme, la réponse impulsionnelle se transforme en facteurs (b_0, b_1, b_2, ..., b_n).
On peut retrouver la réponse impulsionnelle à partir de ces facteurs.
La somme décomposée est appelée équation aux différences.
Pour obtenir la réponse indicielle depuis la réponse impulsionnelle, on utilise la somme cumulée de la réponse impulsionnelle.
On peut aussi mathématiquement obtenir la réponse impulsionnelle en multipliant la réponse indicielle par Heaviside (F(z)\cdot \varepsilon(z)).
Transformée en Z
La transformée en Z, également connue sous le nom de transformée en fréquence Z, est une technique de traitement du signal utilisée pour analyser et manipuler les signaux numériques. Elle permet de décomposer un signal en fonction de la fréquence et de fournir des informations sur la nature du signal.
La principale différence entre la transformée en Z et la transformation de Laplace (ou S) est que la transformée en Z est adaptée aux signaux discrets, c'est-à-dire aux valeurs qui ne varient pas continuellement dans le temps. En revanche, la transformation de Laplace est utilisée pour les signaux continus et permet d'étudier leur réponse en fréquence et en phase.
En résumé, la transformée en Z est conçue pour les signaux discrets et les systèmes numériques, tandis que la transformation de Laplace s'applique aux signaux continus et aux systèmes analogiques.
[!NOTE|label:S] Domaine fréquentiel continue avec Laplace.
[!NOTE|label:Z] Domaine fréquentiel discret.
Avec z:=e^{sT_{s}} on a
\mathcal{Z}\{x[k]\} = X(z) \quad := \quad \sum^{+\infty}_{k=-\infty}(x[k]\cdot z^{-k})=\mathcal{L\{x_{s}(t)\}}
qui est la transformée en Z de x[k].
T_{s} : Période d'échantillonnage.
x[k] : Fonction du Tableau des transformées en Z ou valeur du graphe des réponses impulsionnelle
On a aussi la propriété suivante :
\mathcal{Z}\{x[k-n]\}=z^{-n}\cdot X(z)
Marche à suivre - Transformée en Z
- Avoir une équation aux différences.
- Pour chaque terme de l'équation, appliquer la transformée en Z.
Avec :
f[k] => F(z)f[k-n] => z^{-n}\cdot F(z)
- Isoler
Y(z). H(z) = \frac{Y(z)}{X(z)}est la fonction de transfert.
[!NOTE|label:Example] L'équation aux différences est donnée par
\tag{1} y[k] = \frac{1}{2}(x[k]+y[k-1])devient $$\begin{align} \tag{2} Y(z) &= \frac{1}{2}(X(z)+z^{-1}\cdot Y(z)) \ Y(z)-\frac{1}{2}\cdot z^{-1}\cdot Y(z) &= \frac{1}{2}\cdot X(z) \ \tag{3} Y(z) &= \frac{1}{2-z^{-1}}X(z) \ \tag{4} H(z) &= \frac{Y(z)}{X(z)} = \frac{1}{2-z^{-1}} \end{align}$$
Tip
h[k]\stackrel{\text{Z tabel}}{\longleftrightarrow}H(z)Exemple:
h[k] = 2^{-(k+1)}devient $$\begin{align} 2^{-(k+1)} &= 2^{-k}\cdot 2^{-1} = \frac{1}{2}\cdot 2^{-k} = \frac{1}{2}\cdot (2^{-1})^k \ &\to \frac{1}{2}\cdot \frac{z}{z-\frac{1}{2}} =\frac{z}{2z-1} = \frac{1}{2-\frac{1}{z}} = \frac{1}{2-z^{-1}} \end{align}$$
Warning
Les propriétés de la transformée en Z se trouvent dans le Tableau des transformées en Z
L'équation aux différences
y[k] + a_{1}y[k-1]+\dots+a_{M}y[k-M] \quad = \quad b_{0}x[k]+b_{1}x[k-1]+\dots+b_{N}x[k-N]
devient par la transformation en z
H(z) = \frac{Y(z)}{X(z)} = \frac{b_{0}+b_{1}z^{-1}+\dots+b_{N}z^{-1}}{1+a_{1}z^{-1}+\dots+a_{M}z^{-M}} \quad a_{m}, b_{n} \space \text{réels}
Les zéros et les pôles de la fonction de transfert donnent donc :
H(z) = K \frac{(z-o_{1})\cdot (z-o_{2})\cdot \space \dots \space \cdot (z-o_{N})}{(z-p_{1})\cdot (z-p_{2})\cdot \space \dots \space \cdot (z-p_{M}) }\quad o_{n}, p_{n} \space \text{complexes}
Marche à suivre - Transformée en Z inverse
- Avoir une fonction de transfert :
H(z) = \frac{Y(z)}{X(z)}. - Effectuer le numérateur et le dénominateur.
- Mettre les
zen puissance négative :\cdot \frac{z^{-1}}{z^{-1}} - Effectuer le produit en croix.
- Pour chaque terme, appliquer la transformée en Z inverse.
F(z) \implies f[k]F(z)\cdot z^{-n} \implies f[k-n]
- Isoler
y[k]. Et on a notre équation aux différences.
Approximation bilinéaire
L'approximation bilinéaire est une technique utilisée pour convertir une fonction de transfert continue en une fonction de transfert discrète. Elle est utilisée dans le domaine du traitement du signal pour convertir un système continu en un système discret.
Développement en série de la fonction ln autour de 1 (x=0) :
\ln\left( \frac{1+x}{1-x} \right) = 2\left(x + \frac{x^{3}}{3} + \frac{x^{5}}{5} + \dots \right)
donne l'approximation
\ln\left( \frac{1+x}{1-x} \right) \approx 2x
Approximation bilinéaire - Pôles et zéros
p_{di} = e^{p_{ai} \cdot T} \qquad z_{di} = e^{z_{ai} \cdot T}
k_a,p_{ai}andz_{ai}sont le gain, les pôles et les zéros de notre filtre analogique Attention,k_an'est pas le gain DCk_d,p_{di}andz_{di}sont le gain, des pôles et les zéros de notre filtre numérique. Pour un filtre passe bas sans zéros, le gain numérique est:
k_{d} = k_{a}\cdot \prod_{i} \frac{1-e^{P_{ai}\cdot T}}{P_{ai}}
On peut appliquer la transformation bilinéaire aux pôles et zéros du filtre analogique pour obtenir les pôles et zéros du filtre numérique.
p_{di} = \frac{1+p_{ai}\cdot \frac{T}{2}}{1-p_{ai}\cdot \frac{T}{2}}
\qquad \qquad
z_{di} = \frac{1+z_{ai}\cdot \frac{T}{2}}{1-z_{ai}\cdot \frac{T}{2}}
Pour un filtre passe bas, le gain "bilinear" est :
k_{d} = k_{a}\cdot \frac{1}{\prod_{i}\left( \frac{2}{T}-p_{ai} \right)}
Pour passer de \omega_o' à \omega_o et vice-versa, on utilise la relation suivante :
$$\begin{align}
\omega_{0} &= 2f_{s}\tan\left( \frac{\omega_{0}'}{2f_{s}} \right) \
\
\omega_{0}'&=2f_{S}\cdot \arctan\left( \frac{\omega_{0}}{2fs} \right)
\end{align}$$
Autres méthodes d'approximation d'un système continu LIT par un syst. discret
On détermine la réponse impulsionnelle du système discret LIT à partir de celle du système continu en appliquant la relation :
h[k] = T_{s}\cdot(kT_{s})
h(kT_s) : Réponse impulsionnelle en continu
On peut du coup approximer l'équation différentielle par une équation aux différences.
Par exemple pour la dérivée première de x(t), on a
x'[k]= \frac{x[k]-x[k-1]}{T_{s}}
