Diagrame (nomograme, curbe) Solodovnikov - stabilește relația dintre mărimea depășirii σ%, timpul tranzitoriului t reg , valoarea maximă a părții reale a AFC P max și frecvența de tăiere ω cf .
De exemplu, σ% = 25% și treg = 2 s.
Valoarea σ% = 25% pe graficul σ( P max ) corespunde valorii t reg = pe graficul t reg (P max ).
De aici puteți găsi ω p \ u003d \u003d 5,34 rad / s. Frecvența de tăiere se găsește din condiția: ω cf = (0,6÷0,9)ω p .
Conform diagramelor de determinare a marjelor de stabilitate , marja de stabilitate se determină în fază Δφ și amplitudine Δ L în funcție de depășirea σ%.
Cunoscând marja de stabilitate a amplitudinii, este posibil să se determine lungimea asimptotei de frecvență medie în sinteza ACS.
De exemplu, pentru sistemele cu astaticism de ordinul întâi, marja de stabilitate a amplitudinii în regiunea negativă Δ L 2 va fi egală în valoare absolută cu marja de stabilitate Δ L 1 în regiunea pozitivă.
∆L 1 = |
∆L 2 |
Diagrame similare sunt folosite pentru a sintetiza sistemul LAFC dorit .
Deoarece nomogramele de mai sus au fost obținute într-un mod semiempiric, pentru a simplifica lucrul cu ele, are sens să se obțină dependențele lor aproximative. Astfel de dependențe sunt obținute și formatate în funcție de sistemul MATLAB . Deoarece funcția din sistemul MATLAB este prezentată ca un fișier text, textul funcției finalizate este prezentat mai jos:
funcția [omega_sr, Lm, gamma] = nomosol ( sigma, t_pp ) % Nomograma lui Solodovnikov folosită pentru sinteza legăturilor corective % metoda de construire a LACHH dorit. % % Apel de funcție: % [omega_sr, Lm, gamma] = NOMOSOL(sigma); % sau % [omega_sr, Lm, gamma] = NOMOSOL(sigma, t_pp); % % Intrare: %sigma - valoarea de depășire dorită, în procente; % t_pp - timpul de trecere dorit, în secunde. % % Ieșire: % omega_sr - frecvența de tăiere minimă, rad/sec. % % Lm - valoarea limită a amplitudinii logaritmice, dB % % gamma - exces de fază, grade % % NOTĂ: % Dacă apelul de funcție este efectuat conform primei metode, % când nu este introdus t_pp, variabila de ieșire omega_sr este Funcția % a lui t_pp: omega_sr = f(t_pp) = @(t_pp) c*pi/t_pp % unde t_pp - timp tranzitoriu, sec % s este o constantă determinată de nomogramă. % În al doilea caz, frecvența de tăiere omega_sr ia o valoare numerică. % % În funcție este introdusă o singură valoare sau o pereche odată % valori ale elementelor de intrare % % Această funcție se bazează pe nomograma Solodovnikov publicată de % in carte:% % Teoria controlului automat: Proc. pentru universități pe special „Automatizare și % telemecanica”. În 2 ore Partea 1. Teoria sistemelor liniare ale automatei % management / N.A. Babakov, A.A. Voronov, A.A. Voronova și alții; Ed. % A.A. Voronova. - Ed. a II-a, revizuită. si suplimentare - M.: Mai sus. scoala, 1986. - 367p., ill. % % În cartea citată, nomogramele sunt publicate la paginile 272 și 273. % % Autorul funcției: ass. Departamentul de Hidrogasdinamică, SNU im. V. Dahl. % Mushkaev Yaroslav Vladimirovici, E-mail: [email protected] % 20-Nov-2011 comuta nargin cazul 1 fun_out = adevărat ; cazul 2 fun_out = fals ; in caz contrar disp ( 'Intrare nevalidă!' ); omega_sr = NaN ; Lm = NaN ; gamma = NaN ; întoarce la capăt dacă lungimea ( sigma (:)) ~= 1 disp ( 'Variabila sigma nu poate fi un vector sau o matrice!' ); omega_sr = NaN ; Lm = NaN ; gamma = NaN ; întoarcere Sfârşit dacă ~ și ( sigma >= 17,55 , sigma <= 38,3 ) disp ( „Valorile parametrilor pe care îi căutați nu pot fi determinate” ); disp ( "pentru un anumit sigma: 17,55% <= sigma <= 38,3%" ); omega_sr = NaN ; Lm = NaN ; gamma = NaN ; întoarce la capăt C_sigma = [ 508,321058427288 , - 3060,22544945687 , 7415,40549715130 , - 8983,52110625671 , 5457,1231671 , 5457,1231671 , 5457,1231671 , 5457,1231671 , 5457,1231671 , 5457,1231671 , 5457,1231671 ; C_tpp = [ 55,6639314226042 , - 311,896064410782 , 680,562835356507 , - 709,420175449177 , 347,4383523, 680,562835356507 , - 709,420175449177 , 347,4383523 , 680,562835356507 ; C_Lm = [ 3395,09767299379 , - 28707,9450565944 , 100993,514061531 , - 189260,381855314 , 199355,799314 , 199355,799314 , 199355,7993,514061531 ; _ C_gamma_grad = [ - 62.2007064137489 , 1785.51295903594 , - 10389.4884037248 , 26305.9467171758 , - 33647.51295903594 , - 33647.4884037248 , 26305.9467171758 , - 33647.51295903594 , - 33647.4884037248 P_max = rădăcini ([ C_sigma ( 1 : final - 1 ), C_sigma ( final ) - sigma ]); P_max ( sau ( logic ( imag ( P_max )), P_max < 0 )) = []; c = polival ( C_tpp , P_max ); omega_sr = eval ([ '@(t_pp) ' num2str ( c , '%.2f' ) '*pi/t_pp' ]); if ~ fun_out omega_sr = omega_sr ( t_pp ); Sfârşit Lm = polival ( C_Lm , P_max ); gamma = polival ( C_gamma_grad , P_max );Pentru a utiliza această funcție, trebuie să copiați textul programului de pe pagină și să-l salvați sub numele nomosol.m într-unul dintre folderele vizibile pentru sistemul MATLAB . Numele fișierului poate fi diferit, dar, conform sintaxei MATLAB , trebuie să se potrivească cu numele primei funcție din fișier.
Trebuie remarcat faptul că această funcție poate fi utilizată în pachete matematice care au o sintaxă similară cu MATLAB sau după o ușoară modificare.
Funcția este garantată pentru versiunile Matlab nu mai mici de 7.x. Alte versiuni pot necesita revizuiri minore.