WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Noch eine FFT Frage

 

Der Wolf
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 24.06.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2009, 15:40     Titel: Noch eine FFT Frage
  Antworten mit Zitat      
Hallo,

ich habe schon ein wenig rumgesucht, aber vielleicht einfach nicht an der richtigen Stelle oder mit den richtigen Suchbegriffen.

Ich versuche mir ein Signal im Frequenzbereich anzeigen zu lassen mittels FFT. Bei den Signalen handelt es sich mehr oder weniger immer um Signale gleicher Länger, die mit einer Samplingrate von 48000 aufgenommen wurden und die das Geräusch darstellen das ein Gegenstand macht, wenn er auf den Boden fällt. Ich kann in meinem Signal auch ziemlich genau sagen, wo das Geräusch beginnt und wo es aufhört und möchte nun über den Zeitraum eine FFT machen und mir nur die Werte für die Frequenzen von 200 - 4000 Hz ausgeben lassen. Die Analyse würde über knappe 170 Beispiel Wav Files gehen und bei jeder Analyse sollen die gleichen Frequenzen mit ihren entsprechnenden Werten ausgegeben werden und zwar in Vektoren gleicher Länge.

Ich habe es schon mit der Methode versucht die man in der MatLab Hilfe unter dem Stichwort FFT findet, als auch einfach das Signal genommen und in die Funktion FFT selbst gesteckt und geguckt was raus kommt. Allerdings kommen da teilweise sehr deutliche Unterschiede raus.

Ich bin im Bereich FFT nicht so fit im Moment und hoffe hier auf eine schnelle Hilfe oder ein paar gut gemeinte Tipps.

Schonmal vielen Dank

Gruß
Der Wolf
Private Nachricht senden Benutzer-Profile anzeigen


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 24.06.2009, 15:44     Titel:
  Antworten mit Zitat      
Beim Thema "erhebliche Unterschiede" denke ich vornehmlich an Unterschiede eines Faktors von ca. 6,3. Der tritt auf wenn man vergisst zwischen "f" und "omega" umzurechnen. (2 mal Pi ).

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Der Wolf
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 24.06.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2009, 15:57     Titel:
  Antworten mit Zitat      
Ich kann ja mal ein Beispiel anhängen.

Die erste Graphik ist das ursprüngliche Signal wobei die Balken angeben, wo das Geräusch beginnt und wo es aufhört.

Die 2te Graphik wurde durch:
Code:

   % Compute discrete fourier transformation of signal.

   dur = sound(end) - sound(1);
   nfft = 2 ^ nextpow2(dur);
   Y    = fft(newdata(sound(1) : sound(end)), nfft) / dur;

   f = sampleRate / 2 * linspace(0, 1, nfft / 2 + 1);

        plot(f, 2 * abs(Y(1 : nfft / 2 + 1)))
 


berechnet und angezeigt und die letzte ist durch

Code:

   Y2       = fft(newdata(sound(1) : sound(end))) / dur;
        plot(2 * abs(Y2))

 


entstanden.

Und die beiden Frequenzbereiche unterscheiden sich zumindest sehr stark in der Ausgabe bei 5000 Hz Wink

Gruß
Der Wolf

Output.jpg
 Beschreibung:

Download
 Dateiname:  Output.jpg
 Dateigröße:  102.47 KB
 Heruntergeladen:  979 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 25.06.2009, 13:32     Titel:
  Antworten mit Zitat      
Ja nun, das ist erstens ein Effekt weil in dem Beispiel nicht alle vorhandenen Daten gePLOTtet werden und zweitens sind diese hohen Frequenzen technisch irrelevant. Das hat was mit der Sample Rate zu tun. Hier sträubt sich mein Gerhirn gerade tief vergrabene Wissensfragmente aus der Studienzeit wieder freizugeben. Hatte das was mit dem Nyquist Kriterium zu tun?

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Der Wolf
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 24.06.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.06.2009, 13:51     Titel:
  Antworten mit Zitat      
Das kann alles sein, ich habe mich jetzt auch nicht soo tief in dieses Thema vergraben während des Studiums.

Ich habe mir nun anhand von f angeguckt welche Werte von Y auf den Bereich von f zwischen 1 und 4000 abgebildet werden. Das sollten ja hoffentlich immer meine gesuchten Frequenzen sein, wenn ich die erste Methode, also die aus der Matlab Hilfe, auf beliebige Signale anwende.

Gruß
Der Wolf
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.