Systemidentifikation

Gast #2315487
Lesenswert?

Hallo,

ich muss für eine Arbeit eine Systemidentifikation durchführen.
Hierfür habe ich das System mit einem Testsignal beaufschlagt und daraus 
ein Bode-Diagramm erstellt (blau).
Jetzt versuche ich, das Bode-Diagramm durch einfache Übertragungsglieder 
anzunähern um das System zu identifizieren.

Dabei habe ich ein PT2-Glied, ein PT1-Glied und ein Totzeitglied 
verwendet.
Hier die verwendeten Parameter:
1
K=1;                                      %Werte PT2-Glied
2
d=0.3;
3
T=0.42;
4

5
K2=1;                                     %Werte PT1-Glied
6
T2=0.01;
7
g2=tf([0 K2],[T2 1]);
8
 
9
s=tf('s');                                %Totzeitglied
10
Tt=0.1;
11
gt=exp(-s*Tt);

Damit schaffe ich aber nur den Phasengang anzunähern, der Amplitudengang 
passt nicht. Alternativ schaffe ich es andersherum, dass der 
Amplitudengang stimmt, der Phasengang aber nicht mehr.

Hat da jemand eine Idee woran das liegen könnte bzw. was ich verbessern 
könnte.


Außerdem habe ich versucht mit der Methode der kleinsten Fehlerquadrate 
die Koeffizienten der Übertragungsfunktion zu bestimmen.
Ich habe dazu Unterlagen aus einem HOchschulpraktikum verwendet, steige 
aber nicht so ganz durch und deswegen einfach mal abgekupfert.

Hier der Code:
1
Eingangssig = MessGr_Ausgang;
2
Ausgangssig = MessGr;
3

4
m=100;
5
n=m;
6
kmin=100;
7

8

9
PHI = zeros(n,n+m);      %Messwertmatrix
10
for i=1:n
11
    
12
    k=kmin+i;
13
    phi = [flipud(-Ausgangssig(k-n:k-1)); flipud(Eingangssig(k-m:k-1))].';
14
    PHI(i,:) = phi;
15
    
16
end
17

18
PINV_PHI = pinv((PHI));       %Pseudoinverse
19

20
theta = PINV_PHI * Ausgangssig(1:n);      %Vektor mit Parameterwerten
21

22
epsilon = Ausgangssig(1:n) - PHI*theta;    %Schätzfehler
23

24
J = epsilon'*epsilon;         %Gütemaß
25

26
a = theta(1:n);
27
b = theta(n+1:n+m);
28

29
loss = J/(Ausgangssig'*Ausgangssig);
30

31

32
TEST = tf(a', b');
33
bode (TEST)

Vielleicht kann mir da jemand weiterhelfen, wenn ich das Script so 
ausführe fehlt wohl noch etwas, ich weiß aber nicht was.

Die Signale bestehen aus ca. 12000 Werten.

Vielen Dank schonmal
Angehängte Dateien:
#2317435
Lesenswert?

Für den Abfall bei 0.1 Hz benötigt man evtl Übertragungsglieder mit 
anderer Charakteristik als PT1, PT2, Tt.

Spannend wären möglicherweise erstmal folgende Fragen:
- ist das System überhaupt linear?
- ist das Anregungssignal überhaupt brauchbar
- wie ist die stationäre Verstärkung (bevor man sich an die Dynamik 
wagt)
- ist das System in irgendeiner Weise instabil (z.B. was soll das 
hochfrequente "Rauschen" und wo kommt es her)?


hat das System beispielsweise differenzierenden Charakter, heißt das: 
Die Sprungantwort konvergiert gegen 0 und mit PTn kommt man nicht weit 
;)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren