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

Messwerte integrieren

 

Mini
Forum-Anfänger

Forum-Anfänger


Beiträge: 25
Anmeldedatum: 19.10.07
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.01.2008, 16:21     Titel: Messwerte integrieren
  Antworten mit Zitat      
Grüß euch,

ich habe eine Frage zu Integration in Matlab. Ich habe keine Funktion sondern Messdaten (12k Beschleunigungsdaten) welche ich integrieren muss um zu jedem Zeitpunkt die Geschwindigkeit und später die Strecke zu erhalten.

Mit quad sind ja lediglich integrale von funktionen berechenbar drum frage ich mich wie es bei Messwerten geht?

Gruß Mini


edit: Wen es interessiert, ich habe es gelöst mit
Code:


Zuletzt bearbeitet von Mini am 16.01.2008, 16:35, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen


nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.320
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 16.01.2008, 16:35     Titel:
  Antworten mit Zitat      
Hi,

guck Dir mal 'trapz' an.
Sonst Kurve fitten und die integrieren.
Fitten kannst Du z.B. im Plot-Fenster und
Tools->Basic Fitting
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Mini
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 25
Anmeldedatum: 19.10.07
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.01.2008, 10:47     Titel:
  Antworten mit Zitat      
Dank nschlange,

mache es nun mit cumtrapz was noch genauer ist als cumsum.

Gruß Mini
Private Nachricht senden Benutzer-Profile anzeigen
 
SumSi
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 26.04.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.05.2008, 13:31     Titel: gleiches Problem
  Antworten mit Zitat      
Hallo,
Ich habe das gleiche Problem.
Habe das auch mit cumtrapz gelöst, allerdings sieht der Plot nicht aus wie ich das erwartet hätte. Zwar komme ich bei Sinusförmigeranregung zu einem Phasenverschobendem Bild, welches in etwa einem Cosinus entspricht. Aber über die Zeitachse habe ich insgesamt eine geradlinige Steigung drin, welche bei weiterem Aufsummieren mit cumtrapz, also einer zweiten Ausführung des Befehls, um von der Geschwigkeit nun auf die Auslenkung zu kommen, logischer Weise quadratische Form annimmt.

mache ich da einen Denkfehler? Oder muss ich bei der Skalierung noch etwas beachten?

LG
Private Nachricht senden Benutzer-Profile anzeigen
 
xhtrz

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.04.2009, 20:19     Titel:
  Antworten mit Zitat      
Du mußt die Sinus-Daten am Anfang mittelwertfrei machen. das geht mit
Wenn Du den Befehl aufschreibst als

v=cumtrapz(y-mean(y))

solllte der Anstieg verschwinden.

wenn mean(y) Null ist, weiß ich auch nicht wteir
 
Vegas125

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.05.2012, 19:15     Titel: beschleunigungsmesswerte integrieren
  Antworten mit Zitat      
Hallo,

nach einigem googlen, ist mir der optimale Weg zum Erhalt von Weg-Werten aus Beschleunigungswerten noch nicht klar.

Wenn ich einen Zeitverlauf habe, bei dem das System von Anfang an schwingt, und ich die maximale Wegauslenkung nicht kenne, und auch die maximale Geschwindigkeit nicht. Wie gehe ich dann mit meinen Messdaten um? Ich habe mit dem Abziehen von "mean(werte)" herumexperimentiert, bekomme aber keinen möglichst konstant um die 0 Achse schwingende Weg-Werte hin, obwohl die Beschleunigungswerte durchaus um die 0-Achse schwingen, die Geschwindigkeit ebenfalls um die 0-Achse zu schwingen scheint, und das reale System ebenfalls um die 0 geschwungen ist. Außerdem kommen mir die Wegamplituden etwas klein vor.

Code:
   
        NewBase = NewBase-mean(NewBase);
        NewV    = cumtrapz(time,NewBase);
        plot(time,NewV);
        figure
        NewS = cumtrapz(time,NewV);
        plot(time,NewS)
 


Wie ermittle und gebe ich am sinnvollsten Anfangswerte für Geschwindigkeit und Auslenkung vor?
 
Wast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.02.2013, 15:31     Titel: Schwingweg und -schnelle aus gemessener Beschleunigung
  Antworten mit Zitat      
Hallo,

auch wenn dieser Thread schon recht alt ist, möchte ich die zuletzt gestellte Frage gerne versuchen zu beantworten...

Bei der numerischen Integration von gemessenen Beschleunigungswerten ist zuallererst darauf zu achten, dass das zu integrierende Signal keinen Offset aufweist. Ein eventuell vorhandener (konstanter) Offset kann durch den nachfolgenden Code - wie bereits beschrieben - entfernt werden.

Code:

% Entfernen eines konstanten (statischen) Offsets

a_dyn = a - mean(a);

% hierbei ist:
% "a" - das gemessene Signal
% "a_dyn" - das Offset-freie Signal
% "a_0 = mean(a)" - der konstante Offset
 


Schwieriger gestaltet sich die Sache, wenn mein zu integrierendes Signal mit niederfrequenten Störungen oder auch einer real vorhandenen Drift überlagert ist. Um diese Störanteile bei der Integration zu unterdrücken, muss das zu integrierende Signal durch ein vorgeschaltetes Hochpassfilter von diesen Störanteilen "gereinigt" werden. Ein entsprechendes Filter kann bei vorhandener Signal Processing Toolbox relativ einfach erstellt werden.
Bei eventuell nachfolgender Integration der Schwingschnelle auf den Schwingweg ist nochmals zu filtern, da zum Beispiel aus der Anfangswertproblematik der numerischen Integration sich immer quasistatische Störeffekte (niederfrequent) ergeben.
Die Integration des diskreten Beschleunigungssignals auf die Schwingschnelle mittels des Trapezverfahrens würde in etwa so vonstatten gehen:

Code:

% Integration eines Beschleunigungssignals auf die Schwingschnelle
% mit entsprechender digitaler Filterung

a_HP = filter(HP,a);
v = cumtrapz(t,a_HP);

% hierbei ist:
% "a" - die gemessene Beschleunigung
% "HP" - das anzuwendende digitale Hochpassfilter (als dfilt. Objekt)
% "a_HP" - das hochpassgefilterte Beschleunigungssignal
% "v" - die errechnete Schwingschnelle
 


Vorsicht ist bei der Interpretation der absoluten Werte geboten, die sich aus der numerischen Integration ergeben. Durch die Verwendung eines Filters wird zwar das richtige Schwingverhalten (nach der Integration) wieder hergestellt, jedoch werden durch das Filter auch die Amplituden verfälscht. Weiterhin haben die gewählten Filterparameter (wie die Filterart, Filterordnung, Grenzfrequenz, usw.) ebenfalls einen großen Einfluss auf das Ergebnis der numerischen Integration nach obiger Vorgehensweise.
Aus diesen Gründen sollten relevante Größen nach Möglichkeit direkt mittels der entsprechenden Messverfahren bestimmt werden. (z.B.: Schwingwege über Wegmessverfahren ...). Gerade die Verfahren numerischer Integration sind hier mit Vorsicht zu genießen und können je nach eingestellten Parametern fast jedes gewünschtes bzw. unerwünschtes Ergebnis erzielen.
In diesem Sinne: "Wer viel misst, misst viel Mist!" Wink


Grüße

Wast
 
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.