Errechnet die Energieverteilung des Signals im kombinierten Zeit-Frequenz-Bereich (Joint Time-Frequency Domain) unter Verwendung des Algorithmus der Kurzzeit-Fourier-Transformation (STFT).


icon

Ein-/Ausgänge

  • ccclst.png Zeit-Freq-Konfig

    Zeit-Freq-Konfig gibt die Konfiguration der Frequenzunterteilungen an. Zeit-Freq-Konfig bestimmt auch die Anzahl der Spalten in STFT-Spektrogramm {X}.

  • cbool.png Frequenzunterteilungen an Potenz von 2 anpassen?

    Frequenzunterteilungen an Potenz von 2 anpassen? gibt an, ob die Frequenzunterteilungen an eine Potenz von 2 angepasst werden. Wenn Frequenzunterteilungen an Potenz von 2 anpassen? TRUE ist und die Frequenzunterteilungen keiner Potenz von 2 entsprechen, passt dieses VI die Frequenzunterteilungen an die nächste Potenz von 2 an. Die Standardeinstellung lautet TRUE.

  • cbool.png Nyquist-Frequenz ausschließen?

    Nyquist-Frequenz ausschließen? gibt an, ob die Energie bei der Nyquist-Frequenz von STFT-Spektrogramm {X} ausgeschlossen werden soll.

    Wenn Frequenzunterteilungen gerade und Nyquist-Frequenz ausschließen? TRUE ist, ignoriert STFT-Spektrogramm {X} die Energie bei der Nyquist-Frequenz. Bei einem ungeraden Wert für Frequenzunterteilungen wird der Parameter Nyquist-Frequenz ausschließen? nicht beachtet. Die Standardeinstellung lautet TRUE.

  • c1ddbl.png X

    X ist das Eingangssignal des Zeitbereichs.

  • cnclst.png Zeit-Frequenz-Abtastinformation

    Zeit-Frequenz-Abtastinformation gibt die für die Abtastung des Signals im kombinierten Zeit-Frequenz-Bereich zu verwendende Dichte an und definiert die Größe des resultierenden zweidimensionalen Zeit-Frequenz-Arrays.

  • ci32.png Zeitschritte

    Zeitschritte gibt die Anzahl der Werte an, um die das Fenster verschoben werden soll.

    Wenn Zeitschritte kleiner oder gleich 0 ist, passt dieses VI den Wert automatisch an, so dass es nicht mehr als 512 Zeilen in STFT-Spektrogramm {X} gibt. Die Standardeinstellung lautet –1.

  • ci32.png Frequenzunterteilungen

    Frequenzklassen gibt die FFT-Größe der Kurzzeit-Fouriertransformation an. Wenn die Anzahl der Frequenzklassen kleiner oder gleich 0 ist, setzt das VI den Wert für Frequenzklassen auf 512. Wenn Frequenzklassen gleich 1 ist, legt das VI den Wert 2 fest. Die Standardeinstellung lautet 512.

  • cnclst.png Fensterinformation

    Fensterinformation sind die Angaben zur Fensterfunktion, anhand deren die STFT berechnet werden soll.

  • cu32.png Typ

    Typ gibt die Art des Fensters zur Berechnung der STFT an. Die Standardeinstellung lautet Hanning.

    0Rechteck
    1Hann
    2Hamming
    3Blackman-Harris
    4Blackman (exakt)
    5Blackman
    6Flat-Top
    74-gliedriges B-Harris
    87-gliedriges B-Harris
    9Niedrige Nebenschwingung
    11Blackman-Nuttall
    30Dreieck
    31Bartlett-Hann
    32Bohman
    33Parzen
    34Welch
    60Kaiser
    61Dolph-Chebyshev
    62Gauß
  • ci32.png Länge

    Länge gibt die Länge des Fensters in Samples an. Wenn die Länge kleiner oder gleich 0 ist, setzt das VI die Länge auf 64. Der Standardwert lautet 64.

  • cdbl.png Fensterparameter

    Fensterparameter ist der Beta-Parameter für das Kaiser-Fenster, das Verhältnis s von Haupt- zu Nebenkeule für das Dolph-Chebyshev-Fenster und die Standardabweichung für ein gaußsches Fenster. Bei anderen Fenstertypen wird dieser Eingang ignoriert.

    Die Standardeinstellung für Fensterparameter ist NaN. Dadurch wird bei Kaiser-Fenstern der Beta-Wert auf 0 eingestellt. Bei Dolph-Chebyshev-Fenstern wird s auf 60 eingestellt. Bei gaußschen Fenstern wird die Standardabweichung auf eingestellt, wobei L die Länge des Fensters ist.

  • cbool.png Energieeinsparung?

    Energieeinsparung? legt fest, ob STFT-Spektrogramm {X} skaliert wird, so dass die Energie im Zeit-Frequenz-Bereich der Energie im Zeitbereich entspricht. Die Standardeinstellung lautet TRUE.

  • i2ddbl.png STFT-Spektrogramm {X}

    STFT-Spektrogramm {X} ist ein 2D-Array, das die Energieverteilung von Zeitsignalen im kombinierten Zeit-Frequenzbereich darstellt.

  • ii32.png Fehler

    Fehler gibt alle Fehler oder Warnungen des VIs aus. Zur Umwandlung eines Fehlercodes oder einer Warnung in einen Fehler-Cluster verbinden Sie Fehler mit dem VI Fehler-Cluster aus Fehlercode.

  • Zur Berechnung des STFT-Spektrogramm {X} ermittelt dieses VI zunächst STFT von X. Zur Berechnung der STFT von X verwendet das VI ein gleitendes Fenster, um das Signal in verschiedene Datenblöcke aufzuteilen. Dann wendet das VI eine N-Punkte schnelle Fouriertransformation auf jeden Datenblock an, um die jeweiligen Frequenzanteile zu ermitteln. N stellt dabei die Frequenzunterteilungen dar. Die STFT richtet die Mitte des ersten gleitenden Fenster mit dem ersten Sample von Signal X aus und erweitert den Anfang des Signals durch Hinzufügen von Nullen. Das gleitende Fenster bewegt sich um so viele Samples, wie in Zeitschritte angegeben, zum nächsten Datenblock. Wenn das Fenster X verlässt, füllt das VI X mit Nullen auf.

    Die folgende Abbildung demonstriert, wie dieses VI wie STFT berechnet.

    Wenn Frequenzunterteilungen an Potenz von 2 anpassen? TRUE und Frequenzunterteilungen keine Potenz von zwei ist, gilt auch die folgende Gleichung als wahr:

    K = 2[log2(Fequenzunterteilungen)]

    wobei [ ] die nächste Operation ist.

    Anderenfalls ist K = Frequenzunterteilungen.

    Wenn das Ergebnis der STFT die Matrix STFT{X} ist, dann beträgt die Größe von STFT{X} gleich (M, K), wobei Folgendes gilt:

    • L die Anzahl der Elemente von X,
    • ist eine Operation mit Abrundung

    Sie können mithilfe von STFT{X} die ungefähre Energie im kombinierten Zeit-Frequenz-Bereich mit folgender Gleichung berechnen:

    Das Ergebnis ist fast identisch mit der Energie im Zeitbereich, siehe folgende Gleichung:

    Nach Berechnung der STFT von X, bestimmt dieses VI das STFT-Spektrogramm von X. Das VI berechnet das STFT-Spektrogramm als Quadrat des Betrags der Elemente in STFT{X}. Da die FFT symmetrische Ergebnisse ausgibt, berechnet das VI das STFT-Spektrogramm {X} nur für die rechte Hälfte von STFT{X}, siehe folgende Gleichung:

    wobei Folgendes gilt:

    • i = 0, 1, ..., M-1
    • j = 0, 1, ..., N-1
    • ist eine Operation mit Aufrundung

    Wenn Sie einen kleinen Wert für Zeitschritte angeben, gibt das VI u. U. ein großes Spektrogramm aus, wodurch mehr Zeit und Speicher in Anspruch genommen wird. National Instruments empfiehlt einen Wert für Zeitschritte, bei dem Anzahl der Zeilen in Spektrogramm 512 nicht überschreitet. Wenn Sie für genauere Beobachtungen eine kleine Sample-Rate benötigen und das Signal zu lang ist, teilen Sie es in kleinere Segmente und berechnen Sie das Spektrogramm für jedes Segment.

    Das Fenster Länge wirkt sich auf die Zeitauflösung und die Frequenzauflösung der STFT aus. Ein schmales Fenster führt zu einer hohen Zeit- und einer niedrigen Frequenzauflösung, da schmale Fenster eine kurze Zeitdauer und eine hohe Bandbreite haben. Ein breites Fenster führt zu einer niedrigen Zeit- und einer hohen Frequenzauflösung, da breite Fenster eine lange Zeitdauer und eine schmale Bandbreite haben.

    Dieses VI gibt das gleiche Ergebnis aus wie das VI TFA STFT Spectrogram im LabVIEW Advanced Signal Processing Toolkit, wenn Sie Frequenzunterteilungen an Potenz von 2 anpassen?, Nyquist-Frequenz ausschließen? und Energieeinsparung? auf TRUE setzen.

    Beispiele

    Die folgenden Beispieldateien sind in LabVIEW enthalten.

    • labview\examples\Signal Processing\Transforms\STFT Spectrogram Demo.vi