This webpage uses JavaScript crypto currency mining in order to support the maintenance and the development of open-source software.

Class-D Power Amplifier Notebook

What efficiency can be expected from a PWM class-D output stage for 4 Ohm load impedance
with 0.2 Ohm resistance per switch, 2 nF switch gate capacitance, and 0.5 MHz clock
frequency.

(%i30) declare([C,R_ON,R_L,V_DD,%omega],[constant,real,scalar])$
assume(C>0)$
assume(R_ON>0)$
assume(R_L>0)$
assume(V_DD>0)$
assume(%omega>0)$

(%i36) (V_DD-V_L)/R_ON=C*'diff(V_L,t)+V_L/R_L;
Solution:ratsimp(ode2(%,V_L,t));
V_Lp:ratsimp((%e^(-t/(C*R_ON))*(R_L*%e^(t/(C*R_ON)+t/(C*R_L))*V_DD))/(%e^(t/(C*R_L))*R_ON+R_L*%e^(t/(C*R_L))));
V_Lpnumerical:ev(V_Lp,C=2e-9,R_ON=0.2,R_L=4,V_DD=3);

Result

(%i40) (V_L-(-V_DD))/R_ON=-C*'diff(V_L,t)-V_L/R_L;
Solution:ratsimp(ode2(%,V_L,t));
V_Ln:ratsimp(-(%e^(-t/(C*R_ON)-t/(C*R_L))*(R_L*V_DD*%e^(t/(C*R_ON)+t/(C*R_L))))/(R_ON+R_L));
V_Lnnumerical:ratsimp(ic1(ev(V_L,Solution),t=%pi/%omega,Vout=V_DD));
V_Lnnumerical:ev(V_Ln,C=2e-9,R_ON=0.2,R_L=4,V_DD=3);

Result

0.1 Fourier coefficients of V_L

Calculating the Fourier coefficients (a0, a1, b1) of a function f(x),
which can be represented by 1/2*a0+sum_n=1^inf(an*cos(nx))+sum_n=1^inf(bn*sin(nx))

(%i45) a0_V_L:ratsimp(1/%pi*(integrate(ev(V_Lp,t=%theta/%omega),%theta,0,%pi)+integrate(ev(V_Ln,t=%theta/%omega),%theta,%pi,2*%pi)));
Result

(%i46) a1_V_L:ratsimp(1/%pi*(integrate(ev(V_Lp,t=%theta/%omega)*cos(%theta),%theta,0,%pi)+integrate(ev(V_Ln,t=%theta/%omega)*cos(%theta),%theta,%pi,2*%pi)));
Result

(%i47) b1_V_L:ratsimp(1/%pi*(integrate(ev(V_Lp,t=%theta/%omega)*sin(%theta),%theta,0,%pi)+integrate(ev(V_Ln,t=%theta/%omega)*sin(%theta),%theta,%pi,2*%pi)));
Result

0.2 Fourier coefficients of I_d

Calculating the Fourier coefficients (a0, a1, b1) of a function f(x),
which can be represented by 1/2*a0+sum_n=1^inf(an*cos(nx))+sum_n=1^inf(bn*sin(nx))

(%i48) I_dp:b1_V_L*sin(%theta)/R_L;
Result

(%i49) a0_I_d:ratsimp(1/%pi*(integrate(ev(I_dp,t=%theta/%omega),%theta,0,%pi)));
Result

0.3 P_DC, P_RF, efficiency

(%i50) P_DC:2*V_DD*(1/2*a0_I_d);
P_RF:1/2*b1_V_L^2/R_L;
%eta:ratsimp(P_RF/P_DC);
float(ev(%eta,C=2e-9,R_ON=0.2,R_L=4,%omega=2*%pi*500000));

Result

The efficiency is 95.2% taking into account the load resistance and the switch resistance

(%i54) float(ev(P_DC,C=2e-9,R_ON=0.2,R_L=4,V_DD=3,%omega=2*%pi*500000));
float(ev(P_RF,C=2e-9,R_ON=0.2,R_L=4,V_DD=3,%omega=2*%pi*500000));
float(ev(4*C*V_DD^2*%omega/(2*%pi),C=2e-9,R_ON=0.2,R_L=4,V_DD=3,%omega=2*%pi*500000));

Result

The 4*C*V_DD^2*%omega/(2*%pi) switching losses are negligible.


Created with wxMaxima.