Eigensystem Realisierungsalgorithmus

Aus testwiki
Zur Navigation springen Zur Suche springen

Der Eigensystem Realisierungsalgorithmus, wenn man ihn wörtlich aus dem Englischen von Eigensystem Realization Algorithm, kurz ERA, übersetzt, ist ein Verfahren der Systemidentifikation zur Bestimmung eines linearen, zeitdiskreten Systems auf Basis von Eingangs-Ausgangsmessdaten. Der Algorithmus bietet sich dann an, wenn kein analytisches Modell auf Grundlagen physikalischer Zusammenhänge formuliert werden kann. Der ERA wurde erstmals 1985 von J. N. Juang und R. S. Pappa vorgestellt.[1]

Theoretischer Hintergrund

Ein allgemeines lineares, zeitdiskretes System

x_k+1=Ax_k+Bu_ky_k=Cx_k+Du_k

mit den Zuständen x_n, dem Eingang u_p und dem Ausgang y_q, zeigt auf eine impulsförmige Anregung mit der Anfangsbedingung x_0=0_, die folgende zeitliche Evolution

u_x_y_k=0I0_Dk=10BCBk=20ABCABk=30A2BCA2Bk=i0A(i1)BCA(i1)Bk=(N1)0A(N2)BCA(N2)B

wobei I den Dirac-Impuls im jeweiligen Eingang symbolisiert, k den jeweiligen Zeitschritt bedeutet und N die Anzahl der Samples darstellt. In der Impulsantwort y_ sind inhärent die Informationen über die Systemmatrizen A, B, C und D enthalten, was die einzigen Daten sind, die nach der Messung am System vorliegen. Mit dem ERA können diese Matrizen aus den Messdaten extrahiert werden. Das damit realisierte lineare und zeitdiskrete Modell ist ähnlich der Methode der balancierten Modellreduktion (Balanced Truncation) balanciert. Das bedeutet, dass die Zustände des realisierten Systems die am besten und gleichermaßen beobachtbaren und steuerbaren Zustände des identifizierten Systems sind. Letztlich ist also das realisierte Modell eine balancierte Modellreduktion des physikalischen Systems an dem die Messungen gemacht wurden. An dieser Stelle sei noch darauf hingewiesen, dass es nur sehr schwer, bis unmöglich ist, den Dirac-Impuls physikalisch zu erzeugen, weil er eine mathematische Idealfunktion darstellt und bestenfalls approximiert werden kann. Es gibt jedoch Möglichkeiten aus zufälligen Ein-Ausgangsmessdaten die Impulsantwort herauszufiltern. Dies kann beispielsweise mit der Observer Kalman Filter Identification erreicht werden. Außerdem sind die realisierten Zustände in der Regel nicht physikalisch interpretierbar. Es besteht jedoch die Möglichkeiten, bei einer vollständigen Zustandsmessung des Systems, die Steuerbarkeitsmatrix zu bilden und damit auf eine Unterraumtransformation rückzuschließen, mit der schließlich die realisierten Zustände interpretiert werden können. Dies ist verwandt mit der Ordnungsreduktionsmethode Balanced Proper Orthogonal Decomposition.

Der Algorithmus

Der erste Schritt ist offensichtlich das Sammeln von Messdaten. Im Folgenden wird von einem MIMO-System ausgegangen, um keine Unterscheidung zum SISO-Fall machen zu müssen. Ein SISO-System stellt insofern den Sonderfall dar, dass p=1 und q=1. Für die Messung wird jeder Eingang ui (i=1,2,...,p) impulsartig angeregt und jeder Ausgang yj (j=1,2,...,q) gemessen. Daraus folgen (p×q) Ausgangsvektoren y_ij mit jeweils N Samples ykij in der Zeit. Exemplarische erhält man die Messdaten von Eingang u2 zum Ausgang y3 zu y_23=[y023y123yN123].

Der zweite Schritt ist das Arrangieren der Messdaten in einem Array Y_q×p×N. Dieses Array entspricht der eingangs eingeführten Evolution des Ausgangs y_. Die N Blöcke y~kq×pwerden als Markov Parameter bezeichnet. Es folgt unmittelbar, dass D=y~0.

Der dritte Schritt ist das Stapeln der Markov Parameter in eine Block Hankelmatrix H[bq]×[sp]

H(k=1)=H=[y~1y~2y~sy~2y~3y~s+1y~by~b+1y~b+s1]

