Ich brauche ein 2D-Spektrogramm eines Signals in Matlab. Ich brauche es für eine gedruckte Aufgabe, daher macht das 3D-Bild keinen Sinn. Wenn das Signal jedoch mit Spectrogram
geplottet wird, wird automatisch eine 3D-Darstellung des Signals erstellt.2D-Spektrogramm in Matlab erstellen
Mein Code:
Dataset = 1; % Dataset to be analysed
N = 1024; % Window size
Beta = 12; % Kaiser window beta value (small = narrow main lope)
Overlap = 800; % Window overlap
Threshold = -150; % Minimum magnitude before threshold
spectrogram(Enclosure{Dataset}(1:end),kaiser(N,Beta),Overlap,2048,fs,'MinThreshold',Threshold,'yaxis');
, die eine graphische Darstellung erzeugt, die wie folgt aussieht:
Aber es ist von oben gesehen, und der Graph das wirklich zeigt:
T Der Grund, warum ich es speziell für 2D brauche (und warum ich mich nicht mit einem Screenshot begnüge) ist, weil ich Matlab2tikz
verwende, um Matlab-Figuren in Tikz-Figuren in LaTex zu konvertieren. mit den 3D Bildern bekomme ich Figuren von +100 Mb und 2D verkleinert die Größe auf < 1Mb.
warum nicht ein 2D-Plot direkt mit den Ausgängen der Funktion machen, z.B. S = Spektrogramm(). Dann benutze S, um deine Handlung zu machen. – willpower2727
Es könnte möglich sein. Ich kann einfach nicht herausfinden, wie ich mit der Ausgabe der "Spektrogramm" -Funktion umgehen soll. Die Achse ist nicht in der Nähe der richtigen und wenn es gezeichnet wird, zeigt es eine seltsame Handlung. –