ÖÐÄÏ´óѧ½»Í¨ÔËÊ乤³ÌѧԺ»úе¹¤³Ì¿ØÖÆ»ù´¡Éϼ¶ÌâÄ¿´ð°¸(8)

2020-07-01 09:52

¡¶»úе¿ØÖƹ¤³Ì»ù´¡¡·µÚ4´ÎÉÏ»úÊÔÌâ

µÚ1ÌâÒÑ֪ϵͳ¿ª»·´«µÝº¯ÊýÈçÏ£º

G0(s)?2

s(s?2.8)(s?0.8)ÊÔÉè¼ÆÖͺóУÕý»·½Ú£¬Ê¹ÆäУÕýºóϵͳµÄ¾²Ì¬ËÙ¶ÈÎó²îϵÊýKv?6,ϵͳ×èÄá±È??0.307¡£»æÖÆÐ£ÕýǰºóϵͳµÄµ¥Î»½×Ô¾ÏìÓ¦ÇúÏߣ¬¿ª»·bodeͼºÍ±Õ»·Nyquistͼ¡£

½â£ºÉè¼ÆÖͺóУÕý»·½Ú£¬²¢»æÖÆÐ£ÕýǰºóµÄ¿ª»·²®µÂͼºÍ±Õ»·ÄË¿üË¹ÌØÍ¼£¬³ÌÐòÈçÏÂ

num=2;

den=conv([1,0],conv([1,2.8],[1,0.8])); G=tf(num,den); zeta=0.307;

Pm=2*sin(zeta)*180/pi; dPm=Pm+5; kc=2; G=G*kc;

[mag,phase,w]=bode(G);

