Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 29-08-2014 16:27:36
- MathRack
- Membre
- Inscription : 02-04-2012
- Messages : 78
Autocorrélation, FFT
Bonjour à tous,
Avant tout, je souhaite vous prévenir que j'ai posté un sujet analogue dans la langue de Shakespeare ici. Je vous sollicite tout de même car le niveau du forum est relativement élevé et la langue de Molière m'est plus douce.
Je souhaite calculer l'autocorrélation d'un signal dont je dispose. Le signal en question est 3D : 256*256*49995, les 2 premières directions sont périodiques, c'est stocké en réel (double précision) et ça pèse près de 25GB.
Le plus efficace pour calculer l'autocorrélation semble être les transformées de Fourier. L'algorithme de calcul envisagé est de la forme :
- Lecture des données binaires, stockage en mémoire dans la variable raw_data
- Ajout de zéros pour faciliter la TFR => raw_data(256,256,2^16)
- Ajout de zéros pour éviter l'aliasing => raw_data(256,256,2^17)
- Calcul de la TFR => fft_data(129,256,2^17)
- Calcul du module de la TFR puis de sa transformée inverse => On a la corrélation 3d
Le hic, c'est que l'ajout de tous ces zéros pour éviter l'aliasing, ça fait exploser la taille de mes tableaux et les besoins en mémoire. J'estime que ce programme utilise ~150GB de mémoire...
Est-ce que vous connaissez d'autres méthodes permettant de calculer l'autocorélation? (Idéalement aussi efficaces que les transformées de Fourier)
Merci,
MathRack
Hors ligne
Pages : 1