summaryrefslogtreecommitdiff
path: root/Electronic_Devices_by_Thomas_L._Floyd/Chapter8.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Electronic_Devices_by_Thomas_L._Floyd/Chapter8.ipynb')
-rwxr-xr-xElectronic_Devices_by_Thomas_L._Floyd/Chapter8.ipynb422
1 files changed, 422 insertions, 0 deletions
diff --git a/Electronic_Devices_by_Thomas_L._Floyd/Chapter8.ipynb b/Electronic_Devices_by_Thomas_L._Floyd/Chapter8.ipynb
new file mode 100755
index 00000000..8cb0d972
--- /dev/null
+++ b/Electronic_Devices_by_Thomas_L._Floyd/Chapter8.ipynb
@@ -0,0 +1,422 @@
+{
+ "metadata": {
+ "name": "Chapter_8"
+ },
+ "nbformat": 2,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "source": [
+ "<h1>Chapter 8: FET Amplifiers<h1>"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "<h3>Example 8.1, Page Number: 253<h3>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "",
+ "# variable declaration",
+ "g_m=4.0*10**-3; #gm value",
+ "R_d=1.5*10**3; #resistance",
+ "",
+ "#calculation",
+ "A_v=g_m*R_d; #voltage gain",
+ "",
+ "#result",
+ "print \"Voltage gain = %.2f\" %A_v"
+ ],
+ "language": "python",
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain = 6.00"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "<h3>Example 8.2, Page Number: 253<h3>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "",
+ "# variable declaration",
+ "r_ds=10.0*10**3;",
+ "R_d=1.5*10**3; #from previous question",
+ "g_m=4.0*10**-3; #from previous question",
+ "",
+ "#calculation",
+ "A_v=g_m*((R_d*r_ds)/(R_d+r_ds)); #voltage gain",
+ "",
+ "#result",
+ "print \"Voltage gain = %.2f\" %A_v"
+ ],
+ "language": "python",
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain = 5.22"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "<h3>Example 8.3, Page Number:254<h3>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "",
+ "# variable declaration",
+ "R_s=560; #resistance in ohm",
+ "R_d=1.5*10**3; #resistance in ohm",
+ "g_m=4*10**-3; #g_m value",
+ "",
+ "#calculation",
+ "A_v=(g_m*R_d)/(1+(g_m*R_s)) #voltage gain",
+ "",
+ "#result",
+ "print \"Voltage gain = %.2f\" %A_v"
+ ],
+ "language": "python",
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain = 1.85"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "<h3>Example 8.4, Page Number: 257<h3>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "",
+ "#Variable declaration",
+ "vdd=12.0 #volts",
+ "Id=1.96*10**-3 #Amp",
+ "Rd=3.3*10**3 #ohm",
+ "Idss=12.0*10**-3 #Amp",
+ "Rs=910 # Ohm",
+ "vgsoff= 3 #v",
+ "vin=0.1 #V",
+ "",
+ "#calculation",
+ "vd=vdd-(Id*Rd)",
+ "vgs=-Id*Rs",
+ "gm0=2*Idss/(abs(vgsoff))",
+ "gm=0.00325 #mS",
+ "vout=gm*Rd*vin",
+ "vout=vout*2*1.414",
+ "#Result",
+ "print\"Total output ac voltage(peak-to-peak) = %f V \\nridig on DC value of %fV \"%(vout,vd)"
+ ],
+ "language": "python",
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Total output ac voltage(peak-to-peak) = 3.033030 V ",
+ "ridig on DC value of 5.532000V "
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "<h3>Example 8.5, Page Number: 258<h3>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "",
+ "# variable declaration",
+ "R_D=3.3*10**3; #resistance in ohm",
+ "R_L=4.7*10**3; #load resistance in ohm",
+ "g_m=3.25*10**-3; #from previous question",
+ "V_in=100.0*10**-3; #previous question",
+ "",
+ "#calculation",
+ "R_d=(R_D*R_L)/(R_D+R_L); #Equivalent drain resistance",
+ "V_out=g_m*R_d*V_in; #output RMS voltage in volt",
+ "",
+ "#result",
+ "print \"Output voltage rms value = %.2f Volts\" %V_out"
+ ],
+ "language": "python",
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output voltage rms value = 0.63 Volts"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "<h3>Example 8.6, Page Number: 259<h3>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "",
+ "# variable declaration",
+ "I_GSS=30.0*10**-9; #current in ampere",
+ "V_GS=10.0; #ground-source voltage",
+ "R_G=10.0*10**6; #resistance in ohm",
+ "",
+ "#calculation",
+ "R_IN_gate=V_GS/I_GSS; #gate input resistance",
+ "R_in=(R_IN_gate*R_G)/(R_IN_gate+R_G); #parallel combination",
+ "",
+ "#result",
+ "print \"Input resistance as seen by signal source = %.2f ohm\" %R_in"
+ ],
+ "language": "python",
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input resistance as seen by signal source = 9708737.86 ohm"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "<h3>Example 8.7, Page Number: 260<h3>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "",
+ "# variable declaration",
+ "I_DSS=200.0*10**-3;",
+ "g_m=200.0*10**-3;",
+ "V_in=500.0*10**-3;",
+ "V_DD=15.0;",
+ "R_D=33.0;",
+ "R_L=8.2*10**3;",
+ "",
+ "#calculation",
+ "I_D=I_DSS; #Amplifier is zero biased",
+ "V_D=V_DD-I_D*R_D;",
+ "R_d=(R_D*R_L)/(R_D+R_L);",
+ "V_out=g_m*R_d*V_in;",
+ "",
+ "#result",
+ "print \"DC output voltage = %.2f Volts\" %V_D",
+ "print \"AC output voltage = %.2f volts\" %V_out"
+ ],
+ "language": "python",
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "DC output voltage = 8.40 Volts",
+ "AC output voltage = 3.29 volts"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "<h3>Example 8.8, Page Number: 262<h3>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "",
+ "# Theoretical example",
+ "# result",
+ "",
+ "print \"Part A:\\nQ point: V_GS=-2V I_D=2.5mA. At V_GS=-1V, I_D=3.4mA,\"",
+ "print \"At V_GS=-3V, I_D=1.8mA. So peak to peak drain current is\" ",
+ "print \"the difference of the two drain currents=1.6mA\"",
+ "print \"\\nPart B:\\nQ point: V_GS=0V I_D=4mA. At V_GS=1V, I_D=5.3mA,\"",
+ "print \"At V_GS=-1V, I_D=2.5mA. So peak to peak drain current is\"",
+ "print\" the difference of the two drain currents=2.8mA\"",
+ "print \"\\nPart C:\\nQ point: V_GS=8V I_D=2.5mA. At V_GS=9V, I_D=3.9mA,\"",
+ "print \" At V_GS=7V, I_D=1.7mA. So peak to peak drain current is\"",
+ "print \" the difference of the two drain currents=2.2mA\""
+ ],
+ "language": "python",
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Part A:",
+ "Q point: V_GS=-2V I_D=2.5mA. At V_GS=-1V, I_D=3.4mA,",
+ "At V_GS=-3V, I_D=1.8mA. So peak to peak drain current is",
+ "the difference of the two drain currents=1.6mA",
+ "",
+ "Part B:",
+ "Q point: V_GS=0V I_D=4mA. At V_GS=1V, I_D=5.3mA,",
+ "At V_GS=-1V, I_D=2.5mA. So peak to peak drain current is",
+ " the difference of the two drain currents=2.8mA",
+ "",
+ "Part C:",
+ "Q point: V_GS=8V I_D=2.5mA. At V_GS=9V, I_D=3.9mA,",
+ " At V_GS=7V, I_D=1.7mA. So peak to peak drain current is",
+ " the difference of the two drain currents=2.2mA"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "<h3>Example 8.9, Page Number:263 <h3>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "",
+ "# variable declaration",
+ "R_1=47.0*10**3;",
+ "R_2=8.2*10**3;",
+ "R_D=3.3*10**3;",
+ "R_L=33.0*10**3;",
+ "I_D_on=200.0*10**-3;",
+ "V_GS=4.0;",
+ "V_GS_th=2.0;",
+ "g_m=23*10**-3;",
+ "V_in=25*10**-3;",
+ "V_DD=15.0;",
+ "",
+ "#calculation",
+ "V_GSnew=(R_2/(R_1+R_2))*V_DD;",
+ "K=I_D_on/((V_GS-V_GS_th)**2)",
+ "#K=value_of_K(200*10**-3,4,2);",
+ "K=K*1000;",
+ "I_D=K*((V_GSnew-V_GS_th)**2);",
+ "V_DS=V_DD-I_D*R_D/1000;",
+ "R_d=(R_D*R_L)/(R_D+R_L);",
+ "V_out=g_m*V_in*R_d;",
+ "",
+ "#result",
+ "print \"Drain to source voltage = %.2f volts\" %V_GSnew",
+ "print \"Drain current = %.2f mA\" %I_D",
+ "print \"Gate to source voltage = %.2f volts\" %V_DS",
+ "print \"AC output voltage = %.2f volts\" %V_out",
+ "print \"Answer in textbook are approximated\""
+ ],
+ "language": "python",
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Drain to source voltage = 2.23 volts",
+ "Drain current = 2.61 mA",
+ "Gate to source voltage = 6.40 volts",
+ "AC output voltage = 1.72 volts",
+ "Answer in textbook are approximated"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "<h3>Example 8.10, Page Number: 266<h3>"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "",
+ "# variable declaration",
+ "V_DD=-15.0; #p=channel MOSFET",
+ "g_m=2000.0*10**-6; #minimum value from datasheets",
+ "R_D=10.0*10**3;",
+ "R_L=10.0*10**3;",
+ "R_S=4.7*10**3;",
+ "",
+ "#calculation",
+ "R_d=(R_D*R_L)/(R_D+R_L); #effective drain resistance",
+ "A_v=g_m*R_d;",
+ "R_in_source=1.0/g_m;",
+ "#signal souce sees R_S in parallel with ip rest at source terminal(R_in_source)",
+ "R_in=(R_in_source*R_S)/(R_in_source+R_S); ",
+ "",
+ "#result ",
+ "print \"minimum voltage gain = %.2f\" %A_v",
+ "print \"Input resistance seen from signal source = %.2f ohms\" %R_in"
+ ],
+ "language": "python",
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "minimum voltage gain = 10.00",
+ "Input resistance seen from signal source = 451.92 ohms"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file