Advertisement
ArBa

tits_3_4

Nov 19th, 2018
454
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.10 KB | None | 0 0
  1. Gs=tf(0.7157,[1 1.253 1.535 0.7157]);
  2. % bode(Gs);
  3. fgc=500;
  4. fp=1500;
  5. tp=1/fp;
  6. wgc=2*pi*fgc;
  7. wga=1.38;
  8. bode(Gs);
  9. B=wga*tan(wgc*tp/2);
  10. Gz=tf([0.7157 -2.1471 2.1471 -0.7157], [(B*B*B+1.2535*B*B+ 1.535*B +0.7157) (3*B*B*B +1.2535*B*B -1.535*B -2.1471) (3*B*B*B -1.2535*B*B-1.535*B+2.1471) (B*B*B -1.2535*B*B +1.535*B - 0.7157)],tp);
  11. figure;
  12. bode(Gz);
  13. hold;
  14.  
  15.  
  16. a1=100;
  17. t=0:tp:5;
  18. y1=a1*sin(2*pi*fgc*t)+a1*sin(2*pi*(0.3*fgc)*t)+a1*sin(2*pi*fgc*1.4*t);
  19.  
  20. y1fft=fft(y1);
  21. n=length(y1fft);
  22. y1fft=(2*abs(fft(y1)))/n;
  23. osf=(0:n-1)*fp/n;
  24. figure;
  25. plot(osf,y1fft);
  26.  
  27. y1f=filter([0.7157 -2.1471 2.1471 -0.7157], [(B*B*B+1.2535*B*B+ 1.535*B +0.7157) (3*B*B*B +1.2535*B*B -1.535*B -2.1471) (3*B*B*B -1.2535*B*B-1.535*B+2.1471) (B*B*B -1.2535*B*B +1.535*B - 0.7157)],y1);
  28. y1ffft=fft(y1f);
  29. n=length(y1ffft);
  30. y1ffft=(2*abs(fft(y1f)))/n;
  31. osf=(0:n-1)*fp/n;
  32. figure;
  33. plot(osf,y1ffft);
  34.  
  35. [h,w]=freqz([0.7157 -2.1471 2.1471 -0.7157], [(B*B*B+1.2535*B*B+ 1.535*B +0.7157) (3*B*B*B +1.2535*B*B -1.535*B -2.1471) (3*B*B*B -1.2535*B*B-1.535*B+2.1471) (B*B*B -1.2535*B*B +1.535*B - 0.7157)],1000,fp);
  36. figure;
  37. plot(w,abs(h));
  38. grid;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement