{
 "metadata": {
  "name": ""
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": [
      "Chapter 10: AC Performance : Bandwidth, Slew rate and Noise"
     ]
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 10.1 Page No  277"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#Given\n",
      "t=0.35       #rise time\n",
      "\n",
      "#calculation\n",
      "B=0.35/t    #Bandwidth\n",
      "\n",
      "#result\n",
      "print\"Bandwidth is\",B,\"MHz\"\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Bandwidth is 1.0 MHz\n"
       ]
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 10.2 Page No 277"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#Given\n",
      "t=0.35       #rise time\n",
      "\n",
      "#calculation\n",
      "B=0.35/t    #Bandwidth\n",
      "gain=B\n",
      "\n",
      "#result\n",
      "print\"Openloop Voltage gain  is\",gain\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Openloop Voltage gain  is 1.0\n"
       ]
      }
     ],
     "prompt_number": 2
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 10.3 Page No 277"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#Given\n",
      "B1=10**6       #Hz\n",
      "B2=100*10**3   #Hz\n",
      "\n",
      "#calculation\n",
      "gain=B1/B2\n",
      "\n",
      "#Result\n",
      "print\"As frenquency goes down by a factor 10, Gain rise sby same which is\",gain\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "As frenquency goes down by a factor 10, Gain rise sby same which is 10\n"
       ]
      }
     ],
     "prompt_number": 3
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 10.4 Page No 278"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#Given\n",
      "B=1.5       #Mhz\n",
      "f=1         #KHz\n",
      "\n",
      "#Calculation\n",
      "gain=B*1000/f\n",
      "\n",
      "#Result\n",
      "print\"Open loop Voltage gain  is\",gain\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Open loop Voltage gain  is 1500.0\n"
       ]
      }
     ],
     "prompt_number": 4
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 10.5 Page No 279"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#Find the actual gain\n",
      "\n",
      "#Given\n",
      "Acl=100.0        #Ideal Dc cloesd loop gain\n",
      "Aol1=10000.0\n",
      "Aol2=1000.0\n",
      "Aol3=100.0\n",
      "Aol4=10.0\n",
      "Aol5=1.0\n",
      "\n",
      "#Calculation  (a)\n",
      "#For a noninverting amplifier\n",
      "a1=Acl                                               #ideal gain, a=(Rf+Ri)/Ri\n",
      "actualAcl1=a1/((1+1*a1/Aol1))\n",
      "#For the inverting amplifier\n",
      "a2=101                                               #gain\n",
      "actualAcl1_=-a1/(1+1*a2/Aol1)\n",
      "\n",
      "# (b)\n",
      "#For a noninverting amplifier\n",
      "a1=Acl                                               #ideal gain, a=(Rf+Ri)/Ri\n",
      "actualAcl2=a1/(1+1*a1/Aol2)\n",
      "#For the inverting amplifier\n",
      "a2=101                                               #gain\n",
      "actualAcl2_=-a1/(1+1*a2/Aol2)\n",
      "\n",
      "#(c)\n",
      "#For a noninverting amplifier\n",
      "a1=Acl                                               #ideal gain, a=(Rf+Ri)/Ri\n",
      "actualAcl3=a1/(1+1*a1/Aol3)\n",
      "#For the inverting amplifier\n",
      "a2=101                                               #gain\n",
      "actualAcl3_=-a1/(1+1*a2/Aol3)\n",
      "\n",
      "#(d)\n",
      "#For a noninverting amplifier\n",
      "a1=Acl                                               #ideal gain, a=(Rf+Ri)/Ri\n",
      "actualAcl4=a1/(1+1*a1/Aol4)\n",
      "#For the inverting amplifier\n",
      "a2=101                                               #gain\n",
      "actualAcl4_=-a1/(1+1*a2/Aol4)\n",
      "\n",
      "#(e)\n",
      "#For a noninverting amplifier\n",
      "a1=Acl                                               #ideal gain, a=(Rf+Ri)/Ri\n",
      "actualAcl5=a1/(1+1*a1/Aol5)\n",
      "#For the inverting amplifier\n",
      "a2=101                                              #gain\n",
      "actualAcl5_=-a1/(1+1*a2/Aol5)\n",
      "\n",
      "#Result\n",
      "print\"(a)Actual gain in noninverting amplifier is\",round(actualAcl5,2)\n",
      "print\"Actual gain in inverting amplifier is\",round(actualAcl5_,2)\n",
      "print\"(b)Actual gain in noninverting amplifier is\",round(actualAcl4,2)\n",
      "print\"Actual gain in inverting amplifier is\",round(actualAcl4_,2)\n",
      "print\"(c)Actual gain in noninverting amplifier is\",round(actualAcl3,2)\n",
      "print\"Actual gain in inverting amplifier is\",round(actualAcl3_,2)\n",
      "print\"(d)Actual gain in noninverting amplifier is\",round(actualAcl2,2)\n",
      "print\"Actual gain in inverting amplifier is\",round(actualAcl2_,2)\n",
      "print\"(e)Actual gain in noninverting amplifier is\",round(actualAcl1,0)\n",
      "print\"Actual gain in inverting amplifier is\",round(actualAcl1_,2)\n",
      "\n",
      "\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "(a)Actual gain in noninverting amplifier is 0.99\n",
        "Actual gain in inverting amplifier is -0.98\n",
        "(b)Actual gain in noninverting amplifier is 9.09\n",
        "Actual gain in inverting amplifier is -9.01\n",
        "(c)Actual gain in noninverting amplifier is 50.0\n",
        "Actual gain in inverting amplifier is -49.75\n",
        "(d)Actual gain in noninverting amplifier is 90.91\n",
        "Actual gain in inverting amplifier is -90.83\n",
        "(e)Actual gain in noninverting amplifier is 99.0\n",
        "Actual gain in inverting amplifier is -99.0\n"
       ]
      }
     ],
     "prompt_number": 6
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 10.6 Page No 283"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#Given\n",
      "Ri=10.0      #Kohm\n",
      "Rf=Ri\n",
      "B=10**6    #Hz\n",
      "\n",
      "#Calculation\n",
      "#(a)\n",
      "Acl1=-Rf/Ri\n",
      "fh1=B/((Ri+Rf)/Ri)\n",
      "\n",
      "#(b)\n",
      "ACl2=(Ri+Rf)/Ri\n",
      "\n",
      "#(c)\n",
      "Acl3=1    #Voltage follower gain\n",
      "Rf2=0\n",
      "Ri2=1\n",
      "fh2=B/((Ri2+Rf2)/Ri2)\n",
      "\n",
      "#Resilt\n",
      "print\"(a)The voltage gain is\",Acl1\n",
      "print\"bandwidth is\",fh1/1000,\"khz\"\n",
      "print\"(b)The voltage gain is\",ACl2\n",
      "print\"(c)The voltage gain is\",Acl3\n",
      "print\"bandwidth is\",fh2/1000000,\"Mhz\"\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "(a)The voltage gain is -1.0\n",
        "bandwidth is 500.0 khz\n",
        "(b)The voltage gain is 2.0\n",
        "(c)The voltage gain is 1\n",
        "bandwidth is 1 Mhz\n"
       ]
      }
     ],
     "prompt_number": 6
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 10.7 Page No 285"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#Given\n",
      "V=10            #V\n",
      "slewrate=0.5    #per microsecond\n",
      "\n",
      "#Calculation\n",
      "t=V/slewrate\n",
      "\n",
      "#Result\n",
      "print\"The time taken is\",t,\"microsecond\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        " The time taken is 20.0 microsecond\n"
       ]
      }
     ],
     "prompt_number": 7
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 10.8 Page No 286"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#Given\n",
      "slewrate=0.5    #per microsecond\n",
      "V1=10.0          #Peak voltage\n",
      "V2=1\n",
      "\n",
      "\n",
      "#Calculation\n",
      "fmax1=slewrate*1000/(6.28*V1)\n",
      "fmax2=slewrate*1000/(6.28*V2)\n",
      "\n",
      "#Result\n",
      "print\"(a)maximum frenquency is\",round(fmax1,1),\"KHz\"\n",
      "print\"(b)maximum frenquency is\",round(fmax2,0),\"KHz\"\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "(a)maximum frenquency is 8.0 KHz\n",
        "(b)maximum frenquency is 80.0 KHz\n"
       ]
      }
     ],
     "prompt_number": 7
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Example 10.9 Page No 287"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#Given\n",
      "B1=500         #Khz, bandwidth\n",
      "gain1=-1        #Gain for inverting amplifier\n",
      "gain2=2        #Gain for non-inverting amplifier\n",
      "slewrate=0.5   #per micros\n",
      "V=10           #V\n",
      "\n",
      "#Calculation\n",
      "Vopmax=slewrate*10**6/(6.28*B1*10**3)\n",
      "fmax=slewrate*1000/(6.28*V)\n",
      "\n",
      "#Result\n",
      "print\"Maximum operating voltage is\",round(Vopmax*1000,1),\"mV\"\n",
      "print\"maximum frenquency is\",round(fmax,0),\"Khz\"\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Maximum operating voltage is 159.2 mV\n",
        "maximum frenquency is 8.0 Khz\n"
       ]
      }
     ],
     "prompt_number": 11
    }
   ],
   "metadata": {}
  }
 ]
}