Advertisement
Guest User

Untitled

a guest
May 19th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.51 KB | None | 0 0
  1. %Analog elektronik - Matlab hjälp
  2. %Matlab exemplel för att kolla fasmarginal och slutna förstärkningen, samt
  3. %beräkna slingpoler och titta på stegsvar mm.
  4. %2-stegs förstärkare (ASGE-GE), före och efter kompensering
  5.  
  6. clear all; close all;
  7.  
  8. %%Definiera Data
  9. VT=700*1e-3;
  10. Bf1=200; %Kolla datablad!
  11. Bf2=Bf1;
  12. C1=100*1e-9; %Ersätter Cpi1_prim
  13. C2=2.2*1e-9; %Ersätter Cpi2
  14.  
  15. %%Förstärkare
  16. Rs=2000; %Källan är inte ideal
  17. R_f=20000;
  18. RL=2200;
  19. AtINF=-R_f;%Asymptotiska förstärkningen
  20.  
  21. Ic1ab=(10*1e-3)/2; %Strömmen i ingångssteget
  22. rpi_p=2*Bf1*VT/Ic1ab; %rpi_p=2*rpi
  23. Ic2=5*1e-3; %Krav: max 100mV peak in --> max 1.1V peak ut, RL*Ic2>1,1V
  24. rpi2=Bf2*VT/Ic2;
  25. gm2=Ic2/VT;
  26.  
  27. %Rbias=150; %Dålig biasering med Rbias! (använd strömspegel) Rbias=0.7/Ic1ab ,Biaserar upp GE steget.
  28. Rbias=0.7/Ic1ab
  29. rpi2_new=rpi2*Rbias/(rpi2+Rbias)
  30.  
  31.  
  32. %DC slingförstärkning och slingpoler:
  33. ABnoll=-495;
  34. P1=-1/(rpi2*C2);
  35. P2=-((RL*(rpi_p+Rs)+R_f*(rpi_p+Rs)+(rpi_p*Rs))/((RL+R_f)*(rpi_p*C1*Rs)));
  36.  
  37. %%Är alla poler dominanta?:
  38. w0_2p=(abs( (1-ABnoll)*P1*P2 ))^(1/2)
  39. SummaP=P1+P2 %Summa slingpoler
  40. SummaP_p=-sqrt(2)*w0_2p %Summa av systempoler (2st)
  41. %Kolla att summaP > SummaP_p --> bara dominanta poler som kan flyttas till
  42. %önskad position
  43. n=-(w0_2p^2)/(sqrt(2)*w0_2p+P1+P2)
  44.  
  45.  
  46. %%%%%%FREKVENSKOMPENSERING
  47. %%Undersök fasmarginal före och efter kompensering:
  48. s=zpk('s') %Definiera s
  49.  
  50. %Före kompensering: (Betraktas som ett system med två poler)
  51. ABs=ABnoll/((1-s/P1)*(1-s/P2))
  52. At=AtINF*(-1)*ABs/(1-ABs); %Slutna förstärkningen, icke kompenserad.
  53.  
  54. %%Implementera fantomnollan, undersök alla fall:
  55. %Här tittar vi bara på Cph || R2
  56. delta_Cph=10.09; %Effektivt om delta > 7
  57. Cph=-1/(R_f*n)
  58. %Cph=1.3*1e-9
  59. AtINF_Cph=AtINF*( 1 - s/(AtINF*n) ) / (1 - s/n)
  60.  
  61. %%Efter kompensering för MFM med fantomnolla:
  62. %%Cph || med R2:
  63. ABs_n_Cph=ABnoll*(1-s/n)/((1-s/P1)*(1-s/P2)*(1-s/(delta_Cph*n)))
  64. Atn_Cph=AtINF_Cph*(-1)*ABs_n_Cph/(1-ABs_n_Cph)
  65.  
  66.  
  67. %%%%%%FIGURER
  68. %Fasmarginal kollas "open loop", dvs frekvensen w0, där |AB(w0)|=1=0dB, före=ABs och efter=ABs_n kompensering
  69. %(Bode-funktionen behöver ibland ett (-1).* pga 'Phase unwrap')
  70. figure(1);bode((-1).*ABs,'b',(-1).*ABs_n_Cph,'k--');
  71. title('Slingförstärkning: före och efter fantomnolla'); legend('AB(s)','AB_n Cph(s)','Location','Best')
  72.  
  73. figure(2);bode(At,'b',Atn_Cph,'k--'); hold on;
  74. title('Den slutna förstärkningen, At'); legend('A_t','A_{tn,Cph}','Location','Best')
  75.  
  76. figure(3); step(At);hold on;step(Atn_Cph);
  77. title('Stegsvaren före och efter kompensering')
  78.  
  79.  
  80.  
  81. %%%%%% HJÄLP FÖR ATT PLOTTA MÄTRESULTAT TILLSAMMANS (SAMMA FIGUR) MED SIMULERAD PRESTANDA (Kompenserat
  82. %%%%%% och okompenserat)
  83. % W_labbet=[frekvensvektor från labbet].*(2*pi);
  84. % At_labbet_kompenserat_dB=[mätresultat]
  85. % At_labbet_kompenserat_fas=[mätresultat]
  86. %på samma sätt lägger för At_okompenserat
  87. W=[1:100:1e6].*(2*pi);
  88. [MAG_At, PHASE_At] = bode(At,W);
  89. for k=1:length(W)
  90. dB_MAG_At(k)=20*log10(MAG_At(1,1,k));
  91. phase_At(k)=PHASE_At(1,1,k);
  92. end
  93. % semilogx(W,dB_MAG_At,'b', W_labbet, At_labbet_kompenserat_dB,'r', W_labbet,At_labbet_okompenserat_dB,'k');
  94. % semilogx(W,phase_At,'b', W_labbet, At_labbet_kompenserat_fas,'r', W_labbet,At_labbet_okompenserat_fas,'k');
  95. % %xlabel och ylabel för axlarna
  96. % figure(4);
  97. % semilogx(W,dB_MAG_At,'b');%hold on; ... lägg till mätresultat
  98. % figure(5);
  99. % semilogx(W,phase_At,'b');%hold on; ...lägg till mätresultat
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement