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

Signalverläufe eines Messtasters mittels fft

 

baltam14
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 19.01.14
Wohnort: Aalen
Version: ---
     Beitrag Verfasst am: 19.01.2014, 13:13     Titel: Signalverläufe eines Messtasters mittels fft
  Antworten mit Zitat      
Hallo an alle,

ich habe hier ein kleines Problem, bei dem ich nicht mehr wirklich weiter komme.

Es geht um folgendes:


"Schreiben Sie eine Funktion, die Signalverläufe eines Messtasters analysiert. Mittels Fourieranalys sollen die Amplituden des Signals für die Welligkeiten der Ordnungen 0, 1, 2, 3, ... , 16 bestimmt werden.

Die Funktion soll folgende Eigenschaften haben:

- Übergabeparameter: Dateiname einer xlsx-Datei, die die Messung enthält
- Übergabeparameter: Dateiname einer xlsx-Datei, die die zuläassigen Amplituden enthält (Spezifikationen)
- Rückgabeparamter: logische Variable, die angibt, ob alle Spezifikationen erfüllt sind
- Rückgabeparameter: Amplituden der Welligkeiten der Ordnungen 0, 1, 2, 3, ... , 16

Testen Sie Ihr Programm an Hand der Messdateien nm_a.xlsx sowie nm_b.xlsx. Die Spezifikationen finden Sie in der Datei nm_spec.xlsx."


Die Ersten beiden Messdateien enthalten jeweils 200 Messdaten für ein Epsilon und das dazugehörige Signal und die Spezifikationen enthalten die Welligkeiten von 0 - 16 sowie die zugehörigen max. zulässigen Amplituden.

Wäre cool, wenn mir dabei jemand helfen könnte! Wink


Danke schonmal!
baltam14
Private Nachricht senden Benutzer-Profile anzeigen


Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.01.2014, 13:28     Titel:
  Antworten mit Zitat      
Was genau davon klappt denn nicht? Dateien einlesen? Fourier-Transformation verstehen? Fouriertransformation in Matlab durchführen?

Die wesentlichen Dinge solltest Du mit folgenden drei Befehlen herausfinden können:
Code:

help help
help xlsread
help fft
 
Private Nachricht senden Benutzer-Profile anzeigen
 
baltam14
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 19.01.14
Wohnort: Aalen
Version: ---
     Beitrag Verfasst am: 19.01.2014, 16:25     Titel:
  Antworten mit Zitat      
Danke für die schnelle Rückmeldung. Smile

Also die Excel Dateien einlesen ist kein Problem und wie die Fourieranalyse an sich geht, dürfte ich schon verstanden haben. Allerdings liegt glaube ich das Problem darin, die Fragestellung richtig zu verstehen, insbesondere mit der Untersuchung der Welligkeiten von der 1. - 16. Ordnung. Die Hilfestellungen habe ich schon durchstöbert, hat mich jedoch noch nicht ganz weiter gebracht...
Private Nachricht senden Benutzer-Profile anzeigen
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.01.2014, 19:18     Titel:
  Antworten mit Zitat      
baltam14 hat Folgendes geschrieben:
Also die Excel Dateien einlesen ist kein Problem und wie die Fourieranalyse an sich geht, dürfte ich schon verstanden haben.

Das hilft ungemein :)

baltam14 hat Folgendes geschrieben:
insbesondere mit der Untersuchung der Welligkeiten von der 1. - 16. Ordnung.

Um eine Oberwellenanalyse machen zu können, brauchst Du zunächst mal die Frequenz der Grundschwingung. Beispielsweise wären das im europäischen Verbundstromnetz 50Hz.
Die erste Oberschwingung hat dann die doppelte Frequenz der Grundschwingung, im Stromnetz dann also 100Hz. Die zweite Oberschwingung hat die dreifache Frequenz und so weiter.
Gerne spricht man auch von Harmonischen. Dann ist die Grundschwingung die 1. Harmonische, die doppelte Frequenz heißt 2. Harmonische usw. Da muss man ein bisschen aufpassen, dass man da nicht durcheinander kommt.

Wenn Du nun Dein Signal fouriertransformiert hast, musst Du erst mal Deine Grundschwingung ausfindig machen. In der Regel hat sie die Frequenz (ungleich 0) mit der größten Amplitude. Die Frequenzen der Oberschwingungen kannst Du damit dann auch berechnen und aus dem berechneten Spektrum bestimmen.
Private Nachricht senden Benutzer-Profile anzeigen
 
baltam14
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 19.01.14
Wohnort: Aalen
Version: ---
     Beitrag Verfasst am: 20.01.2014, 21:29     Titel:
  Antworten mit Zitat      
Okay, das hat ja schonmal gut zum Verständnis beigetragen. Smile


Ich habe mal weiter daran gearbeitet und habe auch etwas rausbekommen, was nicht unbedingt schlecht aussieht vom Schaubild her. Allerdings bin ich mir nicht sicher und würde dann wieder auf die Verknüpfung zum nächsten Schritt hängen.

Hier mal das, was ich bisher erledigt habe:

Code:

>> MD1=xlsread('nm_a.xlsx');        // Die Datei reinladen, das ist verständlich
>> signal_vec=MD1(1:end,2);        // Die Datei besteht eben aus 2 Spalten, einmal das Signal und andererseits ein "Epsilon" - Hier erstelle ich einen Vektor mit der Spalte der Werte aller Signale
>> xi = MD1(1:end,1);                  // Das ist wiederrum die andere Spalte mit den zugehörigen "Epsilons" als neuer Vektor, wobei das Epsilon die Werte von 0 bis 2*pi enthält
>> fi= fft(signal_vec);                   // Hier erstelle ich aus den Signalen die Fourier-Transformation
>> figure; plot (xi, fi); grid            // und als letztens einfach nur noch beides zusammen zeichnen lassen mit nachfolgendem Bild als Ergebnis
 


Wenn ich das jetzt richtig verstanden habe, sind die Amplituden hier die Welligkeiten bis zu 16. Ordnung und der nächste Schritt wäre dann die Überprüfung durch die andere Datei, ob die Spezifikationen erfüllt sind!?


Private Nachricht senden Benutzer-Profile anzeigen
 
baltam14
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 19.01.14
Wohnort: Aalen
Version: ---
     Beitrag Verfasst am: 21.01.2014, 09:12     Titel:
  Antworten mit Zitat      
Achja, das Bild wird zwar mit den Befehlen gezeichnet, allerdings erhalte ich die Warnung, dass die Komplexen Zahlen auf der X- und Y- Achse nicht angezeigt werden können.

"Warning: Imaginary parts of complex X and/or Y arguments ignored "
Private Nachricht senden Benutzer-Profile anzeigen
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.01.2014, 12:29     Titel:
  Antworten mit Zitat      
Guck Dir mal
Code:
an. Da gibt es auch ein Beispiel, wie man FFT() benutzen kann.

Das Spektrum Deines Signals ist komplex, das lässt sich natürlich nicht so ohne weiteres plotten. Matlab plottet dann automatisch nur den Realteil. Normalerweise will man aber den Betrag haben. Das siehst Du aber auch in dem Beispiel in der Doku.
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.