Verfasst am: 15.12.2015, 14:46
Titel: Farbbereich vom Spekrogramm anpassen
Hallo,
für die Darstellung des frequenzabhängigen Verlaufs des Schalldrucks verschiedener Fahrzeugvorbeifahrten habe ich einige Spektrogramme erstellt. Das funktioniert auch alles wunderbar. Einziges Problem ist: Im Plot wird nur die Hälfte des zur Verfügung stehenden in der colorbar angezeigten Farbbereichs verwendet. Hauptsächlich Rot- und Gelbtöne. So kann man nicht viel erkennen. Besser wäre es, wenn auch die Blautöne genutzt werden. Möglicherweise liegt es daran, dass vereinzelnd sehr niedrige Werte vorkommen, diese dann in tiefblau angezeigt werden nur so selten sind, dass sie nicht auffallen. Die könnten dann auch ruhig weggelassen werden.
Hier der Ausschnitts des Codes. Ist ohne Messdateien natürlich nicht funktionsfähig, aber zumindest veranschaulicht er, dass nichts besonderes angestellt wird:
Hallo, bin neu hier und mit Matlab nur ein wenig bewandert.
Ich habe auch eine Frage zur Gestaltung von Spektrogrammen. Meine Spektrogramme funktionieren, alles super, bis auf die Skalierung der x- und y-Achse. Mein Datenumfang ist sehr groß, sodass Matlab automatisch die Zeit in Minuten und die Frequenz in Kilohertz angibt. Genau das möchte ich nicht. Wie kann ich dem Befehl "spectrogram" sagen, dass ich die Zeit in Sekunden und die Frequenz in Hertz haben möchte? Ich hab die Hilfe schon verwendet, aber sie gibt mir keinen Hinweis dazu.
Ich freue mich auf eine Antwort und danke herzlich im Voraus.
ich stehe gerade auf dem Schlauch: Aus der Zeit in Sekunden und einer Beschleunigung errechnet mir das Spektrogramm eine Abhängigkeit zwischen der Zeit, welche automatisch von Matlab in Minuten umgerechnet wird, und einer Frequenz, die automatisch in Kilohertz ausgegeben wird.
Wie kann ich in diesen Automatismus eingreifen, sodass die Einheiten Sekunden und Hertz als Größen im Spektrogramm erscheinen?
Und zur Darstellung dann meinen Code verwenden. x- und ylabel sind nur die Beschriftung der Achsennamen. Mit den ticks kannst du die Zahlen an den Achsen ändern. Nutze die Matlab Doku
ich wollte mich nochmal zurückmelden und herzlich danken, auch wenn es schon einen Weile her ist.
Das 3D-Diagramm sieht super aus, aber 2D ist aussagekräftiger.
Mit plot bekomme ich es nicht recht hin.
Kannst du mir noch eine Hilfestellung geben, das Spektrogramm 2D zu plotten?
danke der Antwort. Deine Lösung brachte mich nur nicht auf den richtigen Zweig. t und fv sind die x- und y-Vektoren in der Darstellung für imagesc. S ist die Variable aus der Spektralanalyse. t ist bei mir die Zeit, fv das Messignal?
Es kommt zwar ein Bild heraus, was nahezu komplett eine Farbe abbildet, aber nicht das typische Spektrogramm darstellt. Auch kann dieses Bild mit allen anderen Variablen außer S erstellt werden. S ist ein komplexer Vektor, der hier einen Error verzappt. Was mache ich falsch?
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.