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

Spektrogramm

 

DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 19.07.2011, 14:01     Titel:
  Antworten mit Zitat      
Question Hast du was geändert?

Edit ich sehe nur gerade noch, dass die letzte Zeile output... vor das letzte 'end' muss.

Zuletzt bearbeitet von DSP am 19.07.2011, 14:04, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen


Atmos_kk
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 93
Anmeldedatum: 23.05.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.07.2011, 14:04     Titel:
  Antworten mit Zitat      
Ah Sorry! Der Fehler war nur in Zeile 5 Hann und Hamming waren vertauscht.

Nochmal vielen Dank.
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 19.07.2011, 14:07     Titel:
  Antworten mit Zitat      
achso...ändere aber mal noch, was ich hier bei meinem edit im oberen Post angegeben habe.
Private Nachricht senden Benutzer-Profile anzeigen
 
Atmos_kk
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 93
Anmeldedatum: 23.05.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.07.2011, 09:51     Titel:
  Antworten mit Zitat      
Läuft einwandfrei!

Jetzt hab ich nur noch das Problem,dass ich alle Werte mit pcolor plotten will, Matlab das auch macht allerdings der vorhandene Bereich des Plots nur schwarz ist. Es wierd kein Fehler ausgeworfen noch kann ich daran durch verändern der Colormap was ändern!
Hat da eventuell noch jemand eine Idee?
Private Nachricht senden Benutzer-Profile anzeigen
 
Andy386
Forum-Guru

Forum-Guru


Beiträge: 485
Anmeldedatum: 24.06.09
Wohnort: ---
Version: 7.1/8
     Beitrag Verfasst am: 23.07.2011, 18:48     Titel:
  Antworten mit Zitat      
wie plottest du die genau? evtl. hat deine plot-funktionen für jeden Punkt/Fläche standardmässig einen schwarzen Rand? (dann ggf. mesh und surf vertauschen und die jew. Optionen in der Hilfe durchgucken)
_________________

Ich hasse es wenn die Leute Fragen stellen, man dann versucht sich Mühe zu geben, und diejenigen ihren Thread nie wieder besuchen...
Private Nachricht senden Benutzer-Profile anzeigen
 
Atmos_kk
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 93
Anmeldedatum: 23.05.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.07.2011, 06:12     Titel:
  Antworten mit Zitat      
Plotten wollte ich eigentlich mit pcolor. Ich denke es liegt daran, dass ich keine Matrizen verwende für x und y. Ein Arbeitskollege hat sich die selber erzeug, als 5 x 5 Matrizen und alles war einwandfrei. Muss da wohl noch etwas probieren.

Greetz
Private Nachricht senden Benutzer-Profile anzeigen
 
Atmos_kk
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 93
Anmeldedatum: 23.05.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.08.2011, 07:43     Titel:
  Antworten mit Zitat      
Moin zusammen

wollte nochmal nachhorchen ob irgendwer mir sagen kann was spectrogram überhaupt genau macht und wie ich es näherungsweise ohne Toolbox nachstellen kann?!?!

Greetz
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 04.08.2011, 07:57     Titel:
  Antworten mit Zitat      
Kleine Randbemerkung. Seit der ersten Frage sind 2,5 Wochen vergangen. Das MathWorks Motto lautet "Accelerating the pace of engineering and science". Wieviel Zeit eines Enwicklers/Forschers ist jetzt draufgegangen um eine Alternative zu einem Toolbox-Befehl zu entwicklen? Wieviel Arbeitszeit? Die Signal Proc. Toolbox kostet für eine Hochschule 200 €.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Atmos_kk
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 93
Anmeldedatum: 23.05.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.08.2011, 08:03     Titel:
  Antworten mit Zitat      
Geb ich dir recht nur das Problem dabei ist:

1. Meine FH bietet Matlab nicht an
2. Selbst wenn ich es hätte wäre es sinnlos für mich denn
3. die Firma in der ich arbeite aht diese Toolbox nicht
und zu guter letzt
4. ich habe die ganze Zeit an anderen Sachen gearbeitet von daher ist die Zeit nicht völlig verloren gegangen!

Aber ich werde meiner FH nochmal einen Anstoß geben!

Greetz
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 04.08.2011, 08:41     Titel:
  Antworten mit Zitat      
Letztendlich ist das Spektrogramm nichts anderes als das Frequenzspektrum aus der FFT. Nur werden hier eben nicht die Amplituden (Signalanteile) in Abhängigkeit zur Frequenz dargestellt, sondern z.B. die elektr. Leistung

P = U * I.

Das FFT Spektrum kennst du ja bereits...wenn du die Leistung über der Zeit deines Signals hast, kannst du mit Hilfe der FFT das Spektrogramm erstellen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Atmos_kk
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 93
Anmeldedatum: 23.05.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.08.2011, 10:40     Titel:
  Antworten mit Zitat      
Alles klar, moin DSP,

