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

Funktion aus einem Plot bestimmen bzw. aus einem Vektor

 

Daniel S
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 24.11.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.11.2020, 15:45     Titel: Funktion aus einem Plot bestimmen bzw. aus einem Vektor
  Antworten mit Zitat      
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. Smile

Für Eure Hilfe wäre ich sehr dankbar!!!

Beste Grüße,

Daniel
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.11.2020, 15:58     Titel:
  Antworten mit Zitat      
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 ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Daniel S
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 24.11.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.11.2020, 16:35     Titel:
  Antworten mit Zitat      
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. Smile

Danke und beste Grüße,

Daniel
Private Nachricht senden Benutzer-Profile anzeigen
 
Daniel S
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 24.11.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.11.2020, 16:37     Titel:
  Antworten mit Zitat      
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.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.11.2020, 17:17     Titel:
  Antworten mit Zitat      
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 ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Daniel S
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 24.11.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.11.2020, 17:38     Titel:
  Antworten mit Zitat      
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. Smile

Beste Grüße,

Daniel
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.11.2020, 18:11     Titel:
  Antworten mit Zitat      
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 ;)
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.