Forum: Analoge Elektronik und Schaltungstechnik Matlab: Spektrum aus Zeitsignal mit FFT


von ETStudent (Gast)


Lesenswert?

Hallo,

ich schreibe ein Skript, mit dem man das Spektrum eines beliebigen 
Zeitsignals geplottet bekommt. Ich nutze dafür die FFT von Matlab. Ich 
habe aber das Problem, dass mein Skript ungenau ist. Wenn ich 
beispielsweise ein Cosinussignal mit 50Hz angeben, wird mir im Spektrum 
nicht genau bei 50Hz ein peak angezeigt. Was kann ich tun oder mache ich 
falsch?

Hier der Code:
1
%FFT Beispiel anders programmiert
2
clc;
3
clear all;
4
5
%zeitvektor definieren
6
Startzeit = 0;
7
Abtastfrequenz = 600000; %Abtastdauer
8
Schrittweite = 1/Abtastfrequenz;
9
Endzeit = 40*10^(-3);
10
t = Startzeit:Schrittweite:Endzeit;
11
12
%Anzahl der Abtastpunkte
13
Abtastpunkte = length(t);
14
15
%Definition des Zeitsignals
16
Frequenz = 50;
17
y = cos(2*pi*Frequenz*t)+cos(2*pi*2*Frequenz*t)+cos(2*pi*3*Frequenz*t);
18
19
%plot des Zeitsignals
20
subplot(2,1,1)
21
plot(t,y);
22
title('Signal')
23
xlabel('Zeit (Millisekunden)')
24
grid on;
25
26
%FFT
27
AnzahlMesswerte = length(t)
28
AnzahlStuetzpunkteFFT = 2^nextpow2(AnzahlMesswerte*10)
29
Y = fft(y,AnzahlStuetzpunkteFFT)/AnzahlMesswerte;
30
31
%Definition der Frequenzachse
32
f = Abtastfrequenz*linspace(0,1,AnzahlStuetzpunkteFFT);
33
34
%plot des Spektrums
35
subplot(2,1,2)
36
plot(f,abs(Y(1:AnzahlStuetzpunkteFFT)));
37
xlim([0 400]);
38
grid on;

: Verschoben durch Admin
von meiner (Gast)


Lesenswert?

%Definition der Frequenzachse
f = Abtastfrequenz*linspace(0,1,AnzahlStuetzpunkteFFT)

frequenzachse geht nur bis zur halben abtastfrequenz, bzw von -f/2 bis 
+f/2

Wo ist denn dein peak?

von meiner (Gast)


Lesenswert?

Mehr Messzeit schadet auch nicht

von Plopp.. (Gast)


Lesenswert?

Ein kleine Ahnung zur Fouriertransformation und FFT im Speziellen sollte 
man bringen. Einfach eine Library aufrufen ist etwas an der unteren 
Grenze.

Als kleine Uebung :
-Was ist der Unterschied von einem Linienspektrum
   zu einem kontinuierlichen Spektrum ?
-Wodurch ist die Bandbreite und die Aufloesung bestimmt ?
-Was sind die Eigenfunktionen der Fouriertransformation ?

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
Noch kein Account? Hier anmelden.