Forum: Digitale Signalverarbeitung / DSP / Machine Learning Mehrere Sensorsignale fusionieren um korrelierende Ausgangssignale zu erhalten


von Jake (Gast)


Angehängte Dateien:

Lesenswert?

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

von Analog OPA (Gast)


Lesenswert?

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

von Mach (Gast)


Lesenswert?

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

von Jake (Gast)


Lesenswert?

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

von A. S. (rava)


Lesenswert?

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.

von Marius K. (zephram)


Lesenswert?

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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.