|
|
FFT in Matlab und Mathcad |
|
ERM |
Forum-Anfänger
|
|
Beiträge: 17
|
|
|
|
Anmeldedatum: 26.09.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 7.7.0(R2008b)
|
|
|
|
|
|
Verfasst am: 26.09.2009, 14:55
Titel: FFT in Matlab und Mathcad
|
|
|
|
|
Hallo erstmal,
bin neu im Forum also entschuldige ich mich wenn das hier nicht her gehört.
Ich soll ein Programm von Mathcad in Matlab umschreiben. Neben einigen Problemen bei Zeitabhängigen Funktionen hab ich einen großen unterschied in der FFT festgestellt. Ich weiss nur nicht ob es ein Fehler meiner seits ist oder nicht. Vielleicht hat jeman Erfahrung damit.
Gegeben ist ein 234 langer Vektor der aus mehreren Rauschenarten besteht und dann analysiert werden soll.
In MATLAB mach ich das mit :
XIF_2_11=fft(XI_2v_11);
und im MathCAD ist es mit:
XIF_2=cfft(XI_2v);
Vorgegeben.
das Matlab Ergebnis ist nicht nur um das 10fache größer, es ist auch genau gespiegelt. Das wird zum kleinen Problem da ich im weiteren Verlauf die Position des Maximalwert brauche. Ich trickse ein wenig und drehe den Vektor einfach mit fliplr.
Ich würde nur gern Wissen, ob ich einen Fehler gemacht habe oder woran das liegen könnte?
Wenn ich eine Rücktransformation mache, sind beide Ergebnisse auch wieder gleich. Oder hab ich einfach etwas an der DFT übersehen?
ERM
|
|
|
|
|
Andreas Goser |
Forum-Meister
|
|
Beiträge: 3.654
|
|
|
|
Anmeldedatum: 04.12.08
|
|
|
|
Wohnort: Ismaning
|
|
|
|
Version: 1.0
|
|
|
|
|
|
Verfasst am: 28.09.2009, 08:02
Titel:
|
|
Das schwierige für mich ist zu verstehen, was MathCAD mit dem CFFT Befehl tut. Ich aber gerade mal geschaut und konnte die Online Doku nicht so schnell finden.
Übliche Überraschungen bei FFT mit MATLAB :
o Skalierungen um Pi oder 2*Pi. (Omega vs. f)
o Unklarheit, dass Signale die nicht 2^n Elemente haben aufgefüllt werden.
Andreas
|
|
|
ERM |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 17
|
|
|
|
Anmeldedatum: 26.09.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 7.7.0(R2008b)
|
|
|
|
|
|
Verfasst am: 28.09.2009, 08:51
Titel:
|
|
so wie ich die Hilfen von beiden Programmen verstanden habe. Macht in Matlab die FFt das selbe wie die cfft in Mathcad. Unzwar eine DFT(Die fft in Mathcad ist eine richtige FFT, in Mathcad bin ich neu. Aber es gibt dort wirkliche Funktionsabhängigkeiten, was da umschreiben nicht einfacher macht:-))
Der Vektor ist 234 Werte lang und ich lasse im Matlab die FFT auch mit 234 Werten machen. Direkt danach brauche ich nähmlich die genaue Position des maximum. Und das ist genau gespiegelt:-)
hatte es auch mit einem Hann-Window versucht, aber das hat alles ganz anders gemacht.
Ein weiterer Unterschied scheint bei der Berechnung von Skalraprodukten von Imaginären Zahlen zu sein, aber da schraube ich noch dran.
ERM
|
|
|
|
|
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 - 2025
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.
|
|