Quantcast
Channel: Active questions tagged transfer-function - Electrical Engineering Stack Exchange
Viewing all articles
Browse latest Browse all 234

Why did my matlab calculation simulation differs greatly in LTspice simulation?

$
0
0

Here is my circuit in LTspice.

enter image description here

The frequency ac is here.

enter image description here

This is DC with .op command.

                        --- MOSFET Transistors ---Name:          m1Model:       nmos-shId:          1.91e-04Vgs:         7.96e-01Vds:         9.03e-01Vbs:         0.00e+00Vth:         4.00e-01Vdsat:       3.96e-01Gm:          9.61e-04Gds:         1.75e-05Gmb:         0.00e+00Cbd:         0.00e+00Cbs:         0.00e+00Cgsov:       0.00e+00Cgdov:       0.00e+00Cgbov:       0.00e+00Cgs:         0.00e+00Cgd:         0.00e+00Cgb:         0.00e+00

The following code to calculate gain in matlab

clearvarssyms Vin Vx Vout RS RF RD g_m ro Cgs Cgd seq1 = (Vin - Vx) / RS == (Vx - Vout) / RF + (Vx - Vout) * s * Cgd + Vx * s * Cgs;eq2 = (Vx - Vout)/ RF + (Vx - Vout) * s * Cgd - Vout/RD == Vx * g_m + Vout / ro;sol_out = solve([eq1, eq2], [Vout, Vx]);Av= sol_out.Vout / Vin

$$\frac{R_{D}r_{o}-R_{D}R_{F}g_{m}r_{o}+C_{\mathrm{gd}}R_{D}R_{F}r_{o}s}{R_{D}R_{F}+R_{D}R_{S}+R_{F}r_{o}+R_{D}r_{o}+R_{S}r_{o}+R_{D}R_{S}g_{m}r_{o}+C_{\mathrm{gd}}R_{D}R_{F}R_{S}s+C_{\mathrm{gs}}R_{D}R_{F}R_{S}s+C_{\mathrm{gd}}R_{D}R_{F}r_{o}s+C_{\mathrm{gd}}R_{F}R_{S}r_{o}s+C_{\mathrm{gs}}R_{F}R_{S}r_{o}s+C_{\mathrm{gs}}R_{D}R_{S}r_{o}s+C_{\mathrm{gd}}R_{D}R_{F}R_{S}g_{m}r_{o}s+C_{\mathrm{gd}}C_{\mathrm{gs}}R_{D}R_{F}R_{S}r_{o}s^{2}}$$

When \$R_S\$ is 1k \$\Omega\$.

Here is the code.

