2009-04-22 19 views
2

Je ne comprends tout simplement pas comment effectuer une FFT sur deux polynômes tels que X^2 + 1 et X + 1 ... quelqu'un peut-il pas à pas à travers le processus avec moi?Transformée de Fourier rapide - Multiplication de polynômes?

Merci beaucoup

+0

Beaucoup de mots techniques dans cette question, mais ils ne font pas de sens ensemble. Peut-être que vous avez besoin d'un ver plus grand sur ce crochet .... –

Répondre

6

suffit d'utiliser vos coefficients polynôme comme entrée pour fft:

octave:16> poly1=[1 0 1 0] 
poly1 = 

    1 0 1 0 

Note: cela signifie x^2 + 1

octave:17> poly2=[1 1 0 0] 
poly2 = 

    1 1 0 0 

octave:18> ifft(fft(poly1).*fft(poly2)) 
ans = 

    1 1 1 1 

Ceci est le résultat. Interpréter comme x^3 + x^2 + x + 1, qui est le produit des deux polynômes.

+0

Salut merci pour votre réponse, mais je suis probablement très stupide mais comment obtenez-vous 1 0 1 0 que les coefficients de x^2 + 1? et est-ce la même manière que d'utiliser une matrice pour le faire? merci – KP65

+0

La première place est le coefficient pour x^0, le second pour x^1, et ainsi de suite. Je ne suis pas sûr de ce que vous entendez par «utiliser une matrice pour le faire». – jpalecek

+0

oh oui oui désolé je l'ai compris. Je comprends ce que vous avez fait jusqu'à ce que vous ayez fait fft (poly1) * fft (poly2), mais comment finissez-vous les valeurs de 1 1 1 1? – KP65

1

Mais vraiment ce qui se passe ici est la convolution.

IFFT (fft (Poly1). * Fft (poly2))

est l'équivalent de convolution (bien rembourré). Et la convolution peut être interprétée comme la multiplication de deux polynômes. Allez chercher la définition de la convolution (c'est très simple) et élaborez-la à la main sur papier. Je pense que ce sera versé beaucoup de lumière sur ce pour vous ...

Paul
CenterSpace Software