Hallo, wenn man einen Dirac-Impuls Fourier-Transformiert, erhält man doch die sin(x)/x Funktion, soweit ich weiß ... Ich hätte jetzt auch angenommen, dass bei einer DFT mit einem Array mit zB 512 Elementen, von dem nur das erste Element den Wert 1 hat und der Rest 0 ist, dann ebenfalls die Funktion ergeben sollte, nur eben diskret. Bei mir kommt aber statt dem erwarteten Ergebnis nur komplexe Werte mit R=1 und I=0 raus. Ich verwende die Real->Complex FFT von FFTW. Hat die schonmal jemand ausprobiert und kann dazu was sagen? Hintergrund ist die Faltung im Frequenzraum, wobei mein Filterkernel erstmal einfach nur den Wert 1 hat. Dann sollte das ursprüngliche Bild rauskommen, was leider nicht funktioniert. MfG Thomas Pototschnig PS: z.B. eine Bildzeile hin- und zurücktransformiert funktioniert einwandfrie und gibt das gewünschte Ergebnis ...
Thomas Pototschnig wrote: > Hallo, > > wenn man einen Dirac-Impuls Fourier-Transformiert, erhält man doch die > sin(x)/x Funktion, soweit ich weiß ... > Leider falsch. Der Dirac gibt eine Linie übers gesamte Spektrum. Die si-Fkt (sin(x)/x) kommt vom Rechteck. Und wenn du das Rechteck zusammenschiebst (zum Dirac) haste eine unendlich breite si-Fkt. Kai
Kai W. wrote: > Thomas Pototschnig wrote: >> Hallo, >> >> wenn man einen Dirac-Impuls Fourier-Transformiert, erhält man doch die >> sin(x)/x Funktion, soweit ich weiß ... >> > > Leider falsch. > > Der Dirac gibt eine Linie übers gesamte Spektrum. > > Die si-Fkt (sin(x)/x) kommt vom Rechteck. Und wenn du das Rechteck > zusammenschiebst (zum Dirac) haste eine unendlich breite si-Fkt. > > Kai Dann kapier ich bald garnichts mehr ... Wenn ich eine diskrete Funktion mit einem [0 0 0 1 0 0 0] Filterkernel falte, dann kommt die gleiche Funktion wieder raus. Wenn ich das Ganze per FFT transformiere, dann wird aus der Faltung eine Multiplikation, aber die Multiplikation macht mir alle Imaginär-Teile meiner transformieren Funktion kaputt, weil dann immer mit 0 multipliziert wird. Seltsam irgendwie ... MfG Thomas Pototschnig
Hallo Thomas, > Dann kapier ich bald garnichts mehr ... Wenn ich eine diskrete Funktion > mit einem [0 0 0 1 0 0 0] Filterkernel falte, dann kommt die gleiche > Funktion wieder raus. Ok. > Wenn ich das Ganze per FFT transformiere, dann > wird aus der Faltung eine Multiplikation, Einverstanden. > aber die Multiplikation macht > mir alle Imaginär-Teile meiner transformieren Funktion kaputt, weil dann > immer mit 0 multipliziert wird. Seltsam irgendwie ... Da stehst Du jetzt aber ganz böse auf dem Schlauch. Du schreibst doch selbst: >> Bei mir kommt aber statt dem erwarteten Ergebnis nur komplexe Werte mit >> R=1 und I=0 raus. Dann multiplizier doch mal alle Spektrallinien mit der "komplexen" Zahl (1+0*j)=1. Da ändert sich doch wirklich nicht sehr viel. Liebe Grüße Michael
>>> Bei mir kommt aber statt dem erwarteten Ergebnis nur komplexe Werte mit >>> R=1 und I=0 raus. > Dann multiplizier doch mal alle Spektrallinien mit der "komplexen" Zahl > (1+0*j)=1. Da ändert sich doch wirklich nicht sehr viel. Aaaaarrrggh ... Okay, ich sag nichts mehr :-) Ohje ... MfG Thomas Pototschnig
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.