Comment trouver le noyau de convolution dans le domaine fréquentiel?

12

J'ai deux vecteurs de données spatiales (chacune d'environ 2000 éléments de longueur). L'un est une version convolutive de l'autre. J'essaie de déterminer le noyau qui produirait une telle convolution. Je sais que je peux le faire en trouvant la transformée de Fourier inverse du rapport des transformées de Fourier des vecteurs de sortie et d'entrée. En effet, lorsque je fais cela, j'obtiens plus ou moins la forme que j'attendais. Cependant, mon vecteur noyau a la même dimensionnalité que les deux vecteurs d'entrée alors qu'en réalité la convolution n'utilisait qu'environ un cinquième (~ 300-400) des points. Le fait que j'obtienne la bonne forme mais le mauvais nombre de points me fait penser que je n'utilise pas correctement les fonctions ifft et fft. Il semble que si je faisais vraiment ce qu'il fallait, cela devrait se produire naturellement. Pour le moment je fais simplement;

FTInput = fft(in); 
FtOutput = fft(out);
kernel = ifft(FtOutput./FTInput).

Est-ce correct et c'est à moi d'interpréter correctement le vecteur de sortie ou ai-je trop simplifié la tâche? Je suis sûr que c'est ce dernier, je ne sais pas où.

Bowler
la source
2
Vos données d'entrée sont-elles complétées par zéro des deux côtés de la longueur du noyau de convolution? Cela devrait être le cas, sinon vous perdez des informations, ce qui pourrait être la raison de ces artefacts.
leftaroundabout

Réponses:

5

Si vous avez du bruit présent dans votre signal, la simple division de domaine de Fourier provoquera de nombreuses erreurs dans votre résultat. Certaines façons de l'éviter sont d'utiliser la soi-disant FFT double canal ( partie 1 et partie 2 ). Je peux également suggérer que la déconvolution via des filtres adaptatifs, des filtres LMS ou NLMS ([Normalized] Least Mean Squares) en particulier, sont faciles à comprendre et ne coûtent pas très cher en termes de cycles CPU au cas où vos signaux seraient longs. Les filtres adaptatifs LMS sont très robustes au bruit.

Phonon
la source
Cela a fonctionné un régal merci et j'ai découvert un tout nouveau type de chose que je ne connaissais pas.
Bowler
@Phonon ces liens fonctionnent-ils? A quoi cela correspond-il exactement?
Spacey
@Mohammad: C'est pour accéder aux articles et livres de la revue technique Brüel & Kjær. L'inscription est gratuite et donne accès à de nombreux bons articles.
Thor