Gast
#1919772
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.
