{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Chapter - 22 : FET AMPLIFIERS"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 22.1 Pg 601"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "VS=2.50 V\n",
      "VD=5.00 V\n",
      "VDS=2.50 V\n",
      "VGS=-2.50 V\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "ID=5*10**-3#\n",
    "VDD=10#\n",
    "RD=1*10**3#\n",
    "RS=500#\n",
    "VS=ID*RS#\n",
    "print 'VS=%0.2f V'%VS\n",
    "VD=VDD-ID*RD#\n",
    "print 'VD=%0.2f V'%VD\n",
    "VDS=VD-VS#\n",
    "print 'VDS=%0.2f V'%VDS\n",
    "VGS=-VS#\n",
    "print 'VGS=%0.2f V'%VGS"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 22.2 Pg 602"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ID=0.18 mA\n",
      "VGS=-0.98 V\n",
      "R1=1.50 kohm\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "from math import sqrt\n",
    "RD=56*10**3#\n",
    "RG=1*10**6#\n",
    "IDSS=1.5*10**-3#\n",
    "VP=-1.5#\n",
    "VD=10#\n",
    "VDD=20#\n",
    "ID=VD/RD#\n",
    "print 'ID=%0.2f mA'%(ID*10**3)\n",
    "#ID=IDSS*(1-(VGS/VP))**2\n",
    "VGS=VP*(1-sqrt(ID/IDSS))#\n",
    "print 'VGS=%0.2f V'%VGS\n",
    "VS=VGS#\n",
    "R1=(-VS/ID)-4*10**3#\n",
    "print 'R1=%0.2f kohm'%(R1*10**-3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 22.3 Pg 603"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RS=933.33 ohm\n",
      "RD=5.73 kohm\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "ID=1.5*10**-3#\n",
    "VDS=10#\n",
    "IDSS=5*10**-3#\n",
    "VP=-2#\n",
    "VDD=20#\n",
    "#ID=IDSS*(1-(VGS/VP))**2\n",
    "VGS=VP*(1-(ID/IDSS))#\n",
    "VS=-VGS#\n",
    "RS=(VS/ID)#\n",
    "print 'RS=%0.2f ohm'%RS\n",
    "RD=((VDD-VDS)/ID)-RS#\n",
    "print 'RD=%0.2f kohm'%(RD*10**-3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 22.5 Pg 604"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RS=528.31 ohm\n",
      "RD=1.50 kohm\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "from math import sqrt\n",
    "VP=5#\n",
    "IDSS=12*10**-3#\n",
    "VDD=12#\n",
    "ID=4*10**-3#\n",
    "VDS=6#\n",
    "VGS=VP*(1-sqrt(ID/IDSS))#\n",
    "VS=VGS#\n",
    "RS=VS/ID#\n",
    "print 'RS=%0.2f ohm'%RS\n",
    "RD=VDS/ID#\n",
    "print 'RD=%0.2f kohm'%(RD*10**-3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 22.6 Pg 605"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "IDQ=5.00 mA\n",
      "VDS=10.00 V\n",
      "RD=2.00 kohm\n",
      "RS=440.00 ohm\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "IDSS=10*10**-3#\n",
    "VDD=20#\n",
    "IDQ=IDSS/2#\n",
    "print 'IDQ=%0.2f mA'%(IDQ*10**3)\n",
    "VDSQ=VDD/2#\n",
    "print 'VDS=%0.2f V'%VDSQ\n",
    "VGS=-2.2#\n",
    "RD=(VDD-VDSQ)/IDQ#\n",
    "print 'RD=%0.2f kohm'%(RD*10**-3)\n",
    "RS=-VGS/IDQ#\n",
    "print 'RS=%0.2f ohm'%(RS)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 22.7 Pg 606"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "VGS=-3.78 V\n",
      "VDS=4.00 V\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "VDD=20#\n",
    "RD=2.5*10**3#\n",
    "RS=1.5*10**3#\n",
    "R1=2*10**6#\n",
    "R2=250*10**3#\n",
    "ID=4*10**-3#\n",
    "VG=(R2*VDD)/(R1+R2)#\n",
    "VS=ID*RS#\n",
    "VGS=VG-VS#\n",
    "print 'VGS=%0.2f V'%VGS\n",
    "VD=VDD-ID*RD#\n",
    "VDS=VD-VS#\n",
    "print 'VDS=%0.2f V'%VDS"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 22.8 Pg 607"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Av=-6.00\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "gm=4*10**-3#\n",
    "RD=1.5*10**3#\n",
    "AV=-gm*RD#\n",
    "print \"Av=%0.2f\"%AV"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 22.9 Pg 608"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "rL=9.80e+03 ohm\n",
      "Av=-24.51\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "gm=2.5*10**-3#\n",
    "rd=500*10**3#\n",
    "RD=10*10**3#\n",
    "rL=(RD*rd)/(rd+RD)#\n",
    "print 'rL=%0.2e ohm'%rL\n",
    "AV=-gm*rL#\n",
    "print \"Av=%0.2f\"%AV"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 22.10 Pg 608"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Av=-26.67\n",
      "Ri=100.00 Mohm\n",
      "Ro=13.33 kohm\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "gm=2*10**-3#\n",
    "rd=40*10**3#\n",
    "RD=20*10**3#\n",
    "RG=100*10**6#\n",
    "rL=(RD*rd)/(RD+rd)#\n",
    "Av=-gm*rL#\n",
    "print \"Av=%0.2f\"%Av\n",
    "Ri=RG#\n",
    "print 'Ri=%0.2f Mohm'%(Ri*10**-6)\n",
    "Ro=rL#\n",
    "print 'Ro=%0.2f kohm'%(Ro*10**-3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 22.11 Pg 609"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Av=-16.67\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "#e.g 22.11\n",
    "gm=2*10**-3#\n",
    "rd=10*10**3#\n",
    "RD=50*10**3#\n",
    "rl=(rd*RD)/(rd+RD)#\n",
    "Av=-gm*rl#\n",
    "print \"Av=%0.2f\"%Av"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 22.12 Pg 610"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Av=-48.89\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "RD=100*10**3#\n",
    "gm=1.6*10**-3#\n",
    "rd=44*10**3#\n",
    "Cgs=3*10**-12#\n",
    "Cds=1*10**-12#\n",
    "Cgd=2.8*10**-12#\n",
    "rl=(RD*rd)/(RD+rd)#\n",
    "Av=-gm*rl#\n",
    "print \"Av=%0.2f\"%Av"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 22.13 Pg 610"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "VO=0.84 V\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "gm=4500*10**-6#\n",
    "RD=3*10**3#\n",
    "RL=5*10**3#\n",
    "vin=100*10**-3#\n",
    "ID=2*10**-3#\n",
    "rl=(RD*RL)/(RD+RL)#\n",
    "VO=gm*rl*vin#\n",
    "print 'VO=%0.2f V'%VO"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 22.14 Pg 611"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Av=-2.00\n",
      "Av=-1.97\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "#e.g 22.14#\n",
    "gm=4*10**-3#\n",
    "RD=1.5*10**3#\n",
    "RG=10*10**6#\n",
    "rs=500#\n",
    "rl=RD#\n",
    "AV=-(gm*rl)/(1+gm*rs)#\n",
    "print \"Av=%0.2f\"%AV\n",
    "RL=100*10**3#\n",
    "rL=(RD*RL)/(RD+RL)#\n",
    "AV=-(gm*rL)/(1+gm*rs)#\n",
    "print \"Av=%0.2f\"%AV"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 22.15 Pg 612"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Av=-1.35\n",
      "Av=-4.16\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "RD=1.5*10**3#\n",
    "RS=750#\n",
    "RG=1*10**6#\n",
    "IDSS=10*10**-3#\n",
    "VP=-3.5#\n",
    "IDQ=2.3*10**-3#\n",
    "VGSQ=-1.8#\n",
    "gmo=-2*IDSS/VP#\n",
    "gm=gmo*(1-(VGSQ/VP))#\n",
    "rL=RD#\n",
    "AV=-(gm*rL)/(1+gm*RS)#\n",
    "print \"Av=%0.2f\"%AV\n",
    "AV=-gm*rL#\n",
    "print \"Av=%0.2f\"%AV"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 22.16 Pg 614"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "AV=0.99\n",
      "Ro=125.00 ohm\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "gm=8000*10**-6#\n",
    "RS=10*10**3#\n",
    "RG=100*10**6#\n",
    "(1/gm)#\n",
    "AV=RS/(RS+(1/gm))#\n",
    "print \"AV=%0.2f\"%AV\n",
    "Ri=RG#\n",
    "Ro=1/gm#\n",
    "print 'Ro=%0.2f ohm'%Ro"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 22.17 Pg 616"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "AV=0.96 \n",
      "Ri=0.50 Mohm\n",
      "Ro=175.44 ohm\n",
      "Vo=1.77 mV\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "vin=2*10**-3#\n",
    "gm=5500*10**-6#\n",
    "R1=1*10**6#\n",
    "R2=1*10**6#\n",
    "RS=5000#\n",
    "RL=2000#\n",
    "(1/gm)#\n",
    "AV=RS/(RS+(1/gm))#\n",
    "print \"AV=%0.2f \"%AV\n",
    "Ri=(R1*R2)/(R1+R2)#\n",
    "print 'Ri=%0.2f Mohm'%(Ri*10**-6)\n",
    "Ro=(RS/gm)/(RS+1/gm)#\n",
    "print 'Ro=%0.2f ohm'%Ro\n",
    "Vo=(RL/(RL+Ro))*(AV*vin)#\n",
    "print 'Vo=%0.2f mV'%(Vo*10**3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 22.18 Pg 618"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "AV=25.00 \n",
      "Ri1=333.33 ohm\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "gm=2500*10**-6#\n",
    "Ri=2000#\n",
    "RD=10000#\n",
    "AV=gm*RD#\n",
    "print \"AV=%0.2f \"%AV\n",
    "Ri1=(Ri/gm)/(Ri+1/gm)#\n",
    "print 'Ri1=%0.2f ohm'%Ri1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 22.19 Pg 618"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Ro=333.33 ohm\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "gm=2*10**-3#\n",
    "rd=50*10**3#\n",
    "Rs=1*10**3#\n",
    "Ro=(Rs/gm)/(Rs+1/gm)#\n",
    "print 'Ro=%0.2f ohm'%Ro"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 22.20 Pg 619"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Ri1=100.00 ohm\n",
      "Vs=1.00 V\n",
      "Av=3.75 \n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "#e.g 22.20\n",
    "gmo=5*10**-3#\n",
    "RD=1*10**3#\n",
    "Rs=200#\n",
    "ID=5*10**-3#\n",
    "Ri1=(Rs/gmo)/(Rs+1/gmo)#\n",
    "print 'Ri1=%0.2f ohm'%Ri1\n",
    "Vs=ID*Rs#\n",
    "print 'Vs=%0.2f V'%Vs\n",
    "VGS=Vs#\n",
    "IDSS=2*ID#\n",
    "VGSo=(-2*IDSS)/ID#\n",
    "gm=gmo*(1-VGS/-VGSo)#\n",
    "Av=gm*RD#\n",
    "print \"Av=%0.2f \"%Av"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