ich will es mal konkretisieren:

Ich muss die Zeit über die Frequenz plotten mit dB(A) als Amplitude auf der z-Achse. Besteht da überhaupt eine Chance zu? Ich fummel mir hier gerade die Finger Wund.

Greetz
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 08.08.2011, 19:33     Titel:
  Antworten mit Zitat      
Diese Zeilen erstellen dir das Spektrogramm deines Signals...wie die Matlabfunktion
Code:
specgram()
...in neueren Matlabversionen heist die Funktion
Code:


Code:

%   .txt-Datei in Matlab einlesen ( Matrixform )

%rohdaten1=dlmread('01_white_20kmh_1\23.txt', '\t', 23, 0);

%   Aufteilen in Zeit- u. Wertevektor

time1=rohdaten1(:,1);
soundpressurelevel1=(rohdaten1(:,2))';
     
%   FFT für Fahrt 1 mit Plot

signal=soundpressurelevel1';
% Abtastrate
Ts=diff(t11(1:2));
% Abtastfrequenz
fs=1/Ts;
% Nyquistfreqenz
fn=0.5*fs;

% Ist Signallänge gerade?
if mod(length(signal),2)
    n = length(signal)-1;
else
    n = length(signal);
end;

% FFT Segmentlänge und Fensterlänge
nfft = 256;
% Overlap = window_size/2
numoverlap = nfft/2;
% Hann Fenster erstellen
win = Fenster(nfft,'hann');
k = fix((n-numoverlap)/(length(win)-numoverlap))
H = zeros(nfft);
% k. Segmente der Länge nfft transformieren
m = 1;
for i=1:k
    % Fensterung mit Hann window
    signal_win = signal(m:nfft+m-1) .* win;
    H(1:nfft) = fft(signal_win, nfft);
    % Betrag bilden
    H_pos0(1:(nfft/2)+1,i) = abs(H(1:(nfft/2)+1));
    % nächstes Segement
    m = m + numoverlap;
end

% Auflösung Spektrum
df=fs/n;
% Frequenzvektor
f = 0:df:fn;
% Zeitvektor
t = 0:Ts:(n-1)*Ts;
% Spektrogramm darstellen
imagesc(t,f,20*log10(H_pos0))
axis xy, colormap(jet)
ylabel('Frequenz [Hz]');
xlabel('Zeit [s]');
 


Du brauchst noch die Funktion Fenster()...die hatte ich dir ja aber schon geschrieben. Das Programm ist sicherlich nicht komplett...ich war etwas faul und schneide deshalb z.B. den letzten Messwert ab, wenn die Länge von Signal ungerade ist.

Edit: Das ist allerdings nur ein 2D Spektrum...ich habe aber keine Ahnung wie dass dann in 3D mit dBA auf der z-Achse aussehen soll.
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 08.08.2011, 21:15     Titel:
  Antworten mit Zitat      
Wenn du den Teil nach der for-Schleife hierdurch ersetzt, hast du das Spektrum nun auch in 3D. Ich hoffe, dass ist nach was du gesucht hast...

Code:

% Auflösung des Spektrum
df=fs/nfft;
% Frequenzvektor
f = [0:nfft/2]*df;
% Zeitvektor
t = [0:k-1]*numoverlap/fs;
% Spektrogramm darstellen
surf(t,f,20*log10(H_pos0));
colorbar;
axis xy, colormap(jet)
zlabel('Magnitude [dB]')
ylabel('Frequenz [Hz]');
xlabel('Zeit [s]');
axis([0, t(end), 0, f(end), -120, 50])
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Atmos_kk
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 93
Anmeldedatum: 23.05.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.08.2011, 09:52     Titel:
  Antworten mit Zitat      
so nur mal zum ansehen!

waterfall_diagram.jpg
 Beschreibung:

Download
 Dateiname:  waterfall_diagram.jpg
 Dateigröße:  37.63 KB
 Heruntergeladen:  1214 mal
spectrogram.jpg
 Beschreibung:

Download
 Dateiname:  spectrogram.jpg
 Dateigröße:  75.7 KB
 Heruntergeladen:  1209 mal
figure3.jpg
 Beschreibung:

Download
 Dateiname:  figure3.jpg
 Dateigröße:  47.94 KB
 Heruntergeladen:  1204 mal
figure2.jpg
 Beschreibung:

Download
 Dateiname:  figure2.jpg
 Dateigröße:  36.75 KB
 Heruntergeladen:  1167 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 19.08.2011, 09:57     Titel:
  Antworten mit Zitat      
Bei mir sieht die letzte Figure mit specgram() so aus...identisch mit Figure(3) ausser den getauschten Achsen.

specgram.GIF
 Beschreibung:

Download
 Dateiname:  specgram.GIF
 Dateigröße:  156.8 KB
 Heruntergeladen:  1192 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite Zurück  1, 2, 3  Weiter

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.