Hallo,
ich habe nachfolgendes Problem bereits in das Octave-Forum gestellt. Da sich dort aber keine Antwort finden lässt, möchte ich gerne die Matlab-User um Rat fragen. Lieber Admin, ich hoffe das geht in Ordnung?
Folgendes Problem: ich habe eine Messreihe von 1024 (diskreten) Punkten und möchte aus dieser eine Frequenz berechnen. Ich kann mich noch schwach daran erinnern, dass dies mittels fft möglich sein sollte, bin aber auf diesem Gebiet eher Ahnungslos und benötige darum eure Hilfe. Das "umfassende Beispiel" habe ich mir schon angesehen, doch leider vertsehe ich nur -Bahnhof- Embarassed
So wie ich das verstehe, erzeugt mir die fft aus den diskreten Punkten eine Funktionsreihe aus Sin und Cos. Und daraus sollte irgendwie die Frequenz berechenbar sein. Aber wie?
Wie ihr im 2.Plot sehen könnt, kann ich daraus keine (eindeutige) Frequenz ablesen. Warum?
Der ertse Plot zeigt die Messdaten. Da diese alle positiv sind, habe ich sie mit 'detrend' eingelesen. Mach das Sinn?
Ich hoffe ihr könnt mir weiterhelfen. Vielen Dank...
Viele Grüße,
der Peter
Unbenannt.png
Beschreibung:
Alle 6 Plots aus dem "umfassenden Beispiel". Plot1: Original Messdaten, Plot2: fft
d.h. es gibt ein größer dc Komponent und viele kleine ac komponente, mit plot(w(:,3)) ist es besser zu sehen.
da die Dateien ganz schlecht aussehen, wenn du fft einmal guck möchtest, kannst du den folgender Code testen.
Code:
Fs = 280*4;
L = 56000/4;
T = 1/Fs;
t = (0:L-1)*T;
y = sin(2*pi*280*t) + sin(2*pi*50*t)+ randn(size(t));
Y = fft(y)/L;
plot(Fs/2*linspace(0,1,L/2+1),2*abs(Y(1:L/2+1)))
die Funktion detrend hat einfach die konstant offset gelöscht, plot ohne DC Komponent hat gleiche Ergebnisse.
Code:
y = w(:,3);
Y = fft(y)/L;
plot(Fs/2*linspace(0,1,L/2+1),[0;2*abs(Y(2:L/2+1))],'b*') hold on
y = detrend(w(:,3));
Y = fft(y)/L;
plot(Fs/2*linspace(0,1,L/2+1),2*abs(Y(1:L/2+1)),'r-');
woher kommen die Dateien, bist du sicher, dass eine Spitze von 1 kHz darin ist?
Peter159
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 27.06.2014, 18:04
Titel:
Die Daten stammen aus einem (Zeitlupen-)Video einer pulsierenden Flamme. Es wurde die Fläche der Flamme in jedem Einzelbild berechnet und in der Tabelle in Spalte 3 abgelegt. Ich bin mir nicht sicher mit den 1kHz aber die Vermutung liegt nahe.
Kann es sein, dass ich einfach mehrere Frequenzen als Ergebnis habe? Seht euch bitte den Plot im Anhang an. Ich würde aus dem rechten Plot (links sind die Messdaten) ablesen, dass ein "Frequenzband" zwischen 0 Hz und 1 kHz liegt. Also pulsiert die Flamme mit 0Hz bis 1kHz??? Kann das Sinn ergeben
für ganz viele Signale auf der Welt, spielen die Niederfrequenz Rauschen eine wichtige rolle, deshalb die Ergebnisse sehen noch gut aus. Es muss so sein.
warum machst du die fft für solche Signale? Das macht kein Sinn, gibt es besondere Gründe dafür?
Peter159
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 29.06.2014, 12:23
Titel:
Ich habe leider von dieser Thematik wenig Ahnung. Mir wurde nahegelgt, dass ich doch die Frequenz des Auf- und Abbauens der Flamme berechnen kann. Die FFT war meiner Meinung nach das probate Mittel dafür. Irgendwie hatte ich die Hoffnung das ich EINEN Wert erhalte, der quasi die gemittelte Frequenz des Flackerns wiedergibt.
Einstellungen und Berechtigungen
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.