Forum: Digitale Signalverarbeitung / DSP / Machine Learning Schnelle Faltung, Segmentierte Faltung


von Bernhard S. (mindmaker)


Lesenswert?

Hallo,

kennt sich jemand von euch mit Signaltheorie aus?

Mein Problem:
Ich möchte mit Hilfe von Matlab die Schnelle Faltung Implementieren.
Der Standard-Fall ist auch kein Problem und sieht so aus:
n = 10; % das ist die länge der beiden komplexen signale x,y
N = 2*n-1
X = fft (x, N)
Y = fft(y, N)
Z = x.* y % Multiplikation X(n) * Y(n) für n = 1,..., N
z = ifft(Z,N)

z ist dann auch dasselbe wie conv(x,y), was die direkte Faltung ist

Aber nun kommts. Bei der segmentierten Faltung steig ich aus.
Hier wird x(n) zerteilt in x1,x2,x3 usw. (x1,x2,x3 habe hier wieder die 
Länge n)
Dann werden diese Teile FFT transformiert mit y multipliziert und wieder 
zurück transformiert:
X1 = fft(x1,N)
X2 = fft(x2,N)
X3 = fft(x3,N)

Z1 = X1.*Y
Z2 = X2.*Y
Z3 = X3.*Y

z1 = ifft(Z1,N)
z2 = ifft(Z2,N)
z3 = ifft(Z3,N)

Nun müssen z1, z2 usw. überlagert werden.
Frage: Nach welcher Länge muss das genaus sein ? (müsste irgendwo in der 
Nähe von n liegen)
Der erste Teil von z1 müsste mit dem Anfang des gesamten Ergebnisses z 
übereinstimmen. Das ist bei mir nicht der Fall.
Müsste auch der Beginn von X1 und X (Frequenzbereich) übereinstimmen?

Hoffe ihr könnt was damit anfangen,

mit der Bitte um Hilfe
Bernhard

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Bernhard S. wrote:

> z ist dann auch dasselbe wie conv(x,y), was die direkte Faltung ist

conv() ist bei Matlab genauso implementiert.

> Aber nun kommts. Bei der segmentierten Faltung steig ich aus.

Da gibt es zwei verschiedene Varianten. Such mal nach "overlap-save" und 
"overlap-add".

von mindmaker (Gast)


Lesenswert?

danke. über die overlap-add methode hab ich einen artikel gefunden.
http://www.dspdesignline.com/howto/showArticle.jhtml?articleId=199901970&pgno=1

ich habe aber noch das problem, dass mein ergebnis vor der ersten 
überlagerung ja auch ohne diese stimmen müsste. das ist aber nicht der 
fall.
und ich hab leider keine ahnung was ich falsch gemacht hab.

ist leider etwas wage.
im anhang schick ich mal mein m-file

mfg bernhard

von Bernhard S. (mindmaker)


Lesenswert?

hoppla, war bei meinem post eben nicht eingeloggt :-)

von Bernhard S. (mindmaker)


Angehängte Dateien:

Lesenswert?

hmmm hat das mit dem anhang nicht funktioniert?! ...

von Bernhard S. (mindmaker)


Angehängte Dateien:

Lesenswert?

hallo,

hab eine lösung für das problem gefunden.
wenn es wen interessiert, ich hänge das m-file an.

mfg bernhard

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.