Ich weiß, dass die Faltung mit FFT berechnet werden kann.
F*H = IDFT[DFT(F)DFT(H)]
. * bedeutet Faltung.Wie berechnet man die Faltung von zwei Vektoren ungleicher Länge
was ist, wenn die Länge von F und H ungleich ist. dann ist die Länge von DFT (H) und DFT (F) ungleich. so, wie die elementweise Multiplikation zwischen zwei Vektoren ungleicher Länge zu berechnen. Habe ich etwas vergessen?
Die von Ihnen angegebene Beziehung bezieht sich auf die zyklische Faltung. Möchten Sie wirklich eine zirkulare Faltung von Vektoren ungleicher Länge erhalten, oder wollen Sie die üblichere lineare Faltung? Im letzteren Fall wird das Problem mit der Länge gelöst, indem die Vektoren auf die gleiche Länge aufgefüllt werden (beachten Sie auch, dass Sie die Vektoren auffüllen müssen, um die lineare Faltung an erster Stelle zu erhalten). – SleuthEye
@SleuthEye, wie Sie den Vektor in den beiden Fällen auffüllen, die Sie erwähnt haben. Und was sind die Unterschiede? – Samuel
Für den Unterschied könnte man [diskrete zirkulare Faltung] (https://en.wikipedia.org/wiki/Convolution#Circular_discrete_convolution) und [diskrete (lineare) Faltung] (https: //en.wikipedia. org/wiki/Faltung # Diskrete_Faltung). Für das Auffüllen im Fall der linearen Faltung würden Sie auf eine Länge "N + M-1" auffüllen, wobei "N" und "M" die Länge von "F" und "H" sind. – SleuthEye