FFT-MATLAB Amplitude des Zeitsignals

OP #1124582
Lesenswert?

Hallo!

Ich habe folgendes Problem. Ich soll einen Sinusgenerator an einen 
Biosignalverstärker (Daten werden in MATLAB aufgenommen) anhängen und 
diese Daten in MATLAB mit Hilfe einer FFT analysieren und daraus die 
Amplitude des ursprünglichen Sinus (Zeitsignal) ablesen können.

Prinzipiell ist das ja nicht so schwer, allerdings weißt der 
Sinusgenerator "ziemliche" Schwankungen auf. Habe dazu ein File als 
Anhang, wo dies ersichtlich ist. Dadurch entspricht die Amplitude nicht 
wirklich der Amplitude des Zeitsignals: das Maximum wäre ca. 12*10^4 
dies entspricht 120mV, eingespeist habe ich aber einen Sinus mit 200mV 
Amplitude.

Ich habe ein Bingröße (bzw. Spalten, ich hoffe es weiß jeder was ich 
damit meine, weiß nicht wie das tatsächlich heißt) der FFT von 0.1Hz, 
wenn ich diese vergrößere kommt wirklich nur ein Peak vor, und dieser 
entspricht relativ gut der Amplitude des Zeitsignals.
Diese Bingröße sollte sich aber nicht ändern, jetzt muss ich das 
irgendwie anders hinbekommen.

Jetzt habe ich mir gedacht, dass ich die einzelnen Werte der FFT rund um 
den Peak (im Bild bei 1000Hz) aufsummiere und so die tatsächliche 
Amplitude des Zeitsignals zu erhalten. Allerdings kommt da ein viel zu 
hoher Wert heraus.

Vielleicht könnte mir da irgendwer helfen, um auf die tatsächliche 
Amplitude rückschließen zu können. Wäre sehr dankbar dafür!

Noch zur Info, wie ich die FFT in MATLAB realisiert habe, dies sollte 
eigentlich passen:
1
Fs = 19200;                   % Sampling frequency [Hz]
2
T = 1/Fs;                     % Sample time [s]
3
L = 19200*10;                 % Length of signal [samples]
4

5
NFFT = L;
6
fft_data = fft(data,NFFT)/L;      %calculate FFT
7
abs_fft_data = 2*abs(fft_data);   %calculate absolute values

Schoene Grueße
Angehängte Dateien:
OP #1129833
Lesenswert?

Mike C. wrote:
> In Matlab berechnet die FFT() Funktion nur die Koeffizienten.
>
> cn = abs(fft(data,NFFT))/L;
>
> Die Amplitude errechnet sich aus 2*cn für n=1...usw.
> Aber Achtung. Der Gleichanteil c0 wird nicht verdoppelt.


Ja das habe ich eh so gemacht. Auch mit dem Faktor *2.

Es geht jetzt rein darum, wie ich die einzelnen Koeffizienten rund um 
den Peak aufsmmieren darf, um auf meine Ausgangsamplitude zu kommen?

Schoene Grueße

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