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);
(%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);
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)));
(%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)));
(%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)));
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;
(%i49)
a0_I_d:ratsimp(1/%pi*(integrate(ev(I_dp,t=%theta/%omega),%theta,0,%pi)));
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));
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));
The 4*C*V_DD^2*%omega/(2*%pi) switching losses are negligible.