milanmetal

[TEK] Vezba 7, z2 v2 - PI-shema iz y_ekv

Feb 3rd, 2017
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 6.11 KB | None | 0 0
  1. clc
  2. disp('*********************** VEZBA 7 RESENJE ZADATKA 1************************')
  3. %
  4. % svi parametri su realni i pozitivni
  5. %
  6. syms w R L positive
  7. syms Ua_ Ub_ Uc_ Ud_ Ia_ Ib_ Ic_ Id_
  8. % % U1 = Uc, U2 = Ud, I1 = Ic, I2 = Id
  9. %
  10. % Tablo jednacina
  11. % SKZ + KR + NKZ
  12.  
  13. % Jednacine za GORNJU MREZU, PI-shema otpornici.
  14. eq1 = 'Ua_ = R*(Ia_ - (Ua_ - Ub_)/R)';
  15. eq2 = 'Ub_ = R*(Ib_ + (Ua_ - Ub_)/R)';
  16.  
  17. % Jednacine za DONJU MREZU, zavojnice.
  18. eq3 = 'Uc_ = i*w*L*(Ic_+Id_) - i*w*Id_*(L/2)' ;
  19. eq4 = 'Ud_ - Uc_ = -i*w*(L/2)*(Ic_+Id_)+i*w*L*Id_' ;
  20. %
  21. KR_u_Z_formi_GORNJA_mreza = solve(eq1,eq2,'Ua_, Ub_');
  22. KR_u_Z_formi_DONJA_mreza = solve(eq3,eq4,'Uc_, Ud_');
  23. %
  24. Ua_ = collect(simplify(KR_u_Z_formi_GORNJA_mreza.Ua_),Ia_)
  25. Ub_ = collect(simplify(KR_u_Z_formi_GORNJA_mreza.Ub_),Ib_)
  26. Uc_ = collect(simplify(KR_u_Z_formi_DONJA_mreza.Uc_),Ic_)
  27. Ud_ = collect(simplify(KR_u_Z_formi_DONJA_mreza.Ud_),Id_)
  28. %
  29. % Odredjivanje z-parametara za DONJU mrezu (ZAVOJNICE)
  30. z11_d = simplify(sym(subs(Uc_/Ic_,Id_,0)));
  31. z12_d = simplify(sym(subs(Uc_/Id_,Ic_,0)));
  32. z21_d = simplify(sym(subs(Ud_/Ic_,Id_,0)));
  33. z22_d = simplify(sym(subs(Ud_/Id_,Ic_,0)));
  34. %
  35.  
  36. % Odredjivanje z-parametara za GORNJU mrezu (OTPORNICI)
  37. z11_g = simplify(sym(subs(Ua_/Ia_,Ib_,0)));
  38. z12_g = simplify(sym(subs(Ua_/Ib_,Ia_,0)));
  39. z21_g = simplify(sym(subs(Ub_/Ia_,Ib_,0)));
  40. z22_g = simplify(sym(subs(Ub_/Ib_,Ia_,0)));
  41. %
  42.  
  43. disp(sprintf('\n\n======= Matrica Z - DONJA mreza ======='));
  44. z_dole = [z11_d z12_d; z21_d z22_d]
  45.  
  46. disp(sprintf('\n\n======= Matrica Z - GORNJA mreza ======='));
  47. z_gore = [z11_g z12_g; z21_g z22_g]
  48.  
  49. disp(sprintf('\n\n======= Matrica Y - DONJA mreza ======='));
  50. y_dole = inv(z_dole)
  51.  
  52. disp(sprintf('\n\n======= Matrica Y - GORNJA mreza ======='));
  53. y_gore = inv(z_gore)
  54.  
  55. % % b) odrediti (KR) mreze u z-formi
  56.  
  57. % mreza se sastoji iz dve manje mreze vezane paralelno-paralelno
  58. % paralelno-paralelnoj vezi odgovara y-forma (KR), stoga
  59. % invertujemo z matrice za GORNJU i DONJU mrezu i tako dobijamo
  60. % odgovarajuce ADMITANSNE matrice, y_gore i y_dole,
  61. % zatim ih saberemo cime dobijamo y_ekvivalentno za cjelokupnu mrezu
  62. % na kraju INVERZNA matrica od y_ekvivalentno predstavlja (KR)
  63. % cjelokupne mreze u z-formi (KR)
  64.  
  65. disp(sprintf('\n\n======= Matrica Z_ekvivalentno ======='));
  66. disp(sprintf('======= Konstitutivne relacije mreze u Z-formi...'));
  67. disp(sprintf('======= Konstitutivne relacije mreze u Z-formi...'));
  68.  
  69. z_ekv = inv(y_ekv)
  70.  
  71. disp(sprintf('======================================'));
  72. % % ====== RESENJE B)
  73.  
  74.  
  75.  
  76. % % c)
  77. % ispitivanje reciprocnostic, u z-formi, da li je z12==z21?
  78. if z_ekv(1,2) == z_ekv(2,1)
  79.     jeste_rec = true;
  80.     disp('MREZA JE RECIPROCNA!')
  81. else disp('MREZA NIJE RECIPROCNA!')
  82.     jeste_rec = false;
  83. end
  84.  
  85. %
  86. % ispitivanje simetricnosti, u z-formi, ako je mreza reciprocna i ako je z11_==z22_ ?
  87. if jeste_rec && (z_ekv(1,1) == z_ekv(2,2))
  88.     jeste_sim = true;
  89.     disp('MREZA JE SIMETRICNA!')
  90. else disp('MREZA NIJE SIMETRICNA!')
  91.     jeste_sim = false;
  92. end
  93. % % ====== RESENJE C)
  94.  
  95. %  d)
  96. disp(sprintf('\n\n======= Matrica Y_ekvivalentno ======='));
  97. disp(sprintf('======= Ovo je ujedno i resenje zadatka pod d)'));
  98. disp(sprintf('======= Konstitutivne relacije mreze izrazene u y-formi su:'));
  99. y_ekv
  100.  
  101. % % ====== RESENJE D)
  102. disp(sprintf('\n\n======= GORNJA MREZA (otpornici) je vec u PI-shemi'));
  103. disp(sprintf('======= Potrebno je odrediti elemente PI-sheme '));
  104. disp(sprintf('======= za DONJU MREZU (zavojnice)'));
  105.  
  106. % % ako je mreza REC+SIM, moze se predstaviti ekvivalentnom T i PI semom
  107. % % za ciji opis su dovoljna samo dva dva parametra;
  108. y11_=simplify(y_ekv(1,1));
  109. y12_=simplify(y_ekv(1,2));
  110. y21_=simplify(y_ekv(2,1));
  111. y22_=simplify(y_ekv(2,2));
  112. %
  113. %
  114. ys_=y11_ % ys_ (y_sopstveno_) =y11_=y22_
  115. ym_=y12_ % ym_ (y_medjusobno_) =y12_=y21_
  116. %
  117.  
  118. % odredjivanje parametara PI seme, y_hor_=? y_vert_=?
  119. clear U1_ I1_ U2_ I2_
  120. syms U1_ I1_ U2_ I2_ y_vert_ y_hor_
  121. jn1='I1_=y_vert_*U1_+y_hor_*(U1_-U2_)';
  122. jn2='I2_=y_vert_*U2_-y_hor_*(U1_-U2_)';
  123. jn3='I1_=ys_*U1_+ym_*U2_';
  124. jn4='I2_=ym_*U1_+ys_*U2_';
  125.  
  126. res_za_PI_param = solve(jn1, jn2, jn3, jn4, 'y_vert_, y_hor_, I1_, I2_');
  127. % ovo su opsti izrazi za parametre ekvivalentne PI seme,
  128. % izrazeni preko ys i ym
  129. y_vert_ = simplify(res_za_PI_param.y_vert_);
  130. y_hor_ = simplify(res_za_PI_param.y_hor_);
  131. % a ovo je konkretno u ovom zadatku
  132. y_vert_=subs(y_vert_)
  133. y_hor_=subs(y_hor_)
  134.  
  135. % % da bi nacrtali ekvivalentnu PI semu u Simulinku, treba odrediti
  136. % % numericke vrednosti impedansi u horizontalnoj i vertikalnim granama
  137. % % izracunacemo realne i imaginarne delove impedansi u PI ekvivalentnoj semi,
  138. % % i onda cemo ih intrepetirati kao R, C ili L sa konkretnim numerickim vrednostima:
  139.  
  140. R = 10;
  141. L = 0.1;
  142. % f = 50;
  143. % w = 2*pi*f;
  144.  
  145. y_vert_=simplify(sym(eval(y_vert_)));
  146. y_hor_=simplify(sym(eval(y_hor_)));
  147. disp(sprintf('\n\n======= Prelazimo iz ADMITANSI u IMPEDANSE ======='));
  148. z_vert_=1/y_vert_ % iz admitansi u impedanse
  149. z_hor_=1/y_hor_
  150.  
  151. disp(sprintf('\n\n======= Z_VERT ======='));
  152. disp(sprintf('======= Z_VERT ======='));
  153. disp(sprintf('======= Z_VERT ======='));
  154.  
  155. disp(sprintf('======= Realni deo = 0 --> OMSKI OTPOR NE POSTOJI  ======='));
  156. z_vert_real = simplify(real(z_vert_)) % realni deo daje otpor
  157. disp(sprintf('\n\n======= Imaginarni deo --> w u brojiocu? --> KALEM  ======='));
  158. z_vert_imag = simplify(imag(z_vert_)) % imaginarni deo daje kalem ili kondenzator
  159.  
  160. disp(sprintf('\n\n======= Z_HOR ======='));
  161. disp(sprintf('======= Z_HOR ======='));
  162. disp(sprintf('======= Z_HOR ======='));
  163. z_hor_real=simplify(real(z_hor_))
  164. z_hor_imag=simplify(imag(z_hor_))
  165.  
  166. % R = 10;
  167. % L = 0.1;
  168. f = 50;
  169. w = 2*pi*f;
  170.  
  171. % za poredjenje sa Simulinkom, izracunati z-parametri na f=50Hz su:
  172. disp(sprintf('\n\n======= Izracunati z-parametri na f=50Hz su: ======='));
  173. disp(sprintf('======= Izracunati z-parametri na f=50Hz su: ======='));
  174. disp(sprintf('======= Izracunati z-parametri na f=50Hz su: ======='));
  175.  
  176. z11_=eval(z_ekv(1,1))
  177. z12_=eval(z_ekv(1,2))
  178. z21_=eval(z_ekv(2,1))
  179. z22_=eval(z_ekv(2,2))
  180. z11_moduo=abs(z11_)
  181. z11_faza=rad2deg(angle(z11_))
  182. z12_moduo=abs(z12_)
  183. z12_faza=rad2deg(angle(z12_))
  184. z21_moduo=abs(z21_)
  185. z21_faza=rad2deg(angle(z21_))
  186. z22_moduo=abs(z22_)
  187. z22_faza=rad2deg(angle(z22_))
Advertisement
Add Comment
Please, Sign In to add comment