title: Déconvolution de Wiener
text: # Déconvolution de Wiener
  
  La déconvolution de Wiener est une opération mathématique appliquant un filtre de Wiener pour éliminer ou atténuer une partie des bruits dans un signal. Elle opère dans le domaine fréquentiel en essayant de minimiser l'impact du bruit là où le rapport signal/bruit est mauvais.
  
  Cette méthode convient non seulement au son, mais aussi aux images, car le spectre de fréquence de la plupart des images visuelles est souvent bien conditionné et peut être estimé facilement.
  
  Elle tient son nom du mathématicien Norbert Wiener.
  
  ## Définition
  
  Étant donné un système :
  
      $\ y(t)=h(t)*x(t)+\nu (t)$
  
  où $*$ désigne la convolution et :
  
  * x(t) est un signal d'entrée (inconnu) au temps t.
  * h(t) est la réponse impulsionnelle connue d'un système linéaire invariant dans le temps.
  * ν(t) est un bruit additif inconnu, indépendant de x(t).
  * y(t) est le signal observé.
  
  L'objectif est de trouver un g(t) de sorte qu'on puisse estimer x(t) comme suit :
  
      $\ {\hat {x}}(t)=g(t)*y(t)$
  
  où $\ {\hat {x}}(t)$ est une estimation de x(t) qui minimise l'erreur quadratique moyenne.
  
  Le filtre de Wiener fournit une telle g(t). Le filtre est plus facile à décrire dans le domaine fréquentiel :
  
      $\ G(f)={\frac {H^{*}(f)S(f)}{|H(f)|^{2}S(f)+N(f)}}$
  
  où :
  
  * G(f) et H(f) sont les transformées de Fourier de g et h, respectivement à la fréquence f.
  * S(f) est la densité spectrale de puissance moyenne du signal d'entrée x(t).
  * N(f) est la densité spectrale de puissance moyenne du bruit ν(t)
  * l'exposant $^{*}$ désigne la conjugaison complexe.
  
  L'opération de filtrage peut être soit réalisée dans le domaine temporel, comme ci-dessus, ou dans le domaine fréquentiel :
  
      $\ {\hat {X}}(f)=G(f)Y(f)$
  
  où $\ {\hat {X}}(f)$ est la transformée de Fourier de ${\hat {x}}(t)$. Il suffit ensuite de prendre la transformée de Fourier inverse de $\ {\hat {X}}(f)$ pour obtenir $\ {\hat {x}}(t)$.
  
  Ceci est applicable au cas des images, en remplaçant les variables t et f par leur équivalent en deux dimensions.
  
  ## Interprétation
  
  Le fonctionnement du filtre de Wiener devient évident lorsque l'équation de filtre ci-dessus se réécrit :
  
      ${\begin{aligned}G(f)&={\frac {1}{H(f)}}\left[{\frac {|H(f)|^{2}}{|H(f)|^{2}+{\frac {N(f)}{S(f)}}}}\right]\\&={\frac {1}{H(f)}}\left[{\frac {|H(f)|^{2}}{|H(f)|^{2}+{\frac {1}{\mathrm {SNR} (f)}}}}\right]\end{aligned}}$
  
  Ici, 1/H(f) est l'inverse du système d'origine, et SNR(f) = S(f)/N(f) est le rapport signal sur bruit. Quand le bruit est négligeable, le terme entre les crochets est égal à 1, ce qui signifie que le filtre de Wiener est simplement l'inverse du système, comme on pouvait s'y attendre. Toutefois, comme le bruit augmente à certaines fréquences, le rapport signal sur bruit diminue, de sorte que le terme entre crochets diminue également. Cela signifie que le filtre de Wiener atténue les fréquences en fonction de leur rapport signal sur bruit.
  
  L'équation de filtre de Wiener ci-dessus nécessite de connaître le contenu spectral d'une image typique, et celui du bruit. Souvent, nous n'avons pas accès à ces quantités exactes, mais on peut être dans une situation où de bonnes estimations peuvent être faites. Par exemple, dans le cas d'images photographiques, le signal (l'image d'origine) a généralement une forte fréquence basses et hautes fréquences faibles, et dans de nombreux cas le contenu de bruit sera relativement plat avec la fréquence.
  
  ## Dérivation
  
  Comme mentionné ci-dessus, on cherche une estimation du signal d'origine qui minimise l'erreur quadratique moyenne, laquelle peut s'exprimer de la façon suivante :
  
      $\ \epsilon (f)=\mathbb {E} \left|X(f)-{\hat {X}}(f)\right|^{2}$
  
  où $\ \mathbb {E}$ désigne l'espérance.
  
  Si on substitue $\ {\hat {X}}(f)$ par l'expression obtenue précédemment, on obtient :
  
      ${\begin{aligned}\epsilon (f)&=\mathbb {E} \left|X(f)-G(f)Y(f)\right|^{2}\\&=\mathbb {E} \left|X(f)-G(f)\left[H(f)X(f)+V(f)\right]\right|^{2}\\&=\mathbb {E} \left|\left[1-G(f)H(f)\right]X(f)-G(f)V(f)\right|^{2}\end{aligned}}$
  
  d'où :
  
      ${\begin{aligned}\epsilon (f)&=\left[1-G(f)H(f)\right]\left[1-G(f)H(f)\right]^{*}\,\mathbb {E} |X(f)|^{2}\\&\qquad -\left[1-G(f)H(f)\right]G^{*}(f)\,\mathbb {E} \left\{X(f)V^{*}(f)\right\}\\&\qquad -G(f)\left[1-G(f)H(f)\right]^{*}\,\mathbb {E} \left\{V(f)X^{*}(f)\right\}\\&\qquad +G(f)G^{*}(f)\,\mathbb {E} |V(f)|^{2}\end{aligned}}$
  
  Cependant, le bruit est supposé indépendant du signal, donc :
  
      $\ \mathbb {E} {\Big \X(f)V^{*}(f){\Big \}}=\mathbb {E} {\Big \V(f)X^{*}(f){\Big \}}=0$
  
  Aussi, on définit la densité spectrale de puissance comme suit :
  
      ${\begin{aligned}S(f)&=\mathbb {E} |X(f)|^{2}\\N(f)&=\mathbb {E} |V(f)|^{2}\end{aligned}}$
  
  Par conséquent, on obtient :
  
      $\epsilon (f)=\left[1-G(f)H(f)\right]\left[1-G(f)H(f)\right]^{*}S(f)+G(f)G^{*}(f)N(f)$
  
  Pour connaître la valeur minimale pour les erreurs, nous cherchons à annuler la dérivée par rapport à G(f). Comme il s'agit d'une valeur complexe, G*(f) agit comme une constante.
  
      $\ {\frac {\mathrm {d} \epsilon (f)}{\mathrm {d} G(f)}}=G^{*}(f)N(f)-H(f)\left[1-G(f)H(f)\right]^{*}S(f)=0$
  
  Cette égalité finale peut être réarrangée pour donner le filtre de Wiener.
  
  