FFT Fast Fourier Transformation

Neue Frage »

marcinoo Auf diesen Beitrag antworten »
FFT Fast Fourier Transformation
Meine Frage:
Hallo,
ich hab folgendes Problem:
Mir liegt ein Sinussignal in diskreter Form von 20ms Länge vor. Dieses Signal hat eine minimale Frequenz von 50Hz, das heißt eine Periode passt genau in diese 20ms.
Aber das Signal ist auch mit höherfrequenten Anteilen überlagert.
Dieses Signal soll ich nun im Frequenzbereich untersuchen und alle Frequenzen die darin vorkommen angeben.
Um dies zu tun habe ich erst einmal ein Signal erstellt bei dem mir alle Frequenzen bekannt sind (siehe s im Matlabcode).


% close all
clc

f1 = 50;
f2 = 55;
f3 = 3000;

fs = 1000000;
t=0:1/fs:0.02; %andere Variante: t=0:1/fs:1;
x =length(t)
s = sin(2*pi*f1*t) + sin(2*pi*f2*t) + sin(2*pi*f3*t);
ls=length(s);


fmax = 1/(t(2)-t(1));
l = length(s);
df = (1/l)*fmax
fvec = 0:df:fmax-df;

figure
subplot(2,1,1);plot(t, s);subplot(2,1,2);plot(fvec, abs(fft(s))/l*2)

Also ich erstelle mir das Signal in diskreter Form, so wie ich es auch zum untersuchen bekommen würde.
wenn ich nun auf das Signal die FFT anwende bekomme ich folgendes Spektrum:

http://www10.speedyshare.com/files/21353084/download/pic1.jpg

Meine Ideen:
Wie man sieht ist der Anteil mit 55Hz nicht im Spektrum enthalten obwohl er ja in Wirklichkeit da ist
Wenn ich aber im Matlabcode folgende Zeile ändere: aus t=0:1/fs:0.02; mache ich t=0:1/fs:1;
Also ist mein Signal jetzt nicht 20ms sondern 1s lang. Dann erhalte ich folgendes Spektrum:

http://www10.speedyshare.com/files/21353222/download/pic2.jpg

Hier ist der Anteil von 55 Hz gut sichtbar.
Wie kann ich also mein Problem lösen? Ich habe das Signal, dass ich untersuche nur als kurzes, diskretes Signal von 20ms vorliegen und soll es mit einer Frequenzauflösung von 1Hz untersuchen. Zerbreche mir schon lange den Kopf, aber es klappt nicht
Für jede Hilfe wäre ich sehr dankbar :-)
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »