Hallo zusammen,
ich hab da ein Problem. Und zwar möchte ich ein Wasserfalldiagramm einer FFT erstellen. Die Messdaten habe ich in einer Matrix (4x251172) mit 2 Zeilen Messdaten und 1 Zeile die Drehzahl und noch eine Zeile Drehzahl die ich aber nicht benötige.
Das Wasserfalldiagramm soll dann die Frequenzen und Amplituden über der Drehzahl zeigen.
Das einzige was mir dazu bisher eingefallen ist, ist die Matrix aufsplitten, immer die Messwerte von einem Drehzahlbereich von z.B. 100 min^-1 in eine separate Matrix packen und dann davon eine FFT machen. Das dann wieder zu einer Matrix zusammen bauen und plotten.
Jetzt meine frage gibt es eine elegantere Lösung?
Wie kann ich meine Matrix entsprechend der Werte der Drehzahl aufteilen?
So speichert er jede Spalte in der die dritte Zeile deiner Drehzahl entspricht in eine neue Matrix! Die Variable drehzahl kannst du wie erforderlich gestalten!
hi das scheint genau das zu sein was ich vorerst brauche.
jetzt komme ich aber nicht drauf wie ich einen bereich von Drehzahlen da raus bekomme.
Also ich möchte immer alle Werte im Bereich von 100 Umdrehungen in eine neue Matrix schreiben. Und das sind dann auch immer unterschiedlich viele.
ok vielen Dank für die Hilfe.
habe aber festgestellt das das vielleicht nicht so das schlauste vorgehen für eine FFT ist, da ja so die Reinfolge der Messwerte bei schwankender Drehzahl geändert wird. Habe das jetzt wie folgt gelöst.
fs = 1/Ts; % Samplingfrequenz/Abtastfrequenz
f=0:fs/(N-1):fs/2; % Verktor für Frequenzachse
ifrem(N,2) ~= 0% Es wird eine gerade Anzahl von Schritten benoetigt die FFT füllt dann automatisch mit Nullen auf
N = N+1;
end
Nfft = floor(N/100); % Aufteilen der Messpunkte in 100 Teilbereiche und Abgerundet
ifrem(Nfft,2) ~= 0% Es wird eine gerade Anzahl von Schritten benoetigt, die FFT füllt dann automatisch mit Nullen auf
Nfft = Nfft-1;
end
ffft=0:fs/(Nfft-1):fs/2; % Erzeugung Frequenzachse für Wasserfalldiagramm
% Brechnungen für Wasserfalldiagramm%%%%%%
WF1 = zeros(100 , Nfft/2); %Vordefinition der größe der Matrix
WF2 = zeros(100 , Nfft/2); %Vordefinition der größe der Matrix
n_achse = zeros(100,1); %Vordefinition der größe des Vektors
% FFT Analyse für die einzelnen Teilbereiche for k = 0:1:99
Im Bild seht ihr wie es jetzt aussieht.
und noch eine Frage kann ich in meinem Programm in den ersten Zeilen beim aufrufen die Zahl 018 durch eine Variable x ersetzen damit ich wenn ich eine andere Messung laden möchte nicht alle 5 Einträge ändern muss. oder Vielleicht besser gleich den ganzen Text mesung018.
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.