2009-04-22 11 views
2

ich verstehe einfach nicht, wie man eine FFT an zwei Polynomen wie X^2 + 1 und X + 1 durchführt ... kann jemand Schritt für Schritt den Prozess mit mir durchgehen?Schnelle Fourier-Transformation - Multiplizieren von Polynomen?

Vielen Dank

+0

Viele technische Worte in dieser Frage, aber sie machen keinen Sinn zusammen machen. Vielleicht brauchen Sie einen größeren Wurm an diesem Haken .... –

Antwort

6

Sie als Eingang Polynomkoeffizienten verwendet Just for fft:

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

    1 0 1 0 

Hinweis: Dies bedeutet, 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 

Dies ist das Ergebnis. Interpretiere als x^3 + x^2 + x + 1, was das Produkt der beiden Polynome ist.

+0

Hallo danke für Ihre Antwort, aber ich bin wahrscheinlich sehr dumm, aber wie erhalten Sie 1 0 1 0 als Koeffizienten von x^2 + 1? und ist das der gleiche Weg wie mit einer Matrix, um es zu tun? danke – KP65

+0

Der erste Platz ist Koeffizient für x^0, Sekunde für x^1, und so weiter. Ich bin nicht sicher, was Sie meinen, indem Sie "Matrix verwenden, um es zu tun". – jpalecek

+0

oh ja, tut mir leid, ich habe das herausgefunden. ich verstehe, was Sie getan haben, bis Sie fft (Poly1) * FFT (Poly2) getan haben, aber wie finid die Werte von 1 1 1 1? – KP65

1

Aber wirklich, was hier vor sich geht, ist Faltung.

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

ist das Äquivalent der Faltung (richtig gepolstert). Und die Faltung kann als die Multiplikation zweier Polynome interpretiert werden. Gehen Sie die Definition der Faltung nach (es ist sehr einfach) und erarbeiten Sie sie manuell auf Papier. Ich gehe davon aus, dass es viel Licht auf das für euch vergossen wird ...

Paul
CenterSpace Software