{
 "metadata": {
  "name": "",
  "signature": "sha256:798243531d7475f7ec2b51b77afa9077d4ad095cc3d0ddd34bbd7eecbf88f2d6"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": [
      "Chapter14-Operational Amplifier and Applications"
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Ex1-pg438"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "##Ex14_1\n",
      "import math\n",
      "Ad = 100.##differential gain\n",
      "Ac = 0.01##common mode gain\n",
      "CMRR = Ad/Ac##Common Mode Rejection Ratio\n",
      "CMRR_dB = 20.*math.log10(CMRR)##Common Mode Rejection Ratio in decibles\n",
      "print'%s %.2f %s'%(\"Ad = \",(Ad),\"\")\n",
      "print'%s %.2f %s'%(\"Ac = \",(Ac),\"\")\n",
      "print'%s %.2f %s'%(\"CMRR = Ad/Ac = \",(CMRR),\"\")\n",
      "print'%s %.2f %s'%(\"CMRR = \",(CMRR_dB),\"dB\")\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Ad =  100.00 \n",
        "Ac =  0.01 \n",
        "CMRR = Ad/Ac =  10000.00 \n",
        "CMRR =  80.00 dB\n"
       ]
      }
     ],
     "prompt_number": 2
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Ex2-pg439"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "##Ex14_2\n",
      "import math\n",
      "CMRR_dB = 100.##Common Mode Rejection Ratio in decibles\n",
      "CMRR = 10**(100./20.)##CMRR as a ratio\n",
      "print'%s %.2f %s'%(\"CMRR = \",(CMRR_dB),\"dB\")\n",
      "print'%s %.2f %s'%(\"CMRR = 10^(100/20) = \",(CMRR),\"\")\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "CMRR =  100.00 dB\n",
        "CMRR = 10^(100/20) =  100000.00 \n"
       ]
      }
     ],
     "prompt_number": 3
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Ex3-pg439"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "##Ex14_3\n",
      "import math\n",
      "Rf = 10.*10**3##feedback resistance\n",
      "R1 = 10.*10**3##resistance 1\n",
      "R2 = 2.*10**3##resistance 2\n",
      "v1 = 10.##input voltage across resistance 1\n",
      "v2 = 4.##input voltage across resistance 2\n",
      "##note: according to the given fig. in the textbook for the question we have:\n",
      "\n",
      "vo = -Rf*((v1/R1)+(v2/R2))##output voltage of adder circuit\n",
      "print'%s %.2f %s'%(\"Rf = \",(Rf),\"ohm\")\n",
      "print'%s %.2f %s'%(\"R1 = \",(R1),\"ohm\")\n",
      "print'%s %.2f %s'%(\"R2 = \",(R2),\"ohm\")\n",
      "print'%s %.2f %s'%(\"v1 = \",(v1),\"V\")\n",
      "print'%s %.2f %s'%(\"v2 = \",(v2),\"V\")\n",
      "print'%s %.2f %s'%(\"vo = -Rf*((v1/R1)+(v2/R2)) = \",(vo),\"V\")\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Rf =  10000.00 ohm\n",
        "R1 =  10000.00 ohm\n",
        "R2 =  2000.00 ohm\n",
        "v1 =  10.00 V\n",
        "v2 =  4.00 V\n",
        "vo = -Rf*((v1/R1)+(v2/R2)) =  -30.00 V\n"
       ]
      }
     ],
     "prompt_number": 4
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Ex4-pg439"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "##Ex14_4\n",
      "import math\n",
      "Rf = 1.*10**3##feedback resistance\n",
      "R1 = 1.*10**3##resistance 1\n",
      "R2 = 1.*10**3##resistance 2\n",
      "R3 = 1.*10**3##resistance 3\n",
      "v1 = 2.##input voltage 1\n",
      "v2 = 1.##input voltage 2\n",
      "v3 = 3.##input voltage 3\n",
      "vo = -Rf*((v1/R1)+(v2/R2)+(v3/R3))##output voltage of adder circuit\n",
      "print'%s %.2f %s'%(\"Rf = \",(Rf),\"ohm\")\n",
      "print'%s %.2f %s'%(\"R1 = \",(R1),\"ohm\")\n",
      "print'%s %.2f %s'%(\"R2 = \",(R2),\"ohm\")\n",
      "print'%s %.2f %s'%(\"R3 = \",(R3),\"ohm\")\n",
      "print'%s %.2f %s'%(\"v1 = \",(v1),\"V\")\n",
      "print'%s %.2f %s'%(\"v2 = \",(v2),\"V\")\n",
      "print'%s %.2f %s'%(\"v3 = \",(v3),\"V\")\n",
      "print'%s %.2f %s'%(\"vo = -Rf*((v1/R1)+(v2/R2)+(v3/R3)) = \",(vo),\"V\")\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Rf =  1000.00 ohm\n",
        "R1 =  1000.00 ohm\n",
        "R2 =  1000.00 ohm\n",
        "R3 =  1000.00 ohm\n",
        "v1 =  2.00 V\n",
        "v2 =  1.00 V\n",
        "v3 =  3.00 V\n",
        "vo = -Rf*((v1/R1)+(v2/R2)+(v3/R3)) =  -6.00 V\n"
       ]
      }
     ],
     "prompt_number": 5
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Ex7-pg440"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "##Ex14_7\n",
      "import math\n",
      "Af = -20.##closed loop gain of op-amp\n",
      "R = 10.*10**3##output resistance\n",
      "Rf = -Af*R##feedback resistance\n",
      "print'%s %.2f %s'%(\"Af = \",(Af),\"\")\n",
      "print'%s %.2f %s'%(\"R = \",(R),\"ohm\")\n",
      "print'%s %.2f %s'%(\"Rf = -Af/R = \",(Rf),\"ohm\")\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Af =  -20.00 \n",
        "R =  10000.00 ohm\n",
        "Rf = -Af/R =  200000.00 ohm\n"
       ]
      }
     ],
     "prompt_number": 6
    }
   ],
   "metadata": {}
  }
 ]
}