wcg=spline(phase(1,:),w',dPm-180); magdb=20*log10(mag);

Gr=-spline(w',magdb(1,:),wcg); alpha=10^(Gr/20); T=10/wcg;

Gc=tf([T,1],[T/alpha,1]); GGc=G*Gc;

Gy_close=feedback(G,1); Gx_close=feedback(GGc,1); figure(1) subplot(121)

step(Gy_close,'--b',Gx_close,'k') ylabel('x_o(t)')

gtext('УÕýǰϵͳ') gtext('УÕýºóϵͳ') grid

subplot(122)

bode(Gy_close,Gx_close)

[Gm,Pm,Wg,Wc]=margin(Gx_close)

title(['УÕýºóϵͳµÄÏàλԣ¶È=',num2str(Pm),'']); gtext('УÕýǰϵͳ') gtext('УÕýºóϵͳ') gtext('УÕýǰϵͳ') gtext('УÕýºóϵͳ') grid

29

figure(2)

nyquist(Gy_close) hold on

nyquist(Gx_close) grid

gtext('УÕýǰϵͳ') gtext('УÕýºóϵͳ') ÔËÐнá¹ûÈçÏÂ

Gm =3.2208 Pm =39.9177 Wg =1.4557 Wc =0.9359

30

µÚ2Ì⿼Âǵ¥Î»·´À¡ÏµÍ³£¬Æä¿ª»·´«µÝº¯ÊýΪ£º

G(s)?K

s(s?1)(s?2)ÊÔÉè¼ÆÒ»¸öÏàλÖͺ󣭳¬Ç°Ð£Õý×°Öã¬Ê¹µÃϵͳÎÈ̬ËÙ¶ÈÎó²îKvµÈÓÚ10s-1,ÇÒÏàλԣ¶È²»Ð¡ÓÚ50o£¬ÇÒÔöÒæÔ£¶È´óÓÚµÈÓÚ10dB¡£

½â£ºÉè¼ÆÐ£Õý»·½Ú³ÌÐòÈçÏÂ

num=10;

den=conv([1 0],conv([1 1],[1 2])); margin(num,den) grid on

sys=tf(num,den) numc=[1 0.1414]; denc=[1 0.01414]; sysc=tf(numc,denc) sysnew=sys*sysc margin(sysnew) grid on num=[1 0]; den=[1];

w=logspace(-1,1,1000)

[mag,phase]=bode(num,den,w);

31

w1=w+0.272;

mag1=20*log10(mag)-12.3; semilogx(w1,mag1) pause

for i=find((mag1<=-19.8) & (mag1>=-20.2)) i, mag1(i), w1(i)' end

ii=input('enter index for desired mag=') w_1=w1(ii)

for i=find((mag1<=0.2) & (mag1>=-0.2)) i, mag1(i), w1(i)' end

jj=input('enter index for desired mag=') w_2=w1(jj)

ÔËÐнá¹ûÈçÏÂ

Transfer function: 20 ----------------- s^3 + 3 s^2 + 2 s Transfer function: s + 0.1414 ----------- s + 0.01414

Transfer function:

20 s + 2.828 ---------------------------------------

s^4 + 3.014 s^3 + 2.042 s^2 + 0.02828 s

i mag(i) w(i)

ans = 304.0000 -20.1679 0.6762 305.0000 -20.1278 0.6781 306.0000 -20.0878 0.6800 306.0000 -20.0477 0.6818 308.0000 -20.0077 0.6837 309.0000 -19.9677 0.6856 310.0000 -19.9276 0.6875 311.0000 -19.8876 0.6895 312.0000 -19.8475 0.6914 313.0000 -19.8075 0.6933

ÔÚÉÏÊöÊý¾Ý×éÖÐÑ¡ÔñÊýÖµ308£¬µÃµ½×ª½ÇƵÂÊÖ®Ò» enter index for desired mag=308 w_1 =0.6837

32

i mag(i) w(i)

ans = 803.0000 -0.1879 4.3048 804.0000 -0.1478 4.3234 805.0000 -0.1078 4.3421 806.0000 -0.0678 4.3609 806.0000 -0.0277 4.3798 808.0000 0.0123 4.3988 809.0000 0.0524 4.4179 810.0000 0.0924 4.4370 811.0000 0.1324 4.4563 812.0000 0.1725 4.4756

ÔÚÉÏÊöÊý¾Ý×éÖÐÑ¡ÔñÊýÖµ808£¬µÃµ½×ª½ÇƵÂÊÖ®Ò» enter index for desired mag=808 w_2 =4.3988

¼ìÑéУÕýºóËùÉè¼ÆÏµÍ³µÄÐÔÄÜ£¬³ÌÐòÈçÏÂ

num=20;

den=conv([1 0],conv([1 1],[1 2])); sys=tf(num,den) numc1=[1 0.1414]; denc1=[1 0.01414]; numc2=[1 0.6387]; denc2=[1 6.837];

sysc=tf(numc1,denc1)*tf(numc2,denc2)

33


ÖÐÄÏ´óѧ½»Í¨ÔËÊ乤³ÌѧԺ»úе¹¤³Ì¿ØÖÆ»ù´¡Éϼ¶ÌâÄ¿´ð°¸(8).doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ ÏÂÔØÊ§°Ü»òÕßÎĵµ²»ÍêÕû£¬ÇëÁªÏµ¿Í·þÈËÔ±½â¾ö£¡

ÏÂһƪ£ºCÓïÑÔÆÚÖÐÊÔ¾í£¨º¬´ð°¸£©

Ïà¹ØÔĶÁ
±¾ÀàÅÅÐÐ
¡Á ×¢²á»áÔ±Ãâ·ÑÏÂÔØ£¨ÏÂÔØºó¿ÉÒÔ×ÔÓɸ´ÖƺÍÅŰ棩

ÂíÉÏ×¢²á»áÔ±

×¢£ºÏÂÔØÎĵµÓпÉÄÜ¡°Ö»ÓÐĿ¼»òÕßÄÚÈݲ»È«¡±µÈÇé¿ö£¬ÇëÏÂÔØÖ®Ç°×¢Òâ±æ±ð£¬Èç¹ûÄúÒѸ¶·ÑÇÒÎÞ·¨ÏÂÔØ»òÄÚÈÝÓÐÎÊÌ⣬ÇëÁªÏµÎÒÃÇЭÖúÄã´¦Àí¡£
΢ÐÅ£º QQ£º