und einer verschobenen Block Hankelmatrix H[bq]×[sp]

H(k=2)=H=[y~2y~3y~s+1y~3y~4y~s+2y~b+1y~b+2y~b+s].

Die Bedeutung der Parameter s,b{0} wird im Folgenden noch geklärt. Die beiden Block Hankelmatrizen können nun durch die Beobachtbarkeitsmatrix QB und die Steuerbarkeitsmatrix QSausgedrückt werden. Es gilt schließlich für die Block Hankelmatrix und die verschobene Block Hankelmatrix

QBQS=[CCACAb1][BABAs1B]=[CBCABCAs1BCABCA2BCAsBCAb1BCAbBCAs+b2B]=H

und QBAQS=Hrespektive.

An dieser Stelle wird deutlich, dass s und b die Größe der Steuerbarkeitsmatrix und der Beobachtbarkeitsmatrix respektive festlegen und somit die maximal realisierbare Systemordnung r des zu realisierende Systems begrenzen. Sie können frei gewählt werden und sind lediglich durch die Anzahl N der Samples begrenzt, da gelten muss b+s=N1. Eine mögliche Wahl ist

s=b=N12,

was der maximalen Größe für s und b entspricht und die Block Hankelmatrizen quadratisch macht. Mit anderen Worten begrenzt N die Größe der Hankelmatrizen und somit letztendlich die Güte der Realisierung.

Der 4. Schritt ist die (ökonomische) Singulärwertzerlegung von H

H=UΣV=[U~Ut][Σ~0_0_Σt][V~Vt],

mit U~[bq]×r, Σ~r×rund V~r×[sp], wobei Tilde den Teil bezeichnet, der für die Realisierung verwendet wird und t den Teil, der abgetrennt (truncated) wird. An dieser Stelle muss also eine Entscheidung über die Systemordnung r des zu realisierenden Systems getroffen werden. Die Entscheidung wird auf Grundlage der Hankelsingulärwerte σ, die in Σ enthalten sind getroffen. Die Hankelsingulärwerte sind dabei ein Maß für die transportierte Energie von Eingang zu Ausgang des jeweiligen Zustands.[2] Wie bereits erwähnt sind die Zustände balanciert. Dadurch gehören die größten r Hankelsingulärtwerte σi zu den am besten und in gleichen Maßen beobachtbaren und steuerbaren Zuständen. In der Regel lässt sich eine markante Position finden, ab der die Singulärwerte deutlich kleiner werden.

σ1>σ2>>σr>>σr+1>

Ist dies nicht gegeben, kann die kumulierte Energie der Singulärwerte bestimmt werden und über eine Vorgabe der mindestens berücksichtigten Energie die Anzahl r der dafür benötigten Zustände bestimmt werden.

Der fünfte Schritt ist die Bestimmung des realisierten Systems. Betrachtet man zunächst

H=UΣV=UΣ1/2Σ1/2V=QBQS

folgt

QB=UΣ1/2QS=Σ1/2V.

Mit dem Zusammenhang

H=QBAQS

folgt schließlich für die Systemmatrix A

A=QB1HQS1=Σ1/2UHVΣ1/2.

Beachte, für die unitären Matrizen U und V gilt U1=U und V1=V.

Außerdem folgen aus H=QBQS die Zusammenhänge

QB=HQS1=HVΣ1/2=[𝐇q,sb𝐇(b1)q,sb][V~Vt][Σ~1/2Σt1/2]=[CCACAb1]QS=QB1H=Σ1/2UH=[Σ~1/2Σt1/2][U~Ut][𝐇bq,p𝐇bq,(s1)b]=[BABAs1B],

in denen die Ausgangsmatrix C und die Eingangsmatrix B enthalten sind. An dieser Stelle wurde die Hankelmatrix entsprechend partitioniert, um später auf die Matrizen B und C zu kommen. Schließlich und endlich folgt das realisierte System,

x~_k+1=A~x~_k+B~u_ky^_k=C~x~_k+D~u_k

mit den Zuständen x~_r, dem Eingang u_p und dem approximierten Ausgang y^_q, sowie den Systemmatrizen

A~=Σ~1/2U~HV~Σ~1/2B~=Σ~1/2U~Hbq,pC~=Hq,spV~Σ~1/2D~=y~0,

mit A~r×r, B~r×p, C~q×r und D~q×p.

Einzelnachweise