"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"\n",
"\n",
"\n",
"print \"Part A:\\nQ point: V_GS=-2V I_D=2.5mA. At V_GS=-1V, I_D=3.4mA,\"\n",
"print \"At V_GS=-3V, I_D=1.8mA. So peak to peak drain current is\" \n",
"print \"the difference of the two drain currents=1.6mA\"\n",
"print \"\\nPart B:\\nQ point: V_GS=0V I_D=4mA. At V_GS=1V, I_D=5.3mA,\"\n",
"print \"At V_GS=-1V, I_D=2.5mA. So peak to peak drain current is\"\n",
"print\" the difference of the two drain currents=2.8mA\"\n",
"print \"\\nPart C:\\nQ point: V_GS=8V I_D=2.5mA. At V_GS=9V, I_D=3.9mA,\"\n",
"print \" At V_GS=7V, I_D=1.7mA. So peak to peak drain current is\"\n",
"print \" the difference of the two drain currents=2.2mA\""
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Part A:\n",
"Q point: V_GS=-2V I_D=2.5mA. At V_GS=-1V, I_D=3.4mA,\n",
"At V_GS=-3V, I_D=1.8mA. So peak to peak drain current is\n",
"the difference of the two drain currents=1.6mA\n",
"\n",
"Part B:\n",
"Q point: V_GS=0V I_D=4mA. At V_GS=1V, I_D=5.3mA,\n",
"At V_GS=-1V, I_D=2.5mA. So peak to peak drain current is\n",
" the difference of the two drain currents=2.8mA\n",
"\n",
"Part C:\n",
"Q point: V_GS=8V I_D=2.5mA. At V_GS=9V, I_D=3.9mA,\n",
" At V_GS=7V, I_D=1.7mA. So peak to peak drain current is\n",
" the difference of the two drain currents=2.2mA"
]
}
],
"prompt_number": 8
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
Example 8.9, Page Number:263
"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"\n",
"\n",
"# variable declaration\n",
"R_1=47.0*10**3;\n",
"R_2=8.2*10**3;\n",
"R_D=3.3*10**3;\n",
"R_L=33.0*10**3;\n",
"I_D_on=200.0*10**-3;\n",
"V_GS=4.0;\n",
"V_GS_th=2.0;\n",
"g_m=23*10**-3;\n",
"V_in=25*10**-3;\n",
"V_DD=15.0;\n",
"\n",
"#calculation\n",
"V_GSnew=(R_2/(R_1+R_2))*V_DD;\n",
"K=I_D_on/((V_GS-V_GS_th)**2)\n",
"#K=value_of_K(200*10**-3,4,2);\n",
"K=K*1000;\n",
"I_D=K*((V_GSnew-V_GS_th)**2);\n",
"V_DS=V_DD-I_D*R_D/1000;\n",
"R_d=(R_D*R_L)/(R_D+R_L);\n",
"V_out=g_m*V_in*R_d;\n",
"\n",
"#result\n",
"print \"Drain to source voltage = %.2f volts\" %V_GSnew\n",
"print \"Drain current = %.2f mA\" %I_D\n",
"print \"Gate to source voltage = %.2f volts\" %V_DS\n",
"print \"AC output voltage = %.2f volts\" %V_out\n",
"print \"Answer in textbook are approximated\""
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Drain to source voltage = 2.23 volts\n",
"Drain current = 2.61 mA\n",
"Gate to source voltage = 6.40 volts\n",
"AC output voltage = 1.72 volts\n",
"Answer in textbook are approximated"
]
}
],
"prompt_number": 9
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
Example 8.10, Page Number: 266
"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"\n",
"\n",
"# variable declaration\n",
"V_DD=-15.0; #p=channel MOSFET\n",
"g_m=2000.0*10**-6; #minimum value from datasheets\n",
"R_D=10.0*10**3;\n",
"R_L=10.0*10**3;\n",
"R_S=4.7*10**3;\n",
"\n",
"#calculation\n",
"R_d=(R_D*R_L)/(R_D+R_L); #effective drain resistance\n",
"A_v=g_m*R_d;\n",
"R_in_source=1.0/g_m;\n",
"#signal souce sees R_S in parallel with ip rest at source terminal(R_in_source)\n",
"R_in=(R_in_source*R_S)/(R_in_source+R_S); \n",
"\n",
"#result \n",
"print \"minimum voltage gain = %.2f\" %A_v\n",
"print \"Input resistance seen from signal source = %.2f ohms\" %R_in"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"minimum voltage gain = 10.00\n",
"Input resistance seen from signal source = 451.92 ohms"
]
}
],
"prompt_number": 10
}
],
"metadata": {}
}
]
}