Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %% wartosci ogolne
- n1=7;
- n2=9;
- k=n1/n2
- m1=n1
- m2=4*n2
- t=2*n2+4
- obiekt=tf([k],[1,m2,m1,1],'IODelay',t)
- %% charakterystyki czasowe
- figure(1)
- impulse(obiekt)
- figure(2)
- step(obiekt)
- %% kupfmuller
- s=tf('s')
- transkupf=tf([0.778],[10.8 1])
- modelkupf=transkupf*exp(-24.5*s)
- figure(3)
- step(obiekt)
- hold on
- step(modelkupf)
- hold off
- figure(4)
- impulse(obiekt)
- hold on
- impulse(modelkupf)
- hold off
- %% charakterystyki czestotliwosciowe
- figure(5)
- nyquist(obiekt)
- ylim([-0.9 0.9])
- xlim([-0.9 0.9])
- title 'Obiekt'
- figure(6)
- nyquist(modelkupf)
- ylim([-0.9 0.9])
- xlim([-0.9 0.9])
- title 'Model'
- figure(7)
- bode(obiekt)
- hold on
- bode(modelkupf)
- legend('Obiekt', 'Model')
- figure(8)
- margin(obiekt)
- figure(9)
- margin(modelkupf)
- [ZapasModuluModelu, ZapasFazyModelu] = margin(modelkupf)
- [ZapasModuluObiektu, ZapasFazyObiektu] = margin(obiekt)
- PasmoObiektu=bandwidth(obiekt)
- PasmoModelu=bandwidth(modelkupf)
- %% bieguny i zera
- figure(10)
- pzplot(obiekt)
- title 'Obiekt'
- xlim([-40 5])
- figure(11)
- pzplot(modelkupf)
- title 'Model'
- %% probka
- figure(12)
- bode(obiekt)
- grid on
- Ts=1.6;
- TransmitancjaDyskretna=c2d(obiekt, Ts)
- %% dyskre
- figure(13)
- nyquist(TransmitancjaDyskretna)
- hold on
- nyquist(obiekt)
- legend('Transmitancja Dyskretna', 'Obiekt')
- ylim([-0.9 0.9])
- xlim([-0.9 0.9])
- figure(14)
- bode(TransmitancjaDyskretna)
- hold on
- bode(obiekt)
- legend('Transmitancja Dyskretna', 'Obiekt')
- figure(15)
- margin(TransmitancjaDyskretna)
- [ZapasModuluDyskr, ZapasFazyDyskr] = margin(TransmitancjaDyskretna)
- PasmoDyskr=bandwidth(TransmitancjaDyskretna)
- figure(16)
- pzplot(TransmitancjaDyskretna)
- hold on
- pzplot(obiekt)
- legend('Transmitancja Dyskretna', 'Obiekt')
- figure(17)
- step(TransmitancjaDyskretna)
- hold on
- step(obiekt)
- figure(18)
- impulse(TransmitancjaDyskretna)
- hold on
- impulse(obiekt)
- %% Zmiana ksztaltu transmitancji
- a1=10;
- bw1 = bandwidth(obiekt);
- T = round(pi/(a1*bw1),2);
- gd = c2d(obiekt, T);
- gd2 = c2d(obiekt, T);
- gd2.Variable = 'z^-1';
- gd2.num{1}(4) = 0;
- gd2.den{1}(4) = 0;
- gd2.num{1}(1) = round(gd2.num{1}(1), 2);
- gd2.den{1}(3) = round(gd2.den{1}(3), 2);
- figure(13);
- step(gd);
- hold on;
- step(gd2);
- hold off;
- figure(14);
- impulse(gd);
- hold on;
- impulse(gd2);
- hold off;
- figure(15);
- subplot(2,1,1);
- pzmap(gd);
- title('Zera i bieguny pierwotne');
- subplot(2,1,2);
- pzmap(gd2);
- title('Zera i bieguny po usunięciu członu z^{-3}');
- [zmd2, zfd2] = margin(gd2);
- disp(['Dyskretny bez z-3: z_m = ', num2str(zmd2), ', z_f = ', num2str(zfd2)]);
- figure(16);
- nyquist(gd);
- hold on;
- nyquist(gd2);
- hold off;
- figure(17);
- bode(gd);
- hold on;
- bode(gd2);
- hold off;
- %% Zmiana okresu próbkowania
- T2 = round(pi/(a2*bw1),2);
- a2 = 15;
- T2 = round(pi/(a2*bw1),2)
- disp(['Okres probkowania: ', num2str(T2)]);
- gd2 = c2d(obiekt, T2);
- gd2.Variable = 'z^-1';
- figure(18);
- step(gd);
- hold on;
- step(gd2);
- hold off;
- figure(19);
- impulse(gd);
- hold on;
- impulse(gd2);
- hold off;
- figure(20);
- subplot(2,1,1);
- pzmap(gd);
- title('Zera i bieguny pierwotne');
- subplot(2,1,2);
- pzmap(gd2);
- title('Zera i bieguny po zmianie czasu próbkowania');
- [zmd2, zfd2] = margin(gd2);
- disp(['Dyskretny bez z-3: z_m = ', num2str(zmd2), ', z_f = ', num2str(zfd2)]);
- figure(21);
- nyquist(gd);
- hold on;
- nyquist(gd2);
- hold off;
- figure(22);
- bode(gd);
- hold on;
- bode(gd2);
- hold off;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement