Juryns stabilitetskriterium

Inom signalbehandlings- och kontrollteori är juryns stabilitetskriterier en metod för att bestämma stabiliteten hos ett linjärt diskret tidssystem genom analys av koefficienterna för dess karakteristiska polynom . Det är den diskreta tidsanalogen av stabilitetskriteriet Routh–Hurwitz . Juryns stabilitetskriterier kräver att systempolerna är placerade inuti enhetscirkeln centrerad vid origo, medan Routh-Hurwitz stabilitetskriteriet kräver att polerna är i den vänstra halvan av det komplexa planet . Jurykriteriet är uppkallat efter Eliahu Ibraham Jury .

Metod

Om systemets karakteristiska polynom ges av

då är tabellen konstruerad enligt följande:

rad z n z n −1 z n −2 z .... z 1 z0
1 a0 en 1 en 2 ... a n −1 ett n
2 ett n a n −1 a n −2 ... en 1 a0
3 b0 b 1 ... b n −2 b n −1
4 b n −1 b n −2 ... b 1 b0
5 c0 c 1 ... c n -2
6 c n -2 c n −3 ... c0
... ... ... ... ... ... ...
2 n −5 sid0 p 1 p 2 p 3
2 n −4 p 3 p 2 p 1 sid0
2 n −3 q 2 q 1 q0

Det vill säga, den första raden är konstruerad av polynomkoefficienterna i ordning, och den andra raden är den första raden i omvänd ordning och konjugerad.

Den tredje raden i tabellen beräknas genom att subtrahera gånger den andra raden från den första raden, och den fjärde raden är den tredje raden med de första n elementen omvända (eftersom det sista elementet är noll).

Utvidgningen av tabellen fortsätter på detta sätt tills en rad som innehåller endast ett element som inte är noll nås.

Observera att är för de två första raderna. Sedan ändras koefficienten för 3:e och 4:e raden (dvs . Detta kan ses som det nya polynomet som har en grad mindre och sedan fortsätter.

Stabilitetstest

Om så för varje värde av ... är det negativt, polynomet har en rot utanför enhetsskivan. Detta innebär att metoden kan stoppas efter att det första negativa värdet hittats vid kontroll av stabilitet.

Exempel på implementering

Denna metod är mycket enkel att implementera med hjälp av dynamiska arrayer på en dator. Den talar också om om all modulen för rötterna ( komplex och reell ) ligger inuti enhetsskivan. Vektorn v innehåller de reella koefficienterna för det ursprungliga polynomet i ordningen från högsta grad till lägsta grad.

        
         
        
         

         
        
            
               0 

             0   
                       

            
              
            
                
         

         
          0  
         
               00 
         

            
              
         
               /* vvd är juryns array */  vvd  .  push_back  (  v  );  // Lagra den första raden  omvänd  (  v  .  start  (),  v  .  end  ());  vvd  .  push_back  (  v  );  // Lagra den andra raden  för  (  i  =  2  ;;  i  +=  2  )  {  v  .  rensa  ();  dubbelmult  =  vvd  [  i  -2  ][  vvd  [  i  -2  ]  .  storlek  ()  -1  ]  /  vvd  [  i  -2  ][  ];  // Detta är en/a0 som nämns i artikeln.  för  (  j  =  ;  j  <  vvd  [  i  -2  ].  storlek  ()  -1  ;  j  ++  )  // Ta de sista 2 raderna och beräkna nästa rad  v  .  push_back  (  vvd  [  i  -2  ]  [  j  ]  -vvd  [  i  -1  ][  j  ]  *  mult  );  vvd  .  push_back  (  v  );  reverse  (  v  .  börja  (),  v  .  slut  ());  // vänd nästa rad  vvd  .  push_back  (  v  );  if  (  v  .  storlek  ()  ==  1  )  bryta  ;  }  // Kontroll görs med  för  (  i  =  ;  i  <  vvd  .  storlek  ();  i  +=  2  )  {  if  (  vvd  [  i  ][  ]  <=  )  break  ;  }  if  (  i  ==  vvd  .  storlek  ())  "Alla rötter ligger inuti enhetsskivan "  annars  "nej" 

Se även

För mer information, se dessa referenser:

För avancerade resurser:

För implementeringar: