mikrocontroller.net

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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Jake (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Analog OPA (Gast)
Datum:

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

Autor: Mach (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: Jake (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: A. S. (rava)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Marius K. (zephram)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.