|
|
Funktionsamplitude aus FFT ermitteln |
|
Hiller |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.02.2008, 12:01
Titel: Funktionsamplitude aus FFT ermitteln
|
|
Hallo, ich habe ein kleines problem mit matlab.
Ich habe eine stark verrauschte Sinusfunktion von der eine fft gemacht werden soll. Das klappt auch alles perfekt, allerdings möchte ich aus der FFT die Amplitude der Sinusschwingung ermitteln.
Also wenn der Sinus z.B. eine Amplitude von 2 hat sollte die FFT auch einen Peak von 2 ausgeben. Die ausgegebenen Werte sind immer deutich höher.
Wie kann man das machen?
Vielen dank im vorraus.
MfG
Andreas
|
|
|
|
|
nschlange |
Ehrenmitglied
|
|
Beiträge: 1.320
|
|
|
|
Anmeldedatum: 06.09.07
|
|
|
|
Wohnort: NRW
|
|
|
|
Version: R2007b
|
|
|
|
|
|
Verfasst am: 24.02.2008, 23:29
Titel:
|
|
Hi,
aus der Hilfe zu
:
Also dividiere die FFT durch die Signal-Länge. ( Y=fft(y,NFFT)/L )
Kommt aber glaube ich auch drauf an, ob, und wenn ja, wie Du
das Signal fensterst.
Siehe vielleicht auch hier:
http://www.mathworks.de/matlabcentr.....reader/view_thread/152811
Edit:
Ein Stückchen Code wie Du es konkret machst wären sicherlich
nicht schädlich.
_________________
Viele Grüße
nschlange
"Chuck Norris ejakuliert fluessigen Stahl!"
|
|
|
Hiller |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.02.2008, 11:15
Titel:
|
|
Hallo und erstmal vielen dank. Ich habe noch ein paar fragen.
1. Woher kommt die abweichung? Auch in dem Programm das du geschickt hast kommt nicht die exakte Amplitude raus. Gibt es eine möglichkeit das zu korrigieren?
2. Was bewirkt die zeile
3. Einfach nur durch die Länge des Signals zu teilen klappt bei mir nicht, ich muss nur 2*N teilen. Ist in meinem fall die Variable N die richtige? Oder habe ich dort einen Denkfehler?
Jetzt noch ein teil von meinem Code:
|
|
|
Hiller |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.03.2008, 21:44
Titel:
|
|
Die Abweichung konnte ich mit einer geeigneten Fensterung minimieren, das Programm läuft jetzt perfekt. Vielen Dank für die hilfe!
Nur den Befehl nextpow2 verstehe ich nicht, was bewirkt der?
|
|
|
Gast |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.03.2008, 11:02
Titel:
|
|
Der Befehl läßt Matlab die nächste Zahl, die eine 2er Potenz ist zu deiner Signallänge finden.
Beim FFT Befehl gibst du diese dann mit an. Dadurch erweitert er dein Signal auf diese Länge. FFT funktioniert bei Signallängen von 2er Potenzen am schnellsten. (salopp gesagt)
|
|
|
Xenontwo |
Forum-Anfänger
|
|
Beiträge: 11
|
|
|
|
Anmeldedatum: 05.11.07
|
|
|
|
Wohnort: Böblingen
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.04.2008, 13:27
Titel:
|
|
Hallo!
Hab auch nochmal ne Frage, passt hier eventuell rein:
Ich versteh beim Programmieren den Zusammenhang zwischen der Blocklänge und der FFT Länge nicht ganz.
Ich habe z.B. 1,2 Mio Werte, die mit einer fs=32768 Hz abgetastet wurde. Jetzt möchte ich aus diesen Werten eine FFT bilden. Was für eine Blocklänge nehme ich da? Nehme ich da einfach die Anzahl der Werte? Bin total verwirrt... danke!
P.S. Hab mir auch schon die Beispiele angeschaut, aber ich versteh diesen Grundsätzlichen zusammenhang nicht!
|
|
|
steffi |
Forum-Century
|
|
Beiträge: 149
|
|
|
|
Anmeldedatum: 07.03.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.04.2008, 15:50
Titel:
|
|
Hast du dir das Beispiel von Nils in der "Skripte Ecke" schon angeschaut? Damit solltest du einige Zeit "rumspielen". Also die Blocklänge variieren, Ergebnis anschauen usw. Dann kann ich dir noch
empfehlen. Da kannst du ein Sinussignal, das du dir selbst generierst einlesen und verschiedene Algorithmen mit unterschiedlichen Blocklängen anwenden und dir das Ergebnis sofort als plot anschauen. Wenn du die fft verstehen willst musst du schon bissel Zeit investieren. Mit Messwerten ist es leider nicht so einfach, wie in der Vorlesung mit Sinus mit überlagertem Rauschen
Viel Glück!
_________________
Wenn ich bei der Arbeit mit Computern eins gelernt habe dann das ich einem Computer nur soweit traue wie ich ihn werfen kann.
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|