Seite 1 von 1

Faltung

Verfasst: Mittwoch 26. November 2014, 16:09
von MaxIlm
Hallo Liebes Forum,

wie Ihr sehen könnt, ist das mein Erster Post hier in diesem Forum und meine Frage, die ich habe dreht sich um Bildbearbeitung, genauer gesagt um zyklische Faltung.

Nun, ich will aus Zwei diskreten Signalen x und y, (dreidimensionale Signalvektoren) die Zyklische Faltung x*y berechnen.
Ich habe folgendes bisher versucht:

1)

Code: Alles auswählen

 
x=np.array([-8.0,0.0,6.0])
y=np.array([-3.0,3.0,3.0])

xf=fft.fft(x)
yf=fft.fft(y)

Ef=xf*yf

E=fft.ifft(Ef)

print E

Das hat allerdings nicht funktioniert, bzw es kamen nicht die richtigen Ergebnisse herraus.


2) Ich habe folgende Formel gefunden:


_________________N-1
b(n)=x(n)∗N y(n):=∑ x(i)⋅y((n−i)mod N)
_________________i=0


Habe mal exemplarisch versucht den Koeffizienten mit dem Index(0) zu berechnen:

N=3
Index = 0 -> n=0

b(0)= x(0)*y((0-0)mod3)+x(1)*y((0-1)mod3)+x(2)*y((0-2)mod3)
b(0)=42

Doch auch hier kam nicht das gewünschte Ergebnis heraus. (Die Lösung soll -6 sein)

Hat jemand eine Idee?

Gruß

Max

Re: Faltung

Verfasst: Mittwoch 26. November 2014, 17:14
von MagBen
Bei Deinem Code kommt (wenn man zwei fehlende imports ergänzt) auch 42 raus. Wenn die Software das gleiche (aber falsche) Ergebnis wie von Hand rechnen liefert, dann ist das kein Software Problem, sondern ein Mathe Verständnisproblem. Falls nicht doch hier jemand was weiß, ist das eine Frage die Du bei http://www.matheplanet.com/ loswerden kannst.