clearvarsCgd = 3.58*10^(-15);Cgs = 7.11*10^(-14);ro = 1/(1.75*10^(-5));RF = 10^3;RS = 10^3;RD = 10^3;g_m = 9.61*10^(-4);zeros = (- 1 + RF*g_m)/(Cgd*RF);f_zero = zeros/(2*pi)p1 = -(Cgd*RD*RF*RS - (Cgd^2*RD^2*RF^2*RS^2 + 2*Cgd*Cgs*RD^2*RF^2*RS^2 + Cgs^2*RD^2*RF^2*RS^2 + 2*Cgd^2*RD^2*RF^2*RS*ro + 2*Cgd^2*RD*RF^2*RS^2*ro - 2*Cgd*Cgs*RD^2*RF^2*RS*ro + 4*Cgd*Cgs*RD*RF^2*RS^2*ro - 2*Cgd*Cgs*RD^2*RF*RS^2*ro + 2*Cgs^2*RD*RF^2*RS^2*ro + 2*Cgs^2*RD^2*RF*RS^2*ro + Cgd^2*RD^2*RF^2*ro^2 + 2*Cgd^2*RD*RF^2*RS*ro^2 + Cgd^2*RF^2*RS^2*ro^2 - 2*Cgd*Cgs*RD*RF^2*RS*ro^2 - 2*Cgd*Cgs*RD^2*RF*RS*ro^2 + 2*Cgd*Cgs*RF^2*RS^2*ro^2 - 2*Cgd*Cgs*RD*RF*RS^2*ro^2 + Cgs^2*RF^2*RS^2*ro^2 + 2*Cgs^2*RD*RF*RS^2*ro^2 + Cgs^2*RD^2*RS^2*ro^2 + 2*Cgd^2*RD^2*RF^2*RS^2*g_m*ro + 2*Cgd*Cgs*RD^2*RF^2*RS^2*g_m*ro + 2*Cgd^2*RD^2*RF^2*RS*g_m*ro^2 + 2*Cgd^2*RD*RF^2*RS^2*g_m*ro^2 + 2*Cgd*Cgs*RD*RF^2*RS^2*g_m*ro^2 - 2*Cgd*Cgs*RD^2*RF*RS^2*g_m*ro^2 + Cgd^2*RD^2*RF^2*RS^2*g_m^2*ro^2)^(1/2) + Cgs*RD*RF*RS + Cgd*RD*RF*ro + Cgs*RD*RS*ro + Cgd*RF*RS*ro + Cgs*RF*RS*ro + Cgd*RD*RF*RS*g_m*ro)/(2*Cgd*Cgs*RD*RF*RS*ro);f_p1 = p1/(2*pi)p2 = -((Cgd^2*RD^2*RF^2*RS^2 + 2*Cgd*Cgs*RD^2*RF^2*RS^2 + Cgs^2*RD^2*RF^2*RS^2 + 2*Cgd^2*RD^2*RF^2*RS*ro + 2*Cgd^2*RD*RF^2*RS^2*ro - 2*Cgd*Cgs*RD^2*RF^2*RS*ro + 4*Cgd*Cgs*RD*RF^2*RS^2*ro - 2*Cgd*Cgs*RD^2*RF*RS^2*ro + 2*Cgs^2*RD*RF^2*RS^2*ro + 2*Cgs^2*RD^2*RF*RS^2*ro + Cgd^2*RD^2*RF^2*ro^2 + 2*Cgd^2*RD*RF^2*RS*ro^2 + Cgd^2*RF^2*RS^2*ro^2 - 2*Cgd*Cgs*RD*RF^2*RS*ro^2 - 2*Cgd*Cgs*RD^2*RF*RS*ro^2 + 2*Cgd*Cgs*RF^2*RS^2*ro^2 - 2*Cgd*Cgs*RD*RF*RS^2*ro^2 + Cgs^2*RF^2*RS^2*ro^2 + 2*Cgs^2*RD*RF*RS^2*ro^2 + Cgs^2*RD^2*RS^2*ro^2 + 2*Cgd^2*RD^2*RF^2*RS^2*g_m*ro + 2*Cgd*Cgs*RD^2*RF^2*RS^2*g_m*ro + 2*Cgd^2*RD^2*RF^2*RS*g_m*ro^2 + 2*Cgd^2*RD*RF^2*RS^2*g_m*ro^2 + 2*Cgd*Cgs*RD*RF^2*RS^2*g_m*ro^2 - 2*Cgd*Cgs*RD^2*RF*RS^2*g_m*ro^2 + Cgd^2*RD^2*RF^2*RS^2*g_m^2*ro^2)^(1/2) + Cgd*RD*RF*RS + Cgs*RD*RF*RS + Cgd*RD*RF*ro + Cgs*RD*RS*ro + Cgd*RF*RS*ro + Cgs*RF*RS*ro + Cgd*RD*RF*RS*g_m*ro)/(2*Cgd*Cgs*RD*RF*RS*ro);f_p2 = p2/(2*pi)

The results are the following:

f_zero =

-1.7338e+09

f_p1 =

-4.3206e+09

f_p2 =

-9.2038e+10

However, the zero frequency is 2.1146314GHz (3dB). pole 1 is 3.225216GHz (3dB) and pole 2 is 99.366294GHz (3dB) measured in spice.


Viewing all articles
Browse latest Browse all 234

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>