Non-Uniform FFT zur Schwingungsanalyse

Gast #3181800
Lesenswert?

Hallo,

Ich befasse mich im Moment mit dem Thema FFT und Schwingungsanalyse. 
Leider Blicke ich da nicht wirklich durch.

Angenommen ich habe ein Datenset von Zeiten und zugehörigen 
Accelerometerdaten. Die Zeitstempel sind nicht äquidistant. Ich möchte 
gerne die Frequenzen der Schwingung extrahieren.

Soweit ich das verstehe kommt hier eine Non-Uniform FFT 
(NUFFT,NFFT,USFFT) zum Einsatz. Allerdings Fehlt mir ein Algorithmus wie 
ich dabei vorgehen muss. Alles was ich immer lese sind ewig lange 
Formeln bei denen keiner die Variablen erklärt. Ich bräuchte einfach 
einen Step-by-Step Guide zur Anwendung einer NUFFT. Sowas in der Form:

1.Daten so und so aufbereiten
2.Berechnung
3.Output interpretieren

Kennt sich einer von euch damit aus, und kann mir einen solchen Guide 
nennen, oder eine Quelle?

Besten Dank,
Mahu
#3184072
Lesenswert?

Yo, ich hab hier mal eine NUDFT gebastelt, i.e. eine DFT für nonuniform 
samples. Die samplezeitpunkte sind die tt, f sind die samples, das 
Spektrum der nonuniform samples heißt spf und fr sind die äquidistant 
interpolierten samples. Die sind auch in blau im angehängten .jpg zu 
sehen, in rot die Originalsamples. Ordentlich aufwendig die Chose, fürs 
schnelle Rechnen is das nix.

War Spaß gewesen.

Cheers
Detlef


clear
%zufaellige Samplezeitpunkte von 0 bis 1 sec
nn= 1500 ;
tt=rand(1,nn);
tt=sort(tt);
tt=tt(:);

%das sind die Parameter der gesuchten Zeitfkt.
T1=0.1;ph1=0*pi;
T2=0.2;ph2=0*pi;
T3=1/7;ph3=0*pi;

%Jetzt die Zeitfkt. zu den Samplezeitpunkten berechnen
f=sin(2*pi*tt/T1+ph1)+sin(2*pi*tt/T2+ph2)+sin(2*pi*tt/T3+ph3);

plot(tt,f,'b.-');

%FFT Fensterbreite, ist aber fest auf 1024
n=1024;
% Das wird die Matrix der Basisfkt. der FFT
%ausgerechnet an den Samplezeitpunkten
A=zeros(length(tt),n/2+1);
for(k=1:n/2+1)
  A(:,k)=exp(j*2*pi*(k-1)*tt);
end;
%conj. komplex ergänzen
A=[A conj(fliplr(A(:,2:512)))]/n;

spf=inv(A'*A)*A'*f;

fr=real(ifft(spf));

plot((0:1023)/1024,fr,'b.-',tt,f,'r.');

return
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren