Contenu principal

obsv

Observabilité du modèle de représentation d'état

    Description

    Un système dynamique est dit observable si tous ses états peuvent être connus à partir de la sortie du système. obsv calcule une matrice d'observabilité à partir des matrices d'état ou d'un modèle de représentation d'état. Vous pouvez utiliser cette matrice pour déterminer l’observabilité.

    Par exemple, considérons un modèle de représentation d’état en temps continu avec Nx états, Ny sorties et Nu entrées :

    x˙=Ax+Buy=Cx+Du

    Ici, x, u et y représentent respectivement les états, les entrées et les sorties, tandis que A, B, C et D correspondent aux matrices de représentation d'état présentant les tailles suivantes :

    • A est une matrice Nx-par-Nx à valeurs réelles ou complexes.

    • B est une matrice Nx-par-Nu à valeurs réelles ou complexes.

    • C est une matrice Ny-par-Nx à valeurs réelles ou complexes.

    • D est une matrice Ny-par-Nu à valeurs réelles ou complexes.

    Le système est observable si la matrice d‘observabilité générée par obsv Ob=[CCACA2  :CAn1] a un rang complet, autrement dit si le rang est égal au nombre d'états dans le modèle de représentation d’état. La matrice d’observabilité Ob présente Nx lignes et Nxy colonnes. Pour un exemple, voir Observabilité du modèle de représentation d'état SISO.

    Ob = obsv(A,C) renvoie la matrice d’observabilité Ob en utilisant la matrice d'état A et la matrice état/sortie C. Le système est observable si Ob a un rang complet. Autrement dit, si le rang de Ob est égal au nombre d'états.

    exemple

    Ob = obsv(sys) renvoie la matrice d‘observabilité du modèle de représentation d’état sys. Cette syntaxe équivaut à :

    Ob = obsv(sys.A,sys.C);

    exemple

    Exemples

    réduire tout

    Définissez les matrices A et C.

    A = [1  1;
         4 -2];
    C = [-1 1;
         1 -1];

    Calculez la matrice d’observabilité.

    Ob = obsv(A,C);

    Déterminez le nombre d'états inobservables.

    unobsv = length(A) - rank(Ob)
    unobsv = 
    1
    

    L'état inobservable indique que Ob ne présente pas un rang complet de 2. Par conséquent, le système n'est pas observable.

    Pour les besoins de cet exemple, considérons le modèle de représentation d’état SISO suivant, doté de 2 états :

    A=[-1.5-210]B=[0.50]C=[01]D=1SISO State-Space Model

    Créez le modèle de représentation d’état SISO défini par les matrices de représentation d’état suivantes :

    A = [-1.5,-2;1,0];
    B = [0.5;0];
    C = [0,1];
    D = 1;
    sys = ss(A,B,C,D);

    Calculez la matrice d‘observabilité et trouvez le rang.

    Ob = obsv(sys)
    Ob = 2×2
    
         0     1
         1     0
    
    

    La taille de la matrice d‘observabilité dépend de la taille des matrices A et C. Par exemple, si la matrice A est une matrice Nx par Nx et que la matrice C est une matrice Nx par Ny, la matrice résultante Ob présente Nx lignes et Nxy colonnes. Ici, Nx désigne le nombre d’états et Ny, le nombre de sorties.

    rank(Ob)
    ans = 
    2
    

    Étant donné que le rang de la matrice d’observabilité Ob est égal au nombre d'états, le système sys est observable.

    Sinon, vous pouvez également utiliser uniquement les matrices A et C pour trouver la matrice d’observabilité.

    Ob = obsv(sys.A,sys.C);
    rank(Ob)
    ans = 
    2
    

    Arguments d'entrée

    réduire tout

    Matrice d'état spécifiée en tant que matrice Nx par NxNx désigne le nombre d’états.

    Matrice d'état-sortie spécifiée en tant que matrice Ny par NxNx désigne le nombre d’états et Ny, le nombre de sorties.

    Tableau des modèles de représentation d'état ou modèles, spécifié comme suit :

    • Objet de modèle de représentation d’état (ss) lorsque les entrées A, B, C et D sont des matrices numériques ou lors de la conversion à partir d'un autre type d'objet de modèle.

    • Objet de modèle de représentation d’état généralisé (genss) lorsqu'une ou plusieurs des matrices A, B, C et D comprennent des paramètres réglables, tels que les paramètres realp ou les matrices généralisées (genmat). La fonction utilise les valeurs actuelles pour les paramètres réglables.

    • Objet de modèle de représentation d'état incertain (uss) lorsqu'une ou plusieurs des entrées A, B, C et D comprennent des matrices incertaines. La fonction utilise les valeurs nominales pour les paramètres incertains. Pour pouvoir utiliser les modèles incertains, le software Robust Control Toolbox™ est nécessaire.

    Arguments en sortie

    réduire tout

    Matrice d’observabilité, renvoyée sous la forme d’un tableau. Quand sys est :

    • Un modèle de représentation d’état unique comptant Nx états et Ny sorties, le tableau obtenu Ob présente Nx lignes et Nxy colonnes.

    • Un tableau de modèles de représentation d'état sys(:,:,j1,...,jN), Ob est un tableau de dimensions N+2, autrement dit Ob(:,:,j1,...,jN).

    Limitations

    • obsv n'est pas recommandé pour le design de contrôle car le calcul du rang de la matrice d'observabilité n'est pas recommandé pour les tests d'observabilité. Ob sera numériquement singulière pour la plupart des systèmes comportant un bon nombre d'états. Ce fait est parfaitement consigné dans la section III de [1].

    Références

    [1] Paige, C. C. "Properties of Numerical Algorithms Related to Computing Controllability." IEEE Transactions on Automatic Control. Vol. 26, Number 1, 1981, pp. 130-138.

    Historique des versions

    Introduit avant R2006a