Mehrere Sensorsignale fusionieren um korrelierende Ausgangssignale zu erhalten

Gast #5882788
Hallo zusammen!

Ich habe ein mechanisches System mit einer Vielzahl von Sensoren (7 
Stück). Um das System zu überwachen muss ich 3 Größen erfassen.

Leider kann keiner der Sensoren die zu überwachenden Größen direkt 
erfassen, sondern jedes Signal ist eine Kombination aus verschiedenen 
Eingangssignalen.

Kleines Beispiel mit dem Bild im Anhang:
- Grünes Ausgangssignal ist das Graue Eingangssignal aber mit 
invertiertem AC-Anteil
- Blaues Ausgangssignal lässt sich aus dem Orangenen und Schwarzen 
Eingangssignal bilden
- Gelbes Ausgangssignal ist das Orangene Eingangssignal

Leider sind die Zusammenhänge in der Realität viel komplexer und die 
Sensorwerte rauschen auch.

Gut ist: Es ist ein Satz an "Trainingsdaten" vorhanden, bei dem ich 
sowohl Eingangs- als auch Ausgangswerte für alle Zustände habe!

Welches Verfahren kann ich Anwenden um die Ausgangssignale aus einer 
Vielzahl von Eingangssignalen zu extrahieren? Eventuell reichen schon 
ein paar Stiwchworte, denn ich finde leider keinen Startpunkt.

Ich habe bereits probiert, eine Matrix A [m*n] mit meinen 
Eingangssignalen [1*n] zu multiplizieren um auf die Ausgangssignale 
[m*1] zu kommen. Koeffizienten von A mittels Excel Solver bestimmt.
Funktioniert leider nicht, da bspw. kein DC Anteil entfernt werden kann 
(eh klar).

Ist eventuell ein Neuronales Netz richtig? Kalman Filter?

Vielen Dank,
Jake
Angehängte Dateien:
Gast
Gleichungssystem der Abhängigkeiten aufstellen, Gauss-Algorithmus und 
die Lösungen in die Gleichungen einsetzen. Gleichungen später mit 
gemittelten Werten rechnen.
Gast
Besteht denn zwischen Ein- und Ausgang eine Dynamik? Also dass fuer den 
Ausgang nicht nur die aktuellen Eingangswerte massgeblich sind (dann 
muesste der Matrixansatz funktionieren), sondern auch die Historie in 
den Ausgangswert einfliesst. In diesem Fall muesstest du die Dynamik 
modellieren. Evtl. reicht auch ein grobes Modell, das mit redundanten 
Sensorwerten staendig korrigiert werden kann.

Ein Stichwort waere vielleicht Beobachter (Regelungstechnik).
Gast
Hi und schon mal Danke für die ganzen Antworten!

Analog OPA schrieb:
> Gleichungssystem der Abhängigkeiten aufstellen, Gauss-Algorithmus und
> die Lösungen in die Gleichungen einsetzen. Gleichungen später mit
> gemittelten Werten rechnen.

Genau das fällt mir eben schwierig!
Manuell ein Gleichungssystem aufstellen geht für wenige Messwerte und 
"Arbeitspunkte" aber nicht für das komplexe System.

Mach schrieb:
> Besteht denn zwischen Ein- und Ausgang eine Dynamik? Also dass fuer den
> Ausgang nicht nur die aktuellen Eingangswerte massgeblich sind (dann
> muesste der Matrixansatz funktionieren), sondern auch die Historie in
> den Ausgangswert einfliesst.

Dynamik kann ich aktuell nicht genau sagen, denke aber schon.

Beim Matrix-Ansatz sehe ich noch folgendes Problem:
Nehmen wir an, ein fallender Eingangswert hat steigende Ausgangswerte 
zur Folge. Wertepaare beispielsweise:
[code]
Input Output
1     5
2     4
3     3
4     2
5     1
[\code]
Mit einer reinen Multiplikation meiner Eingangsmatrix mit einer 
"Bearbeitungsmatrix" kann ich das doch unmöglich lösen?


Mach schrieb:
> Ein Stichwort waere vielleicht Beobachter (Regelungstechnik).

Das ist schon einmal ein guter Ansatz, gefällt mir nach erster Recherche 
ganz gut.
Wenn ich mir aber mal die grobe Struktur eines Beobachters anschaue 
(https://de.wikipedia.org/wiki/Beobachter_(Regelungstechnik) ) stelle 
ich fest, dass ich zwar gemessene Eingangsgrößen habe, aber keinerlei 
Messgrößen des Systems, aus denen ich einen Beobachterfehler bestimmen 
könnte.
Oder reicht es, wenn ich das Modell des Observers mit meinen bekannten 
Trainingsdaten bestimme (da habe ich alle Messgrößen und kann einen 
Beobachterfehler bestimmen) und später nur noch das Modell ohne Feedback 
laufen lasse?

Viele Grüße,
Jake
naja, ein bisschen was über die mathematischen Zusammenhänge musst du 
schon wissen.

Idealerweise hast du ein mathematisches Modell, das die hilft, diese 
Zusammenhänge darzustellen. Wenn du gar nichts weiß, gibt's auch 
Methoden. Aber die sind genauso schwer zum laufen zu kriegen, wie die 
Gleichungen aufzustellen und alles analytisch auszurechnen.

Ohne weitere Informationen google:
* LSTM


ist aber vermutlich nicht das, was du sucht, sondern nur die generelle 
Lösung für ein zu generell spezifiziertes Problem.
Jo, mit Kalmanfilter liegst du goldrichtig für deine Problemstellung. 
Die Mathematik dahinter ist schon recht knusprig, jedoch ist es für 
einfachere Fälle auch keine Zauberkunst da reinzukommen. Das normale 
Kalmanfilter lässt sich verwenden, wenn sich dein System mit rein 
linearen Differentialgleichen beschreiben lässt. Sind nicht-lineare 
Gleichungen im Spiel könnte das "Unscented Kalman Filter" eine Option 
sein. Mir hat folgende Lektüre geholfen das Thema zu begreifen: "Kalman 
Filter for Beginners with MATLAB Examples" von Phil Kim (9781463648350)

Grüße

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.