\begin{align}
G=\frac{1}{s+1}
\end{align}
を離散化する。c2dで離散化すると伝達関数は
\begin{align}
G=\frac{0.00995}{z-0.99}
\end{align}
となる。離散システムのボード線図を書くには\(z=e^{j \omega T}\)を代入すればいい。
ソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | j=sqrt(-1); N=2; omega=10^(-N):0.001:10^(N); T=0.01; s=tf( 's' ); G=1/(s+1); bodegain1=zeros(size(omega)); bodeangle1=zeros(size(omega)); bodegain2=zeros(size(omega)); bodeangle2=zeros(size(omega)); for i=1:1:length(omega) bodegain1(1,i)=20*log10(norm(1/(j*omega(1,i)+1))); bodeangle1(1,i)=rad2deg(angle(1/(j*omega(1,i)+1))); end figure; subplot(2,1,1) semilogx(omega,bodegain1) xlim([10^-2,10^2]) grid on subplot(2,1,2) semilogx(omega,bodeangle1) ylim([-90 0]) xlim([10^-2,10^2]) yticks([-90 -45 0]) grid on G2=c2d(G,T, 'matched' ); for i=1:1:length(omega) bodegain2(1,i)=20*log10(norm(0.00995/(exp(j*omega(1,i)*T)-0.99))); bodeangle2(1,i)=rad2deg(angle(0.00995/(exp(j*omega(1,i)*T)-0.99))); end figure bode(G2) grid on xlim([10^-2,10^2]) figure; subplot(2,1,1) semilogx(omega,bodegain2) grid on subplot(2,1,2) semilogx(omega,bodeangle2) ylim([-135 0]) yticks([-135 -90 -45 0]) xlim([10^-2,10^2]) grid on |
コメント