Hallo, ich weiß nicht genau ob ich die Unterschiede zwischen DFT, FFT und STFT richtig verstanden habe deswegen mal die Frage: Sowohl DFT als auch FFT liefern an sich keine Zeitauflösung sondern nur ein Spektrum der alle benutzten Samples beschreibt, Zeitauflösung bekommt man nur wenn man ein Signal in Blöcke von z.b. 512 Samples aufteilt und dann die jeweiligen Blöcke transformiert? Also liefert eine DFT oder FFT mit 512 Samples quasi das gleiche Ergebnis wie eine STFT mit einem 512 Sample langem Rechteck-Fenster? Rein theoretisch: Wenn man also aus einem Signal mit z.b. 10k samples eine Transformation mit 10k Spektren haben möchte muss man egal ob DFT, FFT oder STFT auch 10k Transformationen durchführen? Gibt es einen Algorithmus der ein Spektrum liefert das im Zeitbereich genau so diskretisiert ist wie das Eingangssignal, also nicht wie bei einem 512er FFT wo die Zeitauflösung des Spektrums = ein 512tel der Abtastfrequenz ist? (Ja ich weiß das ist extrem rechenaufwendig) Oder würde man sowas mit überlappenden STFT machen? (bei Simulink z.b. kann man ja STFT mit Überlappungen berechnen lassen so das auch für jeden Sample ein Spektrum berechnet wird aber geht das nicht effizienter?)
> Gibt es einen Algorithmus der ein Spektrum liefert das im Zeitbereich > genau so diskretisiert ist wie das Eingangssignal, also nicht wie bei > einem 512er FFT wo die Zeitauflösung des Spektrums = ein 512tel der > Abtastfrequenz ist? Such mal nach DFFT (Damn-Fast Fourier Transform), vermutlich ist es das was du suchst.
Benjamin F. schrieb: > Wenn man also aus einem Signal mit z.b. 10k samples eine Transformation > mit 10k Spektren haben möchte Wozu? Die einzelnen Frequenzbänder sind dann extrem überabgetastet und enthalten keine zusätzliche Information.
> Wozu? Die einzelnen Frequenzbänder sind dann extrem überabgetastet und > enthalten keine zusätzliche Information. Er meint vermutlich, dass mit jedem neuen Sample das Spektrum neu berechnet wird. So etwas kann man z.B. dazu verwenden, wenn man ein Signal online filtern möchte. Dazu wird das Signal abgetastet und kontinuierlich, also mit jedem neuen Sample, ein Spektrum berechnet. Das Spektrum wird dann irgendwie bearbeitet (z.B. bestimmte Frequenzen dämpfen oder verstärken) und dann wieder in den Zeitbereich zurücktransformiert. Damit das funktioniert, muss für jedem neuen Abtastwert das komplette Spektrum berechnet werden.
Johannes schrieb: > Er meint vermutlich, dass mit jedem neuen Sample das Spektrum neu > berechnet wird. So etwas kann man z.B. dazu verwenden, wenn man ein > Signal online filtern möchte. Da berechnet man aber nicht für jeden Abtastwert ein neues Spektrum. Die Überlappung der Fenster beträgt meistens in der Größenordnung von 50%. Das ganze nennt sich Filterbank, mit dem Stichwort kann man beliebig viel Literatur finden.
> Da berechnet man aber nicht für jeden Abtastwert ein neues Spektrum.
Ja, deshalb hab ich auch die "DFFT" empfohlen. Da wird nur die Änderung,
die durch das neue Sample entsteht, in das Spektrum reingerechnet, so
dass der Rechenaufwand einigermaßen gering bleibt.
Eine Filterbank ist dann sinnvoll, wenn man nur relativ wenige
Frequenzen bearbeiten möchte. Für komplexere Übertragunsfunktionen
bräuchte man bei einer Filterbank sehr viele und sehr schmale Filter,
was auch viel Rechenaufwand bedeutet. Da ist es dann evtl. günstiger,
über den Umweg Fourier-Spektrum und zurück zu gehen.
Die Rücktransformation ist sowieso kein Problem, weil man hier nicht den
komletten Zeitbereich berechnen muss, sondern nur ein einziges Sample.
Johannes schrieb: > Für komplexere Übertragunsfunktionen > bräuchte man bei einer Filterbank sehr viele und sehr schmale Filter, > was auch viel Rechenaufwand bedeutet. Da ist es dann evtl. günstiger, > über den Umweg Fourier-Spektrum und zurück zu gehen. Eine (gleichförmig) Filterbank implementiert man eigentlich immer mit einer DFT. Aber da berechnet man trotzdem nicht für jedes Sample im Zeitbereich ein komplettes Spektrum, sondern verwendet stark überlappende Fenster (DFT-Filterbank mit Unterabtastung). Wie gesagt, Literatur gibt es dazu sehr viel, z.B. https://ccrma.stanford.edu/~jos/sasp/Downsampled_STFT_Filter_Banks.html.
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.