WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Spectrogram in dB

 

Xenontwo
Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 05.11.07
Wohnort: Böblingen
Version: ---
     Beitrag Verfasst am: 07.07.2008, 12:18     Titel: Spectrogram in dB
  Antworten mit Zitat      
Guten Tag Matlab Profis!

Ich hab ein kleines Problem. Ich stelle ein Signal mit spectrogram dar. Nun gibt mir ja der Befehl [x] = spectrogram(...), das Leistungsdichtespektrum von jedem Segment meines Signals aus.
Ich möchte diese Werte dann aber gerne in dB umrechnen. Die Ausgabe des PSD (wie z.B. bei pwelch) ist ja der quadrierte Schalldruck.

Jezt hätte ich aber gerne diese Werte in dB!

Ich mache es momentan so:

[Spectrogramm,Frequenzvek,Zeitvek,PSD_vek]=spectrogram.....

dB_spec=20*log10(sqrt(abs(Spectrogramm))+94;

Kann mir jemand sagen, ob dass so richtig ist? Ich mache das auch für pwelch für meine FFT!

Oder muss ich etwa:

dB_spec=20*log10(sqrt(abs(PSD_vek))+94;

machen? Dann bekomme ich aber fast nur negative dB werte...wobei es ja eigentlich der quadrierte Schalldruck sein müsste....

Und noch eine kleine Frage:

Muss ich bei spectrogram die Amplituden mit dem Faktor Samplingfrequenz/FFT-Länge noch anpassen Question



Vielen Dank an Euch!
Private Nachricht senden Benutzer-Profile anzeigen


steffi
Forum-Century

Forum-Century



Beiträge: 149
Anmeldedatum: 07.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.07.2008, 13:50     Titel:
  Antworten mit Zitat      
Aus der Hilfe zu spectrogramm

Zitat:
Compute and display the PSD of each segment of a linear chirp, which
starts at DC and crosses 150 Hz at t = 1 sec. Display the
frequency on the y-axis.T = 0:0.001:2;
X = chirp(T,0,1,150);
F = 0:.1:100;
[Y,F,T,P] = spectrogram(X,256,250,F,1E3,'yaxis');

% The following code produces the same result as calling
% spectrogram with no outputs:
surf(T,F,10*log10(abs(P)),'EdgeColor','none');
axis xy; axis tight; colormap(jet); view(0,90);
xlabel('Time');
ylabel('Frequency (Hz)');

_________________

Wenn ich bei der Arbeit mit Computern eins gelernt habe dann das ich einem Computer nur soweit traue wie ich ihn werfen kann.
Private Nachricht senden Benutzer-Profile anzeigen
 
Xenontwo
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 05.11.07
Wohnort: Böblingen
Version: ---
     Beitrag Verfasst am: 07.07.2008, 13:53     Titel:
  Antworten mit Zitat      
Tja, danke, dass hab ich wohl auch schon gesehen, aber die Pegel passen bei mir überhaupt nicht...
Wenn ich das auch richtig verstanden habe, ist dass dan dB /Hz.
Private Nachricht senden Benutzer-Profile anzeigen
 
steffi
Forum-Century

Forum-Century



Beiträge: 149
Anmeldedatum: 07.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.07.2008, 14:52     Titel:
  Antworten mit Zitat      
Ich habe es folgendermaßen verstanden:

Code:

gibt dir das Ergebnis der FFT, hier P bezeichnet, folgendermaßen aus:

Code:


das ist in dB, nur mit dem Unterschied, das hierbei die dB-Angabe, die glaube ich in der Regelungstechnik verbreitete Angabe darstellt.

dB in der Akustik für Schalldruck wird mittels

Code:
wobei Pref der Hörschwellendruck ist berechnet.

Code:
gibt dir lt. matlabhilfe in dB/Hz aus, das stimmt
_________________

Wenn ich bei der Arbeit mit Computern eins gelernt habe dann das ich einem Computer nur soweit traue wie ich ihn werfen kann.
Private Nachricht senden Benutzer-Profile anzeigen
 
Xenontwo
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 05.11.07
Wohnort: Böblingen
Version: ---
     Beitrag Verfasst am: 07.07.2008, 15:18     Titel:
  Antworten mit Zitat      
Da hast Du recht! Aber leider bekomme ich dann negative dB Werte heraus.... daher kann das auch nicht sein....
Private Nachricht senden Benutzer-Profile anzeigen
 
steffi
Forum-Century

Forum-Century



Beiträge: 149
Anmeldedatum: 07.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.07.2008, 15:21     Titel:
  Antworten mit Zitat      
was genau hast du denn gemessen? In welchem Frequenzbereich treten die negativen Werte auf....
_________________

Wenn ich bei der Arbeit mit Computern eins gelernt habe dann das ich einem Computer nur soweit traue wie ich ihn werfen kann.
Private Nachricht senden Benutzer-Profile anzeigen
 
Xenontwo
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 05.11.07
Wohnort: Böblingen
Version: ---
     Beitrag Verfasst am: 07.07.2008, 15:33     Titel:
  Antworten mit Zitat      
Danke, dass Du mir hilfst.
Ich habe ein dB(A)-gefiltertes Signal aus einem Fahrzeuginnenraum. Wenn ich aus dem PSD-Wert des spectrogram Befehls den Schalldruckpegel mit p0 = 2*10^-5 berechne, bekomme ich überall negative dB Werte. Überall bedeutet in meiner Grafik zwischen 0 und 8000 Hz.
Nicht wundern, der weiße Balken ist gewollt....

bsp.JPG
 Beschreibung:

Download
 Dateiname:  bsp.JPG
 Dateigröße:  123.55 KB
 Heruntergeladen:  1678 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
steffi
Forum-Century

Forum-Century



Beiträge: 149
Anmeldedatum: 07.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.07.2008, 15:43     Titel:
  Antworten mit Zitat      
in welchem Wertebereich liegen die Signalwerte? Kannst du einen Vektor von ca. length 10 hier posten?
_________________

Wenn ich bei der Arbeit mit Computern eins gelernt habe dann das ich einem Computer nur soweit traue wie ich ihn werfen kann.
Private Nachricht senden Benutzer-Profile anzeigen
 
Xenontwo
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 05.11.07
Wohnort: Böblingen
Version: ---
     Beitrag Verfasst am: 07.07.2008, 18:23     Titel:
  Antworten mit Zitat      
Hey, heute schaff ichs nicht mehr. Wenns okay ist schreib ich die zehn Werte morgen hier rein.

Vielen Dank schonmal!
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.