Post on 22-Jun-2020
Technische Universitat DarmstadtInstitut fur Regelungstechnik
Fachgebiet Regelsystemtechnik und
Prozeßautomatisierung
Prof. Dr.-Ing. Dr. h. c. Rolf Isermann
Diplomarbeit
Weiterentwicklung von Verfahren zur Online-Parameterschatzung
und Untersuchung von Methoden zur Erzeugung
zeitlicher Ableitungen
Bearbeitet von: Michael Vogt
Betreut von: Dipl.-Ing. Olaf Moseler
Tag der Abgabe: 26. August 1998
Zusammenfassung
Parameterschatzverfahren werden u. a. zur Fehlererkennung an technischen Pro-
zessen eingesetzt. Dazu werden die Parameter in Echtzeit geschatzt und mit
denen eines Referenzmodells verglichen, um Veranderungen festzustellen. Ausge-
hend von dieser Aufgabenstellung greift die vorliegende Arbeit zwei Teilprobleme
auf: Zum einen werden zeitrekursive Schatzverfahren hergeleitet, welche die Pro-
zeßparameter mit hoherer numerischer Genauigkeit berechnen als herkommliche
RLS-Algorithmen und trotzdem erheblich weniger Rechenzeit benotigen als die
ublichen Orthogonalisierungsverfahren. Zum anderen wird die Erzeugung zeitli-
cher Ableitungen mit Hilfe von Filtern untersucht. Diese werden im Zusammen-
hang mit zeitkontinuierlichen Prozessmodellen benotigt. Im Mittelpunkt steht
dabei die Frage, inwieweit die haufig verwendeten Zustandsvariablenfilter durch
Filter mit nichtrekursiver Struktur ersetzt werden konnen.
Alle Verfahren werden zunachst analysiert und mit MATLAB in der Simu-
lation getestet. Anschließend werden sie zur Parameterschatzung und Fehlerer-
kennung am elektrischen Teilsystem eines burstenlosen Gleichstrommotors ein-
gesetzt.
2
Abstract
Parameter estimation methods are used for various applications, such as fault
detection in technical processes. For this the parameters are estimated in real-
time and compared with those of a reference model to detect differences. With
regard to the fault detection problem, this thesis deals with two basic problems
of parameter estimation: First, estimation methods are proposed that compute
the process parameters with higher accuracy than traditional RLS algorithms but
need considerably less computation time than usual orthogonalization techniques.
Then, the formation of derivatives by linear filters is discussed, since derivatives of
signals are needed to estimate parameters of continous-time models. In particular
it will be examined, how the widely used state variable filter can be substituted
by filters with non-recursive structure.
All the methods will be analyzed and tested in MATLAB simulations. After
that, they are used for parameter estimation and fault detection of the electric
subsystem of a brushless DC motor.
3
Inhaltsverzeichnis
Zusammenfassung 2
Abstract 3
Haufig verwendete Symbole 6
1 Einfuhrung 8
2 Parameterschatzverfahren 13
2.1 Problemstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2 Der klassische Losungsansatz . . . . . . . . . . . . . . . . . . . . . 15
2.3 Losung durch orthogonale Transformation . . . . . . . . . . . . . 18
2.4 Das Gram-Schmidt-Verfahren . . . . . . . . . . . . . . . . . . . . 22
2.5 Schnelle DSFI-Algorithmen . . . . . . . . . . . . . . . . . . . . . 25
2.6 Vergleich der Verfahren . . . . . . . . . . . . . . . . . . . . . . . . 29
3 Erzeugung zeitlicher Ableitungen 34
3.1 Zustandsvariablenfilter . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2 Modulationsfunktionen . . . . . . . . . . . . . . . . . . . . . . . . 41
3.3 Differenzierende Transversalfilter . . . . . . . . . . . . . . . . . . 45
3.4 Vergleich der Methoden . . . . . . . . . . . . . . . . . . . . . . . 48
4 Experimentelle Ergebnisse 53
4.1 Der burstenlose Gleichstrommotor . . . . . . . . . . . . . . . . . . 53
4.2 Schatzung der Parameter . . . . . . . . . . . . . . . . . . . . . . . 56
4.3 Erkennung von Fehlern . . . . . . . . . . . . . . . . . . . . . . . . 61
5 Zusammenfassung und Ausblick 64
4
INHALTSVERZEICHNIS 5
A Weitere Schatzverfahren 69
A.1 Das RLS-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . 69
A.2 Die Householder-Transformation . . . . . . . . . . . . . . . . . . . 70
B MATLAB-Funktionen 72
B.1 Rekursive Parameterschatzverfahren . . . . . . . . . . . . . . . . 72
B.1.1 DSFI-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . 72
B.1.2 RMGS-Verfahren . . . . . . . . . . . . . . . . . . . . . . . 73
B.1.3 Schnelles DSFI-Verfahren . . . . . . . . . . . . . . . . . . 74
B.2 Filterentwurf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
B.2.1 Zustandsvariablenfilter . . . . . . . . . . . . . . . . . . . . 75
B.2.2 Modulationsfunktionen . . . . . . . . . . . . . . . . . . . . 77
B.2.3 Differenzierende Transversalfilter . . . . . . . . . . . . . . 77
Literaturverzeichnis 79
HAUFIG VERWENDETE SYMBOLE 6
Haufig verwendete Symbole
Parameterschatzung
c1, c2 transformierte rechte Seite
e Vektor der Schatzfehler (e = Ψθ − y)
D Diagonalmatrix (MGS-Verfahren, D2 = diag(w) )
G Transformationsmatrix (schnelle Givens-Rotation)
H Givens-Matrix (standard Givens-Rotation)
k Zeitindex (diskrete Zeit)
n Anzahl der Parameter
N Anzahl der Meßwerte
Q orthonormale N × N -Matrix (QR-Zerlegung)
R Cholesky-Faktor
S erweiterte R-Matrix: S = (R, c1)
U orthonormale N × n -Matrix (MGS-Verfahren)
w Skalierungsfaktoren (schnelles DSFI-Verfahren)
y Vektor der Ausgangswerte
γ, σ Givens-Rotationsparameter
θ Parametervektor (geschatzte Parameter: θ)
λ exponentieller Gedachtnisfaktor
ψT Meßwert-Zeile
Ψ Datenmatrix (Zeilen: ψT , Spalten: ϕ)
Filterentwurf
ai, bi Filterkoeffizienten (der Ubertragungsfunktion G(s) )
Ad, Bd Matrizen fur zeitdiskretes Zustandsvariablenfilter
Ak, Bk Matrizen fur zeitkontinuierliches Zustandsvariablenfilter
f Frequenz
fa Abtastfrequenz (fa = 1/Ta)
fg Grenzfrequenz
g(t) Impulsantwort (g(t) −• G(s) )
G(s) Ubertragungsfunktion in s-Bereich
k Zeitindex (diskrete Zeit)
m Koeffizientenanzahl bei Transversalfiltern
n Filterordnung beim Zustandsvariablenfilter
p(t) Polynom
HAUFIG VERWENDETE SYMBOLE 7
r Interpolationsordnung beim Zustandsvariablenfilter
t, τ kontinuierliche Zeit
Ta Abtastzeit (Ta = 1/fa)
Tf Lange der Impulsantwort
u Eingangssignal des Filters
u(kTa) Eingangsvektor des Zustandsvariablenfilter
x Zustandsvektor
y Ausgangssignal des Filters
κ Koeffizienten des Polynoms p(t)
Gleichstrommotor
IA Phasenstrom
IBr Bruckenstrom
LA Induktivitat einer Phase
PWM Tastverhaltnis der Pulsbreitenmodulation
RA Widerstand einer Phase
UA Phasenspannung
UBr Bruckenspannung
Ψ magnetische Flußverkettung
ω Kreisfrequenz des Motors
Kapitel 1
Einfuhrung
Bei der Modellbildung technischer Prozesse unterscheidet man zwei prinzipielle
Vorgehensweisen: Die theoretische Modellbildung benutzt physikalische Grund-
gleichungen (Bilanzgleichungen, Zustandsgleichungen usw.), um das Verhalten
eines Prozesses naherungsweise zu beschreiben. Demgegenuber wird bei der ex-
perimentellen Modellbildung (oder Identifikation) eine Klasse von Modellen fur
den Zusammenhang zwischen Ein- und Ausgang angenommen und deren Para-
meter aus gemessenen Ein- und Ausgangssignalen bestimmt. Es besteht auch die
Moglichkeit, beide Methoden zu kombinieren, indem man die nicht oder nur un-
genau bekannten Parameter eines auf theoretischem Wege gewonnenen Modells
mit Hilfe von Identifikationsmethoden schatzt. Der Einsatz solcher Verfahren hat
sich insbesondere mit dem Aufkommen von Digitalrechnern und Mikrocontrollern
stark verbreitet.
Die so erzeugten Prozeßmodelle werden fur die verschiedensten Aufgaben im
Bereich der Regelungstechnik und deren Anwendungen eingesetzt. Eines dieser
Gebiete, dessen Bedeutung in den letzten Jahren stark zugenommen hat, ist die
Uberwachung und Fehlererkennung an technischen Prozessen, siehe [13]. Durch
den Einsatz modellgestutzter Methoden konnen Fehler fruher erkannt und u.U.
nach Art, Ort und Große eingeordnet werden (Fehlerdiagnose). Außerdem ist es
durch die Verwendung von Prozeßmodellen auch moglich, Fehler in geschlossenen
Regelkreisen zu erkennen, die vom Regler noch kompensiert werden konnen und
daher mit einfacher Grenzwertuberwachung nicht zu erfassen sind.
Da fur eine Regelung des Prozesses die Messung der Ein- und Ausgangsgroßen
ohnehin erforderlich ist, sind fur die Fehlererkennung keine zusatzlichen Sensoren
notig, was die Zuverlassigkeit des Uberwachungssystems weiter erhoht. In diesem
Zusammenhang bezeichnet man die Kenntnis des Prozeßverhaltens als analytische
8
KAPITEL 1. EINFUHRUNG 9
Redundanz, wahrend man unter Hardware-Redundanz den Einsatz zusatzlicher
Sensoren versteht. Durch Hardware-Redundanz lassen sich z. B. Sensorfehler er-
kennen, indem man zur Messung eines Signals mehrere Sensoren benutzt und
deren Meßwerte miteinander vergleicht. Im Falle der analytischen Redundanz
ist es dagegen aufgrund des bekannten Ubertragungsverhaltens moglich, auch
verschiedene Signale miteinander zu vergleichen, so daß man auf den Einsatz
mehrerer Sensoren zur Messung eines einzigen Signals verzichten kann.
Fur die modellgestutzte Fehlererkennung sind im wesentlichen folgende Me-
thoden gebrauchlich, siehe [10]:
• Paritatsgleichungen: Die Ausgange des Prozesses werden mit den Ausgan-
gen eines Referenzmodells (= Modell des fehlerfreien Prozesses) verglichen,
wie in Bild 1.1 gezeigt. Die Differenzen e(t) bezeichnet man als Residuen,
Prozeß
Modell er r- -
- - -?
u(t)y(t)
e(t)+−
Bild 1.1: Fehlererkennung mit Hilfe von Paritatsgleichungen
die Gleichungen zu ihrer Berechnung als Paritatsgleichungen. Abgesehen
von stochastischen Storungen gilt im fehlerfreien Fall e(t) ≈ 0. Treten im
Prozeß Fehler auf, dann zeigen die Residuen Abweichungen, deren Dynamik
abhangig von der Art des Fehlers ist.
• Parameterschatzverfahren: Die Parameter eines Prozeßmodells werden in
Echtzeit geschatzt und mit den Parametern eines Referenzmodells ver-
glichen, siehe Bild 1.2. Aus den Parameteranderungen ∆θ konnen direkt
Prozeß
ID
e
r r- -
- ¾
4 4
4
u(t)y(t)
∆θθist
θsoll
−+
Bild 1.2: Fehlererkennung durch Online-Parameterschatzung
KAPITEL 1. EINFUHRUNG 10
Ruckschlusse auf die Anderungen der internen Prozeßparameter (z. B. Wi-
derstande, Ubergangskoeffizienten etc.) gezogen werden. Damit ist bereits
mit einfachen Mitteln eine Fehlerdiagnose moglich.
• Außerdem sind auch noch Beobachterverfahren gebrauchlich. Diese benut-
zen Zustandsraummodelle und Zustandsbeobachter, um die internen Zu-
stande zu schatzen, woraus ebenfalls Aussagen uber mogliche Fehler ge-
wonnen werden konnen.
Alle diese Verfahren dienen der Erzeugung von Symptomen, d. h. von Großen, die
im Falle von Fehlern Veranderungen in ihren Signaleigenschaften (Mittelwert,
Varianz, Korrelationsfunktion, . . . ) zeigen. An die Generierung von Symptomen
schließt sich i. a. eine weitere Verarbeitung der Signale an, die z. B. eine Fehler-
diagnose oder die Abschaltung bzw. Rekonfiguration des Prozesses beinhaltet.
Dieser Teil des Uberwachungssystems soll hier nicht betrachtet werden; auch auf
Beobachterverfahren wird im folgenden nicht weiter eingegangen.
Methoden, die mit Paritatsgleichungen und Parameterschatzung arbeiten, be-
nutzen beide ein Prozeßmodell, das den Zusammenhang zwischen Eingang und
Ausgang wiedergibt. Wahrend bei den Paritatsgleichungen nur das Ein-/Aus-
gangsverhalten des Modells verwendet wird, werden bei den Parameterschatzme-
thoden die internen Parameter herangezogen, was eine Echtzeit-Parameterschat-
zung notig macht. Hinzu kommt die Schwierigkeit, die Parameter mit moglichst
hoher Gute zu schatzen, da einfache Verfahren oft so große Schatzfehler erzeu-
gen, daß sich kleine Parameteranderungen nicht mehr erkennen lassen. Die vor-
liegende Arbeit befaßt sich daher mit zwei wichtigen Teilproblemen der Parame-
terschatzung: Online-Parameterschatzverfahren und Erzeugung zeitlicher Ablei-
tungen.
In Kapitel 2 werden Parameterschatzverfahren naher betrachtet. Da die ge-
messenen Daten immer mit Meßfehlern und sonstigen Storungen behaftet sind,
muß man auch in den geschatzten Parametern mit Fehlern rechnen, die sich aber
mit relativ einfachen Mitteln abschatzen lassen. Eine solche Konditionsanalyse
zeigt, daß Verfahren, die mit orthogonalen Transformationen arbeiten, ein beson-
ders gunstiges Verhalten hinsichtlich der Schatzfehler aufweisen. Als Konsequenz
daraus sollen auch die hier benotigten Online-Schatzalgorithmen zu dieser Klas-
se von Verfahren gehoren. Ein weiterer Schwerpunkt von Kapitel 2 liegt daher
in der Entwicklung von zeitrekursiven Schatzalgorithmen, die zwar orthogonale
Transformationen benutzen, aber trotzdem mit einer moglichst geringen Anzahl
von Rechenoperationen auskommen.
KAPITEL 1. EINFUHRUNG 11
Kapitel 3 behandelt mit der Erzeugung zeitlicher Ableitungen ein Problem,
das die Parameterschatzung nicht direkt betrifft, jedoch im Fall von zeitkonti-
nuierlichen Prozeßmodellen eine haufig erforderliche Signal-Vorverarbeitung dar-
stellt. Um dies zu verdeutlichen, sollen zunachst einige Klassen von Prozeßmodel-
len betrachtet werden, die linear in ihren Parametern sind und somit auf lineare
Ausgleichsprobleme fuhren1. Statische Prozesse mit Eingang u und Ausgang y,
die diese Forderung erfullen, haben die Struktur
y(u) =n∑
i=1
kiϕi(u) (1.1)
mit den Parametern ki und den Ansatzfunktionen ϕi(u). Der Ausgang y hangt
dabei nur vom aktuellen Eingangswert u ab. Demgegenuber hangt z. B. das aktu-
elle Ausgangssignal y(k) eines linearen zeitdiskreten dynamischen Prozesses uber
die Beziehung
y(k) +
n1∑i=1
aiy(k − i) =
n2∑j=0
bju(k − j) (1.2)
auch von den Eingangs- und Ausgangswerten an vergangenen Zeitpunkten ab2.
Ein Prozeßmodell nach Gl. (1.2) fuhrt allerdings nur dann auf ein lineares Aus-
gleichsproblem, wenn als Modellfehler der sog. Gleichungsfehler verwendet wird,
der dem Fehler einer Einschritt-Vorhersage entspricht, siehe [9]. Wichtig ist bei
dieser Modellstruktur, daß alle Daten, d. h. die Großen y(k − i) und u(k − j),
gemessen werden konnen. Dies kann bei linearen zeitkontinuierlichen Modellen
der Form
y(t) +
n1∑i=1
a∗i y
(i)(t) =
n2∑j=0
b∗ju(j)(t) (1.3)
nicht vorausgesetzt werden, da die zeitlichen Ableitungen y(i)(t) und u(j)(t) haufig
nicht zuganglich sind oder zusatzliche Sensoren erfordern wurden. Zeitkontinu-
ierliche Modelle nach Gl. (1.3) werden aber oft den zeitdiskreten Modellen aus
Gl. (1.2) vorgezogen, weil die Parameter a∗i und b∗j im Gegensatz zu ai und bj in
der Regel eine physikalische Bedeutung haben und die Modelle dadurch anschau-
licher machen.
Da eine numerische Differentiation der Signale wegen ihrer schlechten Storsig-
nalunterdruckung vermieden werden sollte, werden in Kapitel 3 Filter vorgestellt,
1Dies ist notwendig, um die in Kapitel 2 beschriebenen Verfahren einsetzen zu konnen.Nichtlineare Ausgleichsprobleme werden dagegen hier nicht behandelt.
2Das Argument k bezeichnet hier die diskrete Zeit und entspricht den Zeitpunkten kTa,wobei Ta die Abtastzeit ist.
KAPITEL 1. EINFUHRUNG 12
die eine Differentiation durchfuhren und gleichzeitig hochfrequente Storungen un-
terdrucken. Der ubliche Ansatz hierfur sind zeitdiskret realisierte Zustandsvaria-
blenfilter, die die zeitlichen Ableitungen zwar sehr effizient berechnen, doch auf-
grund ihrer rekursiven Struktur auch einige Nachteile aufweisen. Als Alternativen
werden die Methode der Modulationsfunktionen und differenzierende Transver-
salfilter untersucht, die einen nichtrekursiven Aufbau besitzen und daher insbe-
sondere ein gunstigeres Einschwingverhalten zeigen.
In Kapitel 4 werden die Verfahren aus den beiden vorangegangenen Kapiteln
am Beispiel eines burstenlosen Gleichstrommotors erprobt. Solche Motoren haben
gegenuber herkommlichen Gleichstrommotoren einen geringeren Verschleiß, da
die Kommutierung auf elektronischem Weg erfolgt. Die Untersuchung beschrankt
sich dabei auf das elektrische Teilsystem, da hier die benotigten Signale verhalt-
nismaßig gut zuganglich sind und Fehler mit einfachen Mitteln auch kunstlich
erzeugt werden konnen (Unterbrechung, Widerstandserhohung, . . . ). Nach einer
Online-Parameterschatzung werden beispielhaft Fehler in den Prozeß eingebaut
und der Verlauf der geschatzten Parameter beobachtet.
Kapitel 5 faßt schließlich die gewonnenen Erkenntnisse noch einmal zusammen
und gibt einen Ausblick auf die weitere Entwicklung der Methoden im Hinblick
auf ihre praktische Realisierung und noch bestehende Nachteile.
Kapitel 2
Parameterschatzverfahren
Wie in Kapitel 1 erlautert wurde, werden parametrische Prozeßmodelle fur ver-
schiedene Aufgaben eingesetzt, z. B. zum Reglerentwurf, fur Stabilitatsuntersu-
chungen usw. Bei einigen dieser Problemstellungen wird nur das Ein-/Ausgangs-
verhalten des Modells benutzt, d. h. die Prozeßparameter werden nicht benotigt.
In einem solchen Fall sind oft einfache Parameterschatzverfahren ausreichend, die
zwar zu großen Fehlern in den geschatzten Parametern fuhren konnen, aber in
der Regel dennoch ein Modell liefern, das das Ein-/Ausgangsverhalten gut appro-
ximiert. Verwendet man Parameterschatzverfahren jedoch zur Fehlererkennung,
dann werden die Parameter eines in Echtzeit geschatzten Modells mit denen eines
Referenzmodells verglichen, um mogliche Veranderungen festzustellen. Dazu ist
es aber notig, die Parameter mit moglichst hoher Genauigkeit zu schatzen, da die
Schatzfehler bei numerisch schlechten Verfahren um ein Vielfaches großer sein
konnen, als die zu erkennenden Parameteranderungen. Ziel dieses Kapitels ist es
daher, numerisch stabile Verfahren herzuleiten, die auch fur den Echtzeit-Einsatz
auf Digitalrechnern und Mikrocontrollern geeignet sind.
2.1 Problemstellung
Betrachtet wird im folgenden ein Prozeß mit einem Eingang u und einem Ausgang
y. Der funktionelle Zusammenhang sei beschrieben durch
y = ψT · θ (2.1)
mit
ψT = (ψ1, ψ2, . . . , ψn)
θ = (θ1, θ2, . . . , θn)T .
13
KAPITEL 2. PARAMETERSCHATZVERFAHREN 14
Die Ansatzfunktionen ψi konnen im Falle eines statischen Prozesses z. B. Poten-
zen des Eingangs ui sein (Polynomansatz). Bei linearen dynamischen Prozessen
stellen die Ansatzfunktionen die zeitlichen Ableitungen des Eingangs (u(i)(t)) und
des Ausgangs (y(i)(t)) dar, bzw. im zeitdiskreten Fall die zeitlich verschobenen
Werte u(t− iTa) und y(t− iTa), wobei Ta die Abtastzeit des Systems ist, siehe [9].
Diese Unterscheidung soll im folgenden nicht mehr gemacht werden; zur Unter-
suchung der Schatzverfahren werden beliebige Prozesse betrachtet, die linear in
ihren n Parametern sind, also durch Gl. (2.1) beschrieben werden. Zur Schatzung
der Parameter macht man den Ansatz
y(k) = ψT (k) · θ (2.2)
bzw.
y(k) = ψT (k) · θ + e(k) , (2.3)
wobei die mit ˆ gekennzeichneten Großen Schatzwerte darstellen und e(k) =
y(k)− y(k) der Schatzfehler ist. Stellt man die Schatzgleichung (2.3) fur mehrere
Meßpunkte k auf, so ergibt sich ein lineares Gleichungssystem:
y = Ψ · θ + e (2.4)
mit
y = (y(1), y(2), . . . , y(N))T
Ψ =
ψ1(1) ψ2(1) · · · ψn(1)
ψ1(2) ψ2(2) · · · ψn(2)...
......
ψ1(N) ψ2(N) · · · ψn(N)
=
ψT (1)
ψT (2)...
ψT (N)
θ = (θ1, θ2, . . . , θn)T
e = (e(1), e(2), . . . , e(N))T .
Obwohl prinzipiell n Gleichungen zur Bestimmung der n Parameter ausreichen
wurden, verwendet man zur Unterdruckung von Meßfehlern N À n Gleichungen
und bestimmt die Parameter θ so, daß die Fehlerquadratsumme
V =N∑
k=1
e(k) = eT e = ‖e‖22 = ‖Ψ · θ − y‖2
2 (2.5)
KAPITEL 2. PARAMETERSCHATZVERFAHREN 15
minimal wird. Die folgenden Abschnitte befassen sich mit verschiedenen Losungs-
methoden fur dieses Problem. Wie bereits oben eingefuhrt, sollen dabei die Zei-
len von Ψ mit ψT (k) bezeichnet werden, die Spalten dagegen mit ϕj. Bei nicht-
rekursiven Verfahren sind die Elemente von Ψ mit ψkj bezeichnet; im Zusammen-
hang mit zeitrekursiven Verfahren wird bei allen beteiligten Großen ein Zeitindex
in Klammern angegeben, insbesondere ist dann anstelle von ψkj die Bezeichnung
ψj(k) gewahlt. Wird eine Große innerhalb eines Zeitschritts mehrfach umgerech-
net, so wird diese Iteration durch einen hochgestellten Index (i) angezeigt.
2.2 Der klassische Losungsansatz
Die am langsten bekannte Methode zur Losung des linearen Ausgleichs- oder
Parameterschatzproblems
‖Ψθ − y‖22 = min. (2.6)
wurde bereits von Gauss entwickelt und fuhrt auf die sog. Normalgleichungen;
das Verfahren wird haufig auch als LS-(least squares)-Verfahren bezeichnet. Dabei
faßt man die Fehlerquadratsumme
V (θ) = ‖Ψθ − y‖22 = (Ψθ − y)T (Ψθ − y) = θ
TΨTΨθ − 2yTΨθ + yT y (2.7)
als Funktion der Parameter θ auf und bildet den Gradienten
∇V =∂V
∂θ= 2ΨTΨθ − 2Ψy . (2.8)
An der Minimalstelle gilt ∇V = 0, so daß die Normalgleichungen1 schließlich
folgende Form haben, siehe [9]:
ΨTΨ θ = ΨT y , (2.9)
bzw. nach θ aufgelost:
θ = (ΨTΨ)−1ΨT y . (2.10)
Man wird allerdings die Parameter nicht nach Gl. (2.10) bestimmen, sondern
Gl. (2.9) mittels des Cholesky-Verfahrens nach θ auflosen, da ΨTΨ eine posi-
tiv definite Matrix ist. Das Cholesky-Verfahren ist ein dem Gauss-Algorithmus
ahnliches Verfahren, das speziell zur Losung von Gleichungssystemen mit positiv
definiter Matrix konzipiert ist und bessere numerische Eigenschften aufweist als
1Man spricht von den Normalgleichungen in der Mehrzahl, da es sich um ein System von n
linearen Gleichungen handelt.
KAPITEL 2. PARAMETERSCHATZVERFAHREN 16
der Gauss-Algorithmus, siehe [17]. Wahrend mit dem Gauss-Algorithmus ledig-
lich die Zerlegung einer Matrix A in eine untere und eine obere Dreiecksmatrix
A = LU moglich ist, kann eine positiv definite Matrix in der Form A = RT R
zerlegt werden, wobei R eine obere Dreiecksmatrix ist und als Cholesky-Faktor
von A bezeichnet wird. Gl. (2.9) reduziert sich daher auf
RT R θ = ΨT y , (2.11)
was durch zweimaliges Ruckeinsetzen gelost werden kann. Bei der praktischen
Berechnung wird der Cholesky-Algorithmus wahrend der Rechnung auch auf die
rechte Seite angewendet, so daß man direkt ein gestaffeltes Gleichungssystem
erhalt:
R θ = (RT )−1ΨT y︸ ︷︷ ︸z
. (2.12)
Haufig hat man auch die Aufgabe, die Parameter wahrend des Betriebs des
Prozesses zu schatzen (Online-Identifikation), d. h. die Meßwerte (= die Zeilen
von Ψ und y) fallen nacheinander an, so daß man ein zeitrekursives Verfahren
benotigt. Ein solches Verfahren ist im Anhang A.1 beschrieben (RLS, recursive
least squares). Dabei ist auch ein Gedachtnisfaktor 0 < λ ≤ 1 berucksichtigt,
der die zuruckliegenden Meßwerte exponentiell gewichtet und so die Schatzung
von zeitvarianten Parametern ermoglicht. Dieser Gedachtnisfaktor bewirkt beim
LS-Verfahren eine Gewichtung der Zeilen von Ψ in der Form
Ψ = WΨ (2.13)
mit
W =
√
λN−1 · · · 0 0...
. . ....
0√
λ 0
0 · · · 0 1
,
so daß sich dieses Verfahren auf das normale LS-Verfahren zuruckfuhren laßt,
indem man Ψ durch Ψ und y durch y = Wy ersetzt. Die Verwendung eines
Gedachtnisfaktors λ 6= 1 ist naturlich nur bei zeitrekursiven Verfahren sinnvoll,
wenn die Losung nach jedem Zeitschritt neu berechnet wird.
Bisher wurde angenommen, daß alle Großen exakt vorliegen, was aber nicht
realistisch ist, da es sich um Meßdaten handelt. Wahrend die Elemente von Ψ
zum Teil relativ genau bekannt sind (z. B. weil die Eingangssignale von einem
Regler vorgegeben werden), sind insbesondere die Ausgangsdaten y mit Meßfeh-
lern δy behaftet, die zu Fehlern δθ in den geschatzten Parametern fuhren. Zur
KAPITEL 2. PARAMETERSCHATZVERFAHREN 17
Abschatzung dieser Fehler betrachtet man zunachst ein lineares Gleichungssy-
stem Ax = b mit einer n×n -Matrix A und einer fehlerbehafteten rechten Seite
b + δb, die einen Fehler δx in der Losung zur Folge hat:
A(x + δx) = b + δb . (2.14)
Aus Ax = b und Aδx = δb ergeben sich die Norm-Ungleichungen
‖δx‖ = ‖A−1δb‖ ≤ ‖A−1‖ · ‖δb‖ (2.15)
‖b‖ = ‖Ax‖ ≤ ‖A‖ · ‖x‖ , (2.16)
woraus man fur den relativen Fehler in der Losung x die Abschatzung
‖δx‖‖x‖ ≤ cond(A) · ‖δb‖‖b‖ (2.17)
erhalt. Darin bezeichnet cond(A) die sog. Konditionszahl der Matrix und ist fur
quadratische Matrizen definiert als
cond(A) = ‖A‖ · ‖A−1‖ . (2.18)
Die Abschatzung fur den Fall einer fehlerbehafteten Matrix A ist etwas aufwendi-
ger. Es zeigt sich jedoch, daß sich die Fehler im wesentlichen additiv uberlagern,
siehe [17]. Welche Matrizennorm dabei verwendet wird, ist im Prinzip gleichgultig;
es ist lediglich darauf zu achten, daß es sich um eine zur verwendeten Vektornorm
passende Norm handelt. Bei Verwendung der ‖ · ‖2 -Norm (Spektralnorm) kann
die Definition der Konditionszahl auch auf nicht-quadratische Matrizen – wie sie
bei Parameterschatzproblemen auftreten – verallgemeinert werden. Man definiert
dann
cond(A) =σ1
σn
, (2.19)
wobei σ1 der großte und σn der kleinste Singularwert von A ist. Als Singularwerte
bezeichnet man die Quadratwurzeln der Eigenwerte von AT A, die durch eine sog.
Singularwertzerlegung, ein aufwendiges, aber numerisch sehr stabiles Verfahren,
berechnet werden konnen. Im Falle einer quadratischen Matrix A und der ‖ · ‖2 -
Norm sind die Definitionen (2.18) und (2.19) identisch.
Ubertragt man diese Ergebnisse auf die Normalgleichungen (2.9), dann ergibt
sich fur den relativen Fehler der ermittelten Parameter die Abschatzung
‖δθ‖‖θ‖ ≤ cond(ΨTΨ) · ‖δy‖‖y‖ = cond2(Ψ) · ‖δy‖‖y‖ , (2.20)
KAPITEL 2. PARAMETERSCHATZVERFAHREN 18
Tabelle 2.1: Schatzung von Polynomkoeffizienten (LS)
Intervall [-1,1] [5,7] [10,12]
1.00000000000000 2.82369132865074 10641.8989813937
2.00000000000001 0.46212653491959 -4852.3506223926
3.00000000000002 3.51707351431825 887.9824760531θ
3.99999999999996 3.91335104651154 -76.5933977528
4.99999999999998 5.00723709500781 8.6662864637
6.00000000000004 5.99975897663828 5.9333490050
cond(Ψ) 4.26 · 101 2.45 · 109 7.71 · 1011‖δθ‖‖θ‖ /‖δy‖
‖y‖ 5.77 · 101 5.46 · 1015 2.63 · 1019
d. h. die Meßfehler in y wirken sich mit einem Faktor cond2(Ψ) auf das Ergebnis
aus. Dies gilt im ubrigen auch fur das RLS-Verfahren, da es wie das LS-Verfahren
auf den Normalgleichungen basiert. Welche Folgen das haben kann, soll folgen-
des Beispiel verdeutlichen: Auf einem Intervall [a, b] wird ein Polynom 5. Grades
mit den Koeffizienten θ = (1, 2, 3, 4, 5, 6)T betrachtet. Durch Auswertung an
N = 100 Punkten wird eine Ausgleichsaufgabe ‖Ψθ − y‖22 = min. erzeugt, aus
der mit Hilfe des LS-Verfahrens wieder die Parameter θ geschatzt werden sol-
len. Dabei ist der Fehler in den Daten identisch mit der Rechengenauigkeit und
betragt hier etwa 2.2 · 10−16. Abhangig von der Lage des Intervalls erhalt man
die Schatzergebnisse in Tabelle 2.1. Man sieht, daß schon die sehr kleinen Fehler
in den Daten die Losung unbrauchbar machen konnen, wenn das Schatzproblem
schlecht konditioniert ist. Da man an einem realen Prozeß selten genauer als 10−3
oder 10−4 messen kann, muß dafur gesorgt werden, daß zum einen die Konditi-
onszahl klein bleibt und zum anderen Verfahren zum Einsatz kommen, bei denen
sich die Meßfehler nicht mit cond2(Ψ) fortpflanzen.
2.3 Losung durch orthogonale Transformation
Da die schlechten numerischen Eigenschaften des LS-Verfahrens offensichtlich
durch die Bildung der Matrix ΨTΨ zustande kommen, sollen nun Verfahren vor-
gestellt werden, welche die Bildung dieser Matrix vermeiden. Zur Herleitung sol-
cher Verfahren wird ausgenutzt, daß die Multiplikation mit einer orthonormalen
Matrix Q die Norm eines Vektors nicht andert:
‖Ψθ − y‖22 = ‖Q(Ψθ − y)‖2
2 . (2.21)
KAPITEL 2. PARAMETERSCHATZVERFAHREN 19
Zu jeder Matrix Ψ existiert eine QR-Zerlegung, siehe [17], mit einer orthonorma-
len N × N -Matrix Q und einer n × n oberen Dreiecksmatrix R, so daß gilt
QΨ =
(R
0
) n
N − n(2.22)
Damit kann Gl. (2.21) weiter zerlegt werden in
‖Ψθ − y‖22 = ‖
(R
0
)θ −Qy‖2
2 = ‖(
Rθ − c1
c2
)‖2
2 = ‖Rθ − c1‖22 + ‖c2‖2
2 . (2.23)
Dieser Ausdruck wird zum Minimum, falls Rθ − c1 = 0, der Restfehler ist dann
gegeben durch ‖c2‖2. Es laßt sich leicht zeigen, daß R wieder der im letzten
Abschnitt eingefuhrte Cholesky-Faktor von ΨTΨ ist:
ΨTΨ = (QT
(R
0
))T (QT
(R
0
)) = (RT , 0) QQT
(R
0
)= RT R . (2.24)
Man erhalt die Bedingung Rθ = c1 daher auch, wenn man die QR-Zerlegung
(2.22) direkt in die Normalgleichungen (2.9) einsetzt. Entscheidend ist jedoch, daß
R berechnet wird, ohne ΨTΨ explizit zu bilden und sich die Parameterschatzung
somit auf die QR-Zerlegung der Matrix Ψ reduziert. Dies geschieht ublicherweise
mittels Householder-Transformationen, die im Anhang A.2 beschrieben sind. Die
Matrix Q, die naturlich nicht mitberechnet werden muß, kann als Produkt von
orthonormalen Householder-Matrizen gedeutet werden. Zur Berechnung von c1 in
Gl. (2.23) muß der Vektor y ebenfalls transformiert werden; es bietet sich daher
an, samtliche Householder-Transformationen auf die Matrix (Ψ, y) anzuwenden,
so daß man nach n Schritten folgende Zerlegung erhalt:
Q(Ψ, y) =
(R c1
0 c2
) n
N − n(2.25)
Durch eine (n + 1) -te Householder-Transformation laßt sich das Residuum mit-
berechnen:
Qn+1Q(Ψ, y) =
R c1
0 ‖c2‖2
0 0
n
1
N − n − 1
(2.26)
Die gesuchte Losung ergibt sich dann durch einfaches Ruckeinsetzen aus der Glei-
chung Rθ = c1. Zur Abschatzung der Fehler in θ kann man mit einigen kleinen
Einschrankungen wieder Gl. (2.17) verwenden, so daß gilt
‖δθ‖‖θ‖ ≤ cond(Ψ) · ‖δy‖‖y‖ . (2.27)
KAPITEL 2. PARAMETERSCHATZVERFAHREN 20
Wichtig ist hierbei, daß sich die Fehler in den Daten nicht mit cond2(Ψ), sondern
nur mit cond(Ψ) fortpflanzen.
Auf der Basis der QR-Zerlegung laßt sich auch ein zeitrekursives Verfahren
herleiten, das ebensogute numerische Eigenschaften besitzt und unter der Be-
zeichnung DSFI (discrete square-root filtering in information form) bekannt ist,
siehe [8], [9], [14]. Dazu nimmt man an, daß die QR-Zerlegung von Ψ(k) bekannt
sei und sucht dann die QR-Zerlegung der Matrix Ψ(k + 1) =( Ψ(k)
ψT(k+1)
), die sich
durch Hinzufugen einer Datenzeile ψT (k + 1) ergibt. Mit den bekannten Großen
kann man folgende Gleichung aufstellen:(Q(k) 0
0T 1
)(Ψ(k)
ψT (k + 1)
)=
R(k)
0
ψT (k + 1)
. (2.28)
Benotigt wird jetzt eine Folge von orthonormalen Transformationen, die ψT (k+1)
auf der rechten Seite von Gl. (2.28) in eine Nullzeile uberfuhrt, so daß die ge-
suchte QR-Zerlegung von Ψ(k +1) entsteht. Diese Aufgabe laßt sich mit Givens-
Transformationen losen, die im 2-dimensionalen Fall einer ebenen Rotation ent-
sprechen. Die Givens-Transformation ist dazu geeignet, Nullen in einer Matrix
zu erzeugen. Im Gegensatz zur Householder-Transformation wird aber jeweils
nur ein einziges Element zu Null gemacht.
Es sei zunachst M eine beliebige 2×µ -Matrix. Diese soll mit einer orthonor-
malen 2 × 2 -Givens-Matrix
H =
(γ σ
−σ γ
)(2.29)
multipliziert werden, so daß das Element m′21 der transformierten Matrix M ′ =
HM verschwindet, also(γ σ
−σ γ
) (m11 m12 · · ·m21 m22 · · ·
)=
(m′
11 m′12 · · ·
0 m′22 · · ·
). (2.30)
Aus den beiden Forderungen
det(H) = γ2 + σ2 = 1
m′21 = −σm11 + γm21 = 0
erhalt man die Rotationsparameter als
γ =m11√
m211 + m2
21
und σ =m21√
m211 + m2
21
, (2.31)
KAPITEL 2. PARAMETERSCHATZVERFAHREN 21
und die Elemente der transformierten Matrix ergeben sich zu
m′11 =
√m2
11 + m221 , m′
21 = 0 ,
m′1j = γm1j + σm2j , m′
2j = −σm1j + γm2j , j = 2, . . . , µ .(2.32)
Um die QR-Zerlegung von Ψ(k +1) zu bestimmen, werden nun nacheinander
Givens-Rotationen auf die rechte Seite von Gl. (2.28) angewendet. Zuerst wird die
neue Datenzeile ψT (k +1) mit der 1. Zeile von R(k) kombiniert und so das erste
Element der Datenzeile eliminiert, dann wird die umgerechnete Datenzeile mit der
2. Zeile von R(k) kombiniert, um das 2. Element zu entfernen, usw. Alle Givens-
Rotationen konnen formal als orthonormale (N+1)×(N+1) -Matrizen angesehen
werden, mit denen beide Seiten von Gl. (2.28) von links multipliziert werden.
Diese Matrizen konnen mit Q(k) zur neuen Matrix Q(k + 1) zusammengefaßt
werden, so daß schließlich gilt:
Q(k + 1)Ψ(k + 1) =
(R(k + 1)
0
) n
N − n + 1(2.33)
Zur rekursiven Berechnung der Losung verwendet man anstelle von R(k) die
Matrix S(k) = (R(k), c1(k)), die sich aus Gl. (2.25) ergibt. Die Elemente dieser
Matrix sind die einzigen Großen, die beim DSFI-Algorithmus iteriert werden; die
eigentliche Losung θ(k) muß in jedem Schritt durch Ruckeinsetzung berechnet
werden. Der Gedachtnisfaktor λ aus Gleichung (2.13) kann dadurch berucksich-
tigt werden, daß die Matrix S(k) vor der Hinzunahme einer neuen Meßwertzeile
ψT (k + 1) = (ψ(0)1 (k + 1), . . . , ψ
(0)n+1(k + 1)) mit
√λ multipliziert wird2. Fur die
Hinzunahme der (k + 1) -ten Meßwertzeile sind also folgende Rechenoperationen
durchzufuhren, siehe auch Anhang B.1:
Algorithmus 2.1 (DSFI-Verfahren)
Berechne fur i = 1, . . . , n:
sii(k + 1) =
√λs2
ii(k) + (ψ(i−1)i (k + 1))2
γ =sii(k)
sii(k + 1), σ =
ψ(i−1)i (k + 1)
sii(k + 1)
Berechne fur j = i + 1, . . . , n + 1:
sij(k + 1) =√
λγsij(k) + σψ(i−1)j (k + 1)
ψ(i)j (k + 1) = −
√λσsij(k) + γψ
(i−1)j (k + 1)
2Zur einheitlichen Darstellung ist der Ausgangswert y(k + 1) mit ψ(0)n+1(k + 1) bezeichnet.
KAPITEL 2. PARAMETERSCHATZVERFAHREN 22
Hinzu kommt jeweils noch die Ruckeinsetzung:
Berechne fur i = n, . . . , 1:
θi(k + 1) =1
sii(k + 1)
(si,n+1(k + 1) −
n∑j=i+1
sij(k + 1) θj(k + 1)
)Man beachte, daß die (n + 1)-te Spalte von S(k + 1) dem Vektor c1 in Gl. (2.23)
entspricht.
Wendet man dieses Verfahren auf das Polynomproblem aus dem letzten Ab-
schnitt an, so erhalt man die Ergebnisse nach Tabelle 2.2. Es ist deutlich zu
Tabelle 2.2: Schatzung von Polynomkoeffizienten (QR)
Intervall [-1,1] [5,7] [10,12]
1.00000000000000 1.00000024312966 1.00003468226862
2.00000000000000 1.99999979856491 1.99998431937117
3.00000000000000 3.00000006645119 3.00000283111047θ
4.00000000000000 3.99999998908819 3.99999974485460
4.99999999999999 5.00000000089208 5.00000001147745
6.00000000000000 5.99999999997094 5.99999999979384
cond(Ψ) 4.26 · 101 2.45 · 109 7.71 · 1011‖δθ‖‖θ‖ /‖δy‖
‖y‖ 5.49 · 100 5.15 · 108 7.13 · 1010
sehen, daß die Parameter wesentlich genauer geschatzt werden als mit dem LS-
Verfahren. Setzt man den relativen Fehler des Ergebnisses zu dem der Ausgangs-
daten ins Verhaltnis, dann ergibt sich stets ein Faktor in der Großenordnung von
cond(Ψ), genau wie dies durch theoretische Uberlegungen bereits abgeschatzt
wurde.
2.4 Das Gram-Schmidt-Verfahren
Die QR-Zerlegung bzw. das DSFI-Verfahren sind zwar erheblich weniger anfallig
gegen Meßfehler als Verfahren, die auf den Normalgleichungen basieren, bedeuten
aber gleichzeitig auch einen hoheren Rechenaufwand. Inbesondere die Berechnung
der Quadratwurzeln zur Bestimmung der Rotationsparameter benotigt auf Mi-
krocontrollern noch immer sehr viel Rechenzeit, so daß der Einsatz solcher Ver-
fahren zur Parameterschatzung in Echtzeit problematisch werden kann. Es gibt
jedoch Verfahren, die Ausgleichsprobleme ebenfalls durch orthogonale Transfor-
KAPITEL 2. PARAMETERSCHATZVERFAHREN 23
mationen losen, aber weniger Rechenzeit als die genannten Algorithmen benoti-
gen. Zu diesen Verfahren gehort die Gram-Schmidt-Orthogonalisierung, die in
ihrer modifizierten Form (MGS-Verfahren) die gleichen numerischen Eigenschaf-
ten besitzt wie die QR-Zerlegung. Es wird eine Zerlegung der Form
Ψ = (ϕ(0)1 , ϕ
(0)2 , . . . , ϕ(0)
n ) = UR (2.34)
berechnet, wobei R wieder der Cholesky-Faktor von ΨTΨ ist und U den ersten
n Spalten QT aus der QR-Zerlegung entspricht, falls das MGS-Verfahren mit
Normierung verwendet wird. Auf die Normierung der Spalten von U soll jedoch
im folgenden verzichtet werden, da hierzu wieder die Berechnung von Wurzeln
notig ware. Beim unnormierten MGS-Verfahren wird die Lange der Spalten von
U = (u1, . . . , un) ublicherweise so gewahlt, daß auf der Hauptdiagonalen von R
nur Einsen stehen. Man nimmt dazu die erste Spalte von Ψ als erste Spalte von
U , zieht von den restlichen Spalten von Ψ jeweils den Anteil in Richtung dieser
Spalte ab und bezeichnet die umgerechneten Spalten mit ϕ(1)j , j = 2, . . . , n .
In gleicher Weise werden die ubrigen Spalten von U berechnet. Der vollstandige
Algorithmus sieht dann wie folgt aus:
Algorithmus 2.2 (Unnormiertes MGS-Verfahren, 1. Version)
Berechne fur i = 1, . . . , n:
Setze ui = ϕ(i−1)i und rii = 1
Berechne fur j = i + 1, . . . , n :
rij =uT
i ϕ(i−1)j
uTi ui
und ϕ(i)j = ϕ
(i−1)j − rijui
Man erhalt so die Zerlegung
Ψ = UR = (u1, u2, . . . , un)
1 · · · uT
1 ϕ(0)n
uT1 u1
.... . .
...
0 · · · 1
. (2.35)
Zur Entwicklung eines rekursiven Verfahrens bietet sich jedoch die folgende Zer-
legung an:
Ψ = UR = (u1, u2, . . . , un)D−2︸ ︷︷ ︸U
uT1 u1 · · · uT
1 ϕ(0)n
.... . .
...
0 · · · uTn un
(2.36)
mit
D = diag(‖u1‖2, . . . , ‖un‖2) .
KAPITEL 2. PARAMETERSCHATZVERFAHREN 24
Zwischen den drei Zerlegungen besteht der Zusammenhang
U = UD = UD2
R = D−1R = D−2R
U = UD−1 = UD−2
R = DR = D2R .
Die Zerlegung (2.36) kann durch folgenden Algorithmus berechnet werden:
Algorithmus 2.3 (Unnormiertes MGS-Verfahren, 2. Version)
Berechne fur i = 1, . . . , n:
ui = ϕ(i−1)i bzw. ui = ϕ
(i−1)i /d2
ii
rii = uTi ui bzw. d2
ii = uTi ui
Berechne fur j = i + 1, . . . , n:
rij = uTi ϕ
(i−1)j und ϕ
(i)j = ϕ
(i−1)j − rij
rii
ui
Welche der Zerlegungen fur die Losung von Parameterschatzproblemen benutzt
wird, ist im Prinzip gleichglutig, da die Skalierung der Spalten von U lediglich
eine Skalierung der Zeilen von R bewirkt. Die Zerlegung (2.36) kann aber leicht
mit einen zeitrekursiven Algorithmus (RMGS-Verfahren) berechnet werden, da
hier nur die einzelnen Skalarprodukte zu iterieren sind. Dazu nimmt man wieder
an, daß alle Großen fur die Zerlegung der k × n -Matrix Ψ(k) bekannt seien und
druckt die Zerlegung von Ψ(k + 1) =( Ψ(k)
ψT(k+1)
)durch diese aus:
ui(k + 1) = ϕ(i−1)i (k + 1) =
(ϕ
(i−1)i (k)
ψ(i−1)i (k + 1)
)=
(ui(k)
ψ(i−1)i (k + 1)
)rii(k + 1) = uT
i (k)ui(k) = rii(k) + (ψ(i−1)i (k + 1))2
ϕ(i−1)j (k + 1) =
(ϕ
(i−1)j (k)
ψ(i−1)j (k + 1)
)(2.37)
rij(k + 1) = uTi (k)ϕ
(i−1)j (k) = rij(k) + ψ
(i−1)i (k + 1)ψ
(i−1)j (k + 1)
ϕ(i)j (k + 1) =
(ϕ
(i)j (k)
ψ(i)j (k + 1)
)= ϕ
(i−1)j (k + 1) − rij(k + 1)
rii(k + 1)ui(k + 1)
=
(ϕ
(i−1)j (k) − rij(k+1)
rii(k+1)ui(k)
ψ(i−1)j (k + 1) − rij(k+1)
rii(k+1)ψ
(i−1)i (k + 1)
)Da man bei der Losung von Ausgleichsproblemen nicht an U interessiert ist,
wird man auch hier wieder den Gram-Schmidt-Algorithmus nur auf die Matrix
KAPITEL 2. PARAMETERSCHATZVERFAHREN 25
S(k) = (R(k), c1(k)) nach Gl. (2.25) anwenden, so daß die rechte Seite gleich
mittransformiert wird. Man braucht daher in der letzten Gleichung von (2.37)
nur die unterste Zeile auszuwerten und kann so auf die Berechnung von U ver-
zichten, was ubrigens bei den nicht-rekursiven MGS-Verfahren nicht moglich ist.
Der vollstandige Algorithmus zur Berechnung von S(k + 1), der in Anhang B.1
wieder als MATLAB-Funktion zu finden ist, hat schließlich die Form:
Algorithmus 2.4 (RMGS-Verfahren)
Berechne fur i = 1, . . . , n:
sii(k + 1) = λsii(k) + (ψ(i−1)i (k + 1))2
Berechne fur j = i + 1, . . . , n + 1:
sij(k + 1) = λsij(k) + ψ(i−1)i (k + 1)ψ
(i−1)j (k + 1)
ψ(i)j (k + 1) = ψ
(i−1)j (k + 1) − sij(k + 1)
sii(k + 1)ψ
(i−1)i (k + 1)
Man beachte, daß S hier mit λ anstelle von√
λ gewichtet wird, da das Ver-
fahren ohne Normierung arbeitet. Außerdem ist auch hier wieder y(k + 1) mit
ψ(0)n+1(k+1) bezeichnet, vgl. Algorithmus 2.1. Mit dem Algorithmus 2.4 kann jetzt
also rekursiv die QR-Zerlegung ohne Verwendung von Wurzeln berechnet werden.
Der einzige Nachteil dieses Verfahrens besteht in der Wahl der Matrix D, da die
Elemente von D und R (Skalarprodukte) sehr groß werden konnen und nur dann
beschrankt sind, wenn der Gedachtnisfaktor im offenen Intervall 0 < λ < 1 liegt.
Dies wirkt sich besonders dann nachteilig aus, wenn Festkommazahlen anstel-
le von Fließkommazahlen verwendet werden, z. B. falls das Verfahren auf einem
Mikrocontroller implementiert ist.
2.5 Schnelle DSFI-Algorithmen
Neben dem RMGS-Verfahren besteht auch noch die Moglichkeit, auf der Basis
des DSFI-Verfahrens Algorithmen zu entwickeln, die ohne die Berechnung von
Wurzeln auskommen. Dazu wird die normale Givens-Rotation (siehe Abschnitt
2.3) durch eine sog. schnelle Givens-Rotation ersetzt. Um die Berechnung von
Wurzeln einsparen zu konnen, muß die 2 × µ -Matrix M in der Form
M = KB (2.38)
KAPITEL 2. PARAMETERSCHATZVERFAHREN 26
vorliegen, wobei K = diag(k1, k2) die Zeilen von B skaliert. Man definiert dann
die Transformationsmatrix G als
G = (K ′)−1HK , (2.39)
wobei K ′ = diag(k′1, k′
2) die Zeilenskalierung der transformierten Matrix B′ und
H die Givens-Matrix aus Gl. (2.29) ist. Mit B′ = GB sieht man leicht, daß
K ′B′ = K ′GB = K ′(K ′)−1HKB = HM = M ′ . (2.40)
Fur die Wahl von K ′ bzw. G gibt es verschiedene Moglichkeiten, siehe [1], [4], [5],
die jedoch praktisch alle gemeinsam haben, anstelle von K die Matrix W = K2
zu speichern, um die Bildung von Wurzeln zu vermeiden. In [4] wird z. B. davon
ausgegangen, daß durch geeignete Wahl von W bereits b11 = 1 gilt. W ′ und G
werden dann so gewahlt, daß wieder b′11 = 1 ist:
W ′ =
(w1 + w2b
221 0
0 w1w2
w1+w2b221
)(2.41)
G =
(w1
w1+w2b221
w2b21w1+w2b221
−b21 0
), (2.42)
oder in Form von skalaren Gleichungen:
w′1 = w1 + w2b
221
w′2 = w1w2/(w1 + w2b
221) = w1w2/w
′1
c = w1/(w1 + w2b221) = w1/w
′1 (2.43)
d = w1b21/(w1 + w2b221) = w1b21/w
′1
b′2j = b2j − b21b1j , j = 2, . . . , µ
b′1j = cb1j + db2j , j = 2, . . . , µ .
Dieser Algorithmus kommt ohne die Bildung von Wurzeln aus und benotigt nur
3 Multiplikationen pro Matrixelement. Die letzte Gleichung kann auch noch als
b′1j = b1j + db′2j , j = 2, . . . , µ
geschrieben werden, so daß eine weitere Multiplikation eingespart wird. Aller-
dings kann der so veranderte Algorithmus unter ungunstigen Umstanden instabil
werden. Zur Losung dieses Problems ist in [1] eine Pivotisierungsstrategie vor-
gestellt, die jedoch relativ viele Vergleichsoperationen benotigt und sich daher
KAPITEL 2. PARAMETERSCHATZVERFAHREN 27
nur fur große µ lohnt. In [1] wird außerdem ein weiterer Algorithmus vorgeschla-
gen, der die Transformationsmatrix G so wahlt, daß die Elemente von W ′ stets
in [12, 2], also
”in der Nahe“ der Standard-Givensrotation liegen. Dieser Algo-
rithmus benotigt wieder 4 Multiplikationen pro Element, ist aber gut fur die
Hardware-Implementierung geeignet. Derartige Algorithmen sollen im folgenden
nicht weiter betrachtet werden; vielmehr soll die schnelle Givens-Rotation in der
Form (2.43) zur Entwicklung eines Verfahrens zur Losung von Ausgleichsproble-
men ‖Ψθ − y‖22 = min. benutzt werden.
Wie in den bisherigen Ausfuhrungen wird auch hier S(k) = (R(k), c1(k))
als Iterationsmatrix betrachtet, jedoch hat S im Gegensatz zu S (beim nor-
malen DSFI-Verfahren) Einsen auf der Hauptdiagonalen, vgl. Abschnitt 2.4. Es
muß daher noch ein Vektor w(k) iteriert werden, der die quadrierte Zeilenskalie-
rung von S(k) darstellt. Der quadratische Skalierungsfaktor v von ψT (k + 1) =
(ψ(0)1 (k+1), . . . , ψ
(0)n+1(k+1)) braucht nur wahrend eines Zeitschritts beibehalten
zu werden und kann im nachsten Schritt fur ψT (k + 2) benutzt werden3. Man
kommt so zu folgendem Verfahren, das auch wieder als MATLAB-Funktion in
Anhang B.1 zu finden ist:
Algorithmus 2.5 (Schnelles DSFI-Verfahren)
Setze v(0) = 1
Berechne fur i = 1, . . . , n:
wi(k + 1) = λwi(k) + v(i−1)(ψ(i−1)i (k + 1))2
c(i) = λwi(k)/wi(k + 1)
d(i) = v(i−1)ψ(i−1)i (k + 1)/wi(k + 1)
v(i) = v(i−1)c(i−1)
Berechne fur j = i + 1, . . . , n + 1:
sij(k + 1) = c(i)sij(k) + d(i)ψ(i−1)j (k + 1)
ψ(i)j = ψ
(i−1)j − ψ
(i−1)i sij(k)
Anstatt alle Elemente von S(k) mit√
λ zu multiplizieren, werden hier die Ele-
mente von w(k) mit dem Gedachtnisfaktor λ multipliziert. Bei begrenztem Spei-
cherplatz kann w(k) auch auf der Hauptdiagonalen von S(k) abgelegt werden.
Wie bei allen anderen Algorithmen ist auch hier zu bedenken, daß die mit (i) ge-
kennzeichneten Großen nicht alle gespeichert werden mussen, sondern nach jedem
3Auch hier ist y(k + 1) wieder mit ψ(0)n+1(k + 1) bezeichnet.
KAPITEL 2. PARAMETERSCHATZVERFAHREN 28
Iterationsschritt wieder uberschrieben werden konnen.
Der Algorithmus 2.5 berechnet also in rekursiver Form die Zerlegung (2.35)
des unnormierten Gram-Schmidt-Verfahrens, wobei die Elemente von w(k) den
Diagonalelementen von D2 in Gl. (2.36) entsprechen. In [11] ist sogar gezeigt, daß
sich fur die Zerlegung (2.35) – nicht nur fur (2.36) – ein rekursiver Gram-Schmidt-
Algorithmus herleiten laßt, dessen Gleichungen formal mit denen von Algorithmus
2.5 ubereinstimmen. Da bei dieser Zerlegung nur Einsen auf der Hauptdiagonalen
stehen, kann man n Divisionen einsparen, weil bei der Ruckeinsetzung nicht mehr
durch diese Elemente geteilt werden muß.
Davon abgesehen eignet sich der Vektor w(k) zur Uberwachung der Prozeß-
anregung: Wird der Prozeß standig am gleichen Arbeitspunkt betrieben, dann
liegen aufgrund des exponentiellen Gedachtnisses nach einer gewissen Zeit nur
noch (fast) linear abhangige Gleichungen vor, und es entstehen Nullzeilen in S(k).
Da aber die Hauptdiagonale immer auf 1 normiert ist, gehen in diesem Fall die
Elemente von w(k) gegen 0. In letzter Konsequenz kann dies dazu fuhren, daß
nur noch die erste Zeile von S(k) von Null verschieden ist und der gemessenen
Gleichung entspricht. In Bild 2.1 ist der Verlauf der Zeilenfaktoren w1 und w2
0 100 200 300 400 5000
2
4
6
8
10
12
14w1
w2
Zeitschritte
Zei
lenf
akto
ren
Parameterschätzung
Bild 2.1: Verlauf der quadratischen Zei-lenfaktoren bei unzureichender Prozeß-anregung ( w1; w2)
aus einer MATLAB-Simulation aufgezeichnet. Die verwendeten Daten wurden
mit einem Polynomansatz (siehe Abschnitt 2.6) generiert; nach dem 300. Abtast-
schritt wurde das Polynom nur noch an einer einzigen Stelle ausgewertet, um
eine unzureichende Prozeßanregung zu simulieren. Man sieht sehr deutlich, wie
der Faktor w1 konstant bleibt, wahrend w2 – wie auch alle ubrigen Faktoren wi
– exponentiell gegen Null geht. Es bietet sich daher an, als Maß fur die Prozeß-
anregung entweder die Faktoren selbst oder das Produkt der Faktoren w2 · · ·wn
zu betrachten.
KAPITEL 2. PARAMETERSCHATZVERFAHREN 29
2.6 Vergleich der Verfahren
Das wichtigste Ergebnis der vergangenen Abschnitte lautet:
• Bei Verfahren, die auf den Normalgleichungen basieren, schlagen sich die
Datenfehler mit cond2(Ψ) im Ergebnis nieder.
• Bei Verfahren, die orthogonale Transformationen benutzen, reduziert sich
dieser Faktor auf cond(Ψ).
Die Großen cond2(Ψ) · ‖δy‖/‖y‖ bzw. cond(Ψ) · ‖δy‖/‖y‖ stellen zwar die Ober-
grenze fur den Fehler in den Parametern dar, doch zeigt die Praxis, daß der
relative Fehler ‖δθ‖/‖θ‖ tatsachlich in diesen Großenordnungen liegt. Diese Tat-
sache kann leicht durch Simulation nachgepruft werden, indem man ein Para-
meterschatzproblem mit bekannten Parametern erzeugt und aus diesem mit den
entsprechenden Verfahren Schatzwerte fur die Parameter berechnet. Setzt man
dann den Fehler im Ergebnis ins Verhaltnis zum Fehler in den Daten, so er-
gibt sich der Faktor, mit dem sich die Datenfehler im Ergebnis fortpflanzen. Zur
Erzeugung von Parameterschatzproblemen ‖Ψ θ − y‖22 = min. bieten sich zwei
Methoden an:
Polynomansatze
Man betrachtet ein Polynom hoheren Grades (z. B. 4.-6. Grades) mit vorgege-
benen Koeffizienten θ auf einem Intervall [a, b] und wertet dieses an N Punkten
t1, . . . , tN aus, um die exakte rechte Seite y∗ zu berechnen. Diese wird dann noch
mit einem relativen Fehler der Große ε versehen,
y = y∗ + ε · f · ‖y∗‖∞ , (2.44)
wobei die Elemente von f in [−1, 1] gleichverteilt sind und ‖y∗‖∞ den Betrag
des betragsgroßten Elements von y∗ bezeichnet. Die Großen des Schatzproblems
sind dann wie folgt festgelegt:
θ = (θ1, . . . , θn)T (vorgegeben)
Ψ =
1 t1 · · · tn−11
......
...
1 tN · · · tn−1N
(2.45)
y = (y1, . . . , yN)T
KAPITEL 2. PARAMETERSCHATZVERFAHREN 30
Die exakte Konditionszahl von Ψ muß mit Hilfe einer Singularwertzerlegung be-
rechnet werden; sie kann nur qualitativ durch die Wahl des Intervalls [a, b] fest-
gelegt werden. Die kleinsten Konditionszahlen erhalt man auf [−1, 1]; je weiter
das Intervall nach rechts verschoben wird, desto großer werden sie. Insbesondere
beim Test von zeitrekursiven Verfahren (mit veranderlichen Parametern) sollten
die Punkte t1, . . . , tN in zufalliger Reihenfolge gewahlt werden, da sich sonst
außer den Parametern auch noch die Kondition des Problems andert.
Inverse Singularwertzerlegung
Die zweite Methode geht aus von der Singularwertzerlegung
Ψ = U
(Σ
0
)V (2.46)
mit einer orthonormalen N × N -Matrix U , einer n × n -Diagonalmatrix Σ =
diag(σ1, . . . , σn), die die Singularwerte enthalt, und einer orthonormalen n× n -
Matrix V . Man setzt nun
V = In (2.47)
uij =
√2
N + 1sin
(ijπ
N + 1
)i, j = 1, . . . , N (2.48)
und legt durch die Vorgabe von σ1 und σn die Konditionszahl cond(Ψ) = σ1/σn
fest. Die ubrigen Singularwerte werden gemaß
σ1 ≥ σ2 ≥ . . . ≥ σn > 0 (2.49)
zufallig gewahlt. Mit diesen Angaben ist Ψ eindeutig bestimmt. Die Elemente des
Parametervektors werden entweder vorgegeben oder per Zufallsgenerator in ei-
nem Intervall [−ϑ, ϑ] erzeugt. Zur Bestimmung des Fehlervektors (und damit des
Residuums) wahlt man die Werte zn+1, . . . , zN zufallig in [−ζ, ζ] und berechnet
e =N∑
i=n+1
zi ui und y = Ψ θ + e . (2.50)
Dieses Verfahren ist etwas aufwendiger, bietet aber die Moglichkeit, die Kon-
ditionszahl von Ψ exakt vorzugeben und die Große des Residuums zu steuern.
Dies ist z. B. fur die Untersuchung von LS- und ahnlichen Verfahren von Vor-
teil, da eine genauere Konditionsanalyse zeigt, daß die Fehler in den geschatzten
Parametern hier auch noch abhangig von der Große des Residuums ansteigen.
KAPITEL 2. PARAMETERSCHATZVERFAHREN 31
Ein Beispiel zur Schatzung von Polynomkoeffizienten ist in den Abschnitten
2.2 und 2.3 zu finden. Zur Veranschaulichung des Zeitverlaufs einer Echtzeit-
Schatzung soll folgendes Beispiel dienen: Mit Hilfe eines Polynomansatzes 3. Gra-
des wird ein Datensatz von N = 1000 Meßwerten erzeugt, bei dem sich alle Pa-
rameter linear mit der Zeit von 1 auf 2 andern. Die Punkte sind im Intervall [1, 3]
in zufalliger Reihenfolge gewahlt und mit einem Meßfehler von 5% versehen. Bild
0 200 400 600 800 10000.5
1
1.5
2
2.5
DSFI
RLS
Zeitschritte
Par
amet
er
Parameterschätzung
Bild 2.2: Schatzung von zeitvariantenParametern ( RLS-Verfahren;schnelles DSFI-Verfahren)
2.2 zeigt den Verlauf eines geschatzten Parameters beim RLS- und beim schnel-
len DSFI-Verfahren. Der Parameterverlauf beim RLS-Verfahrens ist zwar glatter,
doch zeigt sich vor allem am Ende ein erheblich großerer Schatzfehler, der sich
auch nicht durch eine andere Wahl von λ verringern laßt. Dagegen kann beim
schnellen DSFI-Verfahren ein glatterer Verlauf erreicht werden, wenn λ großer
(d. h. dichter an 1) gewahlt wird.
Neben der Verwendung von Orthogonalisierungsverfahren kann der Schatz-
fehler auch noch durch Verringerung der Konditionszahl bzw. des Datenfehlers
klein gehalten werden. Wahrend die Datenfehler praktisch ausschließlich durch
die Genauigkeit der Meßeinrichtung bestimmt wird, kann die Konditionszahl
durch Normierung der Meßgroßen beeinflußt werden. Besonders Polynomansatze
liefern extrem große Konditionszahlen, wenn sie außerhalb des Intervalls [−1, 1]
ausgewertet werden. In solchen Fallen ist zu prufen, ob evtl. auch die Koeffi-
zienten anderer Ansatzfunktionen (Legendre-Polynome o. a.) geschatzt werden
konnen. Dabei ist aber zu beachten, daß auch die Rucktransformation auf die
Standard-Polynomkoeffizienten zu sehr großen Fehlern fuhren kann. Hangt der
Prozeßausgang von mehreren Eingangsgroßen ab, die stark unterschiedliche Zah-
lenwerte aufweisen, dann ist es in jedem Fall sinnvoll, alle Signale auf das gleiche
Intervall (wenn moglich [−1, 1]) zu normieren, um so die Konditionszahl zu ver-
KAPITEL 2. PARAMETERSCHATZVERFAHREN 32
kleinern. Eine hohe Konditionszahl wird namlich u. a. durch stark unterschiedliche
Großenordnungen der einzelnen Spalten von Ψ verursacht.
Es wurde bereits darauf hingewiesen, daß die rekursiven Verfahren z. T. erheb-
liche Unterschiede bezuglich ihres Rechenaufwands aufweisen. Der hohe Aufwand
fur das DSFI-Verfahren war letztlich auch die Motivation zur Entwicklung der
schnellen rekursiven Orthogonalisierungsverfahren in den Abschnitten 2.4 und
2.5. In Tabelle 2.3 sind die notigen Rechenoperationen zusammengestellt. Die
Tabelle 2.3: Rechenaufwand der Orthogonalisierungsverfahren
Verfahren Add./Sub. Mul. Div. Wur.
DSFI n2 + 2n 2n2 + 7n 2n n
RMGS n2 + 2n 1.5n2 + 3.5n 0.5n2 + 0.5n 0
fast DSFI n2 + 2n 1.5n2 + 5.5n 2n 0
Werte beinhalten die Umrechnung der gesamten S-Matrix, d. h. auch die Trans-
formation der rechten Seite, und wurden anhand der MATLAB-Funktionen in
Anhang B.1 ermittelt. Hinzu kommen jeweils noch die Operationen fur die Ruck-
einsetzung. Der Gesamtaufwand ist in Tabelle 2.4 aufgefuhrt. Zum Vergleich sind
in der Tabelle auch die Werte fur das RLS-Verfahren zu finden, die aus [9] uber-
nommen wurden. Fur die Ruckeinsetzung sind n(n−1)2
Multiplikationen und Addi-
tionen sowie n Divisionen notig. Lediglich beim schnellen DSFI-Verfahren konnen
die n Divisionen eingespart werden, da auf der Hauptdiagonalen von S bereits
Einsen stehen. Wie die Tabelle zeigt, ist das schnelle DSFI-Verfahren hinsicht-
lich Genauigkeit und Geschwindigkeit die beste Wahl. DSFI und RMGS arbeiten
zwar im Gegensatz zu RLS auch mit Orthogonalisierung, doch benotigen sie mehr
Rechenzeit, da bei DSFI Wurzeln und bei RMGS viele Divisionen (die erheblich
mehr Zeit als Multiplikationen benotigen) zu berechnen sind.
Zum Abschluß des Kapitels soll noch einmal ein Uberblick uber die bespro-
chenen Verfahren gegeben werden: Generell sind Verfahren zu bevorzugen, die
Tabelle 2.4: Rechenaufwand incl. Ruckeinsetzung
Verfahren Add./Sub. Mul. Div. Wur.
RLS 1.5n2 + 2.5n 1.5n2 + 4.5n 0.5n2 + 0.5n + 1 0
DSFI 1.5n2 + 1.5n 2.5n2 + 6.5n 3n n
RMGS 1.5n2 + 1.5n 2n2 + 3n 0.5n2 + 1.5n 0
fast DSFI 1.5n2 + 1.5n 2n2 + 5n 2n 0
KAPITEL 2. PARAMETERSCHATZVERFAHREN 33
mit orthogonalen Transformationen arbeiten, weil sich bei ihnen die Meßfeh-
ler nur mit cond(Ψ) anstelle von cond2(Ψ) fortpflanzen. Verfahren, die aus den
Normalgleichungen hergeleitet werden (LS, RLS, . . . ), durfen nur dann verwen-
det werden, wenn sichergestellt ist, daß die Meßfehler und die Konditionszahl
klein sind oder die Parameter nicht explizit benotigt werden. Die Orthogonali-
sierungsverfahren sind hinsichtlich ihrer numerischen Eigenschaften untereinan-
der praktisch gleichwertig. Man verwendet daher fur Off-line-Berechnungen die
QR-Zerlegung mit Householder-Transformationen oder den MGS-Algorithmus,
zur Parameterschatzung in Echtzeit die entsprechenden zeitrekursiven Verfah-
ren. Hierbei ist insbesondere das schnelle DSFI-Verfahren hervorzuheben, das
neben einer sehr effizienten Berechnung der Parameter auch noch die Moglichkeit
bietet, die Prozeßanregung zu uberwachen.
Kapitel 3
Erzeugung zeitlicher Ableitungen
Zur Identifikation zeitkontinuierlicher Prozeßmodelle werden die zeitlichen Ab-
leitungen der Ein- und Ausgangssignale benotigt, die jedoch haufig nicht direkt
gemessen werden konnen. Auch eine numerische Differentiation kommt in der
Regel nicht in Frage, da sie zu ungenau ist und zudem hochfrequente Storun-
gen verstarkt. Man verwendet daher zur Approximation der Ableitungen lineare
Filter, die bis zu einer vorgegebenen Grenzfrequenz fg die gesuchten Ableitun-
gen bilden und alle Frequenzen mit f > fg dampfen, also Tiefpaß-Verhalten
aufweisen. Ein moglicher Ansatz hierzu sind Zustandsvariablenfilter (ZVF, sie-
he Abschnitt 3.1), die eine rekursive Struktur besitzen (IIR-Filter). Aufgrund der
unendlich langen Impulsantwort konnen sich Storungen bei solchen Filtern fur ei-
ne nur schwer abschatzbare Anzahl von Abtastschritten auf das Ausgangssignal
auswirken. Außerdem ist beim Entwurf unbedingt auf Stabilitat zu achten, da
rekursive Filter auch instabil werden konnen. Diese Probleme konnen durch die
Verwendung von Transversalfiltern (FIR-Filtern) umgangen werden. Als mogliche
Realisierungen werden hierzu die Methode der Modulationsfunktionen (Abschnitt
3.2) und differenzierende Transversalfilter (Abschnitt 3.3) vorgestellt.
3.1 Zustandsvariablenfilter
Eine weit verbreitete Moglichkeit zur Erzeugung zeitlicher Ableitungen sind Zu-
standsvariablenfilter. Es handelt sich dabei um analoge Tiefpaßfilter, die in Rege-
lungs-Normalform realisiert werden, so daß die Filterzustande den Ableitungen
des gefilterten Signals entsprechen, siehe [8], [14]. Bild 3.1 zeigt die Struktur ei-
nes solchen Filters. Im Zusammenhang mit der Identifikation zeitkontinuierlicher
Prozeßmodelle entspricht das Eingangssignal u(t) des Filters jeweils den Ein-
34
KAPITEL 3. ERZEUGUNG ZEITLICHER ABLEITUNGEN 35
∫ ∫ ∫½¼¾»
1an
½¼¾»an−1 ½¼
¾»a2 ½¼
¾»a1
e
e e e
r r r r- - - - - - -
? ? ?
? ? ?¾¾¾
6
· · ·
· · ·u(t) y(t)y(n−1) y y+
−
Bild 3.1: Zeitkontinuierliches Filter in Regelungs-Normalform (a0 = 1)
und Ausgangssignalen des Prozesses. Zur Implementierung auf Digitalrechnern
und Mikrocontrollern muß das Filter jedoch zeitdiskret realisiert werden, wozu
verschiedene Approximationstechniken zum Einsatz kommen.
Als Grundlage fur ein Zustandsvariablenfilter wird in der Regel ein Butter-
worth-Tiefpaß verwendet, obwohl auch andere Typen (Bessel, Tschebyscheff, ...)
denkbar waren. Außerdem kann neben dem reinen Tiefpaßverhalten auch noch
eine Eingangsdynamik berucksichtigt werden (siehe [14]). Als Entwurfskriterium
fur einen Butterworth-Tiefpaß wird gefordert, daß der Amplitudengang fur f < fg
moglichst lange konstant verlauft. Daraus lassen sich die Koeffizienten fur die
Ubertragungsfunktion der Form
G(s) =K∏
i(1 + αis + βis2)(3.1)
geschlossen herleiten, siehe [16]:
• Ordnung n gerade:
αi = 2 cos(2i − 1)π
2nβi = 1
i = 1, . . . ,n
2(3.2)
• Ordnung n ungerade:
α1 = 1 ; αi = 2 cos(i − 1)π
nβ1 = 0 ; βi = 1
i = 2, . . . ,n + 1
2(3.3)
Wird der Nenner ausmultipliziert und die statische Verstarkung K = 1 gesetzt,
dann ergibt sich die gesuchte Ubertragungsfunktion des Filters:
G(s) =1
1 + a1s + . . . + ansn. (3.4)
KAPITEL 3. ERZEUGUNG ZEITLICHER ABLEITUNGEN 36
Zur Uberfuhrung in Regelungs-Normalform fuhrt man die Zustande
x1 = y und xi+1 = xi =dxi
dt, i = 1, . . . , n − 1 (3.5)
ein und berechnet daraus die Matrizen des kontinuierlichen Zustandsraummo-
dells nach Bild 3.2, d. h. das durch Gl. (3.4) gegebene Filter wird in ein System
bk
∫dk
Ak
cTk
e er -
-
?- -4
4 4 4
4
u(t) y(t)x(t)
Bild 3.2: Allgemeines zeitkontinuierliches Zustandsraum-Modell
von n Differentialgleichungen 1. Ordnung uberfuhrt. Im Falle der Regelungs-
Normalform ist cTk = (1, 0, . . . , 0) und dk = 0; fur Ak und bk ergibt sich:
Ak =
0 1 · · · 0...
.... . .
...
0 0 · · · 1
− 1an
− a1
an· · · −an−1
an
bk =
0...
01
an
(3.6)
Fur die Zustande (d. h. fur die Ableitungen von y) gilt die Vektor-Differential-
gleichung
x(t) = Akx(t) + bku(t) , (3.7)
wahrend die Ausgangsgleichung y(t) = cTk x(t) + dku(t) entfallt, da die Zustande
hier die gesuchten Großen sind. Damit wurde ein zeitkontinuierliches Filter ent-
worfen, das aquivalent zur Struktur in Bild 3.1 ist.
Fur die digitale Signalverarbeitung ist man jedoch an einer zeitdiskreten Rea-
lisierung des Filters interessiert,
x(kTa) = Adx((k − 1)Ta) + Bdu(kTa) , (3.8)
in der nur noch die Abtastzeitpunkte kTa und (k − 1)Ta auftreten1 (Ta ist die
Abtastzeit), nicht aber die kontinuierliche Zeit t. Um dies zu erreichen, wird die
1Als Abkurzung fur die Abtastzeitpunkte kTa verwendet man in der Regel die diskrete Zeit-variable k. Im Hinblick auf das weitere Vorgehen wird hier aber die Bezeichung kTa bevorzugt.
KAPITEL 3. ERZEUGUNG ZEITLICHER ABLEITUNGEN 37
Differentialgleichung (3.7) auf dem Intervall [(k − 1)Ta, kTa] gelost, siehe [3]:
x(kTa) = eAkTax((k − 1)Ta) +
∫ kTa
(k−1)Ta
eAk(kTa − t)bku(t) dt
= eAkTax((k − 1)Ta) +
∫ Ta
0
eAkτbku(kTa − τ) dτ (3.9)
Da der Verlauf von u(kTa − τ) im Integrationsintervall unbekannt ist, wird er
durch ein Polynom approximiert:
u(kTa − τ) ≈ p(τ) =r∑
i=0
κi
(τ
Ta
)i
(3.10)
Auf die Bestimmung der Polynomkoeffizienten κi wird spater noch eingegangen.
Setzt man diesen Ansatz in Gl. (3.9) ein, so ergibt sich:
x(kTa) ≈ eAkTax((k − 1)Ta) +r∑
i=0
κi
∫ Ta
0
eAkτbk
(τ
Ta
)i
dτ︸ ︷︷ ︸γi
= eAkTax((k − 1)Ta) + Γ
κ0
...
κr
(3.11)
Die Spalten von Γ = (γ0, . . . , γr) lassen sich durch mehrmalige partielle Inte-
gration rekursiv bestimmen:
• falls i = 0 :
γ0 =
∫ Ta
0
eAkτbkdτ
= A−1k
[eAkτbk
]Ta
0= A−1
k
(eAkTa − I
)bk (3.12)
• falls i > 0 :
γi =
∫ Ta
0
eAkτbk
(τ
Ta
)i
dτ
=
[A−1
k eAkτbk
(τ
Ta
)i]Ta
0
−∫ Ta
0
A−1k eAkτbk
i
Ta
(τ
Ta
)i−1
dτ
= A−1k eAkTabk − A−1
k
i
Ta
∫ Ta
0
eAkτbk
(τ
Ta
)i−1
dτ
= A−1k
(eAkTabk − i
Ta
γi−1
)(3.13)
KAPITEL 3. ERZEUGUNG ZEITLICHER ABLEITUNGEN 38
Damit bleibt nur noch die Bestimmung der Polynomkoeffizienten κi aus den ver-
gangenen Abtastwerten. Ublicherweise werden sie als Koeffizienten eines Interpo-
lationspolynoms berechnet, d. h. man fordert die Ubereinstimmung von Polynom
und Signal an den letzten r + 1 Abtastwerten:
p(lTa) = u((k − l)Ta) fur l = 0, . . . , r , (3.14)
woraus sich das Gleichungssystem1 0 · · · 0...
......
1 r − 1 · · · (r − 1)r
1 r · · · rr
κ0
κ1
...
κr
=
u(kTa)
u((k − 1)Ta)...
u((k − r)Ta)
(3.15)
ergibt. Die Systemmatrix ist die Van-der-Monde-Matrix V und damit stets nicht-
singular. Die Losung kann daher formal als
κ = V −1u(kTa) (3.16)
angegeben werden.
Bei hoheren Interpolationsordnungen r ist jedoch zu beachten, daß Interpola-
tionspolynome eine starke”Welligkeit“ zwischen den Abtastzeitpunkten aufwei-
sen, siehe [17]. Es laßt sich jedoch zeigen, daß sich die positiven und negativen
Abweichungen weitgehend aufheben, wenn man uber das gesamte Intervall inte-
griert (Newton-Cotes-Integration). Im vorliegenden Fall wird jedoch das Signal
auf dem Intervall [(k − r)Ta, Ta] interpoliert, aber nur uber [(k − 1)Ta, Ta] inte-
griert, so daß keine derartige Kompensation moglich ist. Um dies zu vermeiden,
mußte uber [(k − r)Ta, Ta] integriert werden, was aber zu einem Filter der Form
x(kTa) = Adx((k − r)Ta) + Bdu(kTa) (3.17)
mit einer zusatzlichen Verzogerung um r − 1 Zeitschritte gegenuber Gl. (3.8)
fuhren wurde. Simulationen haben jedoch gezeigt, daß sich das langere Integrati-
onsintervall nachteiliger auswirkt als eine schlechtere Approximation. Außerdem
relativiert sich das Problem durch den Umstand, daß nur selten hohere Interpo-
lationsgrade als r = 2 verwendet werden.
Dennoch soll eine zweite Moglichkeit vorgestellt werden, die das Problem der
Polynom-Welligkeit umgeht und ebenso gute Ergebnisse liefert. Man entwickelt
dazu das Signal an kTa in eine Taylorreihe und fordert die Ubereinstimmung der
Ableitungen mit denen des Approximationspolynoms, also
p(l)(0) = u(l)(kTa) fur l = 0, . . . , r. (3.18)
KAPITEL 3. ERZEUGUNG ZEITLICHER ABLEITUNGEN 39
Die zeitlichen Ableitungen u(l)(kTa) des Eingangssignals werden dabei durch die
Ruckwarts-Differenzenquotienten 1T l
a∆l(kTa) approximiert:
p(l)(0) =dlp(τ)
dτ l
∣∣∣∣τ=0
=
[dl
dτ l
r∑i=0
κi
(τ
Ta
)i]
τ=0
=l!
T la
κl (3.19)
u(l)(kTa) =dlu(kTa − τ)
dτ l
∣∣∣∣τ=0
≈ 1
T la
∆lu(kTa) =1
T la
l∑i=0
(−1)i
(l
i
)u((k − i)Ta) (3.20)
Damit lassen sich die Polynomkoeffizienten explizit angeben:
κl =l∑
i=0
(−1)l
l!
(l
i
)u((k − i)Ta) , l = 0, . . . , r (3.21)
oder in Matrizenschreibweise
κ = Tu(kTa) . (3.22)
0.5 2 5 20 50−3
−2
−1
0
1
2
Frequenz [Hz]
log(
Bet
rag)
1. Ableitung
0.5 2 5 20 50−5
−4
−3
−2
−1
0
log(
Bet
rag)
Amplitudengang
Bild 3.3: Zustandsvariablenfil-ter mit unterschiedlichen Ap-proximationverfahren: Interpo-lationspolynom ( ), Newton-Cotes-Integration ( ), Tay-lor-Approximation ( )
KAPITEL 3. ERZEUGUNG ZEITLICHER ABLEITUNGEN 40
Dabei enthalt T die Koeffizienten des Pascal’schen Dreiecks, die zeilenweise mit
1/l! gewichtet wurden.
Bild 3.3 zeigt noch einmal den Amplitudengang des Filters fur die 3 verschie-
denen Approximationsverfahren. Um die Unterschiede zu verdeutlichen, wurde
eine relativ hohe Interpolationsordnung von r = 4 verwendet; die Abtastfrequenz
betragt fa = 100 Hz und die Grenzfrequenz fg = 5 Hz. Die Filter mit Interpolati-
onspolynom und Taylor-Approximation zeigen den fur rekursive Filter typischen
Verlauf und weisen nur fur hohe Frequenzen geringfugige Unterschiede auf. Das
Filter mit Newton-Cotes-Integration weicht dagegen in diesem Bereich erheblich
vom idealen Frequenzgang ab. Wie bereits oben angesprochen, muß man davon
ausgehen, daß dies durch das langere Integrationsintervall verursacht wird.
Damit kann nun das zeitdiskrete Filter aufgestellt werden: Fur die System-
matrix gilt
Ad = eAkTa (3.23)
und fur die Eingangsmatrix
Bd = ΓV −1 bzw. (3.24)
Bd = ΓT , (3.25)
je nach dem verwendeten Approximationsverfahren. Der Eingangsvektor u(kTa)
setzt sich aus den vergangenen Eingangswerten zusammen:
u(kTa) = (u(kTa), . . . , u((k − r)Ta))T . (3.26)
Das Filter hat schließlich die Struktur
x(kTa) = Adx((k − 1)Ta) + Bdu(kTa) , (3.27)
die in Bild 3.4 verdeutlicht ist. Es ist zu beachten, daß dies keine Regelungs-
normalform wie im zeitkontinuierlichen Fall ist; außerdem wird die Anzahl der
z−1 z−1
Bd z−1
Ad
err
-
-
-
- -· · ·... 4
4 4 4
4
u(kTa)
u((k − 1)Ta)
u((k − r)Ta)¢¢
x(kTa) x((k − 1)Ta)
Bild 3.4: Zeitdiskretes Zustandsvariablenfilter
KAPITEL 3. ERZEUGUNG ZEITLICHER ABLEITUNGEN 41
Spalten von Bd durch die Approximationsordnung bestimmt. Der gesamte Ent-
wurfsvorgang fur Ad und Bd kann wie folgt zusammengefaßt werden; eine ent-
sprechende MATLAB-Funktion ist in Anhang B.2 zu finden:
Algorithmus 3.1 (Zustandsvariablenfilter)
1. Berechnung der Nennerkoeffizienten eines zeitkontinuierlichen Butterworth-
Tiefpasses nach Gl. (3.1) bis (3.4).
2. Uberfuhrung des Filters in eine zeitkontinuierliche Zustandsraumdarstel-
lung in Regelungsnormalform nach Gl. (3.6).
3. Berechnung von Ad = eAkTa und rekursive Bestimmung der Teilintegrale
γi nach Gl. (3.12) und (3.13).
4. Bestimmung der Polynomkoeffizienten κi durch Interpolation (Gl. (3.15))
oder Taylor-Approximation (Gl. (3.21)) und Zusammenfassung zur Ein-
gangsmatrix Bd nach Gl. (3.24) bzw. (3.25).
3.2 Modulationsfunktionen
Das Zustandsvariablenfilter in Abschnitt 3.1 wurde als rekursives Filter entwor-
fen. Da Filter dieses Typs instabil werden konnen, mußte die Stabiliat durch
die Verwendung eines Butterworth-Tiefpasses sichergestellt werden. Ein weite-
rer Nachteil rekursiver Filter ist ihre unendlich lange Impulsantwort, die sehr
lange Ausgleichsvorgange nach der Initialisierung oder durch externe Storungen
zur Folge haben kann. Bei einem Transversalfilter der Lange m ist dagegen die
Wirkung solcher Storungen auf m Abtastschritte begrenzt.
Eine mogliche Realisierung von Transversalfiltern ist die Methode der Mo-
dulationsfunktionen, siehe [2]. Man betrachtet dazu ein Transversalfilter mit der
Impulsantwort (Gewichtsfunktion) g(t), dessen Ausgangssignal durch Faltung be-
stimmt werden kann:
y(t) =
∫ Tf
0
g(τ)u(t − τ) dτ
=
∫ t
t−Tf
g(t − τ)u(τ) dτ . (3.28)
Die endlichen Integrationsgrenzen resultieren aus der auf [0, Tf ] begrenzten Im-
pulsantwort des Filters. Sucht man nun die Ableitung des Ausgangssignals, so
KAPITEL 3. ERZEUGUNG ZEITLICHER ABLEITUNGEN 42
erhalt man nach der Leibnitz-Regel
dy
dt=
d
dt
∫ t
t−Tf
g(t − τ)u(τ) dτ
=
∫ t
t−Tf
∂
∂tg(t − τ)u(τ) dτ + g(0)u(t) − g(Tf )u(t − Tf ) . (3.29)
Aufgrund der endlichen Impulsantwort gilt jedoch
g(0) = g(Tf ) = 0 (3.30)
oder zumindest g(0− ε1) = g(Tf + ε2) = 0 fur beliebige ε1, ε2 > 0. Daraus ergibt
sich fur die Ableitung:
y(t) =
∫ t
t−Tf
g(t − τ)u(τ) dτ
=
∫ Tf
0
g(τ)u(t − τ) dτ , (3.31)
d. h. die Ableitung wurde vom Signal y(t) auf die Gewichtsfunktion g(t) verlagert.
Eine solche Gewichtsfunktion g(t) mit g(0) = g(Tf ) = 0 bezeichnet man als Mo-
dulationsfunktion. Durch geeignete Wahl von g(t) konnen dem Signal zusatzlich
bestimmte Eigenschaften – in der Regel Tiefpaß-Charakter – verliehen werden.
Wie bereits in der Herleitung vorausgesetzt, entspricht die Faltung mit einer Mo-
dulationsfunktion einem Transversalfilter.
Als Modulationsfunktionen verwendet man haufig Fensterfunktionen wie sie
z. B. auch bei der diskreten Fourier-Transformation oder beim Entwurf zeitdiskre-
ter Filter zum Einsatz kommen, siehe [2]. Die Vorgehensweise soll anhand eines
Blackman-Fensters
g(0)(t) = g(t) = µ(a0 + a1 cos(ωf t) + a2 cos(2ωf t)
)(3.32)
mit
ωf =2π
Tf
und 0 ≤ t ≤ Tf (3.33)
erlautert werden. Typische Werte fur (a0, a1, a2) sind (0.42, −0.5, 0.08) oder
(1.5, −2, 0.5); µ wird spater so bestimmt, daß die statische Verstarkung gleich 1
ist. Man bildet nun d zeitliche Ableitungen, z. B. fur d = 2
g(1)(t) = g(t) = −µωf
(a1 sin(ωf t) + 2a2 sin(2ωf t)
)(3.34)
g(2)(t) = g(t) = −µω2f
(a1 cos(ωf t) − 4a2 cos(2ωf t)
)(3.35)
KAPITEL 3. ERZEUGUNG ZEITLICHER ABLEITUNGEN 43
und betrachtet die m diskreten Zeitpunkte
tk = kTa , k = 0, . . . , m − 1 , (3.36)
wobei Ta wieder die Abtastzeit und m die Anzahl der Filterkoeffizienten ist. Ta
hangt uber die Beziehung
Tf = (m − 1)Ta (3.37)
von der Lange Tf der Impulsantwort ab, woraus sich
ωf =2π
(m − 1)Ta
(3.38)
ergibt. Damit konnen die zeitdiskreten Modulationsfunktionen als
g(0)k = g(tk) = µ
(a0 + a1 cos(
2πk
(m − 1)Ta
) + a2 cos(4πk
(m − 1)Ta
))
(3.39)
g(1)k = g(tk) = −µωf
(a1 sin(
2πk
(m − 1)Ta
) + 2a2 sin(4πk
(m − 1)Ta
))
(3.40)
g(2)k = g(tk) = −µω2
f
(a1 cos(
2πk
(m − 1)Ta
) + 4a2 cos(4πk
(m − 1)Ta
))
(3.41)
mit k = 0, . . . , m−1 angegeben werden. Der hochgestellte Index (l) gibt dabei den
Grad der Ableitung an. Bild 3.5 zeigt die Funktionen fur m = 32 und Ta = 0.2 sec,
µ ist dabei so bestimmt, daß∑m−1
k=0 g(0)k = 1. Betrachtet man den Amplitudengang
dieser Funktionen in Bild 3.6, so erkennt man ihre Wirkung: Wahrend die hohen
Frequenzen gedampft werden, weist g(0) fur tiefe Frequenzen eine weitgehend
konstante Verstarkung auf; g(1) und g(2) verlaufen hier um 20 bzw. 40 dB/Dekade
steiler. Durch Fourier-Transformation laßt sich leicht zeigen, daß die Verlaufe im
Zeitbereich der 1. und 2. Ableitung entsprechen, da diese im Frequenzbereich eine
Multiplikation mit jω bzw. −ω2 bewirken.
0 7 15 23 31−0.1
−0.05
0
0.05
0.1
g0
g1
g2
t / Ta
g0, g
1, g
2
Modulationsfunktionen
Bild 3.5: Blackman-Fenster ( ) mit1. Ableitung ( ) und 2. Ableitung ( )
KAPITEL 3. ERZEUGUNG ZEITLICHER ABLEITUNGEN 44
0.005 0.02 0.05 0.2 0.5−3
−2
−1
0g0
g1
g2
f / fa
log(
Bet
rag)
Amplitudengang
Bild 3.6: Amplitudengang des Black-man-Fensters ( ) und der ersten bei-den Ableitungen ( bzw. )
Die vollstandige Anordung der Filter ist in Bild 3.7 gezeigt, d. h. es ist fur jede
Ableitung ein seperates Filter notig, was einen erhohten Rechenaufwand bedeu-
tet, falls alle Ableitungen berechnet werden. Jede Ableitung muß durch Faltung
g(0)
g(1)
g(d)
rr - -
- -
- -
......
u y
y
y(d) Bild 3.7: Erzeugung von Ableitungen durchModulationsfunktionen
mit einer Gewichtsfunktion g(l) bestimmt werden: y(l)(k) =∑m−1
i=0 g(l)i · u(k − i).
Das Problem des Rechenaufwands und ein Vergleich mit den anderen Filtern
wird noch einmal in Abschnitt 3.4 aufgegriffen. Der wesentliche Nachteil dieser
Methode liegt jedoch in der Wahl der Modulationsfunktionen. Es wurde zwar
gezeigt, daß das Blackman-Fenster Tiefpaßeigenschaften besitzt, doch liegt die
Grenzfrequenz sehr niedrig und kann nicht vorgegeben werden. Sie ergibt sich
vielmehr aus der Abtastfrequenz und der Anzahl der Filterkoeffizienten. Im Falle
der Frequenzgange in Bild 3.6 liegt der nutzbare Frequenzbereich z. B. bei etwa
2. . . 5% der Abtastfrequenz fa. Dies fuhrt dazu, daß solche Modulationsfunktio-
nen haufig nur mit sehr hohen Abtastfrequenzen arbeiten konnen. Abschließend
ist noch einmal der vollstandige Algorithmus zum Entwurf der Modulationsfunk-
tionen g(0)k , . . . , g
(d)K angegeben; fur den Fall eines Blackman-Fensters findet sich
wieder eine entsprechende MATLAB-Funktion in Anhang B.2:
KAPITEL 3. ERZEUGUNG ZEITLICHER ABLEITUNGEN 45
Algorithmus 3.2 (Modulationsfunktionen)
1. Wahl einer zeitkontinuierlichen Gewichtsfunktion g(t) der Lange Tf und
Berechnung der Ableitungen g(t), . . . , g(d)(t), vgl. Gl. (3.32) bis (3.35).
2. Diskretisierung des Intervalls [0, Tf ] in m Zeitpunkte tk = kTa mit k =
0, . . . , m − 1 und Ta = Tf/(m − 1), vgl. Gl. (3.36) bis (3.38).
3. Bestimmung der Betragsnormierung aus der Forderung∑m−1
k=0 g(0)k = 1.
4. Berechnung der Filterkoeffizienten g(l)k durch Auswertung der Gewichtsfunk-
tionen g(l)(t) an den Zeitpunkten tk, vgl. Gl. (3.39) bis (3.41).
3.3 Differenzierende Transversalfilter
Es wurde bereits darauf hingewiesen, daß die ublichen Modulationsfunktionen –
wie das in Abschnitt 3.2 verwendete Blackman-Fenster – zwar Tiefpaß-Verhalten
aufweisen, jedoch nicht die Vorgabe einer Grenzfrequenz erlauben. Dies ist aber
haufig erwunscht, um festlegen zu konnen, in welchem Frequenzbereich die Dif-
ferentiation erfolgen soll und welche Frequenzen als Storungen aufgefaßt werden.
Basierend auf den Uberlegungen des letzten Abschnitts laßt sich dies erreichen,
indem man als”Modulationsfunktionen“ Transversalfilter verwendet, die einen
idealen Tiefpaß bzw. dessen Ableitungen approximieren.
Fur die Berechnung der Koeffizienten solcher Filter sind viele Methoden ge-
brauchlich, siehe [6], [16]; im folgenden soll die Fenster-Methode benutzt werden.
Man geht dabei aus von der Impulsantwort
−3 −2 −1 0 1 2 3−0.5
0
0.5
1
1.5
2
2 * fg * t
Bet
rag
/ fg
Impulsantwort
Bild 3.8: Impulsantwort eines idealenTiefpasses
KAPITEL 3. ERZEUGUNG ZEITLICHER ABLEITUNGEN 46
g(t) = 2fgsin(2πfgt)
2πfgt= 2fg si(2πfgt) (3.42)
eines idealen Tiefpasses mit Grenzfrequenz fg, siehe Bild 3.8, und betrachtet die
Abtastwerte zu den m Zeitpunkten
tk∗ =1
2(2k∗ + 1)Ta , k∗ = −m
2, . . . ,
m
2− 1
mit gerader Koeffizientenanzahl m. Da das Filter kausal sein muß, ist eine zusatz-
liche Totzeit von m2Ta notig, woraus sich
tk =1
2(2k + 1 − m)Ta , k = 0, . . . , m − 1 (3.43)
ergibt. Fur die Filterkoeffizienten gilt somit zunachst
g(0)k = 2fg
sin(πfg(2k + 1 − m)Ta)
πfg(2k + 1 − m)Ta
, k = 0, . . . , m − 1 . (3.44)
Man beachte, daß die Lage der Abtastwerte nicht nur von m und Ta (wie beim
Blackman-Fenster), sondern auch maßgeblich von der Grenzfrequenz fg bestimmt
wird. Die Approximation einer unendlich langen Impulsantwort durch eine end-
liche Anzahl von Abtastwerten fuhrt jedoch zur Faltung ihres Frequenzgangs
mit der Fouriertransformierten eines Rechteckfensters (Gibbs’sches Phanomen).
Dies laßt sich aber durch die Verwendung einer Fensterfunktion teilweise kom-
pensieren. Dazu werden die Filterkoeffizienten zusatzlich mit den entsprechen-
den Werten der Fensterfunktion bewertet, was aber gleichzeitig dazu fuhrt, daß
der Ubergangsbereich des Filters weniger steil verlauft. Auch hier stehen wie-
der zahlreiche Fenster zur Auswahl, die den Frequenzgang unterschiedlich stark
beeinflussen. Im folgenden soll das Hamming-Fenster
hk = 0.54 − 0.46 cos( 2πk
m − 1
), k = 0, . . . , m − 1 (3.45)
zum Einsatz kommen, das fur den Filterentwurf besonders gunstige Eigenschaften
besitzt. Es wird noch einmal betont, daß die Fensterfunktion im Gegensatz zu
Abschnitt 3.2 nur zur Reduktion des Gibbs’schen Phanomens dient. Man erhalt
damit die Filterkoeffizienten als
g(0)k = µ(0) · hk g
(0)k , k = 0, . . . , m − 1 . (3.46)
Im nachsten Schritt wird nun noch die Betragsnormierung µ(0) so bestimmt, daß∑m−1k=0 g
(0)k = 1, also
µ(0) =1
m−1∑k=0
hk g(0)k
. (3.47)
KAPITEL 3. ERZEUGUNG ZEITLICHER ABLEITUNGEN 47
Außerdem kann auch noch eine Frequenznormierung durchgefuhrt werden, da die
Verwendung einer Fensterfunktion Einfluß auf die Grenzfrequenz des Filters hat.
Dazu muß auf numerischem Weg eine Pseudo-Grenzfrequenz f ∗g bestimmt werden,
so daß der Amplitudengang an der wahren Grenzfrequenz fg eine Dampfung von
1/√
2 (= − 3 dB) aufweist, siehe [16].
Der gleiche Entwurfsvorgang wird dann fur die Ableitung der Tiefpaß-Impuls-
antwort˙g(t) = 4πf 2
g
2πfgt · cos(2πfgt) − sin(2πfgt)
(2πfgt)2(3.48)
durchgefuhrt, woraus man die Abtastwerte
g(1)k = 4πf 2
g
ϕk · cos(ϕk) − sin(ϕk)
ϕ2k
(3.49)
mit
ϕk = πfg(2k + 1 − m)Ta , k = 0, . . . , m − 1 (3.50)
erhalt. Auch diese sollten wieder mit einem Hamming-Fenster gewichtet werden.
Die Betragsnormierung, die aufgrund der Fensterfunktion notig ist, muß auf eine
andere Art erfolgen, da fur ein differenzierendes Filter keine statische Verstarkung
angegeben werden kann. Man bestimmt dazu µ(1) so, daß der Frequenzgang an
einer Frequenz f0 den Betrag von 2πf0 aufweist. f0 sollte weder zu klein gewahlt
werden, noch zu dicht an fg liegen, da hier die Verzerrungen zunehmen. Ein Wert
von f0 = 110
fg hat sich in den Simulationen bewahrt.
Bild 3.9 zeigt die Amplitudengange der beiden Filter fur fa = 100 Hz, fg =
5 Hz und m = 24. Transversalfilter weisen zwar prinzipiell einen anderen Fre-
quenzgang auf als rekursive Filter (vgl. Bild 3.3), doch ist deutlich der Durchlaß-
bzw. Differenzierbereich fur f < fg zu erkennen. Die Bildung der 2. Ableitung
0.5 2 5 20 50−4
−2
0
2
g0
g1
Frequenz [Hz]
log(
Bet
rag)
Amplitudengang
Bild 3.9: Amplitudengang eines trans-versalen Tiefpasses ( ) und dessenAbleitung ( )
KAPITEL 3. ERZEUGUNG ZEITLICHER ABLEITUNGEN 48
konnte im Rahmen der vorliegenden Untersuchung nicht auf diesem Weg realisiert
werden, obwohl dies fur Ableitungen beliebiger Ordnung moglich sein sollte. Der
Frequenzgang zeigte nicht das erforderliche Differenzierverhalten 2. Ordnung. Es
bleibt unklar, ob es sich dabei um ein prinzipielles Problem oder nur um einen
Fehler in der Simulation handelt. Auch in der Literatur findet man nur wenig
Informationen uber die Bildung hoherer Ableitungen. Diese erfolgt z. B. uber
Kaskaden von Differenzierern 1. Ordnung oder durch Taylor-Approximation des
Frequenzgangs, siehe [15]. Diese Ansatze beinhalten aber in der Regel kein Tief-
paßverhalten der Filter. Wie bereits oben erwahnt, spricht nach den bisherigen
Uberlegungen nichts gegen eine direkte Approximation der Impulsantworten, zu-
mal diese Technik auch schon im Zusammenhang mit den Modulationsfunktionen
in Abschnitt 3.2 angewendet wurde.
Zusammenfassend ist das Verfahren wieder in Form eines Algorithmus ange-
geben. Die zugehorige MATLAB-Funktion in Anhang B.2 berucksichtigt aus den
genannten Grunden nur die 1. Ableitung. Sollte die Bildung hoherer Ableitungen
dennoch in gleicher Weise moglich sein, laßt sich die Funktion problemlos erwei-
tern.
Algorithmus 3.3 (Differenzierende Transversalfilter)
1. Aufstellen der Impulsantworten eines Tiefpasses ( g(t) = g(0)(t), vgl. Gl.
(3.42)) und dessen Ableitungen ( g(l)(t), vgl. Gl. (3.48)).
2. Bestimmung der jeweils m Abtastwerte g(l)k an den Zeitpunkten tk = 1
2(2k+
1 − m)Ta mit k = 0, . . . , m − 1, vgl. Gl. (3.44) und (3.49).
3. Wahl der Fensterkoeffizienten hk, z. B. Hamming-Fenster nach Gl. (3.45).
4. Bestimmung der Betragsnormierungen µ(l) nach Gl. (3.47) oder durch Fi-
xieren des Frequenzgangs an einer Frequenz f0 (im Falle der Ableitungen).
5. Berechnung der endguligen Filterkoeffizienten gemaß g(l)k = µ(l) · hk g
(l)k fur
k = 0, . . . , m − 1.
3.4 Vergleich der Methoden
Der Vergleich der in diesem Kapitel vorgestellten Methoden beschrankt sich
zunachst auf einen Vergleich zwischen rekursiven Filtern (Abschnitt 3.1) und
Transversalfiltern (Abschnitt 3.2 bzw. 3.3). Rekursive Filter zeichnen sich da-
durch aus, daß sich das aktuelle Ausgangssignal aus den vergangenen Werten
KAPITEL 3. ERZEUGUNG ZEITLICHER ABLEITUNGEN 49
bzw. Ableitungen des Ausgangssignals berechnet, siehe z. B. Bild 3.1, wahrend
das Ausgangssignal von Transversalfiltern ausschließlich aus den entsprechenden
Werten des Eingangssignals berechnet wird, siehe Bild 3.10. Sie benotigen meist
z−1 z−1
½¼¾»
b0 ½¼¾»
b1 ½¼¾»bm−2 ½¼
¾»bm−1
e e e
r r r- - -
? ? ? ?
? ? ?- - - -
· · ·
· · ·u(k) u(k − 1) u(k − m + 1)
y(k)
Bild 3.10: Zeitdiskretes Transversalfilter
weniger Koeffizienten, um die Gute eines vergleichbaren Transversalfilters zu er-
reichen. Aufgrund der ruckgekoppelten Struktur konnen diese Filter prinzipi-
ell auch instabil werden, was bei Transversalfiltern wiederum nicht moglich ist.
Im Abschnitt 3.1 wurde deshalb das Zustandsvariablenfilter auf der Basis ei-
nes Butterworth-Tiefpasses entworfen, der nur Pole in der linken s-Halbebene
besitzt. Problematisch ist jedoch die zeitdiskrete Approximation und der damit
verbundene Ubergang in den z-Bereich. Es kann nicht garantiert werden, daß
bei den verwendeten Diskretisierungsverfahren die Pole des zeitdiskreten Filters
innerhalb des Einheitskreises der z-Ebene liegen. Dies kann jedoch anhand der Ei-
genwerte von Ad aus Gl. (3.23) uberpruft werden. Es wurde außerdem schon auf
die unendlich lange Impulsantwort hingewiesen, die nach Storungen sehr lange
Ausgleichsvorgange zur Folge haben kann.
Bevor eine weitergehende Analyse der beiden Filter erfolgt, soll noch auf einen
weiteren Umstand hingewiesen werden, der von Relevanz ist, falls die gefilterten
Signale fur eine Parameterschatzung verwendet werden. Dies wird anhand eines
Beispiels aus [12] erlautert, das von der Differentialgleichung
y(t) + a1y(t) + a2y(t) = b0u(t) + b1u(t) (3.51)
ausgeht. Diese wird zum Zeitpunkt t−τ betrachtet, mit g(τ) multipliziert und von
0 bis Tf integriert, was der Faltung der beteiligten Signale mit der Impulsantwort
eines Transversalfilters entspricht (siehe auch Abschnitt 3.2):∫ Tf
0
g(τ)y(t − τ) dτ + a1
∫ Tf
0
g(τ)y(t − τ) dτ + a2
∫ Tf
0
g(τ)y(t − τ) dτ
= b0
∫ Tf
0
g(τ)u(t − τ) dτ + b1
∫ Tf
0
g(τ)u(t − τ) dτ .
(3.52)
KAPITEL 3. ERZEUGUNG ZEITLICHER ABLEITUNGEN 50
Durch partielle Integration erhalt man∫ Tf
0
g(τ)y(t − τ) dτ − a1
[g(τ)y(t − τ)
]Tf
0+ a1
∫ Tf
0
g(τ)y(t − τ) dτ
−a2
[g(τ)y(t − τ)
]Tf
0− a2
[g(τ)y(t − τ)
]Tf
0+ a2
∫ Tf
0
g(τ)y(t − τ) dτ
= b0
∫ Tf
0
g(τ)u(t − τ) dτ − b1
[g(τ)u(t − τ)
]Tf
0+ b1
∫ Tf
0
g(τ)u(t − τ) dτ .
Fordert man nun wieder, daß
g(0) = g(Tf ) = 0 und g(0) = g(Tf ) = 0 , (3.53)
wie dies auch schon in Abschnitt 3.2 aufgrund der endlichen Impulsantwort vor-
ausgesetzt wurde, dann entfallen die ausintegrierten Terme und es ergibt sich∫ Tf
0
g(τ)y(t − τ) dτ + a1
∫ Tf
0
g(τ)y(t − τ) dτ + a2
∫ Tf
0
g(τ)y(t − τ) dτ
= b0
∫ Tf
0
g(τ)u(t − τ) dτ + b1
∫ Tf
0
g(τ)u(t − τ) dτ ,
(3.54)
d. h. man hat eine zu Gl. (3.51) aquivalente Gleichung gefunden, bei der die Ab-
leitungen von den Signalen u(t) und y(t) auf die Funktion g(t) verlagert wurden.
Dabei sind außer Gl. (3.53) keine weiteren Voraussetzungen an g(t) gemacht. Da
die einzelnen Integrale als Filter angesehen werden konnen, kann dieses Ergeb-
nis auch anders interpretiert werden: Ersetzt man fur die Parameterschatzung
die Signale u(t), u(t), . . . , y(t), y(t), . . . durch die mit der gleichen Funktion g(t)
bzw. deren Ableitungen g(t), g(t), . . . gefilterten Signale u(t) und y(t), so begeht
man keinen prinzipiellen Fehler. Dies bedeutet aber, daß die genaue Form von
g(t) zweitrangig ist, solange g(t), g(t), . . . die Ableitungen von g(t) sind.
Die Wahl von g(t) hat aber auf anderem Weg Einfluß auf die Parameterschat-
zung. So wurde g(t) in den vergangenen Abschnitten immer als Impulsantwort
von Tiefpassen berechnet, um hochfrequente Meßstorungen zu beseitigen. Wird
jedoch die Grenzfrequenz dieses Tiefpasses zu niedrig gewahlt, dann kann dies
eine ungenugende dynamische Anregung des Prozesses zur Folge haben, worauf
bereits in Kapitel 2 im Zusammenhang mit Parameterschatzverfahren hingewie-
sen wurde. Damit laßt sich nun auch auf anderem Weg begrunden, warum die
Methode der Modulationsfunktionen mit dem Blackman-Fenster aus Abschnitt
3.2 zwar funktioniert, aber sehr hohe Abtastfrequenzen erfordert.
Der weitere Vergleich von Zustandsvariablenfilter und Transversalfilter soll an-
hand von Bild 3.11 erfolgen. Dieses zeigt den Amplitudengang eines Zustandsva-
KAPITEL 3. ERZEUGUNG ZEITLICHER ABLEITUNGEN 51
0.5 2 5 20 50−3
−2
−1
0
1
2
Frequenz [Hz]
log(
Bet
rag)
1. Ableitung
0.5 2 5 20 50−5
−4
−3
−2
−1
0
log(
Bet
rag)
Amplitudengang
Bild 3.11: Vergleich zwischenZustandsvariablenfilter ( )und Transversalfilter ( )
riablenfilters 5. Ordnung mit Interpolationsordnung r = 2 nach Bild 3.4. Parallel
dazu ist ein Transversalfilter mit m = 24 Koeffizienten zu sehen; fur beide Filter
gilt fa = 100 Hz und fg = 5 Hz. Der Amplitudengang des Zustandsvariablenfilters
knickt an fg scharf ab und lauft dann in der doppelt-logarithmischen Darstellung
mit konstanter Steigung, die durch die Filterordnung n festgelegt wird, nach un-
ten. Das Transversalfilter knickt dagegen weniger scharf ab, verlauft dann aber
steiler und weist schließlich einen Sperrbereich mit einer gewissen Restwelligkeit
auf. Obwohl die Frequenzgange beider Filtertypen nur schwer zu vergleichen sind,
sind in Tabelle 3.1 die Koeffizientenzahlen m aufgefuhrt, die notig sind, um mit
einem Transversalfilter etwa die Gute eines Zustandsvariablenfilters der Ordnung
n mit der Interpolationsordnung r = 2 zu erreichen. Dabei wurde auf eine weitge-
hende Ubereinstimmung der Amplituden- und Phasengange geachtet. Es ist auch
zu beachten, daß die Filter nach den obigen Uberlegungen die Ableitungen gar
nicht exakt bilden mussen. Fur eine anschließende Parameterschatzung ist im we-
Tabelle 3.1: Vergleich Zustandsvariablen- und Transversalfilter
n 1 2 3 4 5 6
m 6 . . . 8 10 . . . 12 14 . . . 16 20 . . . 22 24 . . . 26 30 . . . 32
KAPITEL 3. ERZEUGUNG ZEITLICHER ABLEITUNGEN 52
sentlichen erforderlich, daß alle Ein- und Ausgangssignale mit dem gleichen Filter
bzw. dessen Ableitungen gefiltert werden. Entscheidend ist deshalb vor allem der
Verlauf im Ubergangsbereich, der Durchlaß- und Sperrbereich trennt.
Ein weiteres Kriterium fur den Vergleich der Filter ist die Anzahl der in
Echtzeit auszufuhrenden Rechenoperationen, wahrend der Entwurfsaufwand ne-
bensachlich ist. Die notigen Rechenoperationen konnen anhand von Gl. (3.27)
Tabelle 3.2: Online-Rechnenaufwand
Filtertyp Add. Mul.
Zustandsvariablenfilter n(n + r − 1) n(n + r)
Transversalfilter m − 1 m
und Bild 3.10 bestimmt werden und sind in Tabelle 3.2 zusammengestellt. Bei
der Beurteilung des Gesamtaufwands sind schließlich noch folgende Punkte zu
beachten:
• Wahrend bei Transversalfiltern fur jede Ableitung ein eigenes Filter notig
ist, werden beim Zustandsvariablenfilter automatisch alle Ableitungen bis
zur Ordnung n − 1 mitberechnet.
• Die Filterordnung n wird durch das erforderliche Dampfungsverhalten fest-
gelegt. Meist wahlt man jedoch n = d + 2, d. h. um 2 hoher als die hochste
benotigte Ableitung.
• Fur die Interpolationsordnung setzt man in der Regel r = 1 oder r = 2, da
sich mit r > 2 kaum noch Verbesserungen erzielen lassen, siehe [14].
Zusammenfassend laßt sich sagen, daß Transversalfilter (und damit auch die Mo-
dulationsfunktionen nach Abschnitt 3.2) neben den eingangs beschriebenen Vor-
teilen auch eine gunstigere Rechenzeit besitzen, falls nur die Ableitung einer ein-
zigen Ordnung benotigt wird. Werden dagegen mehrere Ableitungen benotigt, so
konnen diese sehr effizient mit einem Zustandsvariablenfilter berechnet werden.
Es ist auch hier wieder zu beachten, daß fur eine Parameterschatzung alle Signale
mit dem gleichen Filter gefiltert werden mussen. Wird also z. B. das Eingangs-
signal und die 2. Ableitung des Ausgangssignals benotigt, so mussen nach der
Faustregel n = d + 2 beide Signale mit einem Zustandsvariablenfilter mindestens
4. Ordnung gefiltert werden, obwohl fur das Eingangssignal ein Filter 2. Ordnung
ausreichend ware.
Kapitel 4
Experimentelle Ergebnisse
Die in den beiden letzten Kapiteln hergeleiteten und an Simulationsbeispielen
untersuchten Methoden sollen abschließend an einem realen Prozeß getestet wer-
den. Dabei handelt es sich um einen burstenlosen Gleichstrommotor, der in einem
Stellventil zur Kabinen-Innendruckregelung von Passagierflugzeugen eingesetzt
wird. Obwohl das Ventil mehrfach redundant ausgelegt ist, ist eine zuverlassi-
ge Fehlererkennung trotzdem notwendig, da es sich um ein sicherheitsrelevantes
Bauteil handelt. Wird ein Fehler erkannt, kann entweder auf eine redundante Ein-
heit umgeschaltet oder ggf. der Motor nach einer Rekonfiguration weiterbetrieben
werden.
Nach einer Beschreibung des Motors in Abschnitt 4.1 befaßt sich Abschnitt
4.2 mit der Schatzung der Parameter des elektrischen Teilsystems unter Verwen-
dung des schnellen DSFI-Verfahrens. Die benotigte Motor-Kreisfrequenz wird
dazu mit differenzierden Filtern (vgl. Kapitel 3) aus dem Motor-Winkel erzeugt.
In Abschnitt 4.3 wird die Parameterschatzung schließlich noch einmal fur den
Fall eines fehlerhaften Motors wiederholt.
4.1 Der burstenlose Gleichstrommotor
Bei herkommlichen Gleichstrommotoren wird im Stator mit Hilfe von Perma-
nentmagneten oder Spulen ein ortsfestes Magnetfeld erzeugt, in dem sich der
Rotor, der hier als Anker wirkt, dreht. Dieser wird uber die Bursten und den
Kommutator mit einer Spannung versorgt, die vom Kommutator in Abhangig-
keit des Drehwinkels standig umgepolt wird. Dadurch kann sich zwischen Rotor-
und Statorfeld ein Moment aufbauen, das uber die Rotorwelle als mechanisches
Moment abgegeben wird. Bursten und Kommutator sind die am starksten ver-
53
KAPITEL 4. EXPERIMENTELLE ERGEBNISSE 54
schleißanfalligen Komponenten bei dieser Konstruktion. Wahrend die Bursten
vor allem durch mechanischen Abrieb geschadigt werden, muß der Kommuta-
tor bei den Schaltvorgangen relativ hohen Spannungen zwischen den Kommu-
tatorlamellen standhalten. Insbesondere bei niedrigen Drehzahlen kann es zum
Spannungsuberschlag kommen, der u.U. die gesamte Kommutierungseinrichtung
zerstort.
Diese Nachteile werden beim burstenlosen Gleichstrommotor vermieden, in-
dem man Bursten und Kommutator durch eine elektronische Kommutierungs-
einrichtung ersetzt, was aber einen etwas anderen Aufbau des Motors zur Folge
hat, siehe [7]. Der Stator wirkt hier als Anker, d. h. als der Teil, in den eine
Spannung induziert wird. Diese Spannung wird von Permanentmagneten indu-
ziert, die auf der Rotorwelle angebracht sind; bei einer solchen Anordnung ist
keinerlei elektrische Verbindung zum Rotor mehr notig. Die Position des Rotors
wird uber Hallsensoren oder andere Weggeber erfaßt und an die elektronische
Kommutierungsschaltung weitergeleitet, die dann die entsprechenden Leistungs-
transistoren einer 6-Puls-Brucke durchschaltet, um die Phasenstrome zu erzeu-
gen. Diese sind im Idealfall blockformig, wahrend die Phasenspannungen einen
Elektronische Kommutierung
rr
rrrr
r
r
ÁÀ¿
&%'$
½¼¾»-q
q4 ½¼
¾»-q
q4 ½¼
¾»-q
q4
½¼¾»-q
q4 ½¼
¾»-q
q4 ½¼
¾»-q
q4
¾ b
--
?
666
Hallsensor 3Hallsensor 2Hallsensor 1
Positionserfassung Stator
UBriBr
i1
i2
i3
T11 T12 T13
T21 T22 T23
Bild 4.1: Kommutierungseinrich-tung eines burstenlosen Gleich-strommotors
trapezformigen Verlauf zeigen, siehe [7]. Bild 4.1 zeigt den schematischen Aufbau
der Kommutierungseinrichtung fur den Fall einer Sternschaltung von drei Spulen.
Durch eine Pulsbreitenmodulation (PWM), die auf die Transistoren aufgeschal-
tet wird, kann der Mittelwert der Phasenspannungen verandert werden, so daß
beliebige Drehzahlen moglich sind. Burstenlose Gleichstrommotoren kombinieren
also die Vorteile von herkommlichen Gleichstrommotoren mit dem wartungsfrei-
KAPITEL 4. EXPERIMENTELLE ERGEBNISSE 55
en Aufbau von Synchron- und Asynchronmaschinen. Der hier untersuchte Motor
ist 4-polig ausgefuhrt, d. h. er besitzt 6 sternformig angeordnete Spulen, womit
man eine sehr geringe Momentenwelligkeit erreicht. Die ubrigen technischen Da-
ten faßt Tabelle 4.1 zusammen. Fur eine einzelne Phase kann naherungsweise das
Tabelle 4.1: Technische Daten des Motors
Gewicht 335 g
Lange 87mm
Durchmesser 30.5mm
Versorgungsspannung 28V
Spulenwiderstand 2.3Ω
Leerlauf-Drehzahl 7400U/min
Leerlauf-Strom 50mA
Kurzschluß-Moment 28mNm
Kurzschluß-Strom 1A (begr.)
Ersatzschaltbild eines gewohnlichen Gleichstrommotors nach Bild 4.2 verwendet
werden. RA und LA bezeichnen darin Widerstand und Induktivitat der Spule, die
Rotationsspannung Urot ist gegeben durch
Urot = Ψ · ω (4.1)
mit der Kreisfrequenz ω und der magnetischen Flußverkettung Ψ. Der Span-
nungsabfall an den Leistungstransistoren und die durch Gegeninduktion erzeugte
Spannung wurden vernachlassigt. Das elektrische Moment kann als Mel = ΨIA
½¼¾»
e
e
¾
??
UrotUA
RA LA
IABild 4.2: Ersatzschaltbild fur eine Phasedes burstenlosen Gleichstrommotors
berechnet werden, wobei Ψ im Idealfall wieder die Flußverkettung aus Gl. (4.1)
ist. Berucksichtigt man schließlich noch das Lastmoment M∗L sowie die trockene
Reibung MC · sign(ω) und die viskose Reibung MV · ω, dann kommt man zum
Blockschaltbild 4.3. Da im vorliegenden Fall die Ventilklappe uber ein Getrie-
be angesteuert wird, muß das Lastmoment ML auf die Motorseite umgerechnet
werden. M∗L ist daher das am Motor angreifende Lastmoment.
KAPITEL 4. EXPERIMENTELLE ERGEBNISSE 56
1LA
∫RA
Ψ
Ψ
MV
1J
∫ee e
er
rr- - - -
¾¾
¾
- -
¾
¾
6
6
-
?
¾
6
6-MC
UA IA Mel
M∗L
ω− −
−
Bild 4.3: Blockschaltbild des burstenlosen Gleichstrommotors
Betrachtet man nur das elektrische Teilsystem, so gilt nach Bild 4.2
UA(t) = RAIA(t) + LAd
dtIA(t) + Ψω(t) . (4.2)
Bei Untersuchungen an dem Motor mit den technischen Daten nach Tabelle 4.1
stellte sich heraus, daß die Zeitkonstante des RL-Glieds so klein ist, daß sie mit
den realisierbaren Abtastfrequenzen praktisch nicht erfaßt werden kann. Gl. (4.2)
reduziert sich damit auf
UA(t) = RAIA(t) + Ψω(t) (4.3)
mit den zu schatzenden Parametern RA und Ψ.
4.2 Schatzung der Parameter
Im letzten Abschnitt wurde fur das elektrische Teilsystem die Schatzgleichung
(4.3) hergeleitet. Zur Schatzung von RA und Ψ werden also die Signale UA(t),
IA(t) und ω(t) benotigt. UA(t) und IA(t) konnen jedoch nicht in den einzelnen
Phasen gemessen werden, da nicht alle Phasen gleichzeitig aktiv sind. Aufgrund
der Kommutierung wurde sich als Mittelwert Null ergeben. Um dies zu vermei-
den, mußten die Großen in der jeweils aktiven Phase gemessen und stuckweise
zusammengesetzt werden. Die Messung kann aber auch auf einem einfacheren
Weg erfolgen: Wie in Bild 4.1 zu sehen ist, wird die Versorgungsspannung UBr
uber je einen Leistungstransistor der oberen und unteren Reihe der Brucken-
schaltung auf zwei Spulen der Sternschaltung kommutiert. Durch hochfrequentes
Schalten des oberen Transistors wird die Versorgungsspannung pulsbreitenmodu-
liert und von der Induktivitat der beteiligeten Spulen geglattet. Der Mittelwert
KAPITEL 4. EXPERIMENTELLE ERGEBNISSE 57
der so erzeugten Phasenspannung ist daher proprotional zum Tastverhaltnis der
PWM. Vernachlassigt man die Verluste an der 6-Puls-Brucke, dann muß aufgrund
der Leistungsbilanz gelten:
UA = UBr · PWM und IA =IBr
PWM, (4.4)
dabei sind UBr und IBr die Speisespannung bzw. der Speisestrom der Brucke
und PWM das Tastverhaltnis, das in [−1, 1] liegt. Ein negatives Tastverhaltnis
erzeugt negative Drehzahlen.
Auch eine zuverlassige Bestimmung der Kreisfrequenz ω bereitet Schwierig-
keiten: Am einfachsten laßt sie sich ermitteln, indem die Zeit zwischen zwei
Hallsensor-Impulsen gemessen wird. Die Abstande der Sensoren weisen aber ferti-
gungsbedingt eine große Toleranz auf, was zu unzulassig großen Fehlern in ω fuhrt.
Um dies zu umgehen, bietet es sich an, die Zeit zwischen 2 Impulsen des selben
Sensors zu messen. Aufgrund der 4-poligen Ausfuhrung des Motors entspricht
diese Zeit einer halben Umdrehung. Da jedoch besonders bei niedrigen Dreh-
zahlen die Zeitspanne relativ groß sein kann und das Drehzahlsignal daher nur
mit Verzogerung zur Verfugung steht, soll im folgenden eine andere Moglichkeit
verwendet werden. Dazu wird zunachst der Motorwinkel berechnet, indem bei je-
dem Hallsensor-Impuls π3
addiert bzw. subtrahiert wird. Der Motorwinkel an den
Abtastzeitpunkten zwischen zwei Impulsen wird nicht konstant gehalten, sondern
durch quadratische Extrapolation bestimmt. Aus diesem Signal kann ω durch Dif-
ferentiation mit Hilfe von Filtern erzeugt werden. Bild 4.4 zeigt den Verlauf der
0 0.5 1 1.5 2 2.5−250
0
250
500
Zeit [sec]
omeg
a [1
/sec
]
Kreisfrequenz
Bild 4.4: Velauf von ω: direkt gemessen( ) und durch Differentiation des Mo-torwinkels mit ZVF ( ) und Trans-versalfilter ( )
direkt gemessenen Kreisfrequenz ω sowie der Ableitung des extrapolierten Mo-
torwinkels. Dazu wurde zunachst ein Zustandsvariablenfilter der Ordnung n = 5
mit Grenzfrequenz fg = 5 Hz verwendet, das das fur einen Butterworth-Tiefpaß
KAPITEL 4. EXPERIMENTELLE ERGEBNISSE 58
typische Uberschwingen an der Sprungstelle zeigt. Das Motorwinkel-Signal wurde
dann noch einmal mit einem differenzierenden Transversalfilter gefiltert. Abwei-
chend von Tabelle 3.1 ist hier m = 16 gewahlt, da sich sonst in Bild 4.4 der
Verlauf des Signals – abgesehen von den Sprungstellen – mit dem des Zustands-
variablenfilter decken wurde.
Fur die Parameterschatzung wird der Motor positionsgeregelt betrieben und
mit dem Signal aus Bild 4.5 angeregt. Die vorgegebene Position ist hier die Stel-
lung der Ventilklappe und entspricht daher nicht dem Motor- sondern dem Ge-
triebewinkel. In Bild 4.6 ist der Verlauf der gemessenen und gefilterten Großen
zu sehen, die mit einer Frequenz von 100Hz abgetastet wurden. Aus dem Tast-
verhaltnis der PWM und der Bruckenspannung bzw. dem Bruckenstrom konnen
UA und IA nach Gl. (4.4) berechnet werden. Bild 4.6 zeigt die Verlaufe dieser
Großen nach einer Filterung mit einem transversalen Tiefpaß mit m = 24 Ko-
effizienten und einer Grenzfrequenz von fg = 5 Hz. Die Kreisfrequenz ω wurde
wie oben beschrieben mit einem Differenzierfilter aus dem Motorwinkel erzeugt.
Dieses hat die gleichen Daten wie die beiden Tiefpaßfilter (m = 24, fg = 5 Hz),
was bereits in Kapitel 3 erlautert wurde.
An den Signalverlaufen erkennt man, daß der Bereich fur die Parameterschat-
zung eingeschrankt werden muß, um brauchbare Meßwerte zu erhalten. Zunachst
werden alle Bereiche mit negativer Drehzahl bzw. negativem PWM-Tastverhalt-
nis ausgespart, da der Motor hier als Generator betrieben wird und das Modell
aus Abschnitt 4.1 nicht gultig ist. Damit wird auch das beim Rucklauf auftre-
tende”Rattern“ nicht mit in die Parameterschatzung einbezogen. Das Rattern
wird von der Positionsregelung verursacht, da das Getriebe eine Lose aufweist.
Außerdem muß die Schatzung in den Grenzbereichen angehalten werden, da das
0 5 10 15 20 25 30 350
40
80
120
Zeit [sec]
Phi
[°]
Anregungssignal
Bild 4.5: Verlauf des Anregungssignalszur Positionsregelung (Ventilposition)
KAPITEL 4. EXPERIMENTELLE ERGEBNISSE 59
0 5 10 15 20 25 30 35−900
−450
0
450
900
Zeit [sec]
omeg
a [1
/sec
]
Kreisfrequenz (gefiltert)
0 5 10 15 20 25 30 35−0.2
0
0.2
0.4
Iaf [
A]
Phasenstrom (gefiltert)
0 5 10 15 20 25 30 35−30
−15
0
15
30
Uaf
[V]
Phasenspannung (gefiltert)
0 5 10 15 20 25 30 35−1
−0.5
0
0.5
1P
WM
PWM−Tastverhaeltnis
Bild 4.6: Velauf der Meßgroßen
Modell hier zu ungenau ist. Die Meßwerte werden nur dann vom Schatzalgorith-
mus ausgewertet, wenn sie im Bereich 0.05 ≤ PWM ≤ 0.95 und ω > 10 1sec
liegen. Bei einer Online-Berechnung ist mit dieser Maßnahme auch dafur gesorgt,
daß in Gl. (4.4) nicht durch Null geteilt wird. Erreichen die Signale wieder einen
zulassigen Bereich, dann setzt die Parameterschatzung erst m Schritte spater ein,
womit sichergestellt ist, daß alle Ausgleichsvorgange in den Filtern abgeklungen
sind. Dies wurde bereits als ein wesentlicher Vorteil von Transversalfiltern ge-
genuber Zustandsvariablenfiltern hervorgehoben.
Die Verlaufe der geschatzten Parameter sind in Bild 4.7 zu sehen. Man er-
kennt deutlich die Bereiche, in denen die Parameterschatzung angehalten ist. Am
Anfang wurde das Einschwingen der Signale abgewartet, um dann bei t = 3 sec
mit der Bildung des Vektors w und der Martix S des schnellen DSFI-Verfahrens
zu beginnen. Die Berechnung der Parameter erfolgt jedoch erst ab t = 5 sec, da
das zu losende Gleichungssystem zu Beginn noch fast singular ist und die Pa-
KAPITEL 4. EXPERIMENTELLE ERGEBNISSE 60
0 5 10 15 20 25 30 35 0.037
0.0375
0.038
Zeit [sec]
Psi
[Vs]
Magnetische Flussverkettung
0 5 10 15 20 25 30 358.6
8.8
9
9.2
9.4R
[Ohm
]
Ohmscher Widerstand
Bild 4.7: Velauf der geschatzten Parameter
rameter daher eine sehr große Varianz hatten. Das langsame Einschwingen der
Parameter wird durch mehrere Faktoren verursacht: In erster Linie ist hier der
Gedachtnisfaktor von λ = 0.999 zu nennen, der so groß gewahlt wurde, um eine
ausreichende Glattung zu erreichen. Außerdem ist zu bedenken, daß wahrend der
Abschnitte, in denen die Schatzung angehalten wird, auch kein”Vergessen“ der
alten Meßwerte stattfindet, wodurch sich die Parameterschatzwerte noch trager
verhalten. Ein weiterer Einflußfaktor laßt sich durch die physikalischen Gegeben-
heiten des Motors erklaren: Kupfer hat bei 20C einen spezifischen Widerstand
von %20 = 0.017 Ωmm2
mund einen Temperaturbeiwert von α20 = 4.3 · 10−3 1
K.
Eine Temperaturerhohung von 20C auf eine Betriebstemperatur von 65C ver-
ursacht somit eine Widerstandserhohung von fast 20%. Damit laßt sich der leich-
te Aufwartstrend des Widerstands in Bild 4.7 erklaren. Moglicherweise ist auch
die Abhangigkeit von der Drehzahl etwas komplexer, als im Modell angenommen
wurde. Die magnetische Flußverkettung zeigt dagegen wahrend der gesamten Zeit
nur sehr geringe Schwankungen. Der Widerstandswert von ca. 9 Ω ergibt sich aus
den Widerstanden von je zwei Spulen sowie den Widerstanden der Leistungs-
transistoren und der Meßeinrichtung. Bei der Verwendung des Standard-DSFI-
Verfahrens ergeben sich exakt die gleichen Parameterverlaufe wie beim schnellen
DSFI-Verfahren, und auch das RLS-Verfahren liefert hier sehr gute Ergebnisse.
Die Brauchbarkeit des RLS-Verfahrens laßt sich durch die niedrige Konditions-
zahl des Schatzproblems erklaren, die nur etwa 102 betragt.
KAPITEL 4. EXPERIMENTELLE ERGEBNISSE 61
0 5 10 15 20 25 3020
21
22
23
Zeit [sec]
Phi
[°]
Anregungssignal
Bild 4.8: Anregungssignal fur die Fehlererkennung
4.3 Erkennung von Fehlern
Die Parameterschatzung soll nun noch einmal fur den Fall wiederholt werden,
daß wahrend der Schatzung Fehler im Prozeß auftreten. Dazu wurden zwei Fehler
ausgewahlt, die sich einfach erzeugen lassen und dabei den Motor nicht schadi-
gen. Zuerst wird eine Widerstandserhohung in einer Phase um 2.2 Ω simuliert,
dann die vollige Unterbrechung einer Phase. Beim realen Einsatz des untersuch-
ten Ventils wird die Position oft nur in einem kleinen Bereich um einen festen
Arbeitspunkt verstellt, so daß das Anregungssignal in Bild 4.5 hier nicht geeignet
ist. Um realistische Verhaltnisse zu schaffen, wurde fur die Positionsregelung eine
dreieckformige Anregung zwischen 20 und 22.5 vorgegeben, wie sie in Bild 4.8
dargestellt ist.
Der Verlauf der geschatzten Parameter im Falle eines erhohten Phasenwi-
derstands ist in Bild 4.9 zu sehen. Auch hier wurden die gemessenen Signale
wieder mit Transversalfiltern (m = 24, fg = 5 Hz, siehe Abschnitt 4.2) gefil-
tert und die Kreisfrequenz durch Differentiation des Motorwinkels erzeugt. Als
Schatzverfahren kam das schnelle DSFI-Verfahren mit den gleichen Einstellungen
0 10 20 30 40 50 60 70 80 900.0355
0.036
0.0365
0.037
Zeit [sec]
Psi
[Vs]
Magnetische Flussverkettung
0 10 20 30 40 50 60 70 80 9010.5
11
11.5
12
12.5
R [O
hm]
Ohmscher Widerstand
Bild 4.9: Parameterverlauf bei Widerstandserhohung
KAPITEL 4. EXPERIMENTELLE ERGEBNISSE 62
wie im letzten Abschnitt zum Einsatz, das bereits im eingeschwungenen Zustand
gestartet wurde. Die Widerstandserhohung wurde durch Zuschalten eines 2.2 Ω-
Widerstands bei t = 18 sec realisiert. Dabei muß beachtet werden, daß der Strom
nach Bild 4.1 jeweils uber zwei Spulen fließt. Da die einzelnen Phasenwiderstande
in dem vereinfachten Modell aus Abschnitt 4.1 nicht berucksichtigt sind, sondern
nur der Mittelwert der Widerstande geschatzt werden kann, ist mit einer Wider-
standserhohung um
∆RA =2
3· 2.2 Ω ≈ 1.47 Ω
zu rechnen.
Der bereits im fehlerfreien Zustand erhohte Widerstand von ca. 10.6 Ω kann
mehrere Ursachen haben. Zum einen konnte er auf die Temperaturabhangigkeit
der Kupferwicklungen zuruckgefuhrt werden, deren Widerstand sich erhoht, wenn
der Motor seine Betriebstemperatur erreicht hat. Andererseits kann der Effekt
auch durch den Spannungsabfall an der Bruckenschaltung verursacht werden.
Wird dieser im Modell nicht berucksichtigt, dann haben Schwankungen in der
Versorgungsspannung UBr Einfluß auf geschatzten Parameter. Die Berechnung
dieses Spannungsabfalls gestaltet sich jedoch schwierig, da er nicht als konstant
angenommen werden kann. Wahrend sich die Feldeffekt-Transistoren im Durch-
laßbereich wie spannungsgesteuerte Widerstande verhalten, fließt der Strom im
gesperrten Zustand uber Freilaufdioden, die in erster Linie durch ihre konstante
Schleusenspannung charakterisiert sind. Der mittlere Spannungsabfall wird daher
sowohl vom PWM-Tastverhaltnis als auch vom Phasenstrom bestimmt.
Die Widerstandsdifferenz von 1.47 Ω ist jedoch deutlich zu erkennen, wahrend
sich die Flußverkettung nur um weniger als 2% andert. Fur eine zuverlassige Feh-
lererkennung ist der erhohte Widerstand im fehlerfreien Fall aber unbedingt zu
beachten, da er alleine schon etwa 1.5 Ω ausmacht. Die lange Einschwingdauer laßt
sich mit den gleichen Argumenten wie in Abschnitt 4.2 begrunden. Die Verzoge-
rungen durch das Aussetzen der Parameterschatzung fallen hier besonders stark
ins Gewicht, da mit relativ kleinen PWM-Signalen gearbeitet wird und der Motor
haufig ruckwarts lauft. In Bild 4.9 ist das Aussetzen der Parameterschatzung an
den konstanten Bereichen im Signalverlauf zu erkennen.
Der gleiche Versuch wurde abschließend noch einmal fur den Fall einer Pha-
senunterbrechung wiederholt, die ebenfalls bei t = 18 sec stattfand. Die Ergeb-
nisse sind in Bild 4.10 zu sehen. Man erkennt, daß der geschatzte Widerstand
sofort stark ansteigt; auch die Flußverkettung wird erwartungsgemaß kleiner, da
in der unterbrochenen Spule keine Induktion mehr stattfindet. Um die Para-
KAPITEL 4. EXPERIMENTELLE ERGEBNISSE 63
0 10 20 30 40 50 60 700.01
0.02
0.03
0.04
Zeit [sec]
Psi
[Vs]
Magnetische Flussverkettung
0 10 20 30 40 50 60 7010
20
30
40
50R
[Ohm
]Ohmscher Widerstand
Bild 4.10: Parameterverlauf bei unterbrochener Phase
meterverlaufe in Bild 4.10 zu erhalten, mußte der fur die Schatzung zulassige
Drehzahlbereich auf ω > 0 erweitert werden, da der Motor bei zu starker Bela-
stung sogar stehenbleibt, obwohl ein PWM-Signal vorhanden ist. Es ist jedoch
zu prufen, ob das verwendete einfache Modell das Verhalten im Bereich kleiner
Drehzahlen im fehlerfreien Fall genugend genau beschreibt.
Mit den beiden Versuchen konnte gezeigt werden, daß es moglich ist, mit
Hilfe von Parameterschatzverfahren Fehler an einem burstenlosen Gleichstrom-
motor zu erkennen. Wahrend die Erkennung einer Unterbrechung aufgrund der
großen Parameteranderung unproblematisch ist, ist die Erkennung kleiner Wi-
derstandsanderungen wesentlich schwieriger, weil dazu zunachst der Widerstand
im fehlerfreien Fall genau bekannt sein muß. Hier durften sich aber mit einem
genaueren Prozeßmodell Verbesserungen erzielen lassen. Neben der Berucksich-
tigung des Temperatureinflusses und des Spannungsabfalls an der Bruckenschal-
tung konnte das Modell z. B. so erweitert werden, daß das Schatzverfahren dann
auch bei kleinen und negativen Drehzahlen arbeiten kann. Dies wurde die Pa-
rameterschatzung beschleunigen und damit die Zuverlassigkeit der Schatzwerte
erhohen.
Kapitel 5
Zusammenfassung und Ausblick
Ausgangspunkt der vorliegenden Arbeit war die Fehlererkennung an technischen
Prozessen mit Hilfe von Parameterschatzverfahren. Bei dieser Methode werden
die in Echtzeit geschatzten Prozeßparameter mit denen eines Referenzmodells
verglichen, um aus den Abweichungen auf mogliche Fehler zu schließen. Es wurde
dargelegt, daß hierzu nur hochwertige Schatzverfahren in Frage kommen, um
auch kleine Abweichungen sicher erkennen zu konnen. Nach einer allgemeinen
Einfuhrung in die Problemstellung in Kapitel 1 befaßten sich die Kapitel 2 und 3
daher mit zwei wichtigen Teilgebieten solcher Schatzverfahren: Entwicklung von
effizienten Online-Schatzalgorithmen und Erzeugung zeitlicher Ableitungen unter
Verwendung linearer Filter.
In Kapitel 2 wurden die numerischen Eigenschaften von Parameterschatzver-
fahren zunachst allgemein untersucht. Eine Konditionsanalyse zeigte, daß sich
die Meßfehler bei Algorithmen, die auf den Normalgleichungen basieren, mit
cond2(Ψ) fortpflanzen, wahrend sich dieser Faktor bei Orthogonalisierungsver-
fahren auf cond(Ψ) reduziert. Anhand der Schatzung von Polynomkoeffizienten
wurde gezeigt, daß die Verwendung numerisch schlechter Verfahren die Losung
schon bei geringsten Meßfehlern vollig unbrauchbar machen kann. Der Schwer-
punkt des weiteren Vorgehens lag dann auf der Untersuchung zeitrekursiver Ver-
fahren, wie sie zur Online-Parameterschatzung benotigt werden. Nachdem zuvor
die Vorteile von Orthogonalisierungsverfahren aufgezeigt worden waren, wurde
zunachst das oft implementierte DSFI-Verfahren hergeleitet, das eine zeitrekur-
sive Variante der QR-Zerlegung darstellt. Es zeigte erwartungsgemaß sehr gute
numerische Eigenschaften, doch stellte sich die lange Rechenzeit als ein wesentli-
cher Nachteil heraus. Diese wird in erster Linie durch die Bildung von n Wurzeln
in jedem Zeitschritt bestimmt.
64
KAPITEL 5. ZUSAMMENFASSUNG UND AUSBLICK 65
Um zu einem wurzelfreien Algorithmus zu gelangen, bot sich im nachsten
Schritt eine nahere Betrachtung des unnormierten Gram-Schmitt-Verfahrens an,
das die gleichen numerischen Eigenschaften wie alle anderen Orthogonalisierungs-
verfahren besitzt, aber ohne die Bildung von Wurzeln auskommt. Zwar gelang die
Herleitung eines rekursiven Verfahrens, doch zeigt es ungunstige Skalierungsei-
genschaften, falls mit Festkomma-Zahlen gearbeitet wird. Außerdem benotigte
es verhaltnismaßig viele Divisionen, die auf den meisten Prozessoren mehr Re-
chenzeit benotigen als Multiplikationen. Es wurde daher ein weiterer Versuch
unternommen, der schließlich den gewunschten Erfolg brachte: Ausgehend vom
DSFI-Verfahren wurden die dort benotigten Givens-Rotationen durch schnelle
Givens-Rotationen ersetzt, wodurch sich ebenfalls die Bildung von Wurzeln ver-
meiden laßt. Dieses schnelle DSFI-Verfahren zeigte in jeder Hinsicht hervorragen-
de Eigenschaften: Hinsichtlich der numerischen Gute laßt sich kein Unterschied
zum normalen DSFI-Verfahren feststellen, dagegen benotigt es aber erheblich
weniger Rechenzeit – bei großeren Parameterzahlen sogar weniger als das RLS-
Verfahren. Außerdem bietet der Algorithmus uber die fur die schnelle Givens-
Rotation benotigten Skalierungsfaktoren die Moglichkeit, die Prozeßanregung zu
uberwachen.
Mit der Entwicklung des schnellen DSFI-Verfahren wurde das gesteckte Ziel
erreicht, und es durften sich hier auch keine wesentlichen Verbesserungen mehr
finden lassen. Bei der Implementierung auf Mikrocontrollern zeigt sich jedoch ein
ganz anderes Problem, das mehrfach kurz angesprochen wurde: Werden fur die
Rechnung Festkomma- anstelle von Fließkomma-Zahlen verwendet, dann mussen
samtliche Großen zusatzlich uberwacht werden, da es aufgrund des begrenzten
Zahlenbereichs haufig zu Uberlaufen kommen kann. Falls keine Prozessoren mit
Fließkomma-Arithmetik zur Verfugung stehen, mußte das Verfahren im Hinblick
auf dieses Problem weiterentwickelt werden. Ansonsten hat das schnelle DSFI-
Verfahren keine Nachteile gegenuber bestehenden Algorithmen und wurde erfolg-
reich in der Simulation und bei Experimenten eingesetzt.
Kapitel 3 befaßte sich mit der Erzeugung zeitlicher Ableitungen, die im Zu-
sammenhang mit zeitkontinuierlichen Prozeßmodellen benotigt werden. Da zeit-
liche Ableitungen oft nicht direkt gemessen werden konnen und eine naherungs-
weise Differentiation via Differenzenbildung wegen vorhandener Meßstorungen
nicht in Frage kommt, wurden hierzu Filtertechniken verwendet. Bei der Her-
leitung des haufig verwendeten Zustandsvariablenfilters lag der Schwerpunkt auf
der Diskretisierung des zeitkontinuierlichen Filters. Der Versuch einer Newton-
KAPITEL 5. ZUSAMMENFASSUNG UND AUSBLICK 66
Cotes-Integration uber mehrere Teilintervalle erwies sich als schlechtere Losung
gegenuber der ublicherweise verwendeten Polynominterpolation mit Integration
uber das letzte Teilintervall. Allerdings konnte basierend auf einer Taylor-Ap-
proximation des Signals ein etwa gleichgutes Verfahren angegeben werden. Es
wurde aufgezeigt, daß die rekursive Struktur des Zustandsvariablenfilters eini-
ge Nachteile mit sich bringt, die durch die Verwendung von Transversalfiltern
vermieden werden konnen. Dazu wurde zunachst die Methode der Modulations-
funktionen untersucht, die aber aufgrund der speziellen Wahl der Modulations-
funktionen nur fur sehr hohe Abtastfrequenzen praktikabel war. Als wichtiges
Ergebnis stellte sich aber heraus, daß man im Hinblick auf eine anschließende
Parameterschatzung keinen Fehler begeht, wenn man die benotigten Signale und
ihre Ableitungen durch Filterung der Ein- und Ausgangssignale erzeugt. Vor-
aussetzung ist lediglich, daß alle Filter die gleiche Impulsantwort bzw. deren
Ableitungen besitzen.
Um die Differentiation mittels Transversalfilter auch bei ublichen Abtastfre-
quenzen einsetzen zu konnen, wurde schließlich ein etwas anderer Ansatz gewahlt,
der im Gegensatz zu den sonst gebrauchlichen Modulationsfunktionen die Vor-
gabe einer Grenzfrequenz erlaubt. Dazu wurde versucht, die Impulsantwort eines
Tiefpasses sowie deren Ableitungen durch ein Transversalfilter zu approximieren.
Bis zur 1. Ableitung funktionierte dies problemlos – fur hohere Ableitungen dage-
gen uberhaupt nicht mehr. Es konnte nicht geklart werden, wodurch dieses Ver-
halten verursacht wird, da genau die gleiche Vorgehensweise im Zusammenhang
mit den Modulationsfunktionen auch bei anderen Impulsantworten angewendet
wurde und dort keine Probleme bereitete.
Zum Abschluß des Kapitels wurde versucht, Zustandsvariablenfilter und trans-
versale Tiefpaßfilter zu vergleichen. Letztere schließen dabei hinsichtlich der prin-
zipiellen Eigenschaften auch die Modulationsfunktionen aus Abschnitt 3.2 ein
und konnten aus den oben genannten Grunden nur bis zur Ableitung 1. Ordnung
berucksichtigt werden. Die Untersuchung des Frequenzgangs beider Typen zeigte,
daß bei Transversalfiltern mit etwas starkeren Verzerrungen im Bereich der Grenz-
frequenz und einer gewissen Restwelligkeit im Sperrbereich zu rechnen ist. Auf
eine anschließende Parameterschatzung hat dies jedoch praktisch keinen Einfluß,
solange alle benotigten Filter aus der gleichen Impulsantwort erzeugt wurden.
Dies konnte auch anhand von Simulationen nachvollzogen werden. Bezuglich der
Rechenoperationen ist der Vergleich der beiden Filtertypen vom speziellen An-
wendungsfall abhangig. Prinzipiell laßt sich jedoch sagen, daß Transversalfilter
KAPITEL 5. ZUSAMMENFASSUNG UND AUSBLICK 67
dann von Vorteil sind, wenn jeweils nur einzelne Ableitungen benotigt werden.
Sollen dagegen mehrere Ableitungen eines Signals berechnet werden, dann ge-
schieht dies sehr effizient durch ein Zustandsvariablenfilter.
Die Erzeugung von Ableitungen durch differenzierende Transversalfilter wurde
in Simulationen und Experimenten mit der Zustandsvariablenfilterung verglichen
und hat sich als brauchbar erwiesen. Zur weiteren Verbesserung des Verfahrens
sollten neben der hier verwendeten Fenstermethode auch noch andere Entwurfs-
techniken untersucht werden. Moglicherweise lassen sich damit die Probleme bei
der Bildung hoherer Ableitungen losen. Weiterhin mussen auch hier – wie bei
den Parameterschatzalgorithmen – die Verfahren auf ihre Tauglichkeit fur den
Einsatz auf Mikrocontrollern mit Festkomma-Arithmetik uberpruft werden.
Fur die abschließende Parameterschatzung und Fehlererkennung an einem
burstenlosen Gleichstrommotor, vgl. Kapitel 4, konnten die zuvor untersuchten
Methoden mit Erfolg eingesetzt werden. Probleme bereiteten hier nicht die ver-
wendeten Algorithmen, sondern vielmehr das relativ einfache Prozeßmodell, das
sich in einigen Bereichen als zu ungenau erwies. Aber gerade in diesem Fall zeigte
sich ein wesentlicher Vorteil von Transversalfiltern: Die Parameterschatzung wird
in den Bereichen angehalten, in denen das Modell nicht gultig ist. Erreichen die
Signale dann wieder einen zulassigen Bereich, kann garantiert werden, daß nach
m Schritten alle Ausgleichsvorgange in den Filtern abgeklungen sind. Dies ist nur
bei einer endlichen Impulsantwort moglich. Das zur Parameterschatzung einge-
setzte schnelle DSFI-Verfahren zeigte auch hier seine sehr guten Eigenschaften.
Verglichen mit dem Standard-DSFI-Verfahren und dem RLS-Verfahren konnten
keine Nachteile festgestellt werden.
Bei der Fehlererkennung mit diesen Verfahren lassen sich jedoch sicherlich
noch Verbesserungen erzielen. Zwar konnten eine Widerstandserhohung und ei-
ne Phasenunterbrechung am Parameterverlauf erkannt werden, doch ist fraglich,
ob dies fur eine zuverlassige Fehlererkennung in der Praxis bereits ausreicht. In
erster Linie ware ein detaillierteres Prozeßmodell notig, um auch in den bis-
her ausgesparten Bereichen die Parameter schatzen zu konnen. Aufgrund der
vielen Intervalle, in denen die Schatzung angehalten wurde, stehen die neuen
Parameterwerte erst nach relativ langer Zeit zur Verfugung. Lediglich bei einer
Phasenunterbrechung zeigte sich bereits unmittelbar nach deren Auftreten eine
deutliche Widerstandserhohung. Ein weiteres Problem waren auch die Modellun-
genauigkeiten aufgrund des Spannungsabfalls an der Bruckenschaltung und der
Temperaturabhangigkeit des Kupferwiderstands. Im Versuch war die dadurch
KAPITEL 5. ZUSAMMENFASSUNG UND AUSBLICK 68
verursachte Widerstandserhohung genauso groß wie der zu erkennende Fehler. In
einem Fehlererkennungssystem mußte bei der Vorgabe von Referenzwerten daher
der Einfluß der Temperatur ebenso berucksichtigt werden wie Schwankungen in
der Versorgungsspannung.
Dennoch sind Parameterschatzverfahren eine wichtige Methode fur die Fehler-
erkennung. So sind mit ihnen z. B. Fehler in geschlossenen Regelkreisen erkennbar,
die fur andere Verfahren verborgen bleiben, weil sie bis zu einem gewissen Umfang
vom Regler kompensiert werden. Der Erfolg dieser Methode hangt aber entschei-
dend davon ab, wie genau die Prozeßparameter geschatzt werden konnen. Neben
einem prazisen Prozeßmodell sind dazu vor allem hochwertige Berechnungsver-
fahren notwendig, wozu die vorgestellten Algorithmen einen Beitrag liefern sollen.
Anhang A
Weitere Schatzverfahren
A.1 Das RLS-Verfahren
Die Herleitung eines rekursiven Verfahrens zur Losung der Normalgleichungen ist
relativ aufwendig; daher sei auf die sehr ausfuhrliche Herleitung in [9] verwiesen.
Man geht dabei aus von den Normalgleichungen in der Form
θ = P wΨT yw (A.1)
mit
P w = (ΨT W 2Ψ)−1
yw = W 2y ,
wobei W 2 = diag(λN−1, . . . , λ, 1) die Meßwerte exponentiell gewichtet, so daß
das Gutemaß
V = eT We =N∑
k=1
λN−ke2(k) (A.2)
minimiert wird. Dadurch wird erreicht, daß sich das Schatzergebnis an mogliche
Parameteranderungen anpaßt. Beim RLS-Verfahren werden die Großen θ und
P w in folgender Weise iteriert:
Algorithmus A.1 (RLS-Verfahren)
γ(k + 1) =1
λ + ψT (k + 1)P w(k)ψ(k + 1)P w(k)ψ(k + 1)
θ(k + 1) = θ(k) + γ(k + 1)(y(k + 1) − ψT (k + 1)θ(k))
P w(k + 1) =1
λ(In − γ(k + 1)ψT (k + 1))P w(k)
69
ANHANG A. WEITERE SCHATZVERFAHREN 70
A.2 Die Householder-Transformation
Die Householder-Transformation wird dazu benutzt, durch Multiplikation mit
einer orthonormalen Matrix in einem Spaltenvektor eine Nullspalte zu erzeugen,
siehe [17]. Ein Vektor v = (v1, v2, . . . , vN)T wird dabei uberfuhrt in
Q
v1
v2
...
vN
=
v′
1
0...
0
. (A.3)
Die Matrix Q wird wie folgt bestimmt:
γ = (N∑
j=1
v2j )
12 = ‖v‖2
sign0(v1) =
1, v1 ≥ 0
−1, v1 < 0
u = (sign0(v1)(|v1| + γ), v2, . . . , vN)T (A.4)
β =1
γ(|v1| + γ)
Q = IN − βuuT .
Es gilt dann:
v′1 = −γ sign0(v1) und v′
j = 0, j ≥ 2 . (A.5)
Bei der QR-Zerlegung einer N × n -Matix beginnt man mit der Transformation
der ersten Spalte, wobei die restlichen Spalten umgerechnet werden. In gleicher
Weise verfahrt man dann mit der 2. Spalte, betrachtet jedoch nur die Zeilen
2, . . . , N ; es wird also in jedem Schritt eine Zeile und eine Spalte fertiggestellt:
Q1Ψ =
∗ ∗ ∗ ∗0 ∗ ∗ ∗0 ∗ ∗ ∗0 ∗ ∗ ∗0 ∗ ∗ ∗0 ∗ ∗ ∗
→ Q2Q1Ψ =
∗ ∗ ∗ ∗0 ∗ ∗ ∗0 0 ∗ ∗0 0 ∗ ∗0 0 ∗ ∗0 0 ∗ ∗
ANHANG A. WEITERE SCHATZVERFAHREN 71
Nach n Schritten ist dann schließlich die obere Dreiecksgestalt erreicht:
Qn · · ·Q1︸ ︷︷ ︸Q
Ψ =
∗ ∗ ∗ ∗0 ∗ ∗ ∗0 0 ∗ ∗0 0 0 ∗0 0 0 0
0 0 0 0
Samtliche Householder-Transformationen werden dabei formal als orthonormale
N ×N -Matrizen angesehen und zur Matrix Q zusammengefaßt. Der vollstandige
Algorithmus zur Berechnung der oberen Dreiecksgestalt sieht wie folgt aus (mit
ψ(i)kj sind die Elemente von Ψ nach dem i-ten Schritt bezeichnet):
Algorithmus A.2 (QR-Zerlegung)
Berechne fur i = 1, . . . , n:
γi =( N∑
j=i
(ψ(i−1)ji )2
) 12
u(i) = (0, . . . , 0,︸ ︷︷ ︸(i − 1) Elemente
sign0(ψ(i−1)ii )(|ψ(i−1)
ii | + γi), ψ(i−1)i+1,i , . . . , ψ
(i−1)Ni )T
βi =1
γi(|ψ(i−1)ii | + γi)
ψ(i)ii = −γi sign0(ψ
(i−1)ii )
Berechne fur j = i + 1, . . . , n und k = i, . . . , N :
ψ(i)kj = ψ
(i−1)kj − βi
( N∑l=i
u(i)l ψ
(i−1)lj
)u
(i)k
Die Elemente rij sind dann identisch mit den Elementen ψ(i)ij fur i = 1, . . . , n und
j = i+1, . . . , n. Die Matrix Q kann mitberechnet werden, indem man samtliche
Householder-Transformationen auf eine N × N -Einheitsmatrix anwendet.
Anhang B
MATLAB-Funktionen
B.1 Rekursive Parameterschatzverfahren
In den folgenden Abschnitten sind die wichtigsten zeitrekursiven Parameter-
schatzverfahren in Form von MATLAB-Funktionen angegeben. Dabei wurden
keine MATLAB-spezifischen Befehle verwendet, so daß sie sich ohne Probleme
auch in andere Sprachen ubersetzen lassen, die fur Echtzeit-Anwendungen ge-
eignet sind. Wie auch die in Kapitel 2 angegebenen Algorithmen beinhalten die
Funktionen jeweils die Rechenoperationen, die in einem Zeitschritt auszufuhren
sind, d. h. die Funktionen werden in jedem Abtastschritt neu aufgerufen und be-
rechnen unter Verwendung der neuen Meßdaten die neue Iterationsmatrix.
B.1.1 DSFI-Verfahren
Die Funktion dsfi.m berechnet einen Zeitschritt des DSFI-Verfahrens nach Al-
gorithmus 2.1. Die Matrix S kann als Nullmatrix initialisiert werden, ohne daß
hierfur besondere Vorkehrungen im Programm getroffen werden mussen. Die Mul-
tiplikation mit der Wurzel des Gedachtnisfaktors wurde der Transformationsma-
trix zugeordnet, wodurch sich weitere Multiplikationen einsparen lassen.
% dsfi.m% DSFI-Algorithmus mit Standard-Givensrotation.% Syntax: S = dsfi(S_old,s,sl)% Input : S_old : Erweiterte Matrix S_old=[R b]% R : obere Dreiecksmatrix% b : transf. rechte Seite (Spalte)% s : [Messvektor, rechte Seite] (Zeile)% sl : Wurzel des Vergessensfaktors% Output: S : neue S-Matrix
72
ANHANG B. MATLAB-FUNKTIONEN 73
% Typischer Aufruf (zu loesen: norm(A*x-y)=min.):% S=zeros(n,n+1); sl=sqrt(lambda);% for i=1:N; S=dsfi(S,[A(i,:),y(i)],sl); end% x=S(:,1:n)\S(:,n+1)
% Michael Vogt, 21.7.1998
function S = dsfi(S_old,s,sl)
m=length(s); n=m-1; % Anzahl der Parameter: nS=zeros(n,m); % S initialisierenfor i=1:n % Schleife ueber die Ordnungif s(i)~=0 % s(i)~=0: Givens-Rotation noetigS_old(i,i)=sl*S_old(i,i); % Vergessensfaktor HauptdiagonaleS(i,i)=sqrt(S_old(i,i)^2+s(i)^2); % neues Hauptdiagonal-Elementh=s(i)/S(i,i); % Givens-Rotationsparameterc=S_old(i,i)/S(i,i);h1=sl*h; c1=sl*c; % Parameter mit Vergessensfaktorfor j=i+1:m
S(i,j)=c1*S_old(i,j)+h*s(j); % i-te Zeile von S umrechnens(j)=c*s(j)-h1*S_old(i,j); % Messdaten umrechnen
endelse % s(i)==0: keine Givens-Rotationfor j=i:m
S(i,j)=sl*S_old(i,j); % nur Vergessensfaktorend
endend
B.1.2 RMGS-Verfahren
Algorithmus 2.4 ist in der Funktion rmgs.m realisiert. Diese wird in gleicher Weise
aufgerufen und initialisiert wie dsfi.m.
% rmgs.m% RMGS-Algorithmus (Rekursive-Modified-Gram-Schmidt).% Syntax: S = rmgs(S_old,s,lambda)% Input : S_old : Erweiterte Matrix S_old=[R b]% R : obere Dreiecksmatrix% b : transf. rechte Seite (Spalte)% s : [Messvektor, rechte Seite] (Zeile)% lambda : Vergessensfaktor% Output: S : neue S-Matrix% Typischer Aufruf (zu loesen: norm(A*x-y)=min.):% S=zeros(n+1); lambda=0.99;% for i=1:N; S=rmgs(S,[A(i,:),y(i)],lambda); end% x=S(:,1:n)\S(:,n+1)
% Michael Vogt, 21.7.1998
ANHANG B. MATLAB-FUNKTIONEN 74
function S = rmgs(S_old,s,lambda)
m=length(s); n=m-1; % Anzahl der Parameter: nS=zeros(n,m); % S initialisierenfor i=1:nS(i,i)=lambda*S_old(i,i)+s(i)^2; % update Hauptdiagonalelementif S(i,i)~=0for j=i+1:m
S(i,j)=lambda*S_old(i,j)+s(i)*s(j); % update restliche Elementes(j) =s(j)-(S(i,j)/S(i,i))*s(i); % Datenvektor umrechnen
endend
end
B.1.3 Schnelles DSFI-Verfahren
dsfif.m stellt die Realisierung des schnellen DSFI-Verfahrens 2.5 dar. Im Ge-
gensatz zum normalen DSFI-Verfahren besitzt die erweiterte Dreiecksmatrix S
nur Einsen auf der Hauptdiagonalen, und es muß zusatzlich der Vektor w iteriert
werden, der die quadrierte Zeilenskalierung von S darstellt. Außerdem ist dar-
auf zu achten, daß w mit Nullen initialisiert wird, da dsfif.m daran eine nicht
vollrangige Matrix erkennt.
% dsfif.m% DSFI-Algorithmus mit schneller Givens-Rotation.% Syntax: [S,w] = dsfif(S_old,w_old,s,lambda)% Input : S_old : Erweiterte Matrix S_old=[R b]% R : obere Dreiecksmatrix% b : transf. rechte Seite (Spalte)% w_old : Zeilenfaktoren fuer S_old (Spalte)% s : [Messvektor, rechte Seite] (Zeile)% lambda : Vergessensfaktor% Output: S : neue S-Matrix% w : neue Zeilenfaktoren% Typischer Aufruf (zu loesen: norm(A*x-y)=min.):% S=zeros(n,n+1); w=zeros(n,1); lambda=0.99;% for i=1:N; [S,w]=dsfif(S,w,[A(i,:),y(i)],lambda); end% x=S(:,1:n)\S(:,n+1)
% Michael Vogt, 21.7.1998
function [S,w] = dsfif(S_old,w_old,s,lambda);
m=length(s); n=m-1; % Anzahl der Parameter: nS=eye(n,m); % S initialisierenw=zeros(n,1); % w initialisierenv=1; % Zeilenfaktor fuer neue Zeile s
ANHANG B. MATLAB-FUNKTIONEN 75
for i=1:n % Schleife ueber die Ordnungif s(i)==0 % s(i)==0: keine Rotation noetigfor j=i:m
S(i,j)=S_old(i,j); % alte Werte uebernehmenendw(i)=lambda*w_old(i); % Vergessensfaktor fuer i-te Zeile
elseif w_old(i)==0 % Zeile neu initialisierenw(i)=v*s(i)^2; % neuer Skalierungsfaktorfor j=i+1:m
S(i,j)=s(j)/s(i); % Zeile umrechnens(j)=0; % s wird Nullzeile
endelse % s(i)~=0: Rotation noetigw_old(i)=lambda*w_old(i); % i-te Zeile gewichtena=s(i); % Hilfsgroessen berechnenb=v*a;w(i)=w_old(i)+b*a; % Skalierungsfaktor fuer S(i,:)c=w_old(i)/w(i); % weitere Hilfsgroessend=b/w(i);v=v*c; % Skalierungsfaktor fuer sfor j=i+1:m
S(i,j)=c*S_old(i,j)+d*s(j); % i-te Zeile umrechnens(j)=s(j)-a*S_old(i,j); % Messwertezeile s umrechnen
endend
end
B.2 Filterentwurf
Die MATLAB-Funktionen zum Entwurf von Zustandsvariablenfiltern, Modula-
tionsfunktionen und differenzierenden Transversalfiltern sind in den folgenden
Abschnitten zu finden. Sie beinhalten jeweils die Algorithmen zur Berechnung
der Matrizen bzw. Gewichtsfunktionen, nicht jedoch die Realisierung der Filter.
Diese ist – insbesondere bei Transversalfiltern – relativ einfach und aus den ent-
sprechenden Abschnitten in Kapitel 3 ersichtlich.
B.2.1 Zustandsvariablenfilter
Die Funktion zvf.m berechnet die Matrizen Ad und Bd eines zeitdiskreten Zu-
standsvariablenfilters nach Algorithmus 3.1; es wird lediglich anstelle der Abtast-
zeit Ta die Abtastfrequenz fa = 1/Ta verwendet. Zur Berechnung der Polynom-
koeffizienten werden die MATLAB-Funktionen pascal bzw. vander benutzt.
ANHANG B. MATLAB-FUNKTIONEN 76
% zvf.m% Berechnung der Matrizen Ad und Bd fuer ein zeitdiskretes% Zustandsvariablenfilter mit Butterworth-Charakteristik.% Syntax: [Ad,Bd] = zvf(fg,fa,n,r,ap);% Input : fg : Filter-Grenzfrequenz [Hz]% fa : Abtastfrequenz des zeitdiskreten Systems [Hz]% n : Filterordnung (z.B. n=5)% r : Approximationsgrad (z.B. r=2)% ap : Approximationsverfahren (’interp’ oder ’taylor’)% Output: Ad : Systemmatrix fuer diskretes Filter% Bd : Eingangsmatrix fuer diskretes Filter
% Michael Vogt, 6.8.1998
function [Ad,Bd] = zvf(fg,fa,n,r,ap);
% 1.Schritt: zeitkontinuierlicher Butterworth-Tiefpass% ----------------------------------------------------if mod(n,2) % Ungerade Anzahl Koeffizientenden=[1, 1/(2*pi*fg)];for i=2:(n+1)/2;den=conv(den,[1, cos((i-1)*pi/n)/(pi*fg), 1/(2*pi*fg)^2]);
endelse % Gerade Anzahl Koeffizientenden=1;for i=1:n/2den=conv(den,[1, cos((2*i-1)*pi/(2*n))/(pi*fg), 1/(2*pi*fg)^2]);
endend
% 2. Schritt: Ak und Bk in Regelungs-Normalform% ---------------------------------------------Ak=[zeros(n-1,1) eye(n-1); ... % Systemmatrix (kontinuierlich)
-den(1:n)/den(n+1)];Bk=[zeros(n-1,1); 1/den(n+1)]; % Eingangsmatrix (kontinuierlich)
% 3. Schritt: Ad berechnen und Bd vorbereiten% -------------------------------------------Ad=expm(Ak/fa); % Ad: Systemmatrix (diskret)Bd=Ak\(Ad-eye(n))*Bk; % Bd: Eingangsmatrix (diskret)for i=1:r % spaltenweise Integrale berechnenBd=[Bd, Ak\(Ad*Bk-Bd(:,i)*i*fa)];
end
% 4. Schritt: Gewichtung der Eingangswerte bestimmen% --------------------------------------------------if ap==’taylor’T=pascal(r+1,1); % Pascal’sches DreieckBd=Bd*diag([1,1./cumprod(1:r)])*T; % Gewichtung fuer Taylor-Entwicklung
elseV=vander(0:r); % Van-der-Monde-MatrixBd=Bd/fliplr(V); % Gewichtung fuer Polynom-Interpolation
end
ANHANG B. MATLAB-FUNKTIONEN 77
B.2.2 Modulationsfunktionen
Mit blackmod.m wird eine Modulationsfunktion auf der Basis eines Blackman-
Fensters berechnet (siehe Algorithmus 3.2), sowie die Ableitungen bis maximal
zur Ordnung d = 3. Die Koeffizienten des trigonometrischen Polynoms werden in
der Variablen k vorgegeben.
% blackmod.m% Blackman-Fenster als Modulationsfunktion.% Syntax: G = blackmod(fa,m,d);% Input : fa : Abtastfrequenz [Hz]% m : Anzahl der Koeffizienten% d : max. Ableitungs-Ordnung% Output: G : Modulationsfunktion und Ableitungen (Spalten)
% Michael Vogt, 6.8.1998
function G = blackmod(fa,m,d);
k=[1.5;-2;0.5]; % Koeffizientenx=linspace(0,2*pi,m)’; % AbtaststellenG=[ones(m,1), cos(x), cos(2*x)]*k; % Blackman-Fenstera=1/sum(G); G=G*a; % Betragsnormierung
b=2*pi*fa/(m-1); % Kreisfrequenzk=k(2:3); % Konstante enfaellt
if d>0 % 1. AbleitungG=[G, [-a*b*sin(x), -a*(2*b)*sin(2*x)]*k];
end
if d>1 % 2. AbleitungG=[G, [-a*b^2*cos(x), -a*(2*b)^2*cos(2*x)]*k];
end
if d>2 % 3. AbleitungG=[G, [a*b^3*sin(x), a*(2*b)^3*sin(2*x)]*k];
end
B.2.3 Differenzierende Transversalfilter
Algorithmus 3.3 ist in der Funktion firfilt.m realisiert, die die Koeffizienten fur
einen FIR-Tiefpaß (transversalen Tiefpaß) und dessen Ableitungen berechnet. Es
kann hier jedoch maximal die Ableitung der Ordnung d = 1 berechnet werden.
Als Fensterfunktion wird ein Hamming-Fenster verwendet.
ANHANG B. MATLAB-FUNKTIONEN 78
% firfilt.m% Entwurf eines FIR-Tiefpasses incl. Ableitungen.% Syntax: G = firfilt(fg,fa,m,d)% Input : fg : Grenzfreqenz [Hz]% fa : Abtastfrequenz [Hz]% m : Anzahl Koeffizienten% d : Anzahl Ableitungen (d<2)% Output: G : Filterkoeffizienten (spaltenweise)
% Michael Vogt, 9.8.1998
function G = firfilt(fg,fa,m,d);
k=[0:m-1]’; % Index fuer Koeffizientenp=pi*(2*k-m+1)*fg/fa; % Zeitpunkte des Filtersw=0.54-0.46*cos(2*pi*k/(m-1)); % Hamming-Fenster
g=sin(p)./p; % idealer Tiefpassg=w.*g; % GewichtungG=g/sum(g); % Betragsnormierung
if d>0 % 1. Ableitungg=(p.*cos(p)-sin(p))./(p.^2); % Ableitung idealer Tiefpassg=w.*g; % mit Fenster gewichtenb=abs(g’*exp(-j*(k+1)*(pi*fg/5)/fa)); % Betrag an fg/10 muss pi*fg/5 seinG=[G, (pi*fg/5)*g/b]; % Betragsnormierung
end
if d>1 % 2. AbleitungG=[G, zeros(m,1)]; % hier ggf. erweitern
end
Literaturverzeichnis
[1] Barlow, J. L. and Ipsen, I. C. F.: Scaled Givens-Rotations for the Soluti-
on of Linear Least Squares Problems on Systolic Arrays. SIAM Journal
of Scientific and Statistical Computing, Vol. 8 (1987), No. 4, S. 716-733
[2] Elten, D.: Die Anwendung einer modellgestutzten Identifikationsmethode
zur Bestimmung elektrischer Parameter von Induktionsmotoren. Dis-
sertation an der TU Berlin, 1989
[3] Follinger, O.: Regelungstechnik – Einfuhrung in die Methoden und ihre
Anwendung. 8. Auflage, Huthig-Verlag, Heidelberg, 1994
[4] Gentleman, W.M.: Least Squares Computations by Givens Transforma-
tions without Square Roots. Journal of Institute Mathematics and its
Applications, Vol. 12 (1973), S. 329-336
[5] Hammerling, S.: A Note on Modifications to the Givens Plane Rotation.
Journal of Institute Mathematics and its Applications, Vol. 13 (1974),
S. 215-218
[6] Hamming, R.W.: Digitale Filter, 1. Auflage, VCH Verlagsgesellschaft,
Weinheim, 1987
[7] Hendershot, J. R. and Miller, T. J. E.: Design of Bruschless Perma-
nent-Magnet Motors. Magna Physics Publishing and Clarendon Press,
Oxford, 1994
[8] Hofling, T.: Methoden zur Fehlererkennung mit Parameterschatzung und
Paritatsgleichungen. VDI-Fortschritts-Berichte, Reihe 8, Nr. 546, VDI-
Verlag, Dusseldorf, 1996
[9] Isermann, R.: Identifikation Dynamischer Systeme, Band 1 und 2, 2. Auf-
lage, Springer-Verlag, Berlin, 1992
79
LITERATURVERZEICHNIS 80
[10] Isermann, R. (Hrsg.): Uberwachung und Fehlerdiagnose: Moderne Me-
thoden und ihre Anwendung in technischen Systemen. VDI-Verlag,
Dusseldorf, 1994
[11] Ling, F.: Givens Rotation Based Least Squares Lattice and Related Algo-
rithms. IEEE Transactions on Signal Processing, Vol. 39 (1991), No. 7,
S. 1541-1551
[12] Maletinsky, V.: “l-i-P”-Identifikation kontinuierlicher dynamischer Pro-
zesse. Dissertation an der ETH Zurich, 1978
[13] Patton, R. et al. (eds.): Fault Diagnosis in Dynamic Systems – Theory
and Applications. Prentice Hall, London, 1989
[14] Peter, K.: Parameteradaptive Regelalgorithmen auf der Basis zeitkontinu-
ierlicher Prozeßmodelle. VDI-Fortschritts-Berichte, Reihe 8, Nr. 348,
VDI-Verlag, Dusseldorf, 1993
[15] Reddy, M.R.R.: Design of Efficient Second and Higher Order FIR Digital
Differentiators for Low Frequencies. Signal Processing, Vol. 20 (1990),
S. 219-225
[16] Tietze, U. und Schenk, Ch.: Halbleiter-Schaltungstechnik, 10. Auflage,
Springer-Verlag, Berlin, 1993
[17] Tornig, W. und Spellucci, P.: Numerische Mathematik fur Ingenieure
und Physiker. Band 1, 2. Auflage, Springer-Verlag, Berlin, 1988