Hallo, ich hab ein verständnisproblem was FFT betrifft. Meine Aufgabe war eigentlich ein analoges Signal mit 400 Khz abzutasten und und 2000 Samples in einem Diagram zu zeigen (in Schleife). Ich hab dazu 3 Graphen zugefügt die die Amplituden-Betrag, logarithmische Amplitude(Magnitude) und Phase des analogen Signals zeigen. Das Signal enthält einen 40kHz Frequenz wobei ich auch einen Peek in ungefähr 39 kHz im FFT Graphen sehen kann. hier ist die Funktion die ich benutze: %%___________________________________________________________ function [f,p, betrag, mag] = localDaqfft(data,Fs,blockSize) %%Fs ist die Abtastfrequenz = 400 kHz % fft von data rechnen. xFFT = fft(data); % data enhält die 2000 Spannungswerte xfft = abs(xFFT); index = xfft == 0; xfft(index) = 1e-17; p = angle(xFFT); p = p * 180/pi; betrag = xfft; mag = 20*log10(xfft); mag = mag(1:blockSize/5); % blockSize ist 2000 betrag = betrag(1:blockSize/5); p = p(1:blockSize/5); f = (0:length(mag)-1)* Fs/blockSize; f = f(:); %%_____________________________________________________________ Die Frage ist nun ob ich alles richtig tue? Ich hab bemerkt das die Frequenzamplituden zu hoch sind. Zum Beipiel wenn das analoge Signal die größte Amplitude bei 1 ms besitzt (ungefähr 1,7V),ist die Amplitude der Frequenz Peek bei 40 kHz 140, und die der magnitude 45 dB.
Hallo, ob alles richtig funktioniert kannst du ja mit einem einfachen Testsignal prüfen. Erzeuge dir einen Datensatz mit einem Sinussignal konstanter Frequenz mit vollständigen Perioden und fester Amplitude und dann lass deine Analyse drüber laufen. branadic
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.