• Keine Ergebnisse gefunden

6.4 Identifikation während eines Auftrags

6.4.2 Implementierung

Iterative Berechnung der Größen

Wenn die Schätzung online erfolgen soll, dann kommt zu jedem Abtastschritt ein neuer Datensatz hinzu.

Es müssen aber nicht in jedem Abtastschritt Produkte immer größer werdender Matrizen berechnet werden, sondern man kann die Berechnung iterativ ausführen.

Die MatrixΨ und der Vektory werden hier nur in den Kombinationen Lk=ΨTkΨk

und

rk=ΨTkrk

verwendet. Diese können iterativ über Lk=

(0 k=0 Lk1+ψkψTk k>0 und

rk=

(0 k=0 rk1ykψk k>0

berechnet werden (siehe auch Anhang B.3).

Zum Bestimmen der Parameter über θˆk=Lk1rk

muss also in jedem Schritt (wenn alle Eingänge ausreichend angeregt wurden) eine (p+1)×(p+1) -Matrix invertiert bzw. ein lineares Gleichungssystem(p+1)-ter Ordnung gelöst werden.

Für den Fallp=2ergibt sich der in Abbildung 6.3 dargestellte Ablaufplan. Solange noch keine Änderung der sekundären Eingangsgröße u2 vorliegt, kann θ2 auch noch nicht geschätzt werden. Die Schätzung vonθ1 erfolgt dann über eine Zwei-Parameter-Schätzung. Siehe dazu auch Abschnitt 6.4.4.

6.4 Identifikation während eines Auftrags 101

Neue Messdaten ψ, ˜y(k)

σ2ˆ

θ1 = σ2ˆ

θ2 = ∞

L = L+ψψT r = r+ψ˜y

rank(L) =3? LT = L[1 2],[1 2]

rT=r[1 2]L[1 2],3·θˆ2,r

u2=const∧ rank(LT) =2?

[∗,θˆ1,θˆ2] = L−1r [∗,σ2ˆ

θ12ˆ

θ2] = diag(σ2yL1) [∗,θˆ1] = L−1T rT [∗,σ2ˆ

θ1] = diag(σ2yL−1T )

σ2ˆ

θ1σ2ˆ

θ1,r,max? θˆ1,r = ˆθ1

σ2ˆ

θ2σ2ˆ

θ2,r,max? θˆ2,r = ˆθ2

θˆ0,r=L−11,1·(r1L1,[2 3]·[ ˆθ1,r θˆ2,r]T)

Reglerparameterθˆ0,r,θˆ1,r,θˆ2,r Ja

Nein

Ja

Nein

Ja

Nein

Ja

Nein

Initialisierung bei neuem Auftrag

L=0 r=0

θˆ0,r,θˆ1,r,θˆ2,r laden

Abbildung 6.3:Ablaufplan Drei-Parameter-Schätzung

Identifikation bezüglich des Nennpunkts

In Abbildung 6.4 ist beispielhaft dargestellt, weshalb es günstiger ist, die Identifikation bezüglich der Nenngrößen, d. h. dem Zusammenhang

yk0 =θ0+θ1·(u1,k0u1,N) +θ2·(u2,k0u2,N) +· · · durchzuführen, und nicht den Zusammenhang

yk0 =θ00+θ1·u1,k0+θ2·u2,k0+· · · zugrunde zu legen.

Dazu ist in Abbildung 6.4 für den Fallp=1die Schätzung der Geraden mit zwei Messungen beiu1=40 und 60 dargestellt. Die durchgezogene Linie entspricht dem tatsächlichen Zusammenhang. Durch das Messrauschen entstehen bei den beiden Eingangswerten von 40 und 60 Unsicherheiten, die durch die kleinen senkrechten Striche dargestellt sind. Der Bereich, in dem die damit geschätzte Gerade liegt, ist durch den grauen Bereich angedeutet. Es ist zu erkennen, dass dieser Bereich beiu1=50deutlich kleiner ist als beiu1=0. D. h. die Varianz des Schätzwertes{θˆ00}rwäre deutlich größer als die des Schätzwertes {θˆ0}r. Da man sich in der Anwendung immer um den Nennpunkt aufhalten wird, ist die Varianz von {θˆ0}r aussagekräftiger. (Vgl. dazu auch die Bemerkung von [FREUNDet al., 2006, S. 42, 50] bezüglich der Interpretierbarkeit vonθˆ0.)

{θˆ00}r

{θˆ0}r

0 10 20 30 40 50 60 70

10 20 30 40 50 60

u1 y

Abbildung 6.4:Vergleich vonθ0undθ00

Skalierung der Eingangsgrößen

Um Einträge gleicher Größenordnung in derL-Matrix und damit günstigere Bedingungen für die nume-rische Berechnung zu erhalten, werden die Eingangsgrößen normiert. Dazu wird die Gleichung

yk0 =θ0+θ1·(u1,k0u1,N) +θ2·(u2,k0u2,N) in

yk0 =s0·θ0

s0 + (u1,k0u1,Ns1·θ1

s1 + (u2,k0u2,Ns2·θ2 s2 umgeschrieben. Nun werden die Größen θs0

0, θs1

1 und θs2

2 als neue Parameter θ00, θ10 und θ20 aufgefasst.

Damit wird der Parametervektor θ0

θ00 θ10 θ20—T

gesucht, wobei der Eingangsvektor ψ0kT0

s0 (u1,k0u1,Ns1 (u2,k0u2,Ns2— lautet.

6.4 Identifikation während eines Auftrags 103

Algorithmen zur numerischen Lösung

Im Ablaufplan in Abbildung 6.3 ist sowie der Gleichung (6.4) bzw. (6.3) wird der Schätzwert über die Inverse der MatrixL=ΨTΨ bestimmt,θˆ =L1r. Dies ist jedoch nicht „wörtlich“ zu verstehen, sondern der Vektor der Schätzwerte wird numerisch über die Lösung des Gleichungssystems

Lθˆ =r,

der sogenannten Normalgleichung, bestimmt. Diese Lösung wird, da L, wenn Ψ vollen Spalten-rang hat, symmetrisch und positiv definit ist, über eine Cholesky-Zerlegung von L berechnet.

[DAHMENund REUSKEN, 2008, S. 127] Dabei kann die Inverse von L, die zur Bestimmung der Varian-zen der Schätzwerte benötigt wird, parallel zur Lösung θˆ berechnet werden, d. h. es muss nur einmal die Cholesky-Zerlegung durchgeführt werden. [DAHMENund REUSKEN, 2008, S. 80]

Grundsätzlich ist bekannt, dass die Bestimmung der Lösung des LS-Problems über die Berechnung der Lösung vonLθˆ =r bzw.ΨTΨθˆ =ΨT˜y numerisch ungünstig sein kann und bei schlecht konditionierten Matrizen Lzu Problemen führt, siehe z. B. [DAHMENund REUSKEN, 2008, S. 128]. Darüber hinaus wird an der genannten Stelle auch darauf hingewiesen, dass schon die Bestimmung der MatrixL=ΨTΨ für großekaufgrund von Rundungsfehlern kritisch sein kann.

Prinzipiell wird in der Literatur häufig empfohlen, die Lösung des LS-Problem direkt, basierend auf einer QR-Zerlegung der Eingangsmatrix Ψ zu bestimmen, siehe z. B. [DAHMENund REUSKEN, 2008, S. 129], [VONFINCKENSTEINet al., 2002, S. 222].

Für den vorliegenden Zweck ist die Bestimmung der Lösung des LS-Problems über die Normalgleichung jedoch unkritisch. Dies liegt daran, dass ein schlecht konditioniertesLdarauf hinweist, dass zumindest ein Parameter nur sehr schlecht, d. h. mit hoher Varianz geschätzt werden kann. Es besteht damit keine Notwendigkeit, die Schätzwerte bei einer schlecht konditionierten MatrixLzu bestimmen, da diese dann ohnehin nicht berücksichtigt werden dürfen. Es muss also nur sichergestellt sein, dass die schlechte Kondition vonLerkannt wird, bevor die Schätzwerte bestimmt werden.

Der Rang einer Matrix kann numerisch über die Berechnung der Singulärwerte bestimmt werden, siehe z. B. [DAHMENund REUSKEN, 2008, S. 150]. Die berechneten Singulärwerte können hierbei auch genutzt werden, bei zu schlecht konditionierten Matrizen von der Berechnung der Schätzwerte abzusehen. In diesem Fall ist die Bedingung rank(L) =! 3 nicht nur so zu verstehen, dassLvollen Rang hat, sondern auch eine genügend große Anregung der Eingänge vorliegt, um die Lösung des GleichungssystemsLθˆ = rsowie die Inverse vonLnumerisch sicher bestimmen zu können.9

Anstelle der numerischen Bestimmung des Ranges könnte auch überprüft werden, ob sich die Eingangs-größen genügend (linear unabhängig) geändert haben, wobei dafür geeignete Kriterien zu definieren sind.

Implementierung als RLS

Der Least-Squares-Algorithmus kann auch in einer rekursiven Form implementiert werden (siehe Ab-schnitt B.4). In dieser muss anstelle der in jedem Schritt notwendigen Invertierung der Matrix(ΨTΨ)−1, die hier die Dimension (p+1×p+1) besitzt, bzw. der Lösung eines linearen Gleichungssystems mit p+1Unbekannten, nur eine skalare Division durchgeführt werden. Mathematisch sind die beiden Ver-fahren äquivalent, sofern die Matrizen(ΨTΨ)1 undPnach dem ersten Schritt identisch sind. Dies kann näherungsweise durch die Wahl sehr großer Einträge im Anfangswert P0 oder durch die Berechnung des erstens Schritts über das „normale“ Least-Squares-Verfahren und das Fortsetzen im RLS-Verfahren erreicht werden.

9 Bei den zu dieser Untersuchung durchgeführten Simulationen und Messungen wurde die untere Grenze für die Singu-lärwerte auf1·10−10gesetzt, d. h. kleinere Singulärwerte wurden bei der Rangbestimmung als Null angesehen. Damit sind bei der Verwendung von Gleitkommazahlen mit 64 bit Länge keine Probleme mit der Lösung vonLθˆ=rbzw. der Inversion vonLaufgetreten.

Dem Vorteil des geringeren Rechenaufwands stehen hier aber auch Nachteile gegenüber, die durch die Notwendigkeit entstehen, Anfangswerte für θˆ und P anzugeben. Es werden dazu in [ISERMANNund MÜNCHHOF, 2011, S. 272] verschiedene Möglichkeiten angegeben. Existieren sinnvolle Schätzungen aus a-priori-Wissen (z. B. aus vorherigen Versuchen), so können diese verwendet werden.

Dies ist hier aber nicht möglich, da zum einen für θ0 keine genaue a-priori-Schätzung angegeben wer-den kann, und zum anderen mit diesem Verfahren viele Messwerte benötigt werwer-den, um einen falschen Anfangswert zu korrigieren. Eine weitere Methode wäre,P0=αImit großemαzu setzen. Im Grenzfall α→ ∞nähert man sich damit dem normalen LS-Verfahren an, unabhängig von dem Anfangswert θˆ0. Aber für endlicheαwerden wieder mehrere Messwerte benötigt, um die gewünschten Werte zu erhalten.

Auch treten Probleme auf, wenn Parameter zu sekundären Eingängen erst im späteren Verlauf eines Auftrags mitgeschätzt werden können.

Letztlich bleibt nur die Möglichkeit, das RLS-Verfahren mit einem normalen LS-Verfahren zu starten.

Dies muss während eines Auftrags auch jedes Mal neu gemacht werden, wenn ein weiterer Eingang sich ändert und damit ein zusätzlicher Parameter geschätzt werden kann. Damit erhält man mit dem RLS-Verfahren immer dieselben Werte wie mit dem LS-Verfahren.

Da damit aber ohnehin Speicher für all die Daten vorgehalten werden muss, die auch für das normale LS-Verfahren benötigt werden, und auch die entsprechenden Gleichungssysteme gelößt werden müssen, wenn auch nicht so häufig, wird auf das RLS-Verfahren vollständig verzichtet.