Déconvolution via FFT, IFFT [2]
Bonjour,
j'étudie actuellement un réacteur chimique, sa distribution de temps de séjour.
J'injecte à l'entrée un signal de traceur (in(t)) et j'enregistre à la sortie le signal déformé (out(t)). Mon but est de déterminer la réponse impulsionnelle e(t) de mon système.
On montre que pour ce genre de réacteur, dans l'espace de LAPLACE :
OUT(p)=IN(p)E(p)
in(t) et out(t) sont des vecteurs normalisés de dimension 23, on a vérifié que leur intégrale est égale à 1 (par la méthode des trapèzes).
J'ai procédé comme cela:
Code:
1 2
| E=fft(out)./fft(in)
e=ifft(E) |
Mais e n'a pas du tout les valeurs attendues, elle oscille autour de 0 alors qu'elle devrait être positive.
Suite à une erreur, j'avais également essayé ceci (sans le point devant /):
Code:
1 2
| E=fft(out)/fft(in)
e=ifft(E) |
le résultat est alors une matrice 23x23, dont seule la première colonne est non nulle, j'ai alors appliqué ifft à cette colonne:
Le résultat a la bonne allure: valeur maximale au bon endroit, mais son intégrale est égale à 0,14 alors qu'elle devrait être égale à 1.
Je trouve mon problème assez proche de cette discussion: http://www.developpez.net/forums/d10...-via-fft-ifft/
Constatez vous des absurdités dans ma démarche? je ne suis pas un fan de math et je découvre la déconvolution.
Merci d'avance