{
 "metadata": {
  "name": "",
  "signature": "sha256:3dc67beaeaebdd84d2ec4524cdbfb840dc3f84ff2b897336112b72f4746f9690"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": [
      "CHAPTER07:BJT FUNDAMENTALS"
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example E01 : Pg 342"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# Ex_7_1\n",
      "#clc;\n",
      "#clear;\n",
      "#close;\n",
      "# given data : \n",
      "#format('v',6);\n",
      "alfa=0.90;# current gain\n",
      "ICO=15.;# micro A(reverse saturation currenrt)\n",
      "IE=4.;# mA(Emitter currenrt)\n",
      "IC=ICO*10.**-3.+alfa*IE;# mA\n",
      "IB=IE-IC;# mA\n",
      "IB=IB*1000.;# micro A\n",
      "print\"Collector Current(mA)\",IC\n",
      "print\"Base Current(micro A)\",IB"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Collector Current(mA) 3.615\n",
        "Base Current(micro A) 385.0\n"
       ]
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example E02 : Pg 342"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# Ex_7_2\n",
      "#clc;\n",
      "#clear;\n",
      "#close;\n",
      "# given data : \n",
      "#format('v',6);\n",
      "Beta=90.;# unitless\n",
      "IC=4.;# mA(Collector Current)\n",
      "alfa=Beta/(1.+Beta);# current gain\n",
      "IB=IC/Beta;# mA(Base Current)\n",
      "IE=IC+IB;# mA(Emitter currenrt)\n",
      "print\"Value of alfa\",alfa\n",
      "print\"Base Current(micro A)\",IB*1000.\n",
      "print\"Emmiter Current(mA)\",IE"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Value of alfa 0.989010989011\n",
        "Base Current(micro A) 44.4444444444\n",
        "Emmiter Current(mA) 4.04444444444\n"
       ]
      }
     ],
     "prompt_number": 2
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example E03 : Pg 344"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# Ex_7_3\n",
      "# given data : \n",
      "alfa=0.90;# current gain\n",
      "ICO=15.;# micro A(reverse saturation currenrt)\n",
      "IB=0.5;# /mA(Base Current)\n",
      "Beta=alfa/(1.-alfa);# unitless\n",
      "IC=Beta*IB+(1.+Beta)*ICO/1000.;# mA(Collector Current)\n",
      "print\"Collector Current(mA)\",IC"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Collector Current(mA) 4.65\n"
       ]
      }
     ],
     "prompt_number": 3
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example E04 : Pg 345"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# Ex_7_4\n",
      "# given data : \n",
      "IB=20.;# /micro A(Base Current)\n",
      "IC=5.;# mA(Collector Current)\n",
      "Beta=IC*1000./IB;# unitless\n",
      "print\"Beta=\",Beta"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Beta= 250.0\n"
       ]
      }
     ],
     "prompt_number": 4
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example E05 : Pg 346"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# Ex_7_5\n",
      "# given data : \n",
      "IB=50.;# /micro A(Base Current)\n",
      "IC=5.;# mA(Collector Current)\n",
      "IE=IC+IB/1000.;# mA\n",
      "Beta=IC*1000./IB;# unitless\n",
      "alfa=IC/IE;# current gain\n",
      "print\"Emitter Current(mA)\",IE\n",
      "print\"\\nBeta=\",Beta\n",
      "print\"\\nalfa=\",alfa\n",
      "print\"\\nVerify that alfa=Beta/(Beta+1)\"\n",
      "print alfa==Beta/(Beta+1);\n",
      "print\"\\nVerify that Beta=alfa/(1-alfa)\"\n",
      "print Beta==round(alfa/(1-alfa));"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Emitter Current(mA) 5.05\n",
        "\n",
        "Beta= 100.0\n",
        "\n",
        "alfa= 0.990099009901\n",
        "\n",
        "Verify that alfa=Beta/(Beta+1)\n",
        "True\n",
        "\n",
        "Verify that Beta=alfa/(1-alfa)\n",
        "True\n"
       ]
      }
     ],
     "prompt_number": 5
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example E06 : Pg 348"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# Ex_7_6\n",
      "# given data : \n",
      "IE=10.;# mA\n",
      "IB=5.;# /mA(Base Current)\n",
      "IC=IE-IB;# mA(Collector Current)\n",
      "BetaR=IC/IB;# unitless\n",
      "alfaR=IC/IE;# current gain\n",
      "print \"BetaR=\",BetaR\n",
      "print \"alfaR=\",alfaR\n",
      "# Answer is wrong in the book."
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "BetaR= 1.0\n",
        "alfaR= 0.5\n"
       ]
      }
     ],
     "prompt_number": 6
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example E07 : Pg 348"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# Ex_7_7\n",
      "# given data : \n",
      "Beta=100.;# unitless\n",
      "VBE=0.7;# V\n",
      "VCC=10.;# V\n",
      "# (a) VE=-0.7;# V\n",
      "print\"For the circuit in fig(a)\"\n",
      "VE=-0.7;# V(Constant voltage)\n",
      "R1=10.;# kohm\n",
      "R2=10.;# kohm\n",
      "IE=(VCC+VE)/R2;# mA\n",
      "IB=IE/(Beta+1.);# mA\n",
      "VC=VCC-R1*1000.*(IE-IB)/1000.;# V\n",
      "print\"Constant voltage fo the given transistor, VE(V)\",VE\n",
      "print\"Emitter current(mA)\",IE\n",
      "#format('v',5);\n",
      "IB=IB*1000;# /micro A\n",
      "print\"Base current(micro A)\",IB\n",
      "#format('v',6);\n",
      "print\"VC(V)\",VC\n",
      "# (b) VE=-0.7;# V\n",
      "R1=5.;# kohm\n",
      "R2=5.;# kohm\n",
      "VEE=-15.;# V\n",
      "print\"For the circuit in fig(b)\"\n",
      "VE=-0.7;# V(Constant voltage)\n",
      "R1=5.;# kohm\n",
      "R2=5.;# kohm\n",
      "IE=(VCC+VE)/R2;# mA\n",
      "IC=IE*Beta/(Beta+1.);# mA\n",
      "VC=VEE+R2*IC;# V\n",
      "print\"Constant voltage fo the given transistor, VE(V)\",VE\n",
      "print\"Emitter current(mA)\",IE\n",
      "print\"Base current(mA)\",IC\n",
      "#format('v',5);\n",
      "print\"VC(V)\",VC"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "For the circuit in fig(a)\n",
        "Constant voltage fo the given transistor, VE(V) -0.7\n",
        "Emitter current(mA) 0.93\n",
        "Base current(micro A) 9.20792079208\n",
        "VC(V) 0.792079207921\n",
        "For the circuit in fig(b)\n",
        "Constant voltage fo the given transistor, VE(V) -0.7\n",
        "Emitter current(mA) 1.86\n",
        "Base current(mA) 1.84158415842\n",
        "VC(V) -5.79207920792\n"
       ]
      }
     ],
     "prompt_number": 7
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example E08 : Pg 350"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# Ex_7_8\n",
      "# given data : \n",
      "import math \n",
      "Beta=1.+0j;#math.inf;# Current gain\n",
      "VBE=0.7;# # V\n",
      "VB=0;# V(For large Beta)\n",
      "VE=VB-VBE;# # V\n",
      "print\"(a) Value of VB(V) : \",VB\n",
      "print\"(a) Value of VE(V) : \",VE\n",
      "# Part (b)\n",
      "R1=5.;# /kohm\n",
      "R2=5.;# /kohm\n",
      "VCC=10.;# /V\n",
      "VEE=-15.;# /V\n",
      "VE=VBE;# # V\n",
      "VC=VEE+R1/R2*(VCC-VBE);# V\n",
      "print\"(b) Value of VE(V) : \",VE\n",
      "print\"(b) Value of VC(V) : \",VC"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "(a) Value of VB(V) :  0\n",
        "(a) Value of VE(V) :  -0.7\n",
        "(b) Value of VE(V) :  0.7\n",
        "(b) Value of VC(V) :  -5.7\n"
       ]
      }
     ],
     "prompt_number": 8
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example E09 : Pg 351"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# Ex_7_9\n",
      "# given data :\n",
      "VEE=5.;# # V\n",
      "VCC=-5.;# # V\n",
      "VE=1.;# # V\n",
      "RB=20.;# kohm\n",
      "RE=5.;# kohm\n",
      "RC=5.;# kohm\n",
      "VBE=0.7;# # V\n",
      "VB=VE-VBE;# /V\n",
      "IB=VB/RB;# /mA\n",
      "IE=(VEE-VE)/RE;# mA\n",
      "IC=IE-IB;# mA\n",
      "VC=VCC+IC*RC;# V\n",
      "Beta=IC/IB;# Current gain\n",
      "Alfa=IC/IE;# Current gain\n",
      "print\"VB(V) : \",VB\n",
      "print\"IB(mA) : \",IB\n",
      "print\"IE(mA) : \",IE\n",
      "print\"IC(mA) : \",IC\n",
      "#format('v',5);\n",
      "print\"Beta : \",Beta\n",
      "print\"Alfa : \",Alfa"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "VB(V) :  0.3\n",
        "IB(mA) :  0.015\n",
        "IE(mA) :  0.8\n",
        "IC(mA) :  0.785\n",
        "Beta :  52.3333333333\n",
        "Alfa :  0.98125\n"
       ]
      }
     ],
     "prompt_number": 9
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example E10 : Pg 351"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# Ex_7_10\n",
      "#clc;\n",
      "#clear;\n",
      "#close;\n",
      "#format('v',6);\n",
      "# given data :\n",
      "delVB=0.4;# V\n",
      "delVC=0;# V# No change\n",
      "delVE=delVB;# V# Same change\n",
      "print\"delVE(V) : \",delVE\n",
      "print\"delVC(V) : \",delVC"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "delVE(V) :  0.4\n",
        "delVC(V) :  0\n"
       ]
      }
     ],
     "prompt_number": 10
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example E11 : Pg 352"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# Ex_7_11\n",
      "# given data :\n",
      "VBE=0.7;# # V\n",
      "Beta=100.;# /Current Gain\n",
      "# Part (a)\n",
      "VCC=6.;# # V\n",
      "VEE=0;# # V\n",
      "VB=2.;# # V\n",
      "RE=18.;# kohm\n",
      "RC=3.;# kohm\n",
      "VE=VB-VBE;# V\n",
      "print\"(a) Emitter Voltage(V) : \",VE\n",
      "IE=1.;# /mA\n",
      "IC=IE*Beta/(1+Beta);# /mA\n",
      "VC=VCC-IC*RC;# V\n",
      "if VC>VE:\n",
      "    print\"Circuit is in active mode.\"\n",
      "# Part (b)\n",
      "VEE=6.;# # V\n",
      "VCC=0;# # V\n",
      "VB=1.;# # V\n",
      "RE=10.;# kohm\n",
      "RC=10.;# kohm\n",
      "VE=VB+VBE;# V\n",
      "print\"(b) Emitter Voltage(V) : \",VE\n",
      "IE=(VEE-VE)/RE;# /mA\n",
      "IC=IE;# /mA(Assumed nearly equal)\n",
      "VC=VCC+IC*RC;# V\n",
      "if VC>VB :\n",
      "    print\"Circuit is in saturation mode.\"\n",
      "# Part (c)\n",
      "VEE=9.5;# # V\n",
      "VCC=-50.;# # V\n",
      "VB=-5.;# # V\n",
      "RE=200.;# kohm\n",
      "RC=20.;# kohm\n",
      "VE=VB+VBE;# V\n",
      "print\"(c) Emitter Voltage(V) : \",VE\n",
      "IE=(VEE-VE)/RE;# /mA;# /mA\n",
      "IC=IE*Beta/(1+Beta);# /mA\n",
      "VC=VCC-IC*RC;# V\n",
      "if VC>VE :\n",
      "    print\"Circuit is in active mode.\"\n",
      "else :\n",
      "    print\"Circuit is in reverse active mode.\"\n",
      "# Part (d)\n",
      "VEE=-30.;# # V\n",
      "VCC=-10.;# # V\n",
      "VB=-20.;# # V\n",
      "RE=6.;# kohm\n",
      "RC=2.;# kohm\n",
      "VE=VB-VBE;# V\n",
      "print\"(d) Emitter Voltage(V) : \",VE\n",
      "IE=(VEE-VE)/RE;# /mA;# /mA\n",
      "IC=IE*Beta/(1.+Beta);# /mA\n",
      "VC=VCC-IC*RC;# V\n",
      "if VC>VE :\n",
      "    print\"Circuit is in active mode.\"\n",
      "# Note : Printing error in part (a) in the textbook. Answer is also not accurate in the textbook for part(c)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "(a) Emitter Voltage(V) :  1.3\n",
        "Circuit is in active mode.\n",
        "(b) Emitter Voltage(V) :  1.7\n",
        "Circuit is in saturation mode.\n",
        "(c) Emitter Voltage(V) :  -4.3\n",
        "Circuit is in reverse active mode.\n",
        "(d) Emitter Voltage(V) :  -20.7\n",
        "Circuit is in active mode.\n"
       ]
      }
     ],
     "prompt_number": 11
    }
   ],
   "metadata": {}
  }
 ]
}