Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
11.01.2012, 12:58 (Dieser Beitrag wurde zuletzt bearbeitet: 11.01.2012 12:59 von Schnibbel.)
seit Langem brauche ich mal wieder Hilfe. Ich versuche ein Cepstrum aus einem Spektrum zu erzeugen. Im internet habe ich dazu folgende Aussagen gefunden:
Zitate:
I. "Die Berechnung des Cepstrums eines Signals s(t) aus dem Zeitbereich erfolgt durch die komplexe Logarithmierung der Fouriertransformierten S(f) und anschließende inverse Fouriertransformation."
II."Berechnung des Cepstrums
1. Berechne das Amplitudenspektrum
|S(fn)| = |F{s(tn)}|
2. Logarithmiere das Spektrum (jeder einzelne Spektralwert
wird logarithmiert)
log[|S(fn)|]
3. Inverse Fouriertransformation
C(n) = F−1{log[|S(fn)|]}."
III. "Das Kepstrum tritt in den Formen Leistungskepstrum und komplexes Kepstrum auf. In der Praxis verwendet man häufiger das Leistungskepstrum, das als
inverse Fourier-Transformation eines logarithmierten Leistungsdichtespektrums defi-niert ist"
Im Bild hole ich mir die Werte aus dem zuvor erzeugten Spektrum logarithmiere sie komplex und lasse dann die inverse FFT auf die Werte los.
Habe schon viele Möglichkeite versucht. Das Spektrum gegen ein leistungspektrum getauscht, bei der Inversen FFT die Einstellungen geändert, den Logarithmus geändert (natürlich, 10er, 2er).
Leider bleibt das erwünschte Ergebnis aus.
Nun meine Frage, habt ihr eine Ahnung wie das in Labview Implementiert wird bzw. wo ich einen Fehler gemacht habe?
Im Vorraus schon mal Danke!!
Anzeige
11.01.2012, 15:13 (Dieser Beitrag wurde zuletzt bearbeitet: 11.01.2012 15:14 von Lucki.)
Du zitierst ja selbst, daß es beim Cepstrum die Varianten "Leistungs-Cepstrum" und "komplexes Cepstrum" gibt. Die Algorithmen sind recht unterschiedlich. Mir scheint, dass dein VI ein Mischmatch von beiden ist, weder das eine noch das andere. Um was geht es Dir denn bei Deinem Problem, und hast Du ein Beispiel mit Daten und dem, was herauskommen soll?
Wenn ein Signal Frequenzen mit Vielfachen enthält, möchte ich diese durch das Cepstrum sichtbar machen d.h. das nur die bestimmten Frequenzen ohne deren Vielfache im Cepstrum zu sehen sind. Ich glaube deshalb benutzt man das Cepstrum.
Daten eines Signals habe ich, in welcher Form soll ich sie dir zukommen lassen?
(11.01.2012 16:00 )Schnibbel schrieb: Daten eines Signals habe ich, in welcher Form soll ich sie dir zukommen lassen?
Idealerweise in einem VI, das als einziges Element eine Graphik enthält, in der die Daten mittels "Bearbeiten/aktuelle Werte als Standard" gespeichert sind. Das hat zwar noch nie jemand so gemacht, aber wenn Du mich fragst...
Tut mir Leid, ich habe zu viel versprochen, ich komme jetzt erst mal nicht dazu mich damit zu befassen. Beim Googeln mit den Begriffen Cepstrum +Labview gibt es etliche Treffer, u.a auch ein VI. Und: Cepstrum Analyse ist in zwei verschiedenen Toolkits enthalten. Wenn Du diese von der DVD installierst, dann funktioniert das ja erst mal ein Zeitlang ohne zu bezahlen, vielleicht reicht das.
In deinem Zeitverlauf herrscht die Frequenz 200 Hz vor. Wenn man es richtig gemacht hat, müßte man demenstrechend im Cepstrum bei der "Quefrency" (Zeit) einen Peak bei 5ms haben.
Ich habe einen Broschüre "Frequency Analysis" von der (nicht mehr existierenden) Firma Brüel & Kjaer, da ist die Cepstrum-Analyse verständlich erklärt. Wenn es sein muss, müsste ich Dir die Seiten kopieren.
Wer hat den "Advanced Signal Processing Toolkit" oder den "Digital Filter Design Toolkit". Dort ist das Cepstrum-VI mit dabei. Bitte mal den Zeitverlauf anschließen und das Cepstrum posten.