Advertisement
Guest User

Untitled

a guest
Jun 20th, 2019
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.19 KB | None | 0 0
  1. clc; clear all
  2. %% Przebiegi czasowe dostarczone do badan
  3. % wczytanie dostarczonych sygnalow
  4. load('TRAC1(2).MAT');
  5. load('TRAC2(3).MAT');
  6. load('TRAC3(2).MAT');
  7. % charakterystyki czasowe dostarczonych sygnalow
  8. figure(1)
  9. subplot(2,1,1)
  10. plot(c1x,c1);
  11. grid on;
  12. title('Charakterystyka czasowa sygnalu wejściowego');
  13. xlabel('Czas [s]');
  14. ylabel('Wartosc sygnalu [m]');
  15. subplot(2,1,2)
  16. plot(c2x,c2);
  17. grid on;
  18. title('Charakterystyka czasowa sygnalu wyjściowego');
  19. xlabel('Czas [s]');
  20. ylabel('Wartosc sygnalu [m]');
  21. % charakterysyka widomowa
  22. figure(2)
  23. plot(o2i1x, o2i1);
  24. grid on;
  25. title('Charakterystyka widmowa sygnalu wyjściowego');
  26. xlabel('Częstotliwość [Hz]');
  27. ylabel('Amplituda [m]')
  28.  
  29. %% Eksperymentalny wykres Bodego
  30. o2i1_eksp=20*log10(abs(o2i1));
  31. figure(3)
  32. semilogx(o2i1x, o2i1_eksp);
  33. grid on;
  34. title('Eksperymentalna charakterystyka Bodego');
  35. xlabel('Częstotliwość [Hz]');
  36. ylabel('Amplituda [dB]')
  37.  
  38. %% Model estymowany
  39. load ('arx68581.mat');
  40. %utworzenie licznika i mianownika modelu
  41. model=tf([arx68581.A], [arx68581.B]);
  42. %macierze A,B,C,D modelu
  43. [A,B,C,D]=tf2ss(arx68581.B, arx68581.A);
  44. sys=ss(A,B,C,D,arx68581.Ts);
  45. [mag_sys,phase_sys,wout_sys] = bode(sys);
  46. figure(4)
  47. semilogx(o2i1x, o2i1_eksp);
  48. hold on;
  49. semilogx(wout_sys/6.28,20*log10(abs(mag_sys(1,:))));
  50. grid on;
  51. title('Porównanie charakterystyk częstotliwościowych');
  52. legend('Eksperyment', 'Estymacja');
  53. xlabel('Częstotliwość [Hz]');
  54. ylabel('Amplituda [dB]')
  55.  
  56. %% Redukcja w state space z balance method
  57. %wyznaczenie nowego modelu obiektu 'sysb' oraz wektora wspolczynnikow
  58. %wagowych zmiennych stanu 'k'
  59. [sysb, g]=balreal(sys);
  60. elim= (g<0.0001); %odrzucenie zmiennych stanu poza pasmem 1-400Hz
  61. sys_red=modred(sysb,elim); %model zredukowany I
  62. [mag_sys_red,phase_sys_red,wout_sys_red] = bode(sys_red);
  63. %charakterystyki czestotliwosciowe
  64. L=fft(c2);
  65. M=fft(c1);
  66. G=L./M;
  67. n=12;
  68. N=2^12; %ilosc probek
  69. dt=4/N;
  70. f=inv(dt)*(0:N/2-1)/N; % czas -> czestotliwosc
  71. f1=f';
  72. L_G=20*log10(abs(G(1:2048,1)));
  73. figure(5)
  74. semilogx(f1,L_G);
  75.  
  76. semilogx(o2i1x,o2i1_eksp);
  77. semilogx(wout_sys/6.28,20*log10(abs(mag_sys(1,:))));
  78. %semilogx(wout_sys/6.28,20*log10(abs(mag_sys_red(1,:))));
  79. grid on;
  80. title('Porównanie charakterystyk częstotliwościowych');
  81. legend('G', 'Eksperyment', 'Estymacja', 'Zredukowany');
  82. xlabel('Częstotliwość [Hz]');
  83. ylabel('Amplituda [dB]')
  84.  
  85. %% Dalsza redukcja - odrzucenie zer i biegunow powzyzej 325Hz
  86.  
  87. [z_red,p_red,k_red]=ss2zp(sys_red.A,sys_red.B,sys_red.C,sys_red.D);
  88. omega_anty=abs(log(z_red)./sys_red.Ts);
  89. omega_rez =abs(log(p_red)./sys_red.Ts);
  90. z_macierz=[z_red,omega_anty];
  91. p_macierz = [p_red, omega_rez];
  92. z_macierz_sort=sortrows(z_macierz,2);
  93. p_macierz_sort=sortrows(p_macierz,2);
  94. zera=z_macierz_sort([1:62]);
  95. zera=zera';
  96. bieguny=p_macierz_sort([1:62]);
  97. bieguny=bieguny';
  98. model_zred=zpk(zera,bieguny,k_red*0.001^(0.2),c2x(2)-c2x(1));
  99. [mag_model_zred,phase_model_zred,w_model_zred] = bode(model_zred);
  100. figure(6)
  101. semilogx(o2i1x,20*log10(abs(o2i1)));
  102. hold on;
  103. semilogx(w_model_zred/6.28,20*log10(abs(mag_model_zred(1,:))));
  104. grid on;
  105. title('Porównanie charakterystyk amplitudowych');
  106. ylabel('Amplituda [dB]');
  107. xlabel('Częstotliwość [Hz]');
  108. legend('Ekperymentalny','Zredukowany');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement