www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Englisch
  Status Grammatik
  Status Lektüre
  Status Korrekturlesen
  Status Übersetzung
  Status Sonstiges (Englisch)

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Matlab" - FFT
FFT < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

FFT: Frequenzanalyse
Status: (Frage) beantwortet Status 
Datum: 14:23 Mi 10.03.2010
Autor: marcinoo

Aufgabe
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:

[Externes Bild http://www10.speedyshare.com/files/21353084/download/pic1.jpg]


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:

[Externes Bild 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 :-)

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.


        
Bezug
FFT: Abtastung
Status: (Antwort) fertig Status 
Datum: 10:44 So 14.03.2010
Autor: Infinit

Hallo marcinoo,
zunächst einmal willkommen hier bei der Vorhilfe.
Deine Rechnung ist schon okay, aber Du hast das Prinzip der Wechselwirkung zwischen Zeit- und Frequenzgrößen bei der FFT noch nicht verstanden. Der Kehrwert der Dauer des Zeitsignals gibt Dir im Frequenzbereich die Frequenzauflösung an. Bei einem Signal, das Du über 20 ms abtastest, beträgt die Frequenzauflösung 50 Hz. Da 3000 Hz ein Vielfaches davon ist, siehst Du in Deinem Plot den 50-Hz-Peak und den 3000-Hz-Peak.
Anders ist die Sache, wenn Du das Signal über einen Zeitraum von 1 Sekunde abtastest. Dann beträgt die Frequenzauflösung 1 Hz und das ist der Grund, weswegen Du nun auch den 55-Hz-Peak siehst.
Mache doch mal folgendes zur Kontrolle: Taste das Signal über 200 ms ab, dann beträgt die Frequenzauflösung 5 Hz und der 55-Hz-Peak sollte sichtbar sein.
Viele Grüße,
Infinit

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.englischraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]