|
patalmqx |
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 08.05.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.05.2013, 11:33
Titel: falsche Amplitude DFT
|
|
|
|
|
Hallo Freunde der Mathematik,
ich versuche mich über die DFT an die FFT heranzutasten, und zwar mit der Hilfe von Matlab. Ich habe mir eine einfache Funktion dafür ausgesucht:
http://www.imgbox.de/show/img/M1QKEpvNzG.JPG
http://www.imgbox.de/show/img/loBZH67QaI.png
Per Handrechnung bin ich über die Fourierreihen zu folgendem Amplitudenspektrum gelangt, was für mich jetzt auch erstmal logisch aussieht:
http://www.imgbox.de/show/img/7lvdHxAdCF.png
Mit HöMa 2 von Vachenauer habe ich folgenden DFT Code versucht:
Der Plot des Spektrums liefert jedoch nur 1/2 so hohe Amplituden..ich habe nach langer Suche etwas von einer Multiplikation der Amplitude mit Faktoren zum Erhalten der Energie (?) gefunden. Wirklich schlau bin ich daraus leider noch nicht geworden. Kann mich jemand erhellen?
Danke!
Beschreibung: |
|
Download |
Dateiname: |
funkt.JPG |
Dateigröße: |
12.8 KB |
Heruntergeladen: |
1169 mal |
Beschreibung: |
|
Download |
Dateiname: |
signal.png |
Dateigröße: |
18.01 KB |
Heruntergeladen: |
1201 mal |
Beschreibung: |
|
Download |
Dateiname: |
amplitudenspektrum.png |
Dateigröße: |
7.66 KB |
Heruntergeladen: |
1171 mal |
|
|
|
|
|
DSP |
Forum-Meister
|
|
Beiträge: 2.117
|
|
|
|
Anmeldedatum: 28.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 10.05.2013, 11:58
Titel:
|
|
Da ich nicht weiß, was die Funktion dftmtx macht, wäre es nur raten. Bei der matlab FFT Version ist es folgendermaßen. Man erhält ein zweiseitges Frequezspektrum von -fs/2...0...+fs/2. Bei einer 2^x Anzahl an Messwerten, was ja für eine FFT erforderlich ist, kommen der Gleichsignal Anteil wie auch die Nyquistfreq. (fs/2) nur einmal in dem Outputvektor der FFT vor. Die restlichen Werte sind konjugiert komplex zueinander und haben eben nur die halbe Amplitude. Will man nur den positiven Freq.bereich darstellen, muss eben anders skaliert werden. Siehe folgende Funktion:
|
|
|
patalmqx |
Themenstarter
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 08.05.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 12.05.2013, 09:06
Titel:
|
|
Die dftmtx(n) erzeugt die Fouriermatrix der Größe nxn, die in der DFT benötigt wird. In HöMa 2 von Vachenauer wird diese auch verwendet. http://www.mathworks.de/de/help/signal/ref/dftmtx.html
Ich versuche mal, Deinen Code zu verstehen.
Im Microcontroller.net Forum meinte jemand, meine DFT Ergebnisse seien korrekt und lediglich meine Handrechnung hat zu zu großen Amplituden geführt. Mit den händisch berechneten Koeffizienten kann ich jedoch die exakte Ausgangsfunktion durch Einsetzen in die Fourierreihe erhalten..
Beschreibung: |
|
Download |
Dateiname: |
ber2.PNG |
Dateigröße: |
28.49 KB |
Heruntergeladen: |
1195 mal |
Beschreibung: |
|
Download |
Dateiname: |
ber1.PNG |
Dateigröße: |
12.73 KB |
Heruntergeladen: |
1216 mal |
|
|
|
DSP |
Forum-Meister
|
|
Beiträge: 2.117
|
|
|
|
Anmeldedatum: 28.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 15.05.2013, 11:11
Titel:
|
|
So fern keine Leakage auftritt muss die Amplitude im Betragsspektrum die Amplitude des Testsignals zeigen. Nur bei Leakage wird die Amplitude kleiner sein...
Wie du hier siehst stimmt die Amplitude im Betragsspektrum mit dem Testsignal y1 + y2 überein.
|
|
|
|
|
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.
|
|