{
 "metadata": {
  "name": ""
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "CHAPTER 13 JFETs"
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 13-1, Page 428"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "VG=20                 #Gate voltage(V)\n",
      "IG=1*10**-9           #Gate current(A) \n",
      "\n",
      "Rin=VG/IG             #input resistance(Ohm)\n",
      "\n",
      "print 'input resistance of JFET Rin = ',Rin/10**6,'MOhm'"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "input resistance of JFET Rin =  20000.0 MOhm\n"
       ]
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 13-2, Page 430"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "Vp=6                 #Pinch off voltage(V)\n",
      "IDSS=100*10**-3      #current drain to source with shorted gate(A)\n",
      "\n",
      "RDS=Vp/IDSS          #Ohmic resistance(Ohm)\n",
      "VGS_off=-Vp          #gate-source cutoff voltage(V)\n",
      "\n",
      "print 'Ohmic resistance RDS = ',RDS,'Ohm'\n",
      "print 'Gate-source cutoff VGS(off) = ',VGS_off,'V'"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Ohmic resistance RDS =  60.0 Ohm\n",
        "Gate-source cutoff VGS(off) =  -6 V\n"
       ]
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 13-3, Page 431"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "VGS_off=-4                #gate-source cutoff voltage(V)\n",
      "IDSS=5                    #current drain to source with shorted gate(mA)\n",
      "\n",
      "VGS=VGS_off/2             #gate voltage(V)\n",
      "ID=IDSS/4.0               #drain current(mA)\n",
      "\n",
      "print 'Gate voltage VGS = ',VGS,'V'\n",
      "print 'Drain current ID = ',ID,'mA'"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Gate voltage VGS =  -2 V\n",
        "Drain current ID =  1.25 mA\n"
       ]
      }
     ],
     "prompt_number": 8
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 13-4, Page 432"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "VGS_off=-8                 #gate-source cutoff voltage(V)\n",
      "IDSS=16                    #current drain to source with shorted gate(mA)\n",
      "\n",
      "VGS=VGS_off/2             #gate voltage(V)\n",
      "ID=IDSS/4.0               #drain current(mA)\n",
      "\n",
      "print 'Gate voltage VGS = ',VGS,'V'\n",
      "print 'Drain current ID = ',ID,'mA'"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Gate voltage VGS =  -4 V\n",
        "Drain current ID =  4.0 mA\n"
       ]
      }
     ],
     "prompt_number": 9
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 13-5, Page 433"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "Vp=4               #pinchoff voltage(V)\n",
      "Vin=-10            #input voltage(V)\n",
      "RD=10.0            #drain resistor(KOhm)\n",
      "IDSS=10.0          #IDSS (mA)\n",
      "VDD=10.0           #Drain supply voltage(V)\n",
      "\n",
      "VGS_off=-Vp        #VGS cutoff voltage(V)\n",
      "VD=-Vin            #drain voltage(V)\n",
      "ID_sat=VD/RD         #saturation drain current(mA)\n",
      "RDS=Vp/IDSS          #Ohmic resistance(Ohm)\n",
      "VD=VDD*RDS/(RDS+RD)  #drain votage(V)\n",
      "\n",
      "print 'Drain voltage VD = ',round(VD,2),'V'"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Drain voltage VD =  0.38 V\n"
       ]
      }
     ],
     "prompt_number": 2
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 13-6, Page 436"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "Vp=4               #pinchoff voltage(V)\n",
      "RD=2.0             #drain resistor(KOhm)\n",
      "RS=400             #source resistance(Ohm)\n",
      "IDSS=10.0          #IDSS (mA)\n",
      "VDD=30.0           #Drain supply voltage(V)\n",
      "\n",
      "RDS=1000*Vp/IDSS          #Ohmic resistance(Ohm)\n",
      "ID=IDSS/4.0               #drain current(mA)\n",
      "VD=VDD-(ID*RD)            #drain votage(V)\n",
      "\n",
      "print 'Ohmic resistance RDS = ',RDS,'Ohm'\n",
      "print 'drain voltage VD = ',VD,'V'"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Ohmic resistance RDS =  400.0 Ohm\n",
        "drain voltage VD =  25.0 V\n"
       ]
      }
     ],
     "prompt_number": 22
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 13-7, Page 437"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "IDSS=20               #IDSS (mA)\n",
      "RS=270                #Source resistance (Ohm)\n",
      "\n",
      "VGS=-IDSS*RS             #gate-source voltage(V)\n",
      "VGSQ_min=-0.8            #Q point minimum gate-source voltage(V)\n",
      "VGSQ_max=-2.1            #Q point maximum gate-source voltage(V)\n",
      "IDQ_min=2.8              #Q point minimum drain current(V)\n",
      "IDQ_max=8.0              #Q point maximum drain current(V)\n",
      "VGS_off_min=2            #VGS(off) minimum(V)\n",
      "VGS_off_max=6            #VGS(off) maximum(V)\n",
      "ID_min=8.0               #ID minimum(mA)\n",
      "ID_max=20.0              #ID maximum(mA)\n",
      "Rs_min=1000*VGS_off_min/ID_min    #Minimum value for Rs(Ohm)\n",
      "Rs_max=1000*VGS_off_max/ID_max    #Maximum value for Rs(Ohm)\n",
      "\n",
      "print 'Maximum value for Rs =',Rs_max,'Ohm'\n",
      "print 'Minimum value for Rs =',Rs_min,'Ohm'\n",
      "print 'Choose approximately mid point between these two.'"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Maximum value for Rs = 300.0 Ohm\n",
        "Minimum value for Rs = 250.0 Ohm\n",
        "Choose approximately mid point between these two.\n"
       ]
      }
     ],
     "prompt_number": 29
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 13-8, Page 440"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "VS=10           #source voltage (V)\n",
      "RS=2.0          #source resistance(KOhm)\n",
      "VDD=30          #Drain supply voltage (V)\n",
      "RD=1.0          #Drain resistance(KOhm)\n",
      "\n",
      "ID=VS/Rs           #Drain current(mA)\n",
      "VD=VDD-(ID*RD)     #Drain voltage(V)\n",
      "VDS=VD-VS          #Drain to source voltage (V)\n",
      "ID_sat=VDD/(RD+RS) #ID(dc-saturation) (mA)\n",
      "VDS_cut=VDD        #VDS(cutoff) (V)\n",
      "\n",
      "print 'ID (saturation) = ',ID_sat,'mA'\n",
      "print 'VDS (cutoff) = ',VDS_cut,'V'"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "ID (saturation) =  10.0 mA\n",
        "VDS (cutoff) =  30 V\n"
       ]
      }
     ],
     "prompt_number": 38
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 13-9, Page 441"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "IDSS=20                     #IDSS (mA)\n",
      "RS=270                      #Source resistance (Ohm)\n",
      "VDD=30                      #Drain supply voltage (V)\n",
      "RD=1.0                      #Drain resistance(KOhm)\n",
      "R1=1*10**6                  #Gate resistor1(Ohm)  \n",
      "R2=2*10**6                  #Gate resistor2(Ohm) \n",
      "\n",
      "VG=-VDD*R1/(R1+R2)          #gate-source voltage(V)\n",
      "ID=VG/RS                    #current for second point(mA)\n",
      "\n",
      "VGSQ_min=-0.4            #Q point minimum gate-source voltage(V)\n",
      "VGSQ_max=-2.4            #Q point maximum gate-source voltage(V)\n",
      "IDQ_min=5.2              #Q point minimum drain current(V)\n",
      "IDQ_max=6.3              #Q point maximum drain current(V)\n",
      "\n",
      "print 'Maximum value for VGS =',VGSQ_max,'V'\n",
      "print 'Minimum value for VGS =',VGSQ_min,'V'\n",
      "print 'Maximum value for ID =',IDQ_max,'mA'\n",
      "print 'Minimum value for ID =',IDQ_min,'mA'"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Maximum value for VGS = -2.4 V\n",
        "Minimum value for VGS = -0.4 V\n",
        "Maximum value for ID = 6.3 mA\n",
        "Minimum value for ID = 5.2 mA\n"
       ]
      }
     ],
     "prompt_number": 93
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 13-10, Page 443"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "RS=3.0                      #Source resistance (KOhm)\n",
      "VDD=15                      #Drain supply voltage (V)\n",
      "RD=1.0                      #Drain resistance(KOhm)\n",
      "\n",
      "ID=VDD/RS                    #drain current(mA)\n",
      "VD=VDD-(ID*RD)               #drain voltage(V)\n",
      "\n",
      "print 'Drain current ID = ',ID,'mA'\n",
      "print 'Drain voltage VD = ',VD,'V'"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Drain current ID =  5.0 mA\n",
        "Drain voltage VD =  10.0 V\n"
       ]
      }
     ],
     "prompt_number": 41
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 13-11, Page 444"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "RS=2.0                      #Source resistance (KOhm)\n",
      "VDD=10                      #Drain supply voltage (V)\n",
      "RD=1.0                      #Drain resistance(KOhm)\n",
      "VBE=0.7                     #BJT transistor drop(V)\n",
      "\n",
      "ID=((VDD/2)-VBE)/RS          #drain current(mA)\n",
      "VD=VDD-(ID*RD)               #drain voltage(V)\n",
      "\n",
      "print 'Drain current ID = ',ID,'mA'\n",
      "print 'Drain voltage VD = ',VD,'V'"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Drain current ID =  2.15 mA\n",
        "Drain voltage VD =  7.85 V\n"
       ]
      }
     ],
     "prompt_number": 44
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 13-12, Page 447"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "IDSS=5.0                #IDSS current (mA)\n",
      "gm0=5000.0              #transconductance at VGS=0(uS)\n",
      "VGS=-1.0                #VGS (V)\n",
      "VGS_off=1000*-2*IDSS/gm0   #VGS (off) (V)\n",
      "gm=gm0*(1-(VGS/VGS_off))   #gm at VGS=-1V\n",
      "\n",
      "print 'VGS (Off) = ',VGS_off,'V'\n",
      "print 'gm = ',gm,'uS'"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "VGS (Off) =  -2.0 V\n",
        "gm =  2500.0 uS\n"
       ]
      }
     ],
     "prompt_number": 52
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 13-13, Page 449"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "RD=3.6                #drain resistance(KOhm)\n",
      "RL=10                 #Load resistance(KOhm)\n",
      "gm=5000               #transconductance (uS)\n",
      "Vin=1                 #input(mVpp)\n",
      "\n",
      "rd=RD*RL/(RD+RL)      #ac drain resistance(KOhm)\n",
      "Av=gm*rd/1000         #voltage gain\n",
      "Vout=Av*Vin           #Output voltage(V)\n",
      "\n",
      "print 'ac drain resistance rd = ',round(rd,2),'KOhm'\n",
      "print 'voltage gain Av = ',round(Av,2)\n",
      "print 'output voltage Vout = ',round(Vout,2),'mVpp'"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "ac drain resistance rd =  2.65 KOhm\n",
        "voltage gain Av =  13.24\n",
        "output voltage Vout =  13.24 mVpp\n"
       ]
      }
     ],
     "prompt_number": 3
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 13-14, Page 450"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "RS=1.0                  #source resistance(KOhm)\n",
      "RL=1.0                  #Load resistance(KOhm)\n",
      "gm=2500.0*10**-6        #transconductance (S)\n",
      "Vin=1                   #input(mVpp)\n",
      "\n",
      "rs=1000*RS*RL/(RS+RL)        #ac source resistance(Ohm)\n",
      "Av=gm*rs/(1+(gm*rs))         #voltage gain\n",
      "Vout=Av*Vin                  #Output voltage(V)\n",
      "\n",
      "print 'ac source resistance rs = ',round(rs,2),'Ohm'\n",
      "print 'voltage gain Av = ',round(Av,2)\n",
      "print 'output voltage Vout = ',round(Vout,2),'mVpp'"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "ac source resistance rs =  500.0 Ohm\n",
        "voltage gain Av =  0.56\n",
        "output voltage Vout =  0.56 mVpp\n"
       ]
      }
     ],
     "prompt_number": 4
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      " Example 13-15, Page 450"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "Ra=780                #Adjustaed resistance(Ohm)\n",
      "RS1=220               #source resistance(Ohm)\n",
      "VDD=30                #Drain supply voltage(V)\n",
      "RL=3                  #Load resistance(KOhm)\n",
      "gm=2000.0*10**-6      #transconductance (S)\n",
      "\n",
      "RS=(RS1+Ra)/1000             #total source resistance(KOhm)\n",
      "rs=1000*RS*RL/(RS+RL)        #ac source resistance(Ohm)\n",
      "Av=gm*rs/(1+(gm*rs))         #voltage gain\n",
      "\n",
      "print 'Ac source resistance rs = ',rs,'Ohm'\n",
      "print 'voltage gain Av = ',Av"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Ac source resistance rs =  750 Ohm\n",
        "voltage gain Av =  0.6\n"
       ]
      }
     ],
     "prompt_number": 74
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 13-16, Page 451"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "RS=2.2                #source resistance(Ohm)\n",
      "VDD=30                #Drain supply voltage(V)\n",
      "RL=3.3                #Load resistance(KOhm)\n",
      "gm=3500.0*10**-6      #transconductance (S)\n",
      "R1=2*10**-6           #Base resistor 1(Ohm)\n",
      "R2=1*10**-6           #Base resistor 2(Ohm) \n",
      "\n",
      "VD=VDD*(R2/(R1+R2))   #drain voltage(V)\n",
      "ID=VD/RS              #drain current(mA)\n",
      "rs=1000*RS*RL/(RS+RL) #ac source resistance(Ohm)\n",
      "Av=gm*rs/(1+(gm*rs))  #voltage gain\n",
      "\n",
      "print 'Ac source resistance rs = ',rs/1000,'KOhm'\n",
      "print 'voltage gain Av = ',round(Av,2)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Ac source resistance rs =  1.32 KOhm\n",
        "voltage gain Av =  0.82\n"
       ]
      }
     ],
     "prompt_number": 5
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 13-17, Page 454"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "RD=10.0               #Drain resistance(KOhm)\n",
      "R1=0.2                #resistance(KOhm)\n",
      "IDSS=10.0             #IDSS current(mA)\n",
      "VGS_off=-2            #VGS(off) (V)\n",
      "gm=3500.0*10**-6      #transconductance (S)\n",
      "Vin=10.0              #input voltage (mVpp)\n",
      "\n",
      "RDS=-VGS_off/IDSS        #Ohmic resistance(Ohm)\n",
      "Vout_on=Vin*RDS/(RD+R1)  #Output voltage when JFET is on(V)\n",
      "Vout_off=Vin             #Output voltage when JFET is off(V)\n",
      "ratio=Vout_off/Vout_on   #on-off ratio\n",
      "\n",
      "print 'output voltage Vout = ',round(Vout_on,2),'mVpp'\n",
      "print 'on-off ratio = ',ratio"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "output voltage Vout =  0.2 mVpp\n",
        "on-off ratio =  51.0\n"
       ]
      }
     ],
     "prompt_number": 6
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 13-18, Page 455"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "RD=10.0               #Drain resistance(KOhm)\n",
      "R1=0.2                #resistance(KOhm)\n",
      "R2=10*10**6           #resistance(Ohm)\n",
      "IDSS=10.0             #IDSS current(mA)\n",
      "VGS_off=-2            #VGS(off) (V)\n",
      "gm=3500.0*10**-6      #transconductance (S)\n",
      "Vin=10.0              #input voltage (mVpp)\n",
      "\n",
      "Vout_on=Vin*(RD/(RD+R1))         #Output voltage when JFET is on(V)\n",
      "Vout_off=Vin*(RD/R2)             #Output voltage when JFET is off(V)\n",
      "ratio=Vout_on/Vout_off/1000      #on-off ratio\n",
      "\n",
      "print 'output voltage Vout when on = ',round(Vout_on,2),'mVpp'\n",
      "print 'output voltage Vout when off = ',Vout_off*10**6,'uVpp'\n",
      "print 'on-off ratio = ',round(ratio,2)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "output voltage Vout when on =  9.8 mVpp\n",
        "output voltage Vout when off =  10.0 uVpp\n",
        "on-off ratio =  980.39\n"
       ]
      }
     ],
     "prompt_number": 7
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 13-19, Page 455"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "fout=20           #frequency(KHz)\n",
      "RDS=50.0          #Ohmic resistance(Ohm)\n",
      "RL=10*10**3       #Load resistance(Ohm)\n",
      "Vin=100           #input voltage (mV)\n",
      "\n",
      "Vpeak=Vin*RL/(RL+RDS) #peak voltage(V)\n",
      "\n",
      "print 'Outout Vpeak = ',round(Vpeak,2),'mV'"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Outout Vpeak =  99.5 mV\n"
       ]
      }
     ],
     "prompt_number": 8
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [],
     "language": "python",
     "metadata": {},
     "outputs": []
    }
   ],
   "metadata": {}
  }
 ]
}