|
|
Funktion aus einem Plot bestimmen bzw. aus einem Vektor |
|
Daniel S |
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 24.11.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.11.2020, 14:45
Titel: Funktion aus einem Plot bestimmen bzw. aus einem Vektor
|
|
Hi Leute,
ich verzweifle seit über einer Woche an folgendem Prolem:
Ich habe eine Spannung, dessen Sinus stark von einem idealen Sinus abweicht, mit einem Oszilloskop gemessen und mir auf einen USB-Stick ausgeben lassen. Ich habe die Messwerte bereits als 2 Spaltenvektoren in den Workspace und als .mat Datei integrieren können.
Ich möchte eine FFT durchführen, hierfür benötige ich eine Funktion aus den gemessenen Werten. Es handelt sich um ca 150.000 Messwerte pro Vektor. Im besten Fall soll eine Summe aus Sinusschwinungen gebildet werden. Gibt es eine Möglichkeit die Funktion direkt im Code zu erzeugen oder ggf. über die plot tools?
Wenn ihr noch mehr Infos braucht, fragt gerne nach.
Für Eure Hilfe wäre ich sehr dankbar!!!
Beste Grüße,
Daniel
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 24.11.2020, 14:58
Titel:
|
|
Hallo,
für eine FFT brauchst du doch eigentlich "nur" Daten und keine Funktion?
In der Doku wird zwar oft eine Funktion genutzt, aber in erster Linie als Ersatz für Daten. Du kannst z.B. das Beispiel "Noisy Signal" aus der Doku von
fft
verwenden und direkt an der Stelle "Y = fft(X)" loslegen. Du musst nur noch L und Fs passend definieren.
Grüße,
Harald
P.S.: bitte keine Doppel-Posts.
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Daniel S |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 24.11.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.11.2020, 15:35
Titel:
|
|
Hallo Harald,
vielen Dank für deine schnelle Antwort!
Über dieses Beispiel habe ich es bereits versucht. In diesem Beispiel wird aber über die Funktion Y=fft(X), bzw. über X = S + 2*randn(size(t)); die Funktion "S = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);" gerufen. Genau hier ist mein Problem, da ich nicht weiß wie ich statt S meine Messwerte einspeisen kann.
Ich hoffe mein Problem ist verständlich und vielleicht hast du eine Lösung parat.
Danke und beste Grüße,
Daniel
|
|
|
Daniel S |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 24.11.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.11.2020, 15:37
Titel:
|
|
Nochmal eine Ergänzung zu meinem Problem, ich möchte die FFT durchführen um mit anschließend die Oberscwhingungsanteile des Signals ausgeben zu lassen.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 24.11.2020, 16:17
Titel:
|
|
Hallo,
X sind deine Messwerte, und S brauchst du an sich nicht. Du bekommst ja schon von X das Spektrum.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Daniel S |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 24.11.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.11.2020, 16:38
Titel:
|
|
Hallo Harald,
vielen Dank für deine Hilfe.
Die Werte können zwar eingefügt werden, aber wenn ich die Signallänge mit 130000 initialisiere (da 130000 Werte) habe ich einen Strich auf der x-Achse der quasi direkt über der y-Achse liegt. Wenn ich die beiden Parameter nicht verändere aber unterschiedliche Werte für mein X verwende, erhalte ich quasi die gleiche Funktion.
Grundsätzlich ist das Problem, die Grundschwingung mit den höherfrequenten Oberschwingungen (Harmonischen) als plot ausgeben zu lassen.
Ich hoffe du kannst mir dabei helfen.
Beste Grüße,
Daniel
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 24.11.2020, 17:11
Titel:
|
|
Hallo,
ich kann dem nicht folgen, insbesondere nicht was "einen Strich auf der x-Achse der quasi direkt über der y-Achse liegt" heißt, ganz zu schweigen von warum das passiert. Ein Code-Beispiel, idealerweise anhand von Beispieldaten nachvollziehbar, wäre hilfreich.
Zudem kann dies hilfreich sein:
https://de.mathworks.com/matlabcent.....-original-signal-from-fft
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
|
|
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.
|
|