Forum: Digitale Signalverarbeitung / DSP / Machine Learning Frage Zustandsraumdarstellung Rückkopplung


von Filippé M. (Firma: Norris Vietnam-Reisen GmbH) (mcspeckfett)


Lesenswert?

Guten Morgen miteinander,

Mich plagt ein Problem für welches ich noch keine zufriedenstellende 
Lösung gefunden hab.

Wie handhabt man das mit der klassischen Zustandsraumdarstellung, wenn 
ein Element der B-Matrix von einem Zustand im x-Vektor abhängt?

Ich bräuchte eiegntlich sowas wie

Momentan mach ich das einfach numerisch in Octave. Aber das ist relativ 
langsam, weil alles mit einer For-Schleife abgefrühstückt wird, die 
durch meine Messdaten nudelt.

In etwas so:
1
for i=1:length(input1)
2
      g_input = y(1) * param;
3
    
4
     u(1) = g_input * input1(i);
5
     u(2) = input2(i);
6
     u(3) = input3(i);
7
8
     x = x + ( ((A*x)+(B*u)) * dt(i);
9
     y = x;
10
end

Die Ausgangsgleichung kann man weglassen weil D = 0 und C = 
Einheitsmatrix. Da nehm ich einfach den x-Vektor.

dt is einfach ein Diff aus dem Zeit-Vektor der Messdaten.
Das funktioniert so auch ohne Probleme, aber es is halt Langsam.
Besser wäre es ja, könnte ich alles in die ABCD-Matrizen packen und dann 
lsim(...) benutzen. Das wäre wesentlich schneller.
Ich tue mir nur schwer mit der Struktur halt.

Was überseh ich da? Ist es ggf. garkein LTI-System dann?


Gruß Fett

: Bearbeitet durch User
von A. S. (rava)


Lesenswert?

Naja, höchstwahrscheinlich wird dein Modell nichtlinear. Dann wird es 
aber schwierig, die ganzen verinfachten Werkzeuge für lineare Systeme zu 
verwenden.

Du kannst natürlich die Abhängigkeit mittels Taylor-Approximation 
ermitteln, also dein B(x) in ein konstantes B und ein konstantes E 
umrechnen. Aber dann ist es eben nur eine Approximation.

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.