Faltung

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
MaxIlm
User
Beiträge: 1
Registriert: Montag 24. November 2014, 16:28

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
Benutzeravatar
MagBen
User
Beiträge: 799
Registriert: Freitag 6. Juni 2014, 05:56
Wohnort: Bremen
Kontaktdaten:

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.
a fool with a tool is still a fool, www.magben.de, YouTube
Antworten