Probleme d'identification sous MatLab

Bonjour, j'utilise la toolbox identif de MatLab et je cherche à identifier un signal sous MatLab; sans succès.

Ci-dessous un cas d'école que j'ai voulu tester: je simule un filtre du 2nd ordre et je génère sa réponse temporelle à un échelon.
C'est ensuite ce signal temporel que je cherche à identifier sans succès.
(Programme essai_identif.m)
Quelqu'un peut-il me dire ou est l'erreur dans mon programme?
Merci!

Programme essai_identif.m:
---------------------------------

clear all;close all
% je génère mon cas d'école
n0 = [0 -150 150];
d0 = [1 120 1200];
SYS_log = tf(n0,d0);
ltiview('step',SYS_log);
zpk(SYS_log)
% Zero/pole/gain:
% -150 (s-1)
% -----------------
% (s+109) (s+11.01)

Te = 0.005;
T = [0:Te:5];
u=fix(mod([0:Te:5],1)/0.5);

Y=lsim(SYS_log,u,T);
figure;
subplot(2,1,1),plot(T,u);grid on
subplot(2,1,2),plot(T,Y);grid on % on retrouve bien la reponse du 2nd ordre simulé

% construction des données à identifier
donnee = iddata(Y,u',Te);
donnee.InputName = {'T°'};
donnee.OutputName = {'Vs'};
% identification
modele = pem(donnee(1:500));
compare(donnee(502:800),modele)% la comparaison entre mes données et le modèle idnetifé semble correcte

% les 3 lignes suivantes ne marchent pas!!
[n,d] = tfdata(modele,'v')
printsys(n,d,'z')
SYS = tf(n,d)
Yest=lsim(SYS,u,T);
figure;
subplot(2,1,1),plot(T,u);grid on
subplot(2,1,2),plot(T,Yest);grid on % on ne retrouve pas la reponse voulue!!!

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Grosse faute d'orthographe : "domaine continu" et non pas "domène continu"
    1. Normal, car le modèle identifié est un modèle discret. Si tu veux identifier ton modèle directement dans le domène continu, utilise la fonction idproc

      mRef = idproc('P2Z');
      m = pem(donnee,mRef)
      Process model with transfer function
      1+Tz*s
      G(s) = K * ------------------
      (1+Tp1*s)(1+Tp2*s)

      with K = 0.125
      Tp1 = 0.090825
      Tp2 = 0.0091752
      Tz = -1

      Estimated using PEM from data set donnee
      Loss function 1.81417e-030 and FPE 1.82873e-030