Verfasst am: 30.11.2016, 13:15
Titel: Mittels fft die Amplitude bestimmen
Hallo,
ich habe meine gemessene Kurve mit einem Oszilloskop gespeichert(csv Datei). Ich kann mir die Kurve in Matlab anzeigen lassen.
Nun möchte ich die Amplitude mittel fft bestimmen.
Was ist genau Deine Frage?
Hast Du schon Matlab installiert? Weißt Du, wie man eine Funktion schreibt? Funktioniert der Daten-Import bereits? Bekommst Du Fehlermeldungen, wenn Du das Script laufen lässt? Wie können wir Dir genau helfen?
Bemerkung: Lasse Dich nicht von dem "clear all" am Anfang anstecken: Das ist eine schlechte Programmier-Praxis. Benutze lieber Funktionen.
Gruß, Jan
Sanjaa
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 30.11.2016, 18:14
Titel:
Zur Info. Meine csa Datei zeigt im Workspace 2 Dateien an als 1000000x1 double, wenn ich sie importiere, falls diese Info relevant ist.
Wenn ich auf run gehe, zeigt er mir bereits in Zeile 13 einen Fehler an:
Error in Untitled (line 13)
P = filedata.data; %vertikale Netzlast in MW
Zuletzt bearbeitet von Jan S am 01.12.2016, 14:40, insgesamt einmal bearbeitet
Sanjaa
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 01.12.2016, 11:37
Titel:
csv Datei meine ich.
Ich Frage mich was ich in dem Code alles ändern muss? Ich verstehe nämlich leider die Hälfte vom Code nicht. Ich kann meine csv Datei hier nicht hochladen. Sie heißt werte.csv und ist im richtigen Pfad.
So habe ich es eingegeben(eigentlich habe ich nur diese Zeile geändert, sonst nichts:
filedata = importdata('werte.csv',';');
)
Gib doch bitte immer komplette Fehlermeldungen an.
Oben schreibst du, du hast nur eine Zeile geändert - gib doch bitte die Originalzeile mit an.
Ansonsten versuchst du derzeit auf ein Element in einem Struct zuzugreifen (filedata.data) welches vermutlich nicht da ist.
Versuche mal ".data" einfach zu entfernen.
_________________
LG
Martina
"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
Sanjaa
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 01.12.2016, 13:56
Titel:
Den originalen Code hab ich im ersten Beitrag verlinkt. Die veränderte Zeile(erste Zeile) ist nicht weiter wichtig.
Hab dass .data weggemacht. Es kommt folgender Fehler
Ich Frage mich was ich in dem Code alles ändern muss?
Was möchtest Du denn ändern? Wie können wir Dir helfen?
Gruß, Jan
Sanjaa
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 01.12.2016, 15:28
Titel:
Ich möchte doch einfach nur die Amplitude anzeigen lassen von meiner csv Datei. Dafür muss ich den Code aus dem Netz anpassen. Was ich da alles verändern/ersetzen muss weiß ich ja selbst nicht.
Das Problem liegt an der csv Datei. Es sind 2 Bausteine im Workspace zusehen. Mit dem Oszilloskop werden die x und y Achse sozusagen gespeichert. Ich denke, dass ich das Problem weshalb eine Fehlermeldung kommt
Habe einen Screenshot eingefügt. VarName1 und VarName2 aus meiner csv Datei entstanden
Die Fehlermeldung bedeutet, dass "filedata" kein Struct ist. Mit dem Debugger findest Du heraus, was es statt dessen ist: Setze einen Breakpoint in die Zeile und schaue nach. Das kannst Du auf Deinem Rechner leicht überprüfen, während die Leser im Forum da nur herum raten können.
Zitat:
VarName1 und VarName2 aus meiner csv Datei entstanden
Ich kann in dem gezeigten Code nicht sehen, woher die beiden Variablen kommen. Auf jeden Fall "entstehen" nicht einfach spontan Variablen in Matlab.
Jan, ich habe ihr bereits zwei mal vorgeschlagen, das Ganze zu debuggen...
_________________
LG
Martina
"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
Sanjaa
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 02.12.2016, 14:33
Titel:
Hallo,
ich habe einen anderen besseren Code gefunden. Hab 2 Screenshot hochgeladen. Vom Code und vom Verlauf. Die Frequenz ist 1Khz. Der linke Zeitliche Verlauf ist korrekt, aber der rechte mit der x-Achse(Frequenz) zeigt mir die falsche Amplitude an.
Weiß jemand, woran es liegen könnte?
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
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.