Transformé de fourrier d'un produit de fonctions

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
razine
Messages: 1
Enregistré le: 27 Nov 2014, 00:36

transformé de fourrier d'un produit de fonctions

par razine » 27 Nov 2014, 00:46

Bonjour,

Il est dit sur wikipedia que le produit de deux fonctions équivaux à la convolution dans l'espace de fourrier.

J'ai un petit soucis avec le code :

f1 = [1 2];
f2 = [5 3];

ff1 = fft( f1 );
ff2 = fft( f2 );

ifft( (1/2*pi) * conv( ff1, ff2 ))

ça me retourne pas le produit, des suggestions?



Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21709
Enregistré le: 11 Nov 2009, 21:53

par Ben314 » 27 Nov 2014, 08:23

Salut,
Ca veut dire quoi f1 = [1 2] par exemple ?
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

sinusx
Membre Naturel
Messages: 16
Enregistré le: 26 Sep 2009, 16:08

par sinusx » 27 Nov 2014, 20:39

Salut,

La transformée de Fourier (TF) d'un produit de convolution est égale au produit des TF ; et vice-versa. En gros la TF transforme le produit (resp. convolution) en convolution (resp. produit).
En numérique, c'est aussi vrai, mais il y a quelques précisions.

Par défaut, la FFT représente la convolution "circulaire", puisque les algorithmes de calcul de la TF numérique supposent que le signal est périodique.
Si tu veux représenter la convolution "linéaire" par la FFT, il faut faire un "zero-padding" des signaux engagés. Ca peut se faire en calculant la FFT sur un plus grand nombre de points. Pour que la convolution circulaire soit équivalente à la convolution linéaire, le nombre de points doit être supérieur ou égal à avec la longueur des signaux.

Je suppose que la syntaxe utilisée est Matlab/Scilab, donc ça donnerait (avec ".*" le produit élément par élément) :

[FONT=Courier New]
N = length(f1)+length(f2)-1;
ifft(fft(f1,N) .* fft(f2,N))
conv(f1,f2)
[/FONT]

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 31 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite