summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter3_5.ipynb1531
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter4_5.ipynb751
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter5_5.ipynb614
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter6_4.ipynb224
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter7_5.ipynb232
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter9_4.ipynb430
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/README.txt10
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter10_5.ipynb1026
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter12_5.ipynb715
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter13_5.ipynb517
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter14_5.ipynb586
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter15_5.ipynb64
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter16_5.ipynb374
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter17_5.ipynb232
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter19_5.ipynb631
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter20_5.ipynb1073
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter21_5.ipynb314
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter22_5.ipynb1645
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter23_5.ipynb75
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter24_5.ipynb870
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter25_5.ipynb666
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter26_5.ipynb491
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter27_5.ipynb782
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter28_5.ipynb271
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter29_5.ipynb754
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter30_5.ipynb922
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter31_5.ipynb776
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter32_5.ipynb606
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter33_5.ipynb863
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter34_5.ipynb119
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter35_5.ipynb653
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter36_5.ipynb195
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/Clipper_waveform_4.pngbin0 -> 13968 bytes
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/Gate_to_Source_Voltage_vs_Drain_Current_4.pngbin0 -> 12893 bytes
-rw-r--r--A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/transconductance_curve_4.pngbin0 -> 14428 bytes
-rw-r--r--A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/README.txt10
-rw-r--r--College_Physics_(volume_2)_by_R._A._Serway_and_J._S._Faughn/README.txt10
-rw-r--r--Linear_Integrated_Circuit_by_M._S._Sivakumar/README.txt10
-rw-r--r--Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter1.ipynb646
-rw-r--r--Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter10.ipynb1297
-rw-r--r--Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter11.ipynb1025
-rw-r--r--Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter12.ipynb968
-rw-r--r--Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter13.ipynb1147
-rw-r--r--Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter14.ipynb502
-rw-r--r--Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter15.ipynb482
-rw-r--r--Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter16.ipynb936
-rw-r--r--Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter17.ipynb877
-rw-r--r--Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter18.ipynb815
-rw-r--r--Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter19.ipynb1666
-rw-r--r--Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter2.ipynb125
-rw-r--r--Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter20.ipynb677
-rw-r--r--Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter21.ipynb467
-rw-r--r--Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter22.ipynb668
-rw-r--r--Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter23.ipynb133
-rw-r--r--Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter24.ipynb604
-rw-r--r--Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter25.ipynb2552
-rw-r--r--Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter26.ipynb472
-rw-r--r--Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter6.ipynb1624
-rw-r--r--Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter7.ipynb212
-rw-r--r--Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter8.ipynb1851
-rw-r--r--Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter9.ipynb1907
-rw-r--r--Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/screenshots/chapter10_ac_load_line.pngbin0 -> 17473 bytes
-rw-r--r--Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/screenshots/chapter18_clipping_ckt_output.pngbin0 -> 21213 bytes
-rw-r--r--Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/screenshots/chapter8_dc_load_line.pngbin0 -> 25388 bytes
-rw-r--r--principle_of_physics_by_V.K.MEHTA_,_ROHIT_MEHTA_/README.txt10
65 files changed, 40705 insertions, 0 deletions
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter3_5.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter3_5.ipynb
new file mode 100644
index 00000000..15727ca2
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter3_5.ipynb
@@ -0,0 +1,1531 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:2a55a17a9f52d46817cb3be818d54b6fa85b71e4638975a4cba998496df659ba"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ " Chapter 3 , Electricity and Ohm's Law"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.1 , Page Number 23"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "W = 75.0 #Work done (in Joules)\n",
+ "Q = 50.0 #Charge produced (in Coulomb)\n",
+ "\n",
+ "#Calculation\n",
+ "V = W/Q #Voltage between battery terminals (in Volts)\n",
+ "\n",
+ "#Result\n",
+ "print \"Terminal voltage of a battery is \",V,\" V.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Terminal voltage of a battery is 1.5 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.2 , Page Number 23"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 1.5 #Voltage (in Volts)\n",
+ "E =7.5 #Energy produced (in Joules)\n",
+ "\n",
+ "#Calculation\n",
+ "Q = E/V #Charge separated ( in Coulomb )\n",
+ "\n",
+ "#Result\n",
+ "print \"The Amount of charge separated by the battery is \",Q,\" C.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Amount of charge separated by the battery is 5.0 C.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.3 , Page Number 25"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "Q = 7.5 #Charge (in Coulomb)\n",
+ "t = 0.5 #Time (in minute)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "t = 0.5 * 60 #Time (in seconds)\n",
+ "I= Q/t #Current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The current in the element is \",I,\" A.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The current in the element is 0.25 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.4 , Page Number 25"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "I = 5 #Current (in Ampere) \n",
+ "Q = 4 * 10**-3 #Charge (in Coulomb)\n",
+ "\n",
+ "#Calculation\n",
+ "t = Q/I #time (in seconds)\n",
+ "\n",
+ "#Result\n",
+ "print \"Time in which the 4 mC of charge flows through this element is \",t * 10**3,\" ms.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Time in which the 4 mC of charge flows through this element is 0.8 ms.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.5 , Page Number 25"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "I = 0.3 #Current (in Ampere)\n",
+ "W = 9.45 #Heat (in Joules)\n",
+ "t = 5 #Time (in seconds)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Q = I * t\n",
+ "V = W/Q #Voltage (in Volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The voltage across filament is \",V,\" volts.\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The voltage across filament is 6.3 volts.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.6 , Page Number 28"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "p = 2.83 * 10**-8 #Resistivity (in ohm-meter)\n",
+ "w = 0.5 #width (in meter)\n",
+ "t = 2 * 10**-3 #thickness (in meter)\n",
+ "l = 1 #length (in meter)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "A = w * t #Area of cross-section (in metersquare)\n",
+ "R = p*l/A #Resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The resistance between left end and right end is \",R * 10**6,\" micro-ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resistance between left end and right end is 28.3 micro-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.7 , Page Number 28"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Case 1:\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "w = 0.01 #width (in meter)\n",
+ "h = 0.01 #height (in meter)\n",
+ "l = 0.50 #length (in meter)\n",
+ "p = 3.5 * 10**-5 #Resistivity (in ohm-meter)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "A = w * h #Area of cross section (in metersquare)\n",
+ "R = p*l/A #Resistance (in ohm)\n",
+ "\n",
+ "#Result 1:\n",
+ "\n",
+ "print \"Resistance in case 1 is : \",R,\" ohm.\"\n",
+ "\n",
+ "#Case 2:\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "w = 0.50 #width (in meter)\n",
+ "h = 0.01 #height (in meter)\n",
+ "l = 0.01 #length (in meter)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "A = w * h #Area of cross section (in metersquare)\n",
+ "R = p*l/A #Resistance (in ohm-meter)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Resistance in case 2 is: \",R,\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resistance in case 1 is : 0.175 ohm.\n",
+ "Resistance in case 2 is: 7e-05 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.8 , Page Number 28"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "l = 120 #length of wire (in meter)\n",
+ "d = 0.25 * 10**-2 #Diameter of cross section (in meter)\n",
+ "p = 1.7 * 10**-8 #Resistivity (in ohm-meter)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "r = d/2 #Radius of cross section (in meter)\n",
+ "A = math.pi *r*r #Area of cross section (in metersquare)\n",
+ "R = p*l/A #Resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Resistance of the wire is \",round(R,3),\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resistance of the wire is 0.416 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.9 , Page Number 29"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "p = 2.8 * 10**-8 #Resistivity (in ohm-meter)\n",
+ "d = 0.15 * 10**-2 #Diameter of wire (in meter)\n",
+ "R = 10 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "A = math.pi *d*d/4 #Area of cross section (in metersquare)\n",
+ "l = R*A/p #Length of wire (in meter)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Length of the wire is \",round(l),\" meter.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Length of the wire is 631.0 meter.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.10 , Page Number 29"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "p = 1.7 * 10**-8 #Resistivity (in ohm-meter)\n",
+ "l = 2 * 150 #Length (in meter)\n",
+ "R = 0.722 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "A = p*l/R #Area of cross section (in metersquare)\n",
+ "d = (A * 4 / math.pi)**0.5 #diameter of wire (in meter)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \" Diameter of the wire is : \",round(d * 10**3),\" mm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " Diameter of the wire is : 3.0 mm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.11 , Page Number 30"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "lc = 200 #Length of copper wire (in meter)\n",
+ "Rc = 1.5 #Resistance of Copper wire(in ohm)\n",
+ "pc = 1.7 * 10**-8 #Resistivity of (in ohm-meter)\n",
+ "ls = 10 #Length of silver wire (in meter)\n",
+ "ps = 1.6 * 10**-8 #Resistivity of Silver (in ohm-meter)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "A = pc * lc / Rc #Area of cross section (in metersquare)\n",
+ "Rs = ps * ls / A #Resistance of silver wire(in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The resistance of silver wire is \",round(Rs,2),\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resistance of silver wire is 0.07 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.12 , Page Number 32"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "T1 = 800 #Temperature (in celsius degeree)\n",
+ "T2 = 2250 #Temperature (in celsius degeree)\n",
+ "R20 = 3.49 #Resistance at 20 degree celsius (in ohm)\n",
+ "alpha20 = 4.5 * 10**-3 #Temperature coefficient at 20 degree celsius (in per degree Celsius)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R800 = R20 * (1 + alpha20*(T1 - 20)) #Resistance at 800 degree celsius (in ohm)\n",
+ "R2250 = R20 * (1 + alpha20*(T2-20)) #Resistance at 2250 degree celsius (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Resistance at 800 degree celsius is \",round(R800,1), \" ohm.\\nResistance at 2250 degree celsius is \",round(R2250,1),\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resistance at 800 degree celsius is 15.7 ohm.\n",
+ "Resistance at 2250 degree celsius is 38.5 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.13 , Page Number 32"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "T1 = 20 #Temperature (in degree celsius)\n",
+ "R1 = 10000 #Resistance at 20 degree celsius (in ohm)\n",
+ "T2 = -25 #Temperature (in degree celsius) \n",
+ "alpha = 0.0039 #Temperature coefficient at 20 degree celsius (in per degree Celsius)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R80 = R1*(1 + alpha*(80 - T1)) #Resistance at 80 degree celsius (in ohm)\n",
+ "RT2 = R1*(1 + alpha*(-25 - T1)) #Resistance at -25 degree celsius (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Resistance at 80 degree celsius is \",round(R80 * 10**-3,1),\" kilo-ohm.\\nResistance at -25 degree celsius is \",round(RT2 * 10**-3,1),\" kilo-ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resistance at 80 degree celsius is 12.3 kilo-ohm.\n",
+ "Resistance at -25 degree celsius is 8.2 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.14 , Page Number 32"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "p = 14 * 10**-8 #Resistivity of gold (in ohm-meter)\n",
+ "alpha = 5.8 * 10**-4 #Temperature coefficient (in per degree celsius)\n",
+ "l = 3 #Length (in meter)\n",
+ "d = 13 * 10**-6 #diameter of wire\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "A = math.pi * d * d / 4 #Area of cross-section (in metersquare)\n",
+ "R = p * l /A #Resistance of wire at 20 degree celsius(in ohm)\n",
+ "R1 = R*(1 + alpha*(200-20))\n",
+ "#Result\n",
+ "\n",
+ "print \"Resistance of wire at 200 degree celsius is \",round(R1,1),\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resistance of wire at 200 degree celsius is 3494.6 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.15 , Page Number 34"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R = 10*10**-3 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "G = 1/R #Conductance (in siemens)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The conductance of gold conductor is \",G,\" siemens.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The conductance of gold conductor is 100.0 siemens.\n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.16 , Page Number 34"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R = 10.0*10**3 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "G = 1/R #Conductance (in siemens)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The conductance of gold conductor is \",G,\" siemens.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The conductance of gold conductor is 0.0001 siemens.\n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.17 , Page Number 34"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "G = 50*10**-6 #Conductance (in siemens)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R = 1/G #Resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The Resistance is \",R * 10**-3,\" kilo-ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Resistance is 20.0 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.18 , Page Number 35"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 18 #Voltage (in volts)\n",
+ "I = 60*10**-6 #current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R = V/I #Resistance (in ohm)\n",
+ "G = 1/R #Conductance (in siemens) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The conductance is \",round(G * 10**6,2),\" micro-siemens.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The conductance is 3.33 micro-siemens.\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.19 , Page Number 38"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R = 600.00 #Resistance (in ohm)\n",
+ "V = 230.00 #Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I = V/R #Current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current in the power line is \",round(I,3),\" A.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current in the power line is 0.383 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.20 , Page Number 39"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R = 8 #Resistance (in ohm)\n",
+ "I = 2.5 #Current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "V = I*R #Voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The maximum safe voltage is \",V,\" volts.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum safe voltage is 20.0 volts.\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.21 , Page Number 39"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R = 1.5 * 10**3 #Resistance (in ohm)\n",
+ "I = 16 * 10**-3 #Current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "V = I*R #Voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The voltage that must be applied to the relay coil to energize it is \",V,\" volts.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The voltage that must be applied to the relay coil to energize it is 24.0 volts.\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.22 , Page Number 39"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "I = 20 * 10**-3 #Current per segment (in Ampere)\n",
+ "V = 5 #Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R = V/I #Resistance (in ohm)\n",
+ " \n",
+ "#Result\n",
+ "\n",
+ "print \"Resistance that must be inserted into the circuit of each segment is \",R,\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resistance that must be inserted into the circuit of each segment is 250.0 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.23 , Page Number 39"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 7 * 2 #Voltage : 7 div * (2 V/div) (in volts)\n",
+ "I = 5 * 5 * 10**-3 #Current : 5 div * (5 * 10**-3) (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R = V/I #Resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of resistance is \",R,\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of resistance is 560.0 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.24 , Page Number 42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "W = 64000 #Heat produced (in Joules) \n",
+ "t = 40 #time (in seconds)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "P = W/t #Rate at which electrical energy is converted into heat energy (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The rate at which electrical energy is converted into heat energy is : \",P,\" W.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The rate at which electrical energy is converted into heat energy is : 1600 W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.25 , Page Number 42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "I = 5 #Current (in Ampere)\n",
+ "V = 230 #Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "P = V*I #Power consumed (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The power consumed by the toaster is: \",P,\" watt.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The power consumed by the toaster is: 1150 watt.\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.26 , Page Number 42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "P = 36.0 #Power consumed (in watt)\n",
+ "V = 230.0 #Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I = P/V #Current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current through filament is \",round(I,3),\" A.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current through filament is 0.157 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.27 , Page Number 42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "P = 150 *12/1000.0 #Power consumed by 12 bulbs (in kilowatt) \n",
+ "t = 10.0 #Time (in hours)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "W = P * t #Energy used (in kWh)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The energy used is \",W,\" kWh.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The energy used is 18.0 kWh.\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.28 , Page Number 42"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Ps = 500.0 #Power of stereo system (in watt)\n",
+ "Pa = 2400.0 #Power of air conditioner (in watt)\n",
+ "t = 3 #time (in hours) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "P = (Ps + Pa)/1000 #Total power consumed (in kilowatt)\n",
+ "W = P * t #Energy used (in kilowatthour)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The energy used is \",W,\" kWh.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The energy used is 8.7 kWh.\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.29 , Page Number 43"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 230.0 #Voltage (in volts)\n",
+ "P = 180.0 #Power (in watt)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I = P/V #Current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The input current is \",round(I,3),\" A.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The input current is 0.783 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.30 , Page Number 43"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 24.0 #Voltage (in volts)\n",
+ "I = 2.0 #Current (in Ampere)\n",
+ "Pb = 0.5 #Power rating of each light bulb (in watt)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "P = V * I #Maximum power (in watt)\n",
+ "P80 = P * 0.8 #80% of power rating (in watt) \n",
+ "n = (P80//Pb) #Number of bulbs required \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The number of bulbs required is \",n,\".\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The number of bulbs required is 76.0 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.31 , Page Number 44"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R = 750.0 #Resistance (in ohm)\n",
+ "I = 32.0 #Current (in milliAmpere) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "P = I**2 * 10**-6 * R #Power (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Power consumed by relay coil is \",P*1000,\" mW.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power consumed by relay coil is 768.0 mW.\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.32 , Page Number 44"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R = 36.0 #Resistance (in ohm)\n",
+ "V = 230.0 #Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "P = V**2/R #Power (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Power rating is \",round(P/1000,3),\" kW.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power rating is 1.469 kW.\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.33 , Page Number 45"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "P = 36 #Power (in watt)\n",
+ "V = 230.0 #Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R = V**2/P #Resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Resistance of the heating element is \",round(R),\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resistance of the heating element is 1469.0 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.34 , Page Number 45"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Case a :\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R = 8.0 #Resistance (in ohm)\n",
+ "P1 = 60.0 #Power (in watt)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I1 = (P1/R)**0.5 #Current (in Ampere)\n",
+ "\n",
+ "#Case b :\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R = 8.0 #Resistance (in ohm)\n",
+ "P2 = 120.0 #Power (in watt)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I2 = (P2/R)**0.5 #Current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum new current is \",round(I1,2),\" A.\\nMaximum new current is \",round(I2,2),\" A.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum new current is 2.74 A.\n",
+ "Maximum new current is 3.87 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.35 , Page Number 46"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R = 30.0 #Resistance (in kiloohm)\n",
+ "I #Value of previous current (in Ampere)\n",
+ "I1 = 1.5*I #New value of current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "P = I**2 * R #Power dissipated due to previous current (in kilowatt)\n",
+ "P1 = I1**2 * R #Power dissipated due to new current (in kilowatt)\n",
+ "P2 = (P1 - P)/P * 100 #Percentage increase in power dissipation\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Percentage Increase in power dissipation is \",P2,\" %.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Percentage Increase in power dissipation is 125.0 %.\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3.36 , Page Number 46"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 6.0 #voltage (in volts)\n",
+ "C = 2.0 #Capacity of battery (in Ampere-hour)\n",
+ "P = 1.2 #Power rating (in watt)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R = V**2 / P #Resistance (in ohm)\n",
+ "I = V/R #Current (in Ampere)\n",
+ "t = C/I #time (in hour)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Battery will last for \",t,\" hours.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Battery will last for 10.0 hours.\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter4_5.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter4_5.ipynb
new file mode 100644
index 00000000..acfafc0a
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter4_5.ipynb
@@ -0,0 +1,751 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:9a0a38a1ad49042ffadb423caa0f240dc4106abfcf6ac9eb25cdb67cab101f0b"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 4 , DC Resistive Circuits "
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.1 , Page Number 53"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 220 #Resistance (in ohm)\n",
+ "R2 = 470 #Resistance (in ohm)\n",
+ "R3 = 560 #Resistance (in ohm)\n",
+ "R4 = 910 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R = R1 + R2 + R3 + R4 #Net Resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Total resistance of circuit is \",R,\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Total resistance of circuit is 2160 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.2 , Page Number 53"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 4 #Resistance (in kilo-ohm)\n",
+ "R2 = 6 #Resistance (in kilo-ohm)\n",
+ "R3 = 2 #Resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R = R1 + R2 + R3 #Equivalent Resistance(in kilo-ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Equivalent Resistance is \",R,\" kilo-ohm.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Equivalent Resistance is 12 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.3 , Page Number 54"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 250 #Resistance (in ohm)\n",
+ "R3 = 375 #Resistance (in ohm)\n",
+ "I = 50 * 10**-3 #Current (in Ampere)\n",
+ "V = 40 #Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R = V/I #Equivalent Resistance (in ohm)\n",
+ "R2 = R - (R1 + R3) #Resistance R2 (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The Total Resistance is \",R,\" ohm.\\nThe value of R2 is \",R2,\" ohm.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Total Resistance is 800.0 ohm.\n",
+ "The value of R2 is 175.0 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.4 , Page Number 55"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "I = 250 * 10**-3 #Current (in Ampere)\n",
+ "R = 1.5 * 10**3 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vs = I * R #Source voltage (in volts)\n",
+ "I1 = 0.75 * I #New current (in Ampere)\n",
+ "R1 = Vs / I1 #New Resistance (in ohm)\n",
+ "R2 = R1 - R #Resistance to be added (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print R2,\" ohm Resistance must be added in order to accomplish the reduction in current.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "500.0 ohm Resistance must be added in order to accomplish the reduction in current.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.5 , Page Number 55"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 2.2 #Resistance (in kilo-ohm)\n",
+ "R2 = 1 #Resistance (in kilo-ohm)\n",
+ "R3 = 3.3 #Resistance (in kilo-ohm)\n",
+ "V2 = 6 #Voltage drop across R2 (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I = V2 / R2 #Current in the circuit (in milli-Ampere) \n",
+ "V1 = R1 * I #Voltage drop across R1 (in volts)\n",
+ "V3 = R3 * I #Voltage drop across R3 (in volts)\n",
+ "\n",
+ "#Result\n",
+ "print \"The voltage drop across R1 is \",V1,\"V and the voltage drop across R3 is \",V3,\" V.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The voltage drop across R1 is 13.2 V and the voltage drop across R3 is 19.8 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.6 , Page Number 57"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 30.0 #Source voltage (in volts)\n",
+ "R1 = 20.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 10.0 #Resistance (in kilo-ohm)\n",
+ "R3 = 70.0 #Resistance (in kilo-ohm)\n",
+ "VD = 0.0 #Voltage at D (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R = R1 + R2 + R3 #Equivalent Resistance (in kilo-ohm)\n",
+ "V1 = (R1 / R) * V #Voltage drop across R1 (in volts)\n",
+ "V2 = (R2 / R) * V #Voltage drop across R2 (in volts)\n",
+ "V3 = (R3 / R) * V #Voltage drop across R3 (in volts)\n",
+ "VC = V3 + VD #Voltage at node C (in volts) \n",
+ "VB = V2 + VC #Voltage at node B (in volts)\n",
+ "VA = V1 + VB #Voltage at node A (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The Voltage drop across R1 is \",V1,\" V.\\nThe Voltage drop across R2 is \",V2,\" V.\\nThe Voltage drop across R3 is \",V3,\" V.\"\n",
+ "print \"Voltage at node A is \",VA,\" V.\\nVoltage at node B is \",VB,\" V.\\nVoltage at node is \",VC,\" V.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Voltage drop across R1 is 6.0 V.\n",
+ "The Voltage drop across R2 is 3.0 V.\n",
+ "The Voltage drop across R3 is 21.0 V.\n",
+ "Voltage at node A is 30.0 V.\n",
+ "Voltage at node B is 24.0 V.\n",
+ "Voltage at node is 21.0 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.7 , Page Number 58"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R2 = 100 #Resistance R2 (in ohm)\n",
+ "I = 0.3 #Current (in Ampere)\n",
+ "VT = 120 #Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RT = VT / I #Total Resistance (in ohm)\n",
+ "R1 = RT - R2 #Resistance R1 (in ohm)\n",
+ "P1 = I**2 * R1 #Power dissipated by R1 (in watt)\n",
+ "P2 = I**2 * R2 #Power dissipated by R2 (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The power dissipated by R1 is \",P1,\" W.\\nThe power dissipated by R2 is \",P2,\" W.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The power dissipated by R1 is 27.0 W.\n",
+ "The power dissipated by R2 is 9.0 W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.8 , Page Number 60"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 6 #Voltage (in volts)\n",
+ "R1 = 1 #Resistance (in ohm)\n",
+ "R2 = 2 #Resistance (in ohm)\n",
+ "R3 = 3 #Resistance (in ohm)\n",
+ "\n",
+ "#Case (a):\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RT = R1 + R2 + R3 #Equivalent Resistance (in ohm)\n",
+ "I = V / RT #Current (in Ampere)\n",
+ "P = I**2 * RT #Power dissipated (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Power dissipated in the entire circuit is\",P,\" W.\"\n",
+ "\n",
+ "#Case (b):\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RT = R1 + R2 #Equivalent Resistance (in ohm)\n",
+ "I = V / RT #Current (in Ampere)\n",
+ "P = I**2 * RT #Power dissipated (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Power dissipated in the circuit when R2 is shortened is\",P,\" W.\"\n",
+ "\n",
+ "#Case (c):\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R = R1 #Resistance (in ohm)\n",
+ "I = V / R #Current (in Ampere)\n",
+ "P = I**2 * R #Power dissipated (in watt)\n",
+ "\n",
+ "print \"Power dissipated in the circuit when R3 and R2 is shortened is\",P,\" W.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power dissipated in the entire circuit is 6 W.\n",
+ "Power dissipated in the circuit when R2 is shortened is 12 W.\n",
+ "Power dissipated in the circuit when R3 and R2 is shortened is 36 W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.9 , Page Number 61"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 10.0 #Voltage (in volts)\n",
+ "R1 = 10**6 #Resistance (in ohm)\n",
+ "R2 = 10 * 10**3 #Resistance (in ohm)\n",
+ "\n",
+ "#Case (a):\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RT = R1 + R2 #Total Resistance (in ohm)\n",
+ "I = V / RT #Current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current through the circuit is \",I,\" A.\"\n",
+ "\n",
+ "#Case (b):\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RT = R1 #Total Resistance (in ohm)\n",
+ "I = V / RT #Current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current through circuit when R2 is shortened is \",I,\" A.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current through the circuit is 9.90099009901e-06 A.\n",
+ "Current through circuit when R2 is shortened is 1e-05 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.10 , Page Number 62"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IT = 750 #Current (in milli-Ampere)\n",
+ "I1 = 200 #Current (in milli-Ampere)\n",
+ "I3 = 150 #Current (in milli-Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I2 = IT - (I1 + I3) #Current through R2 (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current drawn by R2 branch is \",I2,\" mA.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current drawn by R2 branch is 400 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.11 , Page Number 63"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 12.0 #Voltage (in volts)\n",
+ "R1 = 4.0 #Resistance (in ohm)\n",
+ "R2 = 6.0 #Resistance (in ohm)\n",
+ "R3 = 12.0 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Req = 1/(1/R1 + 1/R2 + 1/R3) #Equivalent resistance (in ohm) \n",
+ "I1 = V/R1\n",
+ "I2 = V/R2\n",
+ "I3 = V/R3\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The Equivalent Resistance is \",Req,\" ohm.\\nThe Current through R1 , R2 , R3 are \",I1,\" A, \",I2,\" A, \",I3,\" A.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Equivalent Resistance is 2.0 ohm.\n",
+ "The Current through R1 , R2 , R3 are 3.0 A, 2.0 A, 1.0 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.12 , Page Number 64"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = R2 = 10 #Resistances (in kilo-ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Req = R1*R2 / (R1 + R2) #Equivalent Resistance (in kilo-ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The equivalent resistance is \",Req,\" kilo-ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The equivalent resistance is 5 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.13 , Page Number 65"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 4.0 #Resistance (in ohm)\n",
+ "R2 = 12.0 #Resistance (in ohm)\n",
+ "V = 6.0 #Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Req = R1*R2/(R1 + R2) #Equivalent Resistance (in ohm)\n",
+ "IT = V / Req #Total Current (in Ampere)\n",
+ "I1 = R2 / (R1 + R2) * IT #Current through R1 \n",
+ "I2 = R1 / (R1 + R2) * IT #Current through R2\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current through R1 is \",I1,\" A and current through R2 is \",I2,\" A.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current through R1 is 1.5 A and current through R2 is 0.5 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.14 , Page Number 66"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "PR1 = 1.0/8 #1/8 watt resistor (in watt)\n",
+ "PR2 = 1.0/4 #1/4 watt resistor (in watt)\n",
+ "PR3 = 1.0/2 #1/2 watt resistor (in watt)\n",
+ "RT = 2400.0 #total resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "PT = PR1 + PR2 + PR3 #Total power dissipated (in watt)\n",
+ "I = (PT/RT)**0.5 #Current (in Ampere)\n",
+ "Vs = I * RT #Applied voltage (in volts)\n",
+ "R1 = PR1 / I**2 #R1 resistor (in ohm) \n",
+ "R2 = PR2 / I**2 #R2 resistor (in ohm)\n",
+ "R3 = PR3 / I**2 #R3 resistor (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current in the circuit is \",round(I,3),\" A.\\nApplied Voltage is \",round(Vs,3),\" V.\\nValue of R1 is \",round(R1,3),\" ohm.\\nValue of R2 is \",round(R2,3),\" ohm.\\nValue of R3 is \",round(R3,3),\" ohm.\"\n",
+ "\n",
+ "#Slight variations due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current in the circuit is 0.019 A.\n",
+ "Applied Voltage is 45.826 V.\n",
+ "Value of R1 is 342.857 ohm.\n",
+ "Value of R2 is 685.714 ohm.\n",
+ "Value of R3 is 1371.429 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4.15 , Page Number 68"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 6.0 #Applied voltage (in volts)\n",
+ "R0 = 0.2 #Resistance (in ohm) \n",
+ "R1 = 2.0 #Resistance (in ohm)\n",
+ "R2 = 3.0 #Resistance (in ohm)\n",
+ "R3 = 6.0 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Req = 1 / (1/R1 + 1/R2 + 1/R3) #Equivalent Resistance (in ohm) \n",
+ "R = R0 + Req #Total Resistance (in ohm)\n",
+ "I = V/R #Current (in Ampere) \n",
+ "V0 = I * R0 #Voltage drop across R0 (in volts)\n",
+ "Veq = V - V0 #Voltage drop across Req (in volts)\n",
+ "I1 = Veq / R1 #Current through R1 (in Ampere)\n",
+ "I2 = Veq / R2 #Current through R2 (in Ampere) \n",
+ "I3 = Veq / R3 #Current through R3 (in Ampere)\n",
+ "P = V * I #Power supplied by the voltage source (in volts)\n",
+ "I0 = V/R0 #Current in case of 'Short' across DE (in Ampere)\n",
+ "P0 = V * I0 #Power dissipated in case of 'Short' (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Total Resistance is \",R,\" ohm.\"\n",
+ "print \"Branch Currents :\\nThrough R1 = \",I1,\" A.\\nThrough R2 = \",round(I2,3),\" A.\\nThrough R3 = \",round(I3,3),\" A.\"\n",
+ "print \"Current supplied by voltage source is \",I,\" A.\"\n",
+ "print \"Power supplied by the voltage source is \",P,\" W.\"\n",
+ "print \"Current supplied in case of 'Short' across DE is \",I0,\" A.\"\n",
+ "print \"Power supplied in case of 'Short' acorss DE is \",P0,\" A.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Total Resistance is 1.2 ohm.\n",
+ "Branch Currents :\n",
+ "Through R1 = 2.5 A.\n",
+ "Through R2 = 1.667 A.\n",
+ "Through R3 = 0.833 A.\n",
+ "Current supplied by voltage source is 5.0 A.\n",
+ "Power supplied by the voltage source is 30.0 W.\n",
+ "Current supplied in case of 'Short' across DE is 30.0 A.\n",
+ "Power supplied in case of 'Short' acorss DE is 180.0 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter5_5.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter5_5.ipynb
new file mode 100644
index 00000000..f39edb9d
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter5_5.ipynb
@@ -0,0 +1,614 @@
+{
+ "metadata": {
+ "celltoolbar": "Raw Cell Format",
+ "name": "",
+ "signature": "sha256:a817a168befae35ccb17b36fd01ad5caaed21c361e584abe602cb8559a070af9"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 5 , Kirchhoff's Laws and Network Theorems"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.1 , Page Number 73"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IT = 20 #Total current (in milli-Ampere)\n",
+ "I2 = 4 #Current (in milli-Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I1 = IT - I2 #Current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of the current I1 is \",I1,\" mA.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of the current I1 is 16 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.2 , Page Number 74"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "I = 1 #Current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Applying Kirchoff's voltage law:\n",
+ "#(1 *3) + (1 * R) + (1 * 4) - 12 =0\n",
+ "\n",
+ "R = 5 #Resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of R is \",R,\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of R is 5 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.3 , Page Number 74"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vs = 100 #Source Voltage (in volts)\n",
+ "I = 5 #Current entering the circuit (in Ampere)\n",
+ "IL = 5 #Current leaving the circuit (in Ampere)\n",
+ "R15 = 15 #Resistor of 15 ohm (in ohm)\n",
+ "V15 = 30 #Voltage across 15 ohm resistor (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I1 = V15 / R15 #Current through 15 ohm resistor (in Ampere)\n",
+ "IA = I + I1 #Current entering junction A (in Ampere)\n",
+ "#Applying Kirchoff's current law\n",
+ "I2 = I + I1 #Current through 5 ohm resistor (in Ampere)\n",
+ "IB = I2 #Current entering juction B (in Ampere)\n",
+ "IR = IA - IL #Current through R (in Ampere)\n",
+ "#Applying Kirchoff's voltage law\n",
+ "#(7 * 5) + (2 *R) - 100 + 30 =0\n",
+ "R = 35.0/2\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of R is \",R,\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R is 17.5 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.4 , Page Number 75"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 25 #Source voltage (in volts)\n",
+ "RB = 99 #Resistance (in kilo-ohm)\n",
+ "RC = 2 #Resistance (in kilo-ohm)\n",
+ "RE = 1 #Resistance (in kilo-ohm)\n",
+ "VCE = 5 #Voltage across C and E (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Applying Kirchoff's Voltage law:\n",
+ "#IB*RB + VBE + IE*RE -V = 0\n",
+ "#IB*RB + VBE + (IB + IC)*RE - VCC = 0\n",
+ "#100*IB + IC = 24\n",
+ "#IB + 3*IC = 20\n",
+ "IC = 1976.0/299\n",
+ "IB = 20 - (3 * 6.61)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of IB is \",round(IB,3),\" mA.\\nValue of IC is \",round(IC,3),\" mA.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of IB is 0.17 mA.\n",
+ "Value of IC is 6.609 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.5 , Page Number 77"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS1 = 5 #Voltage source 1 (in volts)\n",
+ "VS2 = 3 #Voltage source 2 (in volts)\n",
+ "V6 = 0 #Voltage drop across 6 ohm resistor when AB is open (in volts)\n",
+ "R1 = 6 #Resistor (in ohm)\n",
+ "R2 = 4 #Resistor (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I = 5.0/4 #Current through 4 ohm resistor (in Ampere)\n",
+ "V = I * R2 #Voltage drop across 4 ohm Resistor (in volts)\n",
+ "VOC = VS2 + V6 + V #Open circuit voltage (in volts)\n",
+ "Rth = R1\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Thevenin's equivalent Voltage is \",VOC,\" V.\\nThevenin's equivalent resistance is \",Rth,\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Thevenin's equivalent Voltage is 8.0 V.\n",
+ "Thevenin's equivalent resistance is 6 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 56
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.6 , Page Number 78"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 25.0 #Source voltage (in volts)\n",
+ "R1 = 100.0 #Resistance (in ohm)\n",
+ "R2 = 75.0 #Resistance (in ohm)\n",
+ "R3 = 50.0 #Resistance (in ohm)\n",
+ "R4 = 25.0 #Resistance (in ohm)\n",
+ "RL = 250.0 #Load resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I = V / (R1 + R2 + R3) #Series curren (in Ampere)\n",
+ "VR2 = I * R2 #Voltage drop across R2\n",
+ "VOC = VR2 #Open circuit voltage (in volts)\n",
+ "Vth = VOC #Thevenin's equivalent voltage (in volts)\n",
+ "Rth = R4 + R2*(R1 + R3)/(R1 + R2 + R3) #Thevenin's equivalent resistance (in ohm)\n",
+ "IL = Vth/(Rth + RL)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Thevenin's equivalent voltage is \",round(Vth,3),\" V. and resistance in \",Rth,\" ohm.\"\n",
+ "print \"Current through load resistance is \",round(IL,3),\" A.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Thevenin's equivalent voltage is 8.333 V. and resistance in 75.0 ohm.\n",
+ "Current through load resistance is 0.026 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 59
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.7 , Page Number 80"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 2.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 1.0 #Resistance (in kilo-ohm)\n",
+ "R3 = 2.0 #Resistance (in kilo-ohm)\n",
+ "I = 0.1 #Current source (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Using Thevenin's theorem : \n",
+ "\n",
+ "I2 = I * R1 / (R1 + (R2 +R3)) #Current through brach ECD (in Ampere)\n",
+ "VR3 = I2 * R3* 10 **3 #Voltage drop across R3 (in volts)\n",
+ "Vth = VR3 #Thevenin's Voltage\n",
+ "Rth = R3 * (R1 + R2)/(R1 + R2 + R3)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Thevenin's voltage is \",Vth,\" V.\\nThevenin's Resistance is \",Rth,\" kilo-ohm.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Thevenin's voltage is 80.0 V.\n",
+ "Thevenin's Resistance is 1.2 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.8 , Page Number 82"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 0.6 #Resistance (in ohm)\n",
+ "R2 = 0.6 #Resistance (in ohm)\n",
+ "R3 = 0.8 #Resistance (in ohm)\n",
+ "R4 = 0.8 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Rth = R3 + R4*(R1 + R2)/(R4 + (R1 +R2)) #Thevenin's resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of Rth is \",Rth,\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Rth is 1.28 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.9 , Page Number 83"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 12.0 #Voltage (in volts)\n",
+ "R1 = 3.0 #Resistance (in ohm)\n",
+ "R2 = 9.0 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Using Norton's Theorem\n",
+ "\n",
+ "Isc = V / R1 #Short circuit current (in Ampere)\n",
+ "IN = Isc #Norton's Current (in Ampere)\n",
+ "RN = R1 * R2 / (R1 + R2) #Norton's resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Norton's Current is \",IN,\" A.\\nNorton's Resistance is \",RN,\" ohm.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Norton's Current is 4.0 A.\n",
+ "Norton's Resistance is 2.25 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.10 , Page Number 85"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 15.0 #Voltage 15 volt battery (in volts)\n",
+ "R1 = 6.0 #Resistance (in ohm)\n",
+ "R2 = 3.0 #Resistance (in ohm)\n",
+ "R3 = 3.0 #Resistance (in ohm)\n",
+ "V0 = 30.0 #Voltage 30 volt battery (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R4 = R2 * R3 / (R2 + R3) #R4 = R2 || R3 (in ohm)\n",
+ "V1 = R4 / (R1 + R4) * V #Voltage drop across R4 (in volts)\n",
+ "R5 = R1 * R3 / (R1 + R3) #R5 = R1 || R3 (in ohm)\n",
+ "V2 = R5 / (R2 + R5) * V0 #Voltage drop across R5 (in volts)\n",
+ "I = V/R3\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"In case 1: Voltage drop across R3 is \",V1,\" V.\\nIn case 2: Voltage drop across R3 is \",V2,\" V.\\nThe current through R3 is \",I,\" A.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "In case 1: Voltage drop across R3 is 3.0 V.\n",
+ "In case 2: Voltage drop across R3 is 12.0 V.\n",
+ "The current through R3 is 5.0 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.11 , Page Number 88"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vth = 100 #Thevenin Voltage (in micro-volts)\n",
+ "Rth = 50 #Thevenin Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RL = Rth #Maximum Load Resistance (in ohm)\n",
+ "PL = (Vth/(Rth + RL))**2 *RL #Maximum load power (in pico-watt)\n",
+ "\n",
+ "#Result\n",
+ "print \"Maximum load resistance is \",RL,\" ohm.\\nMaximum load power is \",PL,\" pW.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum load resistance is 50 ohm.\n",
+ "Maximum load power is 50 pW.\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.12 , Page Number 88"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VTH = 20.0 * 10**-3 #Thevenin's Voltage (in volts)\n",
+ "RTH = 300.0 #Thevenin's Resistance (in ohm) \n",
+ "RL = 300.0 #Load Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "PL = (VTH/(RTH + RL))**2 * RL #Power across load resistance (in watt) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of power transmitted to the receiver is \",round(PL*10**6,2),\" micro-watt.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of power transmitted to the receiver is 0.33 micro-watt.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 5.13 , Page Number 89"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 5.0 #resistance (in ohm)\n",
+ "R2 = 2.0 #resistance (in ohm)\n",
+ "R3 = 3.0 #resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Req = R2 * R3 / (R2 + R3) #Equivalent resistance (in ohm)\n",
+ "RL = R1 + Req\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Load resistance is \",RL,\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Load resistance is 6.2 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 62
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter6_4.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter6_4.ipynb
new file mode 100644
index 00000000..6813a88d
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter6_4.ipynb
@@ -0,0 +1,224 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:69b48b36a61396f28ecb80f184056a30de94e22bf70a39e3b66b811b10039140"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 6 , A.C. Fundamentals"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.1 , Page Number 94"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "t = 1.0 #time (in milliseconds)\n",
+ "n = 10.0 #number of cycles\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "T = t/n #Time period (in milliseconds)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Time period by one cycle is \",T,\" ms.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Time period by one cycle is 0.1 ms.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.2 , Page Number 94"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "t = 0.01 #Time period of positive half cycle (in seconds)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "t1 = 0.01 #Time period of negative half cycle (in seconds)\n",
+ "T = t + t1 #Time period of one complete cycle (in seconds)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \" Time period of rectified input is \",T,\" s.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " Time period of rectified input is 0.02 s.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.3 , Page Number 95"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "n = 5.0 #number of cycles\n",
+ "t = 10.0 #time period (in micro-seconds)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "f = n / t #frequency (in Mega-hertz)\n",
+ "T = 1/f #Time period (in micro-seconds)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Frequency and Time period of the sine wave is \",f,\" MHz and \",T,\" micro-seconds.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frequency and Time period of the sine wave is 0.5 MHz and 2.0 micro-seconds.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.4 , Page Number 95"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "f = 69.0 #frequency (in Mega-hertz)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "T = 1/f #Time period (in micro-seconds)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Time period is \",round(T * 10**3,2), \" ns.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Time period is 14.49 ns.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.5 , Page Number 97"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vmax = 20.0 #Voltage (in milli-volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vrms = 0.707 * Vmax #Rms Voltage (in milli-volts)\n",
+ "Vdc = 0.637 * Vmax #Average value of signal (in milli-volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"RMS value is \",Vrms,\" mV.\\nAverage value is \",Vdc,\" mV.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "RMS value is 14.14 mV.\n",
+ "Average value is 12.74 mV.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter7_5.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter7_5.ipynb
new file mode 100644
index 00000000..7ce6b4d7
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter7_5.ipynb
@@ -0,0 +1,232 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:8b9ceddb3b2adb5742dd1317566761cdfe116bbf966972fcb1710e301f43f106"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 7 , Passive Circuit Elements"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.4 , Page Number 121"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "N = 150.0 #Number of turns\n",
+ "mur = 3540.0 #Relative permeability (in H/m)\n",
+ "mu0 = 4*math.pi * 10 **-7 #Absoulte permeability (in H/m)\n",
+ "l = 0.05 #coil length (in meter)\n",
+ "A = 5 * 10**-4 #Area of cross - section (in metersquare)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "L = (mur * mu0 * A * N**2)/l #Coil inductance (in Henry)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The coil inductance is \",round(L,2),\" Henry.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The coil inductance is 1.0 Henry.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.5 , Page Number 122"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "L1 = 40.0 #Inductance (in micro-Henry)\n",
+ "L2 = 80.0 #Inductance (in micro-Henry)\n",
+ "M = 11.3 #Mutual Inductance (in micro-Henry)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "k = M/(L1 * L2)**0.5 #Coefficient of Coupling \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Coefficient of coupling is \",round(k,2),\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Coefficient of coupling is 0.2 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.6 , Page Number 125"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Q = 90.0 #Q-factor\n",
+ "L = 15.0 * 10**-6 #Inductance (in Henry)\n",
+ "f = 10.0 * 10**6 #Frequency (in Hertz) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Ro = 2*math.pi*f*L/Q #d.c. resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"d.c. resistance of coil is \",round(Ro,1),\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "d.c. resistance of coil is 10.5 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.7 , Page Number 126"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "k = 5.0 #dielectric constant\n",
+ "A = 0.04 #Plate area (in meter-square)\n",
+ "d = 0.02 #Thickness of dielectric(in meter) \n",
+ "eps0 = 8.85 * 10**-12 #Absolute permittivity (in kg*m**3*s**-3*A**-2)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "C = eps0 * k * A / d #Capacitance (in Farad) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Capacitance of parallel plate capacitor is \",C * 10**12,\"pF.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Capacitance of parallel plate capacitor is 88.5 pF.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.8 , Page Number 127"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "k = 1200.0 #dielectric constant\n",
+ "A = 0.2 #Plate area (in meter-square)\n",
+ "eps0 = 8.85 * 10**-12 #Absolute permittivity (in kg*m**3*s**-3*A**-2)\n",
+ "C = 0.428 #Capacitance (in micro-farad)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "d = eps0 * k * A / C #thickness of dielectric (in meter)\n",
+ " \n",
+ "#Result\n",
+ "\n",
+ "print \"Thickness of dielectric is \",round(d * 10**9,2),\" mm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Thickness of dielectric is 4.96 mm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter9_4.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter9_4.ipynb
new file mode 100644
index 00000000..5fa6ffa7
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/Chapter9_4.ipynb
@@ -0,0 +1,430 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:df20b687327eb5de3142132bf5d03052042219b0928fedb0b3e836d35edbbea8"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 9 , Voltage and Current Sources"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.1 , Page Number 158"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 1.5 #Source Voltage (in volts)\n",
+ "RS = 0.2 #Resistance (in ohm)\n",
+ "RL = 1 #Load Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RT = RS + RL #Total Resistance (in ohm)\n",
+ "I = V / RT #Current (in Ampere)\n",
+ "VAB = I * RL #Voltage drop across AB (in volts)\n",
+ "VR = V - VAB #Voltage drop due to internal resistance (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage drop across internal resistance is \",VR,\" volts.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage drop across internal resistance is 0.25 volts.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.2 , Page Number 159"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 1.5 #Source Voltage (in volts)\n",
+ "RS = 0.4 #Resistance (in ohm)\n",
+ "RL = 2.0 #Load Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RT = RS + RL #Total Resistance (in ohm)\n",
+ "I = VS/ RT #Current (in Ampere)\n",
+ "VT = I * RL #Terminal Voltage (in volts)\n",
+ "PL = I**2 * RL #Power dissipated by load resistance (in watt)\n",
+ "PS = I**2 * RT #Power Supplied by the voltage source (in watt)\n",
+ "eff = PL / PS #Efficiency of the circuit\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Terminal Voltage is \",VT,\" V.\\nPower dissipated by 2 ohm resistor is \",round(PL,2),\" W.\\nEfficiency of the circuit is \",round(eff,2),\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Terminal Voltage is 1.25 V.\n",
+ "Power dissipated by 2 ohm resistor is 0.78 W.\n",
+ "Efficiency of the circuit is 0.83 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.3 , Page Number 160"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Case a.1:\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 6.0 #Source Voltage (in volts)\n",
+ "RS = 2.0 #Resistance (in ohm)\n",
+ "#When RL is 2 ohm\n",
+ "RL = 2.0 #Load Resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RT = RS + RL #Total Resistance (in ohm)\n",
+ "I = VS / RT #Current in the Circuit (in Ampere)\n",
+ "VT1 = I * RL #Terminal Voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Terminal voltage when RL is 2 ohm : \",VT1,\" V.\"\n",
+ "\n",
+ "#Case a.2:\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "#When RL is 20 ohm\n",
+ "RL = 20.0 #Load Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RT = RS + RL #Total Resistance (in ohm)\n",
+ "I = VS / RT #Current in the Circuit (in Ampere)\n",
+ "VT2 = I * RL #Terminal Voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Terminal voltage when RL is 20 ohm : \",round(VT,2),\" V.\"\n",
+ "print \"Variation in terminal voltage is \",(VT2-VT1)/VT2,\" V.\"\n",
+ "\n",
+ "#Case b.1:\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RS = 100.0 #Resistance (in ohm)\n",
+ "#When RL is 10 kilo-ohm\n",
+ "RL = 10.0 * 10**3 #Load Resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RT = RS + RL #Total Resistance (in ohm)\n",
+ "I = VS / RT #Current in the circuit (in Ampere)\n",
+ "VT = I * RL #Terminal Voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Terminal voltage when RL is 100 kilo-ohm is: \",round(VT,2),\" V.\"\n",
+ "\n",
+ "#Case b.2:\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "#When RL is 100 kilo-ohm\n",
+ "RL = 100.0 * 10**3 #Load Resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RT = RS + RL #Total Resistance (in ohm)\n",
+ "I = VS / RT #Current in the circuit (in Ampere)\n",
+ "VT1 = I * RL #Terminal Voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Terminal voltage when RL is 100 kilo-ohm is :\",round(VT1,3),\" V.\"\n",
+ "print \"Variation in terminal voltage is \",round((VT1-VT)/VT1,3),\" V.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Terminal voltage when RL is 2 ohm : 3.0 V.\n",
+ "Terminal voltage when RL is 20 ohm : 1.25 V.\n",
+ "Variation in terminal voltage is 0.45 V.\n",
+ "Terminal voltage when RL is 100 kilo-ohm is: 5.94 V.\n",
+ "Terminal voltage when RL is 100 kilo-ohm is : 5.994 V.\n",
+ "Variation in terminal voltage is 0.009 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.4 , Page Number 163"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 12.0 #Source Voltage (in volts)\n",
+ "VT = 10.0 #Terminal Voltage (in volts)\n",
+ "RL = 10.0 #Load resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RS = RL*(VS / VT - 1) #Internal Resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The internal resistance of the source is \",RS,\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The internal resistance of the source is 2.0 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.5 , Page Number 165"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IS = 30.0 #Current (in milli-Ampere)\n",
+ "RS = 15.0 #Source resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RL = RS / 20.0 #Load Resistance (in kilo-ohm) \n",
+ "IL = IS * RS/(RL +RS) #Load Current (in Ampere)\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Largest value of load resistance to provide constant current is \",RL*10**3,\" ohm.\"\n",
+ "print \"Variation of current from the short-cicuit current is \",round((IS-IL)/IS,4),\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Largest value of load resistance to provide constant current is 750.0 ohm.\n",
+ "Variation of current from the short-cicuit current is 0.0476 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.6 , Page Number 168"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 12.0 #Source Voltage (in volts)\n",
+ "RS = 3.0 #Source resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IS = VS / RS #Source current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current source value is \",IS,\" A.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current source value is 4.0 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.7 , Page Number 169"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IS = 5.0 #Source current (in milli-Ampere)\n",
+ "RS = 2.0 #Source resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VS = IS * RS #Voltage source (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Equivalent voltage source is \",VS,\" V.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Equivalent voltage source is 10.0 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.8 , Page Number 169"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IS =1.5 #Source current (in milli-Ampere)\n",
+ "RS = 2 #Source resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RL = 10*40/(10+40) #Load Reistance (in kilo-ohm)\n",
+ "IL = IS * RS/(RL +RS) #Load current (in milli-Ampere)\n",
+ "IL2 = IL * 10/(10 +40) #Current through part 2 (in milli-Ampere)\n",
+ "VS = IS * RS #Souce voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"current through 40 kilo-ohm resistor is \",IL2,\" mA.\"\n",
+ "print \"Equivalent volage source is \",VS,\" V.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "current through 40 kilo-ohm resistor is 0.06 mA.\n",
+ "Equivalent volage source is 3.0 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/README.txt b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/README.txt
new file mode 100644
index 00000000..bf7ce9ce
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/README.txt
@@ -0,0 +1,10 @@
+Contributed By: Vinay Badhan
+Course: be
+College/Institute/Organization: Shri Govindram Seksaria Institute of Technology and Science.
+Department/Designation: SGSITS IT/IT/Student
+Book Title: A Textbook of Applied Electronics
+Author: R S Sedha
+Publisher: S Chand & Company Ltd. , Ram Nagar, New Delhi-110055
+Year of publication: 2008
+Isbn: 8121927838
+Edition: Multicolour \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter10_5.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter10_5.ipynb
new file mode 100644
index 00000000..3867129e
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter10_5.ipynb
@@ -0,0 +1,1026 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:14854f0f2c20034037bfa5a3449dea2addd83d4eed6b29f5eda0eb459f0c6332"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 10 , Semiconductors"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.1 , Page Number 183"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R = 1000.0 #Resistance (in ohm)\n",
+ "sig = 5.8 * 10**7 #Conductivity in (Siemen per meter)\n",
+ "d = 10**-3 #diameter (in meter)\n",
+ "E = 10 * 10**-3 #Eletric field (in Volt per meter)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "l = R *sig * math.pi * d**2 /4 #length (in meter)\n",
+ "J = sig * E #Current density (in Ampere per metersquare)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Length of wire is \",round(l/1000,2),\" km.\\nCurrent desity is \",J,\" A/(m*m).\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Length of wire is 45.55 km.\n",
+ "Current desity is 580000.0 A/(m*m).\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.2 , Page Number 184"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "d = 2* 10**-3 #diameter (in meter)\n",
+ "sig = 5.8 * 10**7 #conductivity (in siemen per meter)\n",
+ "mu = 0.0032 #mobilty (in metersquare per volt-second)\n",
+ "E = 20 * 10**-3 #Electric field (in Volt per meter)\n",
+ "q = 1.6 * 10**-19 #Charge on electron (in Coulomb)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "n = sig / (q * mu) #charge density (in cubic-meter) \n",
+ "J = sig * E #Charge density (in Ampere per square-meter)\n",
+ "A = math.pi * d**2 / 4 #Cross section of wire (in square-meter)\n",
+ "I = J * A #Current (in Ampere)\n",
+ "v = mu * E #Drift velocity (in meter per second)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Charge density of free electrons is \",round(n,3),\" m**-3.\\nThe current density is \",J,\" A/m**3.\\nCurrent flowing in the wire is \",round(I,3),\" A.\\nElectron drift velocity is \",v,\" m/s.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Charge density of free electrons is 1.1328125e+29 m**-3.\n",
+ "The current density is 1160000.0 A/m**3.\n",
+ "Current flowing in the wire is 3.644 A.\n",
+ "Electron drift velocity is 6.4e-05 m/s.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.3 , Page Number 185"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "n = 5.8 * 10**28 #number of free electrons (in per cubic-meter)\n",
+ "p = 1.54 * 10**-8 #resistivity (in ohm-meter)\n",
+ "q = 1.6 * 10**-19 #charge (in Coulomb)\n",
+ "m = 9.1 * 10**-31 #mass of electron (in kg)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "sig = 1/p #conductivity (in siemen per meter)\n",
+ "mu = sig /(q * n) #mobility (in meter-square/volt-second)\n",
+ "t = mu * m / q #time (in second)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Mobility of electrons is \",round(mu,6),\" m**2/V-s.\\nRelaxation time is \",round(t*10**12,6),\" ps.\"\n",
+ "\n",
+ "#Calculation error in book."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Mobility of electrons is 0.006997 m**2/V-s.\n",
+ "Relaxation time is 0.039797 ps.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.4 , Page Number 186"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "un = 0.38 #mobility of electrons in germanium (in meter-square/volt-second)\n",
+ "up = 0.18 #mobility of holes in germanium (in meter-square/volt-second)\n",
+ "ni = n = p = 2.5 * 10**19 #mobile ions for germanium (in per cubic-meter)\n",
+ "un1 = 0.13 #mobility of electrons in germanium (in meter-square/volt-second)\n",
+ "up1 = 0.05 #mobility of holes in germanium (in meter-square/volt-second)\n",
+ "ni1 = n1 = p1 = 1.5 * 10**16 #mobile ions for germanium (in per cubic-meter)\n",
+ "q = 1.6 * 10**-19 #charge of electron (in Coulomb)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#for germanium:\n",
+ "\n",
+ "sig = q * ni * (un + up) #Conductivity of germanium (in siemen per metre)\n",
+ "sig1 = q * ni1 * (un1 + up1) #Conductivity of silicon (in siemen per metre)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Intrinsic conductivity of germanium is \",sig,\" S/m and of silicon is \",sig1,\" S/m.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Intrinsic conductivity of germanium is 2.24 S/m and of silicon is 0.000432 S/m.\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.5 , Page Number 187"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "ni = 1.41 * 10**16 #intrinsic concentration (in per cubic-metre) \n",
+ "un = 0.145 #mobility of electrons in germanium (in metre-square/volt-second)\n",
+ "up = 0.05 #mobility of holes in germanium (in metre-square/volt-second)\n",
+ "q = 1.6 * 10**-19 #charge of electron (in Coulomb)\n",
+ " \n",
+ "#Calculation\n",
+ "\n",
+ "sig = q * ni * (un + up) #Conductivity of germanium (in siemen per metre)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Intrinsic conductivity of silicon is \",sig,\" S/m.\"\n",
+ "print \"Contribution by electron is \",q*ni*un,\" S/m.\"\n",
+ "print \"Contribution by electron is \",q*ni*up,\" S/m.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Intrinsic conductivity of silicon is 0.00043992 S/m.\n",
+ "Contribution by electron is 0.00032712 S/m.\n",
+ "Contribution by electron is 0.0001128 S/m.\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.6 , Page Number 187"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "l = 0.2 * 10**-3 #length (in meter)\n",
+ "A = 0.04 * 10**-6 #Area of cross section (in square-meter)\n",
+ "V = 1 #Voltage (in volts)\n",
+ "I = 8 * 10**-3 #current (in Ampere)\n",
+ "un = 0.13 #mobility of electron (in m**2 per volt-second)\n",
+ "q = 1.6 * 10**-19 #charge on electron (in Coulomb)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "\n",
+ "R = V/I #Resistance (in ohm)\n",
+ "p = R * A/l #Resistivity (in ohm-meter)\n",
+ "sig = 1/p #Conductivity (in siemen per meter)\n",
+ "n = sig / (q * un) #concentration (in per cubic-meter) \n",
+ "J = I/A #current density (in Ampere per square-meter)\n",
+ "v = J/(n*q)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Concentration of free electrons is \",round(n,3),\" m**-3.\\nDrift velocity is \",v,\" m/s.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Concentration of free electrons is 1.92307692308e+21 m**-3.\n",
+ "Drift velocity is 650.0 m/s.\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.7 , Page Number 188"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "p = 0.47 #Resistivity (in ohm-meter)\n",
+ "q = 1.6 * 10**-19 #charge on electron (in Coulomb)\n",
+ "un = 0.39 #mobility of electron in germanium (in m**2 per volt-second)\n",
+ "up = 0.19 #mobility of hole in germanium (in m**2 per volt-second)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "sig = 1/p #Conductivity (in siemen per meter)\n",
+ "ni = sig / (q *(un +up)) #intrinsic concentration (in per cubic-meter)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Intrinsic concentration is \",ni,\" m**-3.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Intrinsic concentration is 2.29273661042e+19 m**-3.\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.8 , Page Number 190"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "ND = 10**21 #Donor concentration (in per cubic-meter)\n",
+ "NA = 5 * 10**20 #Acceptor concentration (in per cubic-meter)\n",
+ "un = 0.18 #mobility of electron in silicon (in m**2 per volt-second)\n",
+ "q = 1.6 * 10**-19 #charge on electron (in Coulomb)\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "n = ND -NA #net donor density (in per cubic-meter)\n",
+ "sig = n * q * un #Conductivity (in Siemen per meter)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Conductivity of silicon is \",sig,\" (ohm-meter)**-1.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Conductivity of silicon is 14.4 (ohm-meter)**-1.\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.9 , Page Number 190"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "p = 100.0 #resistivity (in ohm-meter)\n",
+ "q = 1.6 * 10**-19 #Charge on a electron (in Coulomb)\n",
+ "un = 0.36 #donor concentration (in per cubic-meter)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "sig = 1/p #conductivity (in siemen per meter)\n",
+ "n = sig /(q * un) #intrinsic concentration (in per cubic-meter)\n",
+ "ND = n #Donor concentration (in per cubic-meter) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Donor concentration is \",ND,\" m**-3.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Donor concentration is 1.73611111111e+17 m**-3.\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.10 , Page Number 191"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "ND = 2 * 10**14 #Donor atom concentration (in atoms per cubic-centimeter)\n",
+ "NA = 3 * 10**14 #Acceptor atom concentration (in atoms per cubic-centimeter)\n",
+ "ni = 2.3 * 10**19 #intrinsic concentration (in atoms per cubic-centimeter)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "n = ni**2 / NA #concentration of electrons (in electrons per cubic-centimeter)\n",
+ "p = ni**2 / ND #concentration of holes (in holes per cubic-centimeter)\n",
+ " \n",
+ "#Result\n",
+ "\n",
+ "print \"Electron concentration is \",n,\" electrons/cm**3.\\nHole concentration is \",p,\" holes/cm**3.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Electron concentration is 1.76333333333e+24 electrons/cm**3.\n",
+ "Hole concentration is 2.645e+24 holes/cm**3.\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.11 , Page Number 191"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "ND = 5 * 10**8 #Donor atom concentration (in atoms per cubic-centimeter)\n",
+ "NA = 6 * 10**16 #Acceptor atom concentration (in atoms per cubic-centimeter)\n",
+ "ni = 1.5 * 10**10 #intrinsic concentration (in atoms per cubic-centimeter)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "n = ni**2/NA #number of electrons (in per cubic-centimeter)\n",
+ "p = ni**2/ND #number of holes (in per cubic-centimeter)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Density of electrons is \",n,\" cm**-3.\\nDensity of holes is \",p,\" cm**-3.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Density of electrons is 3750.0 cm**-3.\n",
+ "Density of holes is 4.5e+11 cm**-3.\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.12 , Page Number 192"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "d = 0.001 #diameter (in meter)\n",
+ "ND = 10**20 #Number of phosphorus ions (in per cubic-meter)\n",
+ "R = 1000 #Resistance (in ohm)\n",
+ "un = 0.1 #mobility (in meter-square per volt-second)\n",
+ "q = 1.6 * 10**-19 #charge on electron (in Coulomb)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "n = ND #Number of free electron (in per cubic-meter)\n",
+ "sig = q*n*un #conductivity (in Siemen per meter)\n",
+ "A = math.pi * d**2 / 4 #Area of cross section (in meter-square)\n",
+ "l = R * sig * A #length (in meter) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Length of the silicon would be \",round(l*1000,3),\" mm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Length of the silicon would be 1.257 mm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.13 , Page Number 192"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "q = 1.6 * 10**-19 #Charge on electron (in Coulomb) \n",
+ "sig = 100.0 #Conductivity of Ge (in per ohm-centimeter)\n",
+ "sig1 = 0.1 #Conductivity of Si (in per ohm-centimeter)\n",
+ "ni = 1.5 * 10**10 #intrinsic conductivity for Si (in per cubic-centimeter)\n",
+ "un = 3800.0 #mobility of electrons for Ge (in square-centimetermeter per volt-second)\n",
+ "up = 1800.0 #mobility of holes for Ge (in square-centimeter per volt-second)\n",
+ "un1 = 1300.0 #mobility of electrons for Si (in square-centimetermeter per volt-second)\n",
+ "up1 = 500.0 #mobility of holes for Si (in square-centimeter per volt-second)\n",
+ "ni1 = 2.5 * 10**13 #intrinsic concentration for Ge (in per cubic-centimeter)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "p = sig / (q * up) #Concentration of p-type germanium (in cubic-centimeter)\n",
+ "n = ni1**2 / p #Concentration of electrons in germanium (in cubic-centimeter)\n",
+ "n1 = sig1 / (q * un1) #Concentration of N-type silicon (in cubic-centimeter)\n",
+ "p1 = ni**2 / n1 #Concentration of holes in silicon (in cubic-centimere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"For p-type germanium, hole concentration is \",p,\"/cm**3.\\nFor p-type germanium, electron concentration is \",n,\"/cm**3.\"\n",
+ "print \"For n-type silicon, hole concentration is \",p1,\"/cm**3.\\nFor n-type silicon, electron concentration is \",n1,\"/cm**3.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "For p-type germanium, hole concentration is 3.47222222222e+17 /cm**3.\n",
+ "For p-type germanium, electron concentration is 1800000000.0 /cm**3.\n",
+ "For n-type silicon, hole concentration is 468000.0 /cm**3.\n",
+ "For n-type silicon, electron concentration is 4.80769230769e+14 /cm**3.\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.14 , Page Number 193"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "un = 3800 #mobility of electrons (in centimeter-square per volt-second)\n",
+ "up = 1800 #mobility of holes (in centimeter-square per volt-second)\n",
+ "ni = 2.5 * 10**13 #intrinsic concentration (in per cubic-centimeter)\n",
+ "Nge = 4.41 * 10**22 #concentration of germanium (in per cubic-centimeter)\n",
+ "q = 1.6 * 10**-19 #charge on electron (in Coulomb) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ND = Nge/10**8 #Number of donor atoms (in per cubic-centimeter)\n",
+ "p = p = ni**2/ND #Number of holes (in per cubic-centimeter)\n",
+ "sig = q * ND * un #Conductivity of n-type germanium (in per ohm-centimeter)\n",
+ "p = 1/sig #resistivity (in ohm-centimeter)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"resistivity of the germanium sample is \",round(p,3),\" ohm-cm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "resistivity of the germanium sample is 3.73 ohm-cm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.15 , Page Number 194"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "un = 1350 #mobility of electrons (in centimeter-square per volt-second)\n",
+ "up = 480 #mobility of holes (in centimeter-square per volt-second)\n",
+ "ni = 1.52 * 10**10 #intrinsic concentration (in per cubic-centimeter)\n",
+ "Nsi = 4.96 * 10**22 #concentration of silicon (in per cubic-centimeter)\n",
+ "q = 1.6 * 10**-19 #charge on electron (in Coulomb) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "sigi = q * ni * (un + up) #conductivity of intrinsic silicon (in per ohm-centimeter)\n",
+ "p = 1/sig #resitivity (in ohm-centimeter)\n",
+ "ND = Nsi/(50 * 10**6) #Number of donor atoms (per cubic-centimeter)\n",
+ "n = ND #NUmber of free electrons (in per cubic-centimeter)\n",
+ "p = ni**2/n #number of holes (in per cubic-centimeter)\n",
+ "sig = q * n * un #conductivity of doped silicon (in per ohm-centimeter)\n",
+ "p = 1/sig #resistivity (in ohm-centimeter)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Resistivity of doped silicon is \",round(p,2),\" ohm-cm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resistivity of doped silicon is 4.67 ohm-cm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.16 , Page Number 196"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variables\n",
+ "\n",
+ "up = 0.048 #hole mobility (in meter-square per volt-second)\n",
+ "un = 0.135 #electron mobility (in meter-square per volt-second)\n",
+ "q = 1.602 * 10**-19 #charge on electron (in Coulomb)\n",
+ "Nsi1 = 5 * 10**28 #concentration of intrinsic silicon (in atoms per cubic-meter)\n",
+ "ni = 1.5 * 10**16 #number of electron-hole pairs (per cubic-meter)\n",
+ "alpha = 0.05 #temperature coefficient (in per degree Celsius)\n",
+ "dT = 14 #change in temperature (in degree celsius)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "sig1 = q * ni * (un + up) #conductivity of intrinsic silicon (in per ohm-meter)\n",
+ "NA = Nsi1/10**7 #Number of indium atoms (in per cubic-meter)\n",
+ "p = NA #Number of holes (in per cubic meter)\n",
+ "n = ni**2/p #Number of free electrons (in per cubic-meter)\n",
+ "sig2 = q * p * up #Conductivity of doped silicon (in per ohm-meter)\n",
+ "sig34 = sig1*(1 + alpha * dT) #Conductivity at 34 degree Celsius (in per ohm-meter) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Conductivity of intrinsic silicon is \",round(sig1,5),\" per ohm-meter.\\nConductivity of doped Silicon is \",round(sig2,2),\" per ohm-meter.\\nConductivity of silicon at 34 degree Celsius is \",round(sig34,5),\" per ohm-meter.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Conductivity of intrinsic silicon is 0.00044 per ohm-meter.\n",
+ "Conductivity of doped Silicon is 38.45 per ohm-meter.\n",
+ "Conductivity of silicon at 34 degree Celsius is 0.00075 per ohm-meter.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.17 , Page Number 199"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "un = 3600.0 * 10**-4 #mobility of electrons (in meter-square per volt-second)\n",
+ "up = 1700.0 * 10**-4 #mobility of holes (in meter-square per volt-second)\n",
+ "k = 1.38 * 10**23 #Boltzmann constant\n",
+ "T = 300.0 #Temperature (in kelvin)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VT = T/11600 #Voltage (in volts)\n",
+ "Dp = up * VT #Coefficient of holes (in meter-square per second)\n",
+ "Dn = un * VT #Coefficient of electrons (in meter-square per second)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Coefficient of holes is \",round(Dp,6),\" m**2/s.\\nCoefficient of electrons is \",round(Dn,4),\" m**2/s.\"\n",
+ "#un and up in book should be in (cm**2/V-sec)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Coefficient of holes is 0.004397 m**2/s.\n",
+ "Coefficient of electrons is 0.0093 m**2/s.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.18 , Page Number 202"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RH = 160 #Hall coeffficient (in cubic-centimeter per Coulomb)\n",
+ "p = 0.16 #Resistivity (in ohm-centimeter)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "sig = 1/p #Conductivity (in per ohm-centimeter)\n",
+ "un = sig * RH #Electron mobility (in cmentimeter-square per volt-second)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Electron mobility is \",un,\" cm**2/V-s.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Electron mobility is 1000.0 cm**2/V-s.\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.19 , Page Number 203"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "I = 50 #Current (in Ampere)\n",
+ "B = 1.2 #Magnetic field (in Weber per meter-square)\n",
+ "t = 0.5 * 10**-3 #thickness (in meter)\n",
+ "VH = 100 #Hall coltage (in volts)\n",
+ "q = 1.6 * 10**-19 #Charge on electron (in Coulomb)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "n = B * I / (VH * q * t) #number of conduction electrons (in per cubic-meter) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Number of conduction electrons is \",n,\" m**-3.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Number of conduction electrons is 7.5e+21 m**-3.\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.20 , Page Number 203"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "p = 20 * 10**-2 #Resistivity (in ohm-meter)\n",
+ "u = 100 * 10**-4 #mobility (in meter-square per volt-second)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "sig = 1/p #Conductivity (in per ohm-meter)\n",
+ "n = sig / (q * u) #number of electron carriers (in per cubic-meter)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Number of electron carriers is \",round(n,1),\" m**-3.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Number of electron carriers is 3.125e+21 m**-3.\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.21 , Page Number 203"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RH = 3.66 *10**-4 #Hall coefficient (in cubic-meter per Coulomb)\n",
+ "p = 8.93 * 10 **-3 #Resistivity (in ohm-meter)\n",
+ "q = 1.6 * 10**-19 #Charge on electron (in Coulomb)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "sig = 1/p #Conductivity (in per ohm-meter)\n",
+ "u = sig * RH #mobility (in meter-square per volt-second)\n",
+ "n = 1 / (RH * q) #Density of charge carriers (in per cubic-meter)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Mobility of charge carriers is \",round(u,3),\" m**2/V-s.\\nDensity of charge carriers is \",n,\" m**-3.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Mobility of charge carriers is 0.041 m**2/V-s.\n",
+ "Density of charge carriers is 1.70765027322e+22 m**-3.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.22 , Page Number 204"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "p = 9 * 10**-3 #Resistivity (in ohm-meter)\n",
+ "up = 0.03 #Mobility (in meter-square per volt-second)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "sig = 1/p #Conductivity (in per ohm-meter)\n",
+ "RH = up / sig #Hall coefficient (in cubic-meter per Coulomb) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of Hall-coefficient is \",RH,\" m**3/C.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of Hall-coefficient is 0.00027 m**3/C.\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter12_5.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter12_5.ipynb
new file mode 100644
index 00000000..e1fdf7ce
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter12_5.ipynb
@@ -0,0 +1,715 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 12 , PN Junction Diode"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.1 , Page Number 226"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Current throrough diode is 10.72 micro-Ampere.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "I0 = 2 * 10**-7 #Current (in Ampere)\n",
+ "VF = 0.1 #Forward voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I = I0 * (math.exp(40*VF)-1) #Current through diode (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current throrough diode is \",round(I*10**6,2),\" micro-Ampere.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.2 , Page Number 226"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Diode current is 5.2 A.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VF = 0.22 #Forward voltage (in volts)\n",
+ "T = 298.0 #Temperature (in kelvin)\n",
+ "I0 = 10**-3 #Current (in Ampere)\n",
+ "n = 1\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VT = T/11600 #Volt equivalent of temperature (in volts)\n",
+ "I = I0*(exp(VF/(n*VT))-1) #Diode Current (in Ampere) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Diode current is \",round(I,1),\" A.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.3 , Page Number 226"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of n is 1.18 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "I1 = 0.5 * 10**-3 #Diode current1 (in Ampere)\n",
+ "V1 = 340 * 10**-3 #Voltage1 (in volts)\n",
+ "I2 = 15 * 10**-3 #Diode current2 (in Ampere)\n",
+ "V2 = 440 * 10**-3 #Voltage2 (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "n = 4/math.log(30) #By solving both the given equations\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of n is \",round(n,2),\".\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.4 , Page Number 228"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Current at 400 k is 10.2 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "I300 = 10 * 10**-6 #Current at 300 kelvin (in Ampere)\n",
+ "T1 = 300 #Temperature (in kelvin)\n",
+ "T2 = 400 #Temperature (in kelvin)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I400 = I300 * 2**((T2-T1)/10) #Current at 400 kelvin (in Ampere) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current at 400 k is \",round(I400*10**3,1),\" mA.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.5 , Page Number 230"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage drop across a silicon diode is 0.624 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "rb = 2 #bulk resistance (in ohm)\n",
+ "IF = 12 * 10**-3 #FOrward current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VF = 0.6 + IF * rb #Voltage drop (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage drop across a silicon diode is \",VF,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.6 , Page Number 230"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Dynamic resistance in forward direction is 3.36 ohm.\n",
+ "Dynamic resistance in backward direction is 0.389 Mega-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "T = 398.0 #Temperature (in kelvin)\n",
+ "I0 = 30 * 10**-6 #Reverse saturation current (in Ampere)\n",
+ "V = 0.2 #Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VT = T/11600 #Volt equivalent of temperature (in volts)\n",
+ "I = I0 * (math.exp(V/VT)-1) #Diode current (in Ampere)\n",
+ "rac = VT/I0 * math.exp(-V/VT) #dynamic resistance in forward direction (in ohm)\n",
+ "rac1 = VT/I0 * math.exp(V/VT) #dynamic resistance in reverse direction (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Dynamic resistance in forward direction is \",round(rac,2),\" ohm.\\nDynamic resistance in backward direction is \",round(rac1/10**6,3),\" Mega-ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.8 , Page Number 237"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum forward current is 0.5 A.\n",
+ "Breakdwon current that burns out the diode is 3.33 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "PDmax = 0.5 #power dissipation (in watt)\n",
+ "VF = 1 #Forward voltage (in volts)\n",
+ "VBR = 150 #Breakdown voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IFmax = PDmax/VF #Maximum forward current (in Ampere)\n",
+ "IR = PDmax/VBR #Breakdwon current that burns out the diode (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum forward current is \",IFmax,\" A.\\nBreakdwon current that burns out the diode is \",round(IR*10**3,2),\" mA.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.9 , Page Number 238"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage drop across the diode is 5 V.\n",
+ "Voltage drop across the resistance is 0 V.\n",
+ "Current through the circuit is 0 A.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R = 330 #Resistance (in ohm)\n",
+ "VS = 5 #Source voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VD = VS #Voltage drop across diode (in volts)\n",
+ "VR = 0 #Voltage drop across the resistance (in volts)\n",
+ "I = 0 #Current through circuit\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage drop across the diode is \",VD,\" V.\\nVoltage drop across the resistance is \",VR,\" V.\\nCurrent through the circuit is \",I,\" A.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.10 , Page Number 239"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of VD is 0 V.\n",
+ "Value of VR is 12.0 V.\n",
+ "Current through the circuit is 25.53 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 12.0 #Source coltage (in volts)\n",
+ "R = 470.0 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VD = 0 #Voltage drop across diode (in volts)\n",
+ "VR = VS #Value of VR (in volts)\n",
+ "I = VS/R #Current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of VD is \",VD,\" V.\\nValue of VR is \",VR,\" V.\\nCurrent through the circuit is \",round(I*10**3,2),\" mA.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.11 , Page Number 239"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Current through the circuit is 6.625 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 6 #Source voltage (in volts)\n",
+ "R1 = 330 #Resistance (in ohm)\n",
+ "R2 = 470 #Resistance (in ohm)\n",
+ "VD = 0.7 #Diode voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RT = R1 + R2 #Total Resistance (in ohm)\n",
+ "I = (VS - 0.7)/RT #Current through the diode\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current through the circuit is \",I * 10**3,\" mA.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.12 , Page Number 240"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage across the resistor is 4.3 V.\n",
+ "The circuit current is 8.43 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 5 #Source voltage (in volts)\n",
+ "R = 510 #Resistance (in ohm)\n",
+ "VF = 0.7 #Forward voltage drop (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VR = VS - VF #Net voltage (in volts)\n",
+ "I = VR / R #Current through the diode\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage across the resistor is \",VR,\" V.\\nThe circuit current is \",round(I * 10**3,2),\" mA.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.13 , Page Number 240"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Total current through the circuit is 3.067 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 6 #Source voltage (in volts)\n",
+ "VD1 = VD2 = 0.7 #Diode Voltage drop (in volts)\n",
+ "R = 1.5 * 10**3 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I = (VS - VD1 - VD2)/R #Current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Total current through the circuit is \",round(I * 10**3,3),\" mA.\" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.14 , Page Number 240"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Total current through the circuit is 3.212 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 12 #Source voltage (in volts)\n",
+ "R1 = 1.5 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 1.8 * 10**3 #Resistance (in ohm)\n",
+ "VD1 = VD2 = 0.7 #Diode Voltage drop (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RT = R1 + R2 #Total Resistance (in ohm)\n",
+ "I = (VS - VD1 - VD2)/RT #Current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Total current through the circuit is \",round(I * 10**3,3),\" mA.\" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.15 , Page Number 241"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Output Voltage in case 1 is 0 V.\n",
+ "Output Voltage in case 2 is 4.3 V.\n",
+ "Output Voltage in case 3 is 4.3 V.\n",
+ "Output Voltage in case 4 is 4.3 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R = 3.3 * 10**3 #Resitance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Case (a)\n",
+ "\n",
+ "V11 = V21 = 0 #Voltages (in volts)\n",
+ "V01 = 0 #Output Voltage (in volts)\n",
+ "\n",
+ "#Case (b)\n",
+ "\n",
+ "V21 = 0 #Voltage (in volts)\n",
+ "V22 = 5 #Voltage (in volts)\n",
+ "V02 = V22 - 0.7 #Output voltage (in volts) \n",
+ "\n",
+ "#Case (c)\n",
+ "\n",
+ "V31 = 5 #Voltage (in volts)\n",
+ "V32 = 0 #Voltages (in volts)\n",
+ "V03 = V31 - 0.7 #Output voltage (in volts) \n",
+ "\n",
+ "#Case (d)\n",
+ "\n",
+ "V41 = V42 = 5 #Voltages (in volts)\n",
+ "V04 = V41 - 0.7 #Output voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Output Voltage in case 1 is \",V01,\" V.\\nOutput Voltage in case 2 is \",V02,\" V.\\nOutput Voltage in case 3 is \",V03,\" V.\\nOutput Voltage in case 4 is \",V04,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12.16 , Page Number 242"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Current in dc circuit is 1.0 mA.\n",
+ "a.c voltage drop across 51 ohm resistance is 0.485 mV.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x652ae90>"
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\nf/gD/Nu/xWtTGrjwQucdt3Fj+eN33gkf/Wi8NsWBFxdPRa64wr0Uq1bteez3v3eeLX37xm9X0px9\ntnNHnj59z2N/+Yub1TYto6zjZPRod+/l+l5mzXKeYnnrV6iGvn1dje322/c8tmaNe8fy2ALgxcVT\nkf32cyWqX/xi9/07dsD//i9cW3aFnvzTvj187nPwX/+157Gf/AS+/OW21SRWzHXXwXe+s+ccbDfc\nAF/9qpsBoi1y9dVw443u3Snmpz91zYm9eydjV5R4cfE0yte+Br/5jRssWeDmm92gsLYwtUklvvQl\nN7XHpEkN+x56CFavbptNhQUuusg1mT7wQMO+l192Y2C+8IXk7Eqa44+HQYN2L6gtWeKaV6+5JjGz\nIiWnS/V4wmLQIPjmN+G881yn5PTp8L3vNW+6jzzSpYsriV5+uROVjRvhyivh/vvdpIxtlXbtXGHk\nggtcE9m++8LFF7u06tIlaeuSQ4Jf/9rNNzZggPOuu/hiV9MbODBp66LBi4unSb78ZVedHzvWVd8f\nfhiGD0/aquS54AI3svrcc91kg7/7Xb7mhmopJ5zg+uQ+8xnnkv3d7zrnkLbO0KGuf+XKK92y2V/5\nimsqzCt+bjGPx+PxNImfW8zj8Xg8iePFxePxeDyh48XF4/F4PKHjxcXj8Xg8oePFxePxeDyh48XF\n4/F4PKHjxcXj8Xg8oePFxePxeDyh48XF4/F4PKHjxcXj8Xg8oePFxePxeDyh48XF4/F4PKHjxcXj\n8Xg8oePFxePxeDyh48XF4/F4PKHjxcXj8Xg8oROpuEgaJ2mOpPmSrq1wTq2kqZJmSKor2n+1pOnB\n/quL9h8h6XlJ0yRNkLRPSXgDJb0lKcdrvHk8Hk+6iUxcJNUANwHjgJHApZJGlJzTA/glcK6ZjQIu\nCvaPAj4NvBc4AjhH0sHBZb8FrjGz0cCDwNdLov4J8NdIbioD1NXVJW1CpOT5/vJ8b+Dvr60RZc3l\nGGCBmdWb2XbgHuC8knMuA+43s+UAZrY22H8o8KKZvWNmO4FngA8Fx4aZ2aRg++/AhYXAJJ0PLAJm\nRXFDWSDvD3ie7y/P9wb+/toaUYpLP2BZ0e/lwb5ihgE9JT0tabKkjwX7ZwAnSeopqTPwAaB/cGym\npIJIXQwMAJDUFbgGGB/6nXg8Ho+nWbSPMGyr4pwOwFHA6UBn4HlJL5jZHEk/BJ4A3gamAruCaz4J\n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\nRK5CYII=\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x621f850>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,title,xlabel,ylabel\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "rB = 1.0 #bulk resistance (in ohm)\n",
+ "V = 10 * 10**-3 #Signal Amplitude (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Case (a)\n",
+ "\n",
+ "R = 20.0 #Resitance (in kilo-ohm)\n",
+ "Vg = 20.0 #Source voltage (in volts)\n",
+ "I = (Vg - 0.7)/R #Current (in milli-Ampere) \n",
+ "\n",
+ "#Case (b)\n",
+ "\n",
+ "rj = 50.0 #junction resistance (in ohm)\n",
+ "re = rB + rj #a.c. resistance (n ohm)\n",
+ "rnet = re * (R*10**3)/(re + (R*10**3)) #Net resistance (in ohm)\n",
+ "V1 = V * re/(re + 1000) #Voltage drop across 51 ohm resitance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current in dc circuit is \",round(I),\" mA.\\na.c voltage drop across 51 ohm resistance is \",round(V1*10**3,3),\" mV.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(-4*math.pi,4*math.pi,500)\n",
+ "y = numpy.sin(x)\n",
+ "plot(x,0.7 + 0.48*10**-3*y)\n",
+ "title(\"Total Voltage 'V' across the diode\")\n",
+ "xlabel(\"t(in seconds)->\")\n",
+ "ylabel(\"Voltage(in volts)->\")"
+ ]
+ }
+ ],
+ "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.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter13_5.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter13_5.ipynb
new file mode 100644
index 00000000..656038ce
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter13_5.ipynb
@@ -0,0 +1,517 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:009fe668b9057f65f54dfdc4cba32c9ea1a6223a163ceb7443a11c41aea3d366"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 13 , Special Purpose Diodes and Opto-Electornic Devices"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.1 , Page Number 253"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "PZM = 500 #Power rating of zener diode (in milli-watt)\n",
+ "VZ = 6.8 #Zener voltage rating (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IZM = PZM / VZ #Maximum value of zener current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"THe value of IZM for the device is \",round(IZM,1),\" mA.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "THe value of IZM for the device is 73.5 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.2 , Page Number 253"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "PZM = 500 #Power rating of zener diode (in milli-watt)\n",
+ "df = 3.33 #derating factor (in milli-watt)\n",
+ "T1 = 75 #Temperature (in degree Celsius)\n",
+ "T2 = 50 #Temperature (in degree Celsius)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Tdf = df * (T1 - T2) #Total derating factor (in milli-watt)\n",
+ "PZ = PZM - Tdf #Maximimum power dissipating for the device (in milli-watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The maximum power dissipation for the device is \",PZ,\" mW.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum power dissipation for the device is 416.75 mW.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.3 , Page Number 254"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IZ1 = 20 #Reverse current (in milli-Ampere)\n",
+ "IZ2 = 30 #Reverse current (in milli-Ampere)\n",
+ "VZ1 = 5.6 #Zener voltage (in volts)\n",
+ "VZ2 = 5.65 #Zener voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "dIZ = IZ2 - IZ1 #Change in reverse current (in milli-Ampere)\n",
+ "dVZ = VZ2 - VZ1 #Change in zener voltage (in volts)\n",
+ "rZ = dVZ / (dIZ * 10**-3) #Resistance of device (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Resistance of the zener diode is \",rZ,\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resistance of the zener diode is 5.0 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.4 , Page Number 254"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VZ = 4.7 #Zener voltage (in volts)\n",
+ "rZ = 15 #Resistance (in ohm)\n",
+ "IZ = 20 * 10**-3 #Current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VZ1 = VZ + IZ * rZ #Terminal voltage of a zener diode (in volts)\n",
+ " \n",
+ "#Result\n",
+ "\n",
+ "print \"Terminal voltage of the zener diode is \",VZ1,\" V.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Terminal voltage of the zener diode is 5.0 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.5 , Page Number 262"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "C1min = C2min = Cmin = 5 #Minimum capacitance (in pico-farad)\n",
+ "C1max = C2max = Cmax = 50 #Maximum capacitance (in pico-farad)\n",
+ "L = 10 #Inductance (in milli-Henry)\n",
+ " \n",
+ "#Calculation\n",
+ "\n",
+ "CTmin = C1min * C2min / (C1min + C2min) #Total minimum capacitance (in pico-farad)\n",
+ "CTmin = CTmin * 10**-12 #Total minimum capacitance (in farad)\n",
+ "L = 10 * 10**-3 #Inductance (in Henry)\n",
+ "f0max = 1/(2*math.pi*(L*CTmin)**0.5) #Maximun resonant frequency (in Hertz)\n",
+ "CTmax = C1max * C2max / (C1max + C2max) #Total maximum capacitance (in pico-farad)\n",
+ "CTmax = CTmax * 10**-12 #Total minimum capacitance (in farad)\n",
+ "f0min = 1/(2*math.pi*(L*CTmax)**0.5) #Minimum resonant frequency (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Tuning range for the circuit is between \",round(f0min * 10**-3),\" kHz and \",round(f0max * 10**-6,0),\" MHz.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Tuning range for the circuit is between 318.0 kHz and 1.0 MHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.6 , Page Number 266"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "T = 0.04 * 10**-6 #Time period (in seconds)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "f = 1/T #Frequency (in Hertz)\n",
+ "f = f * 10**-6 #Frequency (in Mega-Hertz)\n",
+ "f5 = 5 * f #%th - harmonic (in Mega-Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Frequency of 5th harmonic is \",f5,\" MHz.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frequency of 5th harmonic is 125.0 MHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.7 , Page Number 270"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vout = 8.0 #Output voltage (in volts)\n",
+ "VFmin = 1.8 #LED min voltage (in volts)\n",
+ "VFmax = 2.0 #LED max voltage (in volts)\n",
+ "IFmax = 16 * 10**-3 #Maximum current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RS = (Vout - VFmin) / IFmax #Current limiting Resistor (in ohm)\n",
+ "RS1 = (Vout - VFmax) / IFmax #Current limiting Resistor 1 (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"In either case , the smallest standard-value resistor that has a value greater than \",RS, \" ohm or \",RS1,\" ohm is the 390 ohm resistor.\\nTherefore Rs should be 390 ohm.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "In either case , the smallest standard-value resistor that has a value greater than 387.5 ohm or 375.0 ohm is the 390 ohm resistor.\n",
+ "Therefore Rs should be 390 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.8 , Page Number 271"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VDmin = 1.5 #minimum voltage drop (in volts)\n",
+ "VDmax = 2.3 #maximum voltage drop (in volts)\n",
+ "VS = 10 #Source voltage (in volts)\n",
+ "R1 = 470 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Imax = (VS - VDmin) / R1 #Maximum current (in Ampere)\n",
+ "Imin = (VS - VDmax) / R1 #Minimum current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Minimum value of LED current is \",round(Imin * 10**3,1),\" mA.\\nMaximum value of LED current is \",round(Imax * 10**3,1),\" mA.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Minimum value of LED current is 16.4 mA.\n",
+ "Maximum value of LED current is 18.1 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.9 , Page Number 271"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VDmin = 1.8 #minimum voltage drop (in volts)\n",
+ "VDmax = 3.0 #maximum voltage drop (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Case 1\n",
+ "\n",
+ "VS = 24.0 #Source voltage (in volts)\n",
+ "RS = 820.0 #Resistance (in ohm)\n",
+ "Imax = (VS - VDmin) / RS #Maximum current (in Ampere)\n",
+ "Imin = (VS - VDmax) / RS #Minimum current (in Ampere)\n",
+ "dI = Imax - Imin #Change in current (in Ampere)\n",
+ "\n",
+ "#Case 2\n",
+ "\n",
+ "VS1 = 5.0 #Source voltage (in volts)\n",
+ "RS1 = 120.0 #Resistance (in ohm)\n",
+ "Imax1 = (VS1 - VDmin) / RS1 #Maximum current (in Ampere)\n",
+ "Imin1 = (VS1 - VDmax) / RS1 #Minimum current (in Ampere)\n",
+ "dI1= Imax1 - Imin1 #Change in current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Since change in current in case 1 i.e\",round(dI*10**3,2),\"mA is less than change in current in case 2 i,e,\",round(dI1* 10**3,2),\" mA.\" \n",
+ "print \"Therefore brightness in the first case will remain constant.\"\n",
+ "\n",
+ "#printing mistake in book for value of VDmin. It should be 1.8 volts instead of 1.1 volts."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Since change in current in case 1 i.e 1.46 mA is less than change in current in case 2 i,e, 10.0 mA.\n",
+ "Therefore brightness in the first case will remain constant.\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.10 , Page Number 281"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 100.0 * 10**3 #Resistance when illuminated (in ohm)\n",
+ "r = 1.0 * 10**3 #cell resistance (in ohm)\n",
+ "I = 10.0 * 10**-3 #Current (in Ampere)\n",
+ "VS = 30 #Source voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R = VS/I - r #R is the series resitance (in ohm)\n",
+ "Id = VS / (R + R1) #Dark current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Ther series resistance required is \",R/1000,\" kilo-ohm.\\nThe dark current is \",round(Id * 10**3,1),\" A.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Ther series resistance required is 2.0 kilo-ohm.\n",
+ "The dark current is 0.3 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.11 , Page Number 284"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V = 12.0 #Battery voltage (in volts)\n",
+ "I = 0.5 #Current (in Ampere)\n",
+ "T = 24 #Time period (in hours)\n",
+ "V1 = 0.5 #Voltage by each cell (in volts)\n",
+ "I1 = 50 * 10**-3 #Current in each cell (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VS = 13.5 #Solar bank voltage (in volts)\n",
+ "n = VS / V1 #Number of series connected solar cells \n",
+ "Q = T/2 * I #Charge given out in one day (in Ampere-Hour)\n",
+ "I2 = Q / (T/2) #Charging current (in Ampere)\n",
+ "N = I2/I1 #Number of groups of solar cell required \n",
+ "nT = n * N #Total number of solar cells required \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Total cells required is \",nT,\".\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Total cells required is 270.0 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter14_5.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter14_5.ipynb
new file mode 100644
index 00000000..5b0c9312
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter14_5.ipynb
@@ -0,0 +1,586 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:2230f558abad311ac9e2b809ce74f917fbf18727096bb922bf424293f0d38ca4"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 14 , Bipolar Junction Transistor"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.1 , Page Number 308"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IE = 10 #Emitter current (in milli-Ampere)\n",
+ "IC = 9.8 #Collector current (in milli-Ampere) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = IE - IC #Base current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Base current is \",IB,\" mA.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Base current is 0.2 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.2 , Page Number 310"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IE = 6.28 #Emitter current (in milli-Ampere)\n",
+ "IC = 6.20 #Collector current (in milli-Ampere) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "alpha = IC / IE #Common base current gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Common-Base current gain is \",round(alpha,3),\".\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Common-Base current gain is 0.987 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.3 , Page Number 310"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "alpha = 0.967 #common base current gain\n",
+ "IE = 10 #Emitter current (in milli-Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = alpha * IE #Collector current (in milli-Ampere)\n",
+ "IB = IE - IC #Base current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Base current is \",IB,\" mA.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Base current is 0.33 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.4 , Page Number 311"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IE = 10 #Emitter current (in milli-Ampere)\n",
+ "alpha = 0.987 #common base current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = alpha * IE #Collector current (in milli-Ampere)\n",
+ "IB = IE - IC #Base current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"IC is \",IC,\" mA.\\nIB is \",IB,\" mA.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "IC is 9.87 mA.\n",
+ "IB is 0.13 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.5 , Page Number 312"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "alpha1 = 0.975 #common base current gain\n",
+ "beta1 = 200.0 #common emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "beta = alpha1 / (1-alpha1) #common emitter current gain \n",
+ "alpha = beta1 / (beta1 + 1) #common base current gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of beta when alpha = 0.975 is \",beta,\".\\nValue of alpha when beta = 200 is \",round(alpha,3),\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of beta when alpha = 0.975 is 39.0 .\n",
+ "Value of alpha when beta = 200 is 0.995 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.6 , Page Number 313"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "beta = 100.0 #common emitter current gain\n",
+ "IC = 40.0 #Collector current (in milli-Ampere) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = IC / beta #Base current (in milli-Ampere)\n",
+ "IE = IB + IC #Emitter current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of emitter current is \",IE,\" mA.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of emitter current is 40.4 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.7 , Page Number 313"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "beta = 150.0 #common emitter current gain\n",
+ "IE = 10 #Emitter current (in milli-Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "alpha = beta / (beta + 1) #common base current gain \n",
+ "IC = alpha * IE #Collector current (in milli-Ampere)\n",
+ "IB = IE - IC #Base current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Collector current is \",round(IC,2),\" mA.\\nBase current is \",round(IB,2),\" mA.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Collector current is 9.93 mA.\n",
+ "Base current is 0.07 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.8 , Page Number 313"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "beta = 170.0 #common emitter current gain\n",
+ "IC = 80.0 #Collector current (in milli-Ampere) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = IC / beta #Base current (in milli-Ampere)\n",
+ "IE = IB + IC #Emitter current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Base current is \",round(IB,2),\" mA.\\nEmitter current is \",round(IE,2),\" mA.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Base current is 0.47 mA.\n",
+ "Emitter current is 80.47 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.9 , Page Number 314"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IB = 0.125 #Base current (in milli-Ampere)\n",
+ "beta = 200.0 #common emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = IB * beta #Collector current (in milli-Ampere)\n",
+ "IE = IC + IB #Emitter current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of collector current is \",IC,\" mA.\\nValue of emitter current is \",IE,\" mA.\"\n",
+ "\n",
+ "#Correction in book . The Value of IB is 0.125 mA."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of collector current is 25.0 mA.\n",
+ "Value of emitter current is 25.125 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.10 , Page Number 314"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IE = 12.0 #Emitter current (in milli-Ampere)\n",
+ "beta = 140.0 #common emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = IE / (1 + beta) #Base current (in milli-Ampere)\n",
+ "IC = IE - IB #Collector current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Collector current is \",round(IC,3),\" mA.\\nBase current is \",round(IB,3),\" mA.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Collector current is 11.915 mA.\n",
+ "Base current is 0.085 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.11 , Page Number 314"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IB = 105 * 10**-3 #Base current (in milli-Ampere)\n",
+ "IC = 2.05 #Collector current (in milli-Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "beta = IC / IB #Common base current gain\n",
+ "alpha = beta / (1 + beta) #Common emitter current gain\n",
+ "IE = IB + IC #Emitter current (in milli-Ampere)\n",
+ "IC1 = IC + 0.65 #New collector current (in milli-Ampere)\n",
+ "IB1 = IB + 27 * 10**-3 #New base current (in milli-Ampere) \n",
+ "beta1 = IC1 / IB1 #New value of beta\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Beta of the transistor is \",round(beta,1),\".\\nalpha of the transistor is \",round(alpha,2),\".\\nEmitter current is \",IE,\" mA.\\nNew value of beta is \",round(beta1,2),\".\"\n",
+ "\n",
+ "#Correction to be done in book in value of IB . IB is in micro - Ampere in both initial and in the changed condition. In calculation proper conversion has been done."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Beta of the transistor is 19.5 .\n",
+ "alpha of the transistor is 0.95 .\n",
+ "Emitter current is 2.155 mA.\n",
+ "New value of beta is 20.45 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.12 , Page Number 317"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "alpha = 0.98 #common base current gain\n",
+ "ICO = 5 * 10**-3 #Leakage current (in milli-Ampere)\n",
+ "IB = 100 * 10**-3 #Base current (in milli-Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = (alpha * IB + ICO)/ (1 - alpha) #Collector current (in milli-Ampere)\n",
+ "IE = IC + IB #Emitter current (in milli-Ampere) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of collector current is \",IC,\" mA.\\nValue of emitter current is \",IE,\" mA.\"\n",
+ "\n",
+ "#Correction about conversion of micro-Ampere and milli-Ampere to be done in the book."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of collector current is 5.15 mA.\n",
+ "Value of emitter current is 5.25 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.13 , Page Number 318"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "ICBO = 10 * 10**-3 #Leakage current (in milli-Ampere)\n",
+ "beta = hFE = 50 #common emitter current gain\n",
+ "T2 = 50.0 #Temperature (in degree Celsius) \n",
+ "T1 = 27.0 #Temperature (in degree Celsius)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Case (a)\n",
+ "\n",
+ "IB = 0.25 #Base current (in milli-Ampere)\n",
+ "IC = beta * IB + (1 + beta)* ICBO #Value of new collector current (in milli-Ampere)\n",
+ "\n",
+ "#Case (b)\n",
+ "\n",
+ "ICBO1 = ICBO * 2**((T2 - T1)/10) #ICBO at 50 degree celsius (in milli-Ampere)\n",
+ "IC1 = beta * IB + (1 + beta)* ICBO1 #Value of new collector current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Collector current when IB = 0.25 mA is \",IC,\" mA.\\nCollector current at 50 degree Celsius is \",round(IC1,2),\" mA.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Collector current when IB = 0.25 mA is 13.01 mA.\n",
+ "Collector current at 50 degree Celsius is 15.01 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter15_5.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter15_5.ipynb
new file mode 100644
index 00000000..a76f6609
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter15_5.ipynb
@@ -0,0 +1,64 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:934b9f1a90e136e295951deeff35be6457078af8181c0ad14c05c8c2d9b3abed"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 15 , BJT Characteristics "
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.1 , Page Number 331"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "PDmax = 500 #Maximum Power dissipation at 25 degree Celsius (in milli-watt)\n",
+ "DF = 2.28 #derating factor (in milli-watt per degree Celsius)\n",
+ "T = 70 #Temperaure (in degree Celsius)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "PDmax70 = PDmax - DF * (T - 25) #Maximum Power dissipation at 70 degree Celsius (in milli-watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum power dissipation at 70 degree Celsius is \",round(PDmax70),\" mW.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum power dissipation at 70 degree Celsius is 397.0 mW.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter16_5.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter16_5.ipynb
new file mode 100644
index 00000000..7e5edce2
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter16_5.ipynb
@@ -0,0 +1,374 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 16 , Field-Effect Transistor"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 16.1 , Page Number 350"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Drain current when VGS = 0 V is 15.0 mA.\n",
+ "Drain Current when VGS = -1 V is 9.6 mA.\n",
+ "Drain Current when VGS = -4 V is 0.6 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ " \n",
+ "IDSS = 15.0 #Drain-Source current (in milli-Ampere)\n",
+ "VGSoff = -5.0 #Gate-Source voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#When VGS = 0 volts\n",
+ "VGS1 = 0 #VGS (in volts)\n",
+ "ID1 = IDSS * (1 - (VGS1 /VGSoff)**2) #Drain current (in milli-Ampere)\n",
+ "\n",
+ "#When VGS = -1 volt\n",
+ "VGS2 = -1 #VGS (in volts)\n",
+ "ID2 = IDSS * (1 - VGS2 /VGSoff)**2 #Drain current (in milli-Ampere)\n",
+ "\n",
+ "#When VGS = -4 volt\n",
+ "VGS3 = -4 #VGS (in volts) \n",
+ "ID3 = IDSS * (1 - VGS3 /VGSoff)**2 #Drain current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Drain current when VGS = 0 V is \",ID1,\" mA.\\nDrain Current when VGS = -1 V is \",ID2,\" mA.\\nDrain Current when VGS = -4 V is \",ID3,\" mA.\" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 16.2 , Page Number 350"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Drain current when VGS = 0 V is 6.75 mA.\n",
+ "Drain Current when VGS = -1 V is 3.0 mA.\n",
+ "Drain Current when VGS = -4 V is 0.75 mA.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x6113d50>"
+ ]
+ },
+ "execution_count": 1,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x26d0af0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,title,xlabel,ylabel\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VGSoff = -20.0 #Gate-Source voltage (in volts)\n",
+ "IDSS = 12.0 #Drain-Source current (in milli-Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#When VGS = -5 V \n",
+ "VGS1 = -5 #VGS (in volts)\n",
+ "ID1 = IDSS * (1 - VGS1/VGSoff)**2 #Drain current (in milli-Ampere)\n",
+ "\n",
+ "#When VGS = -10 V\n",
+ "VGS2 = -10 #VGS (in volts)\n",
+ "ID2 = IDSS * (1 - VGS2/VGSoff)**2 #Drain current (in milli-Ampere)\n",
+ "\n",
+ "#When VGS = -15 V\n",
+ "VGS3 = -15 #VGS (in volts)\n",
+ "ID3 = IDSS * (1 - VGS3/VGSoff)**2 #Drain current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Drain current when VGS = 0 V is \",ID1,\" mA.\\nDrain Current when VGS = -1 V is \",ID2,\" mA.\\nDrain Current when VGS = -4 V is \",ID3,\" mA.\" \n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(-20,0,100)\n",
+ "y = x\n",
+ "plot(x,12*(1+y/20)**2,'r')\n",
+ "title(\"transconductance curve\")\n",
+ "xlabel(\"Gate-to-Source voltage VGS (V)\")\n",
+ "ylabel(\"Drain current ID(mA)\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 16.3 , Page Number 351"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum curve and minimum curves are plotted as shown in the following plots.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Annotation at 0x6249bd0>"
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n4/znR7ZdAyx19++b2dXh+jUxjlVSevfuTf/+/QHo378/p59+OgDHHXccdXV1ALz//vtMmjSJl156\nCTNj165dQPAWbt68eQwYMIBLL72U4cOH73N8M2vIlI877jgOOeSQRuerq6vj+OOPbza+OO1POOGE\nhv03bdpEr169GDx4MND4HURzOnTowPjx4xuWR48ezaOPPsr48eP51a9+xezZs1m2bBnPP/88I0aM\nAGDnzp0Ny3mn2r0UoVY7fXevbO/B3f0pM2va/gvAKeHyPUANZdjp77fffg3LFRUVdOrUqWF59+7d\nAFx//fWcdtppLFq0iFdffZXq6uqGNi+++CJdu3blr3/9a7PniB6z6flS57BICWL79u1tbt+ajh07\nUl9f37D+0UcfNSzvv//+jc5//vnnM2fOHA4++GCGDh1K586dATjjjDO47777Yp0vJ1S7lyIWZxqG\nzmZ2fTiCBzM7yszGZHDOnu6+OVzeDPTM4Fgl7YMPPuDTYfZ49913N2z/29/+xhVXXMFTTz3Fu+++\ny4MPPgiQKo21Sc+ePXnhhReor69n0aJFjTrhtjjmmGN44403WLVqFQBbt25lz549VFZWUltbi7vz\n2muvsWLFimaPccopp7BmzRruvPNOzj//fABOOukkli9fzssvvwzAtm3b+OMf/9iuGLNCtXspcnHK\nO3cTzK2fek/9OrAQeCzTk7sHdd10z82cObNhubq6ulGWWwqadq7R9dTyVVddxeTJk7nppps466yz\nGrZfeeWVTJ06lSOPPJK77rqLUaNGMXLkSMws7XHSnS/l5ptvZsyYMfTo0YMhQ4Y0+pC0pfZN1zt1\n6sSCBQuYNm0a27dv58ADD+R3v/sdVVVV9O7dm379+nHsscc2lH/SHaOiooIxY8Zwzz33MH9+UBHs\n0aMH8+bNY+LEiezYsQOAWbNmcdRRR6W9nsQou5cCVFNTQ01NTZvaxBmyudrdB5vZWnc/Mdy2zt1P\naLHh3vaVwGJ3HxCuvwBUu/ubZtYLWObufZu08fZkrSKJiNbu585V7V4KVraGbO4wswMiB+0D7Mgg\nrkeByeHyZODhDI4lkhzNiCklKE55ZybwG+AwM7sPqCIY0dMqM/sFwYe2nzSz14AbgJuB+83sYqAO\nmND8EUTyRCNzpES1WN4xswrgXOBx4ORw87Pu/naiQam8I/mi2r0UsTjlndg1/axG1gp1+pIXqt1L\n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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x61c3fd0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,title,xlabel,ylabel,annotate\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VGSoffmin = -2.0 #Gate-Source voltage (in volts)\n",
+ "VGSoffmax = -6.0 #Gate-Source voltage (in volts)\n",
+ "IDSSmin = 8.0 #Drain-Source current (in milli-Ampere)\n",
+ "IDSSmax = 20 #Drain-Source current (in milli-Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#ID = IDSS * (1 - VGS/VGSoff)**2 #Drain current (in milli-Ampere)\n",
+ "\n",
+ "#Plotting different values of VGS in the graph\n",
+ "\n",
+ "#Result\n",
+ "print \"The maximum curve and minimum curves are plotted as shown in the following plots.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x1 = numpy.linspace(-2,0,2)\n",
+ "y1 = x1\n",
+ "plot(x1,8 * (1 + y1/2)**2)\n",
+ "x2 = numpy.linspace(-6,0,2)\n",
+ "y2 = x2\n",
+ "plot(x2,20 * (1 + y2/6)**2,'r')\n",
+ "title(\"VGs vs ID\")\n",
+ "xlabel(\"Gate-to-Source voltage (VGS)\")\n",
+ "ylabel(\"Drain current ID (mA)\")\n",
+ "annotate(\"maximum curve\",xy=(-5,10))\n",
+ "annotate(\"minimum curve\",xy=(-2.5,5))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 16.4 , Page Number 356"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of transconductance is 3.0 mA/V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VGS1 = -3.1 #Gate-Source voltage (in volts)\n",
+ "VGS2 = -3.0 #Gate-Source voltage (in volts)\n",
+ "ID1 = 1.0 #Drain current (in milli-Ampere) \n",
+ "ID2 = 1.3 #Drain current (in milli-Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "dVGS = VGS2 - VGS1 #Change in Gate-Source voltage (in volts)\n",
+ "dID = ID2 - ID1 #Change in Drain current (in milli-Ampere)\n",
+ "gm = dID / dVGS #Transconductance (in milli-Ampere per volt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of transconductance is \",gm,\" mA/V.\"\n",
+ "\n",
+ "#Calculation error in book in the value of gm."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 16.5 , Page Number 357"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of transconductance at VGS = -4 V is 2500.0 micro-S.\n",
+ "The value of drain current at VGs = -4 V is 5.0 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "IDSS = 20.0 #Drain-Source current (in milli-Ampere)\n",
+ "VP = -8.0 #Peak-point Voltage (in volts)\n",
+ "VGS = -4.0 #Gate-Source voltage (in volts)\n",
+ "gmo = 5000 * 10**-3 #Transconductance (in milli-Ampere per volt)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ID = IDSS * (1 - VGS/VP)**2 #Drain current (in milli-Ampere)\n",
+ "gm = gmo * (1 - VGS/VP) #Transconductance (in milli-Ampere per volt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of transconductance at VGS = -4 V is \",gm * 10**3,\" micro-S.\\nThe value of drain current at VGs = -4 V is \",ID,\" mA.\" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 16.6 , Page Number 363"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Since the value of VGS is negative for the enhancement-type MOSFET ,this indicated that device is P-channel.\n",
+ "The value of ID when VGS = -6 V is 1.08 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IDon = 10.0 #Drain current (in milli-Ampere)\n",
+ "VGS = -12.0 #Gate-Source voltage (in volts)\n",
+ "VGSth = -3.0 #Threshold Gate-Source voltage (in volts)\n",
+ "VGS1 = -6.0 #Gate-Source voltage in another case (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "K = IDon/(VGS - VGSth)**2 #Transconductance (milli-Ampere per volt)\n",
+ "ID = round(K,2) * (VGS1 - VGSth)**2 #Drain current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Since the value of VGS is negative for the enhancement-type MOSFET ,this indicated that device is P-channel.\"\n",
+ "print \"The value of ID when VGS = -6 V is \",ID,\" mA.\""
+ ]
+ }
+ ],
+ "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.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter17_5.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter17_5.ipynb
new file mode 100644
index 00000000..af280168
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter17_5.ipynb
@@ -0,0 +1,232 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:3cb8b8fdc520e3f251797ccdf611bc794aa673624b9c79bd4319b62d207fbf87"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 17 , Thyristors"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.1 , Page Number 379"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "I = 40 #Current (in milli-Ampere)\n",
+ "t = 15 * 10**-3 #time (in seconds)\n",
+ "CFS = 93 #Circuit fusing rate (in Ampere-square second)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "SCR = I**2 * t #Surge in the device (in Ampere-square second) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Since value of SCR i.e. \",SCR,\" A**2s is less than CFS i.e. \",CFS,\" A**2s.\"\n",
+ "print \"Therefore the device will not be destroyed.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Since value of SCR i.e. 24.0 A**2s is less than CFS i.e. 93 A**2s.\n",
+ "Therefore the device will not be destroyed.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.2 , Page Number 379"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "SCR = I2t = 75.0 #SCR (in Ampere-square second)\n",
+ "IS = 100.0 #Current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "tmax = I2t / IS**2 #Maximum allowable time (in seconds)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum allowable time is \",tmax * 10**3,\" ms.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum allowable time is 7.5 ms.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.3 , Page Number 385"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VD = 0.7 #Voltage (in volts)\n",
+ "n = 0.75 #Intrinsic stand-off ratio\n",
+ "VBB = 12 #Base Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VP = n * VBB + VD #Peak-point voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Peak - point voltage of the circuit is \",VP,\" V.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Peak - point voltage of the circuit is 9.7 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.4 , Page Number 385"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "rB1 = 4.0 #Resistance (in kilo-ohm)\n",
+ "rB2 = 2.5 #Resistance (in kilo-ohm)\n",
+ "VBB = 15.0 #Base voltage (in volts)\n",
+ "VD = 0.7 #Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "n = rB1 / (rB1 + rB2) #Intrinsic stand-off ratio\n",
+ "VP = n * VBB + VD #Peak-point voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Intrinsic stand off ratio is \",round(n,4),\".\\nPeak-point voltage is \",round(VP), \"V.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Intrinsic stand off ratio is 0.6154 .\n",
+ "Peak-point voltage is 10.0 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.5 , Page Number 385"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "n = 0.60 #Intrinsic stand-off ratio\n",
+ "rBB = 7.0 #Base- Bulk resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "rB1 = n * rBB #Resistance (in ohm)\n",
+ "rB2 = rBB - rB1 #Resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Static values of rB1 is \",rB1,\" kilo-ohm and of rB2 is \",rB2,\" kilo-ohm.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Static values of rB1 is 4.2 kilo-ohm and of rB2 is 2.8 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter19_5.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter19_5.ipynb
new file mode 100644
index 00000000..b30b4176
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter19_5.ipynb
@@ -0,0 +1,631 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:398dcff950c67b00555f24b637405121303e07cac0f80c5eade231735344738f"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 19 , Rectifiers and Filters"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.1 , Page Number 430"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V1 = 230.0 #Primary voltage (in volts)\n",
+ "N2byN1 = 1.0/10 #Turns ratio\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "V2 = V1 * N2byN1 #Secondary voltage (in ratio)\n",
+ "Vm = 2**0.5 * V2 #Maximum value of secondary voltage (in volts)\n",
+ "Vdc = 0.318 * Vm #dc output voltage (in volts)\n",
+ "PIV = Vm #Peak inverse voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"dc output voltage is \",round(Vdc,1),\" V.\\nPIV of the diode is \",round(PIV,1),\" V.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "dc output voltage is 10.3 V.\n",
+ "PIV of the diode is 32.5 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.2 , Page Number 431"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RL = 20 #Load resistance (in kilo-ohm)\n",
+ "V2 = 24 #Secondary voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vm = 2**0.5 * V2 #Maximum value of secondary voltage (in volts)\n",
+ "Im = Vm / RL #Maximumj value of load current (in milli-Ampere)\n",
+ "Idc = 0.318 * Im #dc current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of dc load current is \",round(Idc,3),\" mA.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of dc load current is 0.54 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.3 , Page Number 431"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V1 = 230 #Primary voltage (in volts)\n",
+ "N2byN1 = 1.0/2.0 #Turns ratio\n",
+ "RL = 200 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "V2 = V1 * N2byN1 #Secondary voltage (in volts)\n",
+ "Vm = 2**0.5 * V2 #Maximum value of secondary voltage (in volts)\n",
+ "Im = Vm / RL #Maximum value of load current (in Ampere)\n",
+ "Pm = Im**2 * RL #Maximum value of load power (in watt)\n",
+ "Vdc = 0.318 * Vm #Average value of load power (in watt)\n",
+ "Idc = Vdc / RL #Average value of load current (in Ampere)\n",
+ "Pdc = Idc**2 * RL #Average value of load power (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum value of load power is \",round(Pm,1),\" W.\"\n",
+ "print \"Average value of load power is \",round(Pdc,1),\" W.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum value of load power is 132.3 W.\n",
+ "Average value of load power is 13.4 W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.4 , Page Number 432"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vdc = 30.0 #Average value of voltage (in volts)\n",
+ "RL = 600.0 #Load resistance (in ohm)\n",
+ "Rf = 25.0 #forward resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Idc = Vdc / RL #Average value of load current (in Ampere)\n",
+ "Im = round(math.pi * Idc,3) #Maximum value of load current (in Ampere) \n",
+ "Vinmax = Im * (Rf + RL) #Maximum a.c. voltage required at the input (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum a.c. voltage required at the input is \",Vinmax,\" V.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum a.c. voltage required at the input is 98.125 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.5 , Page Number 436"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V2 = 30.0 #secondary voltage (in volts)\n",
+ "RL = 5.1 #Load resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VS = V2 / 2 #Voltage between center - tap and either end of secondary winding (in volts)\n",
+ "Vm = 2**0.5 * VS #maximum value of voltage (in volts)\n",
+ "Vdc = 0.636 * Vm #dc output voltage (in volts)\n",
+ "Idc = Vdc / RL #dc load current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The dc output voltage is \",round(Vdc,1),\" V.\\nThe dc output current is \",round(Idc,3),\" mA.\" \n",
+ "\n",
+ "#Slight variation in value of Idc due to less precision used in book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The dc output voltage is 13.5 V.\n",
+ "The dc output current is 2.645 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.6 , Page Number 440"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V1 = 230.0 #primary voltage (in volts)\n",
+ "N2byN1 = 1.0/4.0 #Turns ratio\n",
+ "RL = 200 #Load resistance (in ohm)\n",
+ "fin = 50 #Frequency (in hertz)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "V2 = V1 * N2byN1 #Secondary voltage (in volts)\n",
+ "Vm = 2**0.5 * V2 #Maximum value of voltage (in volts)\n",
+ "Vdc = 0.636 * Vm #Average value of voltage (in volts)\n",
+ "PIV = Vm #peak inverse voltage (in volts)\n",
+ "fout = 2 * fin #Output frequency (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The dc output voltage is \",round(Vdc,1),\" V.\\nPeak inverse Voltage of a diode is \",round(PIV,1),\" V.\\nOutput frequency is \",fout,\" HZ.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The dc output voltage is 51.7 V.\n",
+ "Peak inverse Voltage of a diode is 81.3 V.\n",
+ "Output frequency is 100 HZ.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.7 , Page Number 444"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V1 = 230.0 #primary voltage (in volts)\n",
+ "N2byN1 = 1.0/5.0 #Turns ratio\n",
+ "RL = 100 #Load resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "V2 = V1 * N2byN1 #Secondary voltage (in volts)\n",
+ "VS = V2 / 2 #Voltage between center - tap and either end of secondary winding (in volts)\n",
+ "Vm = 2**0.5 * VS #Maximum value of voltage (in volts)\n",
+ "Vdc = 2/math.pi * Vm #Averaage value of Voltage (in volts)\n",
+ "PIV = 2 * Vm #Peak inverse voltage (in volts)\n",
+ "n = 0.812 #Efficiency of full wave rectifier\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The dc output voltage is \",round(Vdc,1),\" V.\\nPeak inverse voltage is \",round(PIV),\" V.\\nRectification efficiency is \",n,\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The dc output voltage is 20.7 V.\n",
+ "Peak inverse voltage is 65.0 V.\n",
+ "Rectification efficiency is 0.812 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.8 , Page Number 445"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 200 #Voltage between center - tap and either end of secondary winding (in volts)\n",
+ "Imax = 700 #Maximum value of current (in milli-Ampere)\n",
+ "Iavg = 250 #Average value of current (in milli-Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Imax1 = 0.8 * Imax #Maximum value of current for normal operation (in milli-Ampere)\n",
+ "Vm = 2**0.5 * VS #Maximum value of voltage (in volts)\n",
+ "RL = Vm / Imax1 #Load resistance (in kilo-ohm)\n",
+ "Vdc = 2 * Vm / math.pi #Average value of voltage (in volts)\n",
+ "Idc = Vdc / RL #Average value of current (in milli-Ampere)\n",
+ "PIV = 2 * Vm #peak Inverse voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of load resistor is \",round(RL,3), \"kilo-ohm.\\nThe dc load voltage and current is \",round(Vdc),\" V and \",Idc,\" mA.\\nPeak inverse voltage is \",round(PIV,2),\" V.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of load resistor is 0.505 kilo-ohm.\n",
+ "The dc load voltage and current is 180.0 V and 356.507072526 mA.\n",
+ "Peak inverse voltage is 565.69 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.9 , Page Number 449"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vs = 150.0 #Voltage (in volts)\n",
+ "Idc = 2.0 #Average value of current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vdc = 2.34 * Vs #Average calue of voltage (in volts)\n",
+ "Ipi = 1/0.955 * Idc #Peak current per diode (in Ampere)\n",
+ "Iavg = 2.0/3.0 #Average current per diode (in AMpere)\n",
+ "Pdc = Vdc * Idc #Average power delievered to the load (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of Vdc is \",Vdc,\" V.\\nPeak current through each diode is \",round(Ipi,1),\" A.\\nAverage current through each diode is\",round(Iavg,2),\" A.\\nAverage power delievered to the load is \",Pdc,\" W.\"\n",
+ "\n",
+ "#Calculation error in calculating the value of Pdc in book. It's value is 702 but printed value is 701 watt. "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Vdc is 351.0 V.\n",
+ "Peak current through each diode is 2.1 A.\n",
+ "Average current through each diode is 0.67 A.\n",
+ "Average power delievered to the load is 702.0 W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.10 , Page Number 454"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Case (a):\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "f = 50.0 #Frequency (in Hertz)\n",
+ "g = 0.05 #Ripple factor\n",
+ "RL = 100.0 #Resistance (in ohm)\n",
+ "w = 2 * math.pi * f #Angular frequency (in radians per second) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "L = RL / (3 * 2**0.5 * w * g) #Inductance (in Henry) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of inductance is \",round(L,1),\" H.\"\n",
+ "\n",
+ "#Case (b):\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "f = 400.0 #Frequency (in Hertz)\n",
+ "g = 0.05 #Ripple factor\n",
+ "RL = 100.0 #Resistance (in ohm)\n",
+ "w = 2 * math.pi * f #Angular frequency (in radians per second) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "L = RL / (3 * 2**0.5 * w * g) #Inductance (in Henry) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"New Value of inductance is \",round(L,3),\" H.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of inductance is 1.5 H.\n",
+ "New Value of inductance is 0.188 H.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.11 , Page Number 455"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vdc = 30.0 #Average value of voltage (in volts)\n",
+ "RL = 1.0 #Resistance (in kilo-ohm)\n",
+ "gamma = 0.01 #Ripple factor\n",
+ "f = 50 #Frequency (in Hertz)\n",
+ "#Calculation\n",
+ "\n",
+ "C = 2890.0 / (gamma * RL) #Capacitance (in nano Farad)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of capacitance is \",C * 10**-3,\" micro-Farad.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of capacitance is 289.0 micro-Farad.\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.12 , Page Number 456 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vdc = 12.0 #Average value of voltage (in volts)\n",
+ "Idc = 100.0 #Average value of current (in milli-Ampere) \n",
+ "gamma = 0.01 #Ripple factor\n",
+ "L = 1.0 #Inductance (in Henry) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "C = 1.195 / (gamma * L) #Capacitance\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Capacitance is \",C,\" micro-Farad.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Capacitance is 119.5 micro-Farad.\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.13 , Page Number 457"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Idc = 0.2 #Average value of current (in Ampere)\n",
+ "Vdc = 30.0 #Average value of voltage (in volts)\n",
+ "C1 = C2 = 100.0 #Capacitance (in milli-Farad)\n",
+ "L = 5.0 #Inductance (in Henry)\n",
+ "f = 50.0 #Frequency (in Hertz) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RL = Vdc / Idc #Load resistance (in ohm)\n",
+ "gamma = 5700.0 / (C1 * C2 * RL * L) #Ripple factor\n",
+ " \n",
+ "#Result\n",
+ "\n",
+ "print \"Ripple factor for 50 Hz supply is \",gamma,\".\"\n",
+ "\n",
+ "#Correction to be done in the formula for ripple factor used in the question. \n",
+ "#gamma = 5700 / (c1 * C2 * RL * L) --> right formula."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Ripple factor for 50 Hz supply is 0.00076 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter20_5.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter20_5.ipynb
new file mode 100644
index 00000000..1f38d9f5
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter20_5.ipynb
@@ -0,0 +1,1073 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:3f6f8c6aa40baa220c4ea0b8e7685dc9b0e8f03f18d988b32da3acf61ee85875"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 20 , Regulated Power Supplies"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.1 , Page Number 466"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "dVL = 100.0 * 10**-6 #Change in output voltage (in volts)\n",
+ "dVin = 5.0 #Change in input voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "LR = dVL / dVin #Line regulation (in volt per volt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of line regulation is \",LR * 10**6,\" micro-volt/volt.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of line regulation is 20.0 micro-volt/volt.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.2 , Page Number 466"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "LR = 1.4 #Line regulation (in micro-volt per volt) \n",
+ "dVS = 10 #Change in source voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "dVL = LR * dVS #Change in output voltage (in micro-volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The change in output voltage is \",dVL,\" micro-volt.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The change in output voltage is 14.0 micro-volt.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.3 , Page Number 466"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "dIL = 40.0 #Change in current (in milli-Ampere)\n",
+ "VNL = 8.0 #Voltage under no load (in volts)\n",
+ "VFL = 7.995 #Voltage under full load (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "LR = (VNL - VFL)/ dIL #Line regulation (in milli-volt per milli-Ampere) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Line regulation is \",LR * 10**3,\"mV/mA.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Line regulation is 0.125 mV/mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.4 , Page Number 467"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "LR = 10.0 #Load regulation (in micro-volt per milli-Ampere)\n",
+ "VNL = 5.0 #No load Voltage (in volts)\n",
+ "dIL = 20.0 #Change in current (in milli-Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VFL = VNL - LR * dIL * 10**-6 #Full load Voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Full load Voltage is \",VFL,\" V.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Full load Voltage is 4.9998 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.5 , Page Number 467"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V0 = 10 #Regulated dc supply (in volts)\n",
+ "LR = 0.00002 #Line regulation \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "dV = LR * V0 #Change in output voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Change in output voltage is \",dV * 10**3,\" mV.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Change in output voltage is 0.2 mV.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.6 , Page Number 468"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 30.0 #Source voltage (in volts)\n",
+ "RS = 240.0 #Series resistance (in ohm)\n",
+ "Vz = 12.0 #Zener voltage (in volts)\n",
+ "RL = 500.0 #Load resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VL = Vz #Voltage drop across load (in volts)\n",
+ "IS = (VS - Vz) / RS #Current through RS (in Ampere)\n",
+ "VRS = IS * RS #Voltage drop across series resistance (in volts)\n",
+ "IL = VL / RL #Load current (in Ampere)\n",
+ "IZ = IS - IL #Zener current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Load voltage is \",VL,\" V.\\nVoltage drop across series resistance is \",VRS,\" V.\\nCurrent through Zener diode is \",IZ,\" A.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Load voltage is 12.0 V.\n",
+ "Voltage drop across series resistance is 18.0 V.\n",
+ "Current through Zener diode is 0.051 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.7 , Page Number 470"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VZ = 5.1 #Voltage across zener diode (in volts)\n",
+ "rZ = 10 #Zener diode resistance (in ohm)\n",
+ "IZmin = 1 * 10**-3 #Minimum zener diode current (in Ampere)\n",
+ "IZmax = 15 * 10**-3 #Maximum zener diode current (in Ampere)\n",
+ "RS = 600 #Serier resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VOmin = VZ + IZmin * rZ #Minimum value of output voltage (in volts)\n",
+ "VSmin = IZmin * RS + VOmin #Minimum value of input voltage (in volts)\n",
+ "VOmax = VZ + IZmax * rZ #Maximum value of output voltage (in volts)\n",
+ "VSmax = IZmax * RS + VOmax #Maximum value of input voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Minimum value of input voltage is \",VSmin,\" V.\\nMaximum value of input voltage is \",VSmax,\" V.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Minimum value of input voltage is 5.71 V.\n",
+ "Maximum value of input voltage is 14.25 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.8 , Page Number 470"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 24.0 #Source voltage (in volts)\n",
+ "RS = 500.0 #Series resistance (in ohm)\n",
+ "VZ = 12.0 #Zener Voltage (in volts)\n",
+ "IZmin = 3.0 #Minimum Zener current (in milli-Ampere)\n",
+ "IZmax = 90.0 #Maximum Zener current (in milli-Ampere)\n",
+ "rZ = 0.0 #Zener resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IS = (VS - VZ) / RS #Current through RS (in Ampere)\n",
+ "ILmax = IS - IZmin * 10**-3 #Maximum value of load Current (in Ampere) \n",
+ "RLmin = VZ / ILmax #Minimum value of Load resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Minimum value of load resistance is \",round(RLmin),\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Minimum value of load resistance is 571.0 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.9 , Page Number 471"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VZ = 10.0 #Zener voltage (in volts)\n",
+ "RS = 1.0 #Series Resistance (in kilo-ohm) \n",
+ "RL = 2.0 #Load Resistance (in kilo-ohm)\n",
+ "VSmin = 22.0 #Minimum source voltage (in volts) \n",
+ "VSmax = 40 #Maximum source voltage (in volts) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IL = VZ / RL #Load current (in milli-Ampere)\n",
+ "IZmax = (VSmax - VZ) / RS - IL #Maximum value of zener current (in milli-Ampere)\n",
+ "IZmin = (VSmin - VZ) / RS - IL #Minimum value of zener current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum value of zener current is \",IZmax,\" mA.\\nMinimum value of zener current is \",IZmin,\" mA.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum value of zener current is 25.0 mA.\n",
+ "Minimum value of zener current is 7.0 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.10 , Page Number 472"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VZ = 10.0 #Zener voltage (in volts)\n",
+ "VSmin = 13.0 #Minimum source voltage (in volts)\n",
+ "VSmax = 16.0 #Maximum source voltage (in volts)\n",
+ "ILmin = 10.0 #Minimum load current (in milli-Ampere)\n",
+ "ILmax = 85.0 #Maximum load current (in milli-Ampere)\n",
+ "IZmin = 15.0 #Minimum zener current (in milli-Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RSmax = (VSmin - VZ)/ (IZmin + ILmax) #Maximum value of RS (in kilo-ohm)\n",
+ "IZmax = (VSmax - VZ)/ RSmax - ILmin #Maximum zener current (in milli-Ampere)\n",
+ "PZmax = IZmax * 10**-3 * VZ #Maximum power dissipation in zener (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum value of RS is \",RSmax * 10**3,\" ohm.\\nMaximum power dissipation be the zener diode is \",PZmax,\" W.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum value of RS is 30.0 ohm.\n",
+ "Maximum power dissipation be the zener diode is 1.9 W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.11 , Page Number 473"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VSmin = 19.5 #Minimum source voltage (in volts)\n",
+ "VSmax = 22.5 #Maximum source voltage (in volts)\n",
+ "RL = 6.0 * 10**3 #Load resistance (in ohm)\n",
+ "VZ = 18.0 #Zener voltage (in volts)\n",
+ "IZmin = 2.0 * 10**-6 #Minimum zener current (in Ampere)\n",
+ "PZmax = 60.0 * 10**-3 #Maximum power dissipation (in watt)\n",
+ "rZ = 20.0 #Zener resistance (in ohm)\n",
+ "VL = VZ #Voltage across load resistance (in volt)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IZmax = (PZmax / rZ)**0.5 #Maximum value of zener current (in milli-Ampere)\n",
+ "IL = VL / RL #Load current (in milli-Ampere)\n",
+ "RSmax = (VSmin - VZ) / (IZmin + IL) #Maximum value of regulating resistance (in kilo-ohm) \n",
+ "RSmin = (VSmax - VZ) / (IZmax + IL) #Minimum value of regulating resistance (in kilo-ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Magnitude of regulating resistance should be between \",round(RSmin,1),\" ohm and \",round(RSmax),\" ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Magnitude of regulating resistance should be between 77.9 ohm and 500.0 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.12 , Page Number 473"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VSmin = 8.0 #Minimum source voltage (in volts)\n",
+ "VSmax = 12 #Maximum source voltage (in volts)\n",
+ "RS = 2.2 #Resistance (in kilo-ohm)\n",
+ "VZ = 5.0 #Zener voltage (in volts)\n",
+ "RL = 10.0 #Load resistance (in kilo-ohm)\n",
+ "VL = VZ #Voltage across load (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ISmin = (VSmin - VZ)/ RS #Minimum value of input current (in milli-Ampere)\n",
+ "ISmax = (VSmax - VZ)/RS #Maximum value of input current (in milli-Ampere) \n",
+ "IL = VL / RL #Load current (in milli-Ampere)\n",
+ "IZmin = ISmin - IL #Minimum Zener current (in milli-Ampere)\n",
+ "IZmax = ISmax - IL #Maximum Zener current (in milli-Ampere) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Minimum value of Zener current is \",round(IZmin,3),\" mA.\\nMaximum value of Zener current is \",round(IZmax,3),\" mA.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Minimum value of Zener current is 0.864 mA.\n",
+ "Maximum value of Zener current is 2.682 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.13 , Page Number 474"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VO = VL = 5.0 #Output voltage (in volts)\n",
+ "IL = 20.0 #Load current (in milli-Ampere)\n",
+ "PZmax = 500.0 #Maximum power dissipation in zener (in milli-watt)\n",
+ "VSmin = 9.0 #Minimum source voltage (in volts)\n",
+ "VSmax = 15.0 #Maximum source voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IZmax = PZmax / VZ #Maximum zener current (in milli-Ampere)\n",
+ "ISmax = IL + IZ #Maximum input current (in milli-Ampere)\n",
+ "RSmin = (VSmax - VZ)/(IZmax + IL) #Minimum value of regulating resistance (in kilo-ohm)\n",
+ "IZ = (VSmin - VZ)/ RSmin - IL #Minimum value of zener current \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Input varies from the normal 12 v within the range of +- 3 V.\"\n",
+ "print \"Zener current vary from \",IZ,\" mA to \",IZmax,\" mA.\"\n",
+ "print \"For safety purpose RS should be 220 ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input varies from the normal 12 v within the range of +- 3 V.\n",
+ "Zener current vary from 28.0 mA to 100.0 mA.\n",
+ "For safety purpose RS should be 220 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.14 , Page Number 475"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RS = 500.0 #Series resistance (in ohm)\n",
+ "RL = 1.0 #Load resistance (in kilo-ohm) \n",
+ "VZ = 10.0 #Zener voltage (in volts)\n",
+ "IZmin = 5.0 #Minimum Zener current (in milli-Ampere)\n",
+ "IZmax = 55.0 #Maximum Zener current (in milli-Ampere) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IL = VZ / RL #Load current (in milli-Ampere) \n",
+ "VSmin = (IL + IZmin) * RS * 10**-3 + VZ #Minimum value of input voltage (in volts)\n",
+ "VSmax = (IL + IZmax) * RS * 10**-3 + VZ #Maximum value of input voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The minimum value of voltage level at input is \",VSmin,\" V and the maximum is \",VSmax,\" V.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The minimum value of voltage level at input is 17.5 V and the maximum is 42.5 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.15 , Page Number 476"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 15.0 #Input voltage (in volts)\n",
+ "RS = 33.0 #Series resistance (in ohm)\n",
+ "beta = 100.0 #common-emitter current gain \n",
+ "RL = 100.0 #Load resistance (in ohm)\n",
+ "VZ = 10.0 #Voltage across zener diode (in volts) \n",
+ "VBE = 0.7 #Voltage across base and emitter\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VL = VZ + VBE #Load voltage (in volts)\n",
+ "IL = VL / RL #Load current (in Ampere)\n",
+ "IS = (VS - VL) / RS #Current through RS (in Ampere)\n",
+ "IC = IS - IL #Collector current (in Ampere)\n",
+ "IB = IZ = IC/beta #Base current (in Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Load voltage is \",VL,\" V.\"\n",
+ "print \"Load current is \",IL * 10**3,\" mA.\"\n",
+ "print \"Current through Rs is \",round(IS * 10**3,1),\" mA.\"\n",
+ "print \"Collector current is \",round(IC* 10**3,1),\" mA.\"\n",
+ "print \"Base current is \",round(IB * 10**6),\" micro-A.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Load voltage is 10.7 V.\n",
+ "Load current is 107.0 mA.\n",
+ "Current through Rs is 130.3 mA.\n",
+ "Collector current is 23.3 mA.\n",
+ "Base current is 233.0 micro-A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.16 , Page Number 478"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 15.0 #Input voltage (in volts)\n",
+ "VZ = 8.3 #Zener voltage (in volts)\n",
+ "beta = 100.0 #Common-emitter current gain\n",
+ "R = 1.8 #Resistance (in kilo-ohm)\n",
+ "RL = 2.0 #Resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Voltage across base-emitter junction (in volts) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VL = VZ - VBE #Voltage across load (in volts)\n",
+ "VCE = VS - VL #Collector to emitter voltage (in volts)\n",
+ "IR = (VS - VZ)/ R #Current through R (in milli-Ampere)\n",
+ "IL = VL / RL #Load current (in milli-Ampere)\n",
+ "IB = IL / beta #Base current (in milli-Ampere) \n",
+ "IZ = IR - IB #Current through Zener (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Load voltage is \",VL,\" V.\"\n",
+ "print \"Collector to Emitter voltage is \",VCE,\" V.\"\n",
+ "print \"Current through R is \",round(IR,2),\" mA.\"\n",
+ "print \"Load current is \",IL,\" mA.\"\n",
+ "print \"Base current is \",IB * 10**3,\" micro-A.\"\n",
+ "print \"Current through Zener is \",round(IZ,2),\" mA.\"\n",
+ "\n",
+ "#Calculation error in book in the value of beta and in IB and IZ."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Load voltage is 7.6 V.\n",
+ "Collector to Emitter voltage is 7.4 V.\n",
+ "Current through R is 3.72 mA.\n",
+ "Load current is 3.8 mA.\n",
+ "Base current is 38.0 micro-A.\n",
+ "Current through Zener is 3.68 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.17 , Page Number 479"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IZmin = 0 #Minimun Zener current (in Ampere)\n",
+ "ILmax = 2.0 #Maximum load current (in Ampere)\n",
+ "VL = 12.0 #Voltage across load (in volts)\n",
+ "VSmin = 15.0 #Minimum Input voltage (in volts)\n",
+ "VSmax = 20.0 #Maximum Input Voltage (in volts)\n",
+ "beta = 100 #common emitter current gain\n",
+ "VBE = 0.5 #Voltage between base-emitter junction (in volts)\n",
+ "VZ = 12.5 #Voltage across zener diode (in volts)\n",
+ "IZmin = 1.0 * 10**-3 #Current through Zener diode \n",
+ "ICmax = ILmax #Maximum Collector current (in Ampere) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IBmax = ICmax / beta #Maximum collector current\n",
+ "IR = IBmax + IZmin #Current through resistance R (in Ampere)\n",
+ "Rmax = (VSmin - VZ)/ IR #Maximum value of resistance R (in ohm)\n",
+ "IZmax = (VSmax - VZ)/ Rmax #Maximum value of Zener current (in Ampere)\n",
+ "PZmax = VZ * IZmax #Maximum power dissipation in Zener Diode (in watt)\n",
+ "PRmax = (VSmax - VZ) * IZmax #Maximum power dissipated in Resistance R (in watt)\n",
+ "VCEmax = VSmax - VL #Maximum value of collector-to-emitter voltage (in volts) \n",
+ "PDmax = VCEmax * ILmax #Maximum power dissipation of the transistor (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum value of R is \",round(Rmax),\" ohm.\\nMaximum power dissipation of the zener diode is \",round(PZmax,2),\" W.\\nMaximum power dissipation of resistance R is \",round(PRmax,2),\" W.\\nMaximum power dissipation of the transistor is \",PDmax,\" W.\"\n",
+ "\n",
+ "#Correction to be done in the formula used for IZmax in the book.Correct approach is used in the solved example here. "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum value of R is 119.0 ohm.\n",
+ "Maximum power dissipation of the zener diode is 0.79 W.\n",
+ "Maximum power dissipation of resistance R is 0.47 W.\n",
+ "Maximum power dissipation of the transistor is 16.0 W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.18 , Page Number 481"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VL = 12.0 #Voltage across load (in volts)\n",
+ "IL = 200.0 #Load current (in milli-Ampere)\n",
+ "VS = 30.0 #Source voltage (in volts)\n",
+ "RS = 10.0 #Series resistance (in ohm)\n",
+ "beta1 = hfe1 = 150.0 #common-emitter current gain 1\n",
+ "beta2 = hfe2 = 100.0 #common-emitter current gain 2\n",
+ "IC1 = 10.0 #Collector current (in milli-Ampere)\n",
+ "VBE1 = 0.7 #Emitter-to-Base voltage1 (in volts)\n",
+ "VBE2 = 0.7 #Emitter-to-Base voltage2 (in volts)\n",
+ "VZ = VR = 6.0 #Voltage across zener diode (in volts)\n",
+ "RZ = 10.0 #Resistance of zener diode (in ohm)\n",
+ "IZ = 20.0 #Current through zener diode (in milli-Ampere)\n",
+ "ID = 10.0 * 10**-3 #Current (in Ampere) \n",
+ "I1 = 10.0 * 10**-3 #Current (in Ampere) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RD = (VL - VZ) / ID #Resistance (in ohm)\n",
+ "V2 = VZ + VBE2 #Voltage (in volts)\n",
+ "R1 = (VL - V2)/I1 #Value of resistance R1 (in ohm)\n",
+ "R2 = R1 * (V2 / (VL - V2)) #Value of resistance R2 (in ohm)\n",
+ "IB1 = (IL + I1 + ID) / beta1 #Base Current IB1 (in Ampere)\n",
+ "I = IB1 + IC1 #Current through resistance R3 (in Ampere)\n",
+ "R3 = (VS - (VBE1 + VL))/I #Value of resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of Resistance RD is \",RD,\" ohm.\\nValue of Resistance R1 and R2 is \",R1,\" ohm and \",R2,\" ohm.\"\n",
+ "print \"Value of Resistance R3 is \",round(R3,1),\" kilo-ohm.\"\n",
+ "\n",
+ "#Error in the formula used for R1 in book. Correct formula is used here."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of Resistance RD is 600.0 ohm.\n",
+ "Value of Resistance R1 and R2 is 530.0 ohm and 670.0 ohm.\n",
+ "Value of Resistance R3 is 1.5 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.19 , Page Number 484"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VS = 25.0 #Source voltage (in volts)\n",
+ "VZ = 15.0 #Zener voltage (in volts)\n",
+ "RL = 1.0 #Load resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-Base voltage (in volts) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vout = VZ/2 + VBE #Output voltage (in volts)\n",
+ "IL = Vout / RL #Load current (in milli-Ampere)\n",
+ "IE1 = IL #Current (in milli-Ampere)\n",
+ "VCE1 = VS - Vout #Collector-To-Emitter voltage (in volts)\n",
+ "P1 = VCE1 * IE1 #Power dissipated (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Vout is \",Vout,\" V.\\nIL is \",IL,\" mA.\\nIE1 is \",IE1,\" mA.\\nP1 is \",P1,\" W.\"\n",
+ "\n",
+ "#Calculation error in book for the value of P1."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vout is 8.2 V.\n",
+ "IL is 8.2 mA.\n",
+ "IE1 is 8.2 mA.\n",
+ "P1 is 137.76 W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.20 , Page Number 492"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IADJ = 100.0 * 10**-6 #Current (in Ampere)\n",
+ "Vin = 35.0 #Input voltage (in volts)\n",
+ "R1 = 220.0 #Resistance1 (in ohm)\n",
+ "R2min = 0 #Resistance2 minimum (in ohm)\n",
+ "R2max = 5.0 * 10**3 #Resistance2 maximum (in ohm)\n",
+ "VREF = 1.25 #Reference voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Voutmin = VREF * (R2min/R1 + 1) + IADJ * R2min #Minimum output voltage (in volts)\n",
+ "Voutmax = VREF * (R2max/R1 + 1) + IADJ * R2max #Maximum output voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum output voltage is \",round(Voutmax,2),\" V.\\nMinimum output voltage is \",Voutmin,\" V.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum output voltage is 30.16 V.\n",
+ "Minimum output voltage is 1.25 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.21 , Page Number 492"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 220.0 #Resistance1 (in ohm)\n",
+ "R2 = 1.5 * 10**3 #Resistance2 (in ohm)\n",
+ "VREF = 1.25 #Reference voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vo = VREF * (R2/R1 + 1) #Regulated dc output voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Regulated dc output voltage is \",round(Vo,2),\" V.\"\n",
+ "\n",
+ "#Calculation error in the book."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Regulated dc output voltage is 9.77 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.22 , Page Number 493"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 240.0 #Resistance1 (in ohm)\n",
+ "R2 = 2.4 * 10**3 #Resistance2 (in ohm)\n",
+ "VREF = 1.25 #Reference voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vo = VREF * (R2/R1 + 1) #Regulated dc output voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Regulated dc output voltage is \",Vo,\" V.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Regulated dc output voltage is 13.75 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter21_5.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter21_5.ipynb
new file mode 100644
index 00000000..e1d036bc
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter21_5.ipynb
@@ -0,0 +1,314 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:d0d488692d13bd6f786a59c53f9573140cae873125a1ba8e4603dff4ff8f4e4f"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 21 , Controlled Rectifiers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 21.1 , Page Number 508"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RL = 100.0 #Resistance (in ohm)\n",
+ "Vm = 300.0 #Maximum voltage (in volts) \n",
+ "P1 = 25.0 #Load power1 (in watt)\n",
+ "P2 = 80.0 #Load power2 (in watt)\n",
+ "\n",
+ "#Calculation \n",
+ "\n",
+ "Vdc = Vm / (2 * math.pi) #dc voltage (in volts)\n",
+ "#When power is 25 watt\n",
+ "cosinealpha = (P1 * RL / Vdc**2)**0.5 -1 #cos of alpha \n",
+ "alpha = math.acos(cosinealpha) #Value of alpha (in radians)\n",
+ "\n",
+ "#When power is 80 watt\n",
+ "cosinealpha1 = (P2 * RL / Vdc**2)**0.5 -1 #cos of alpha \n",
+ "alpha1 = math.acos(cosinealpha1) #Value of alpha (in radians)\n",
+ "#Result\n",
+ "\n",
+ "print \"Angular firing control when load power P = 25 W is \",round(alpha * 180.0 / math.pi,2),\" degree.\\nAngular firing control when load power P = 80 W is \",round(alpha1 * 180.0 / math.pi,2),\" degree.\"\n",
+ "\n",
+ "#Calculation difference in value of cosinealpha from book due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Angular firing control when load power P = 25 W is 87.29 degree.\n",
+ "Angular firing control when load power P = 80 W is 29.16 degree.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 21.2 , Page Number 509"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vm = 200.0 #maximum voltage (in volts)\n",
+ "RL = 1.0 #Resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#When alpha = 0 degree\n",
+ "Vdc = 0.318 * Vm #dc voltage (in volts)\n",
+ "Idc = Vdc / RL #dc Current (in milli-Ampere)\n",
+ "P = Vdc * Idc #Power (in milli-watt) \n",
+ "\n",
+ "#When alpha = 45 degree \n",
+ "Vdc1 = 0.27 * Vm #dc voltage1 (in volts)\n",
+ "Idc1 = Vdc1 / RL #dc current1 (in milli-Ampere)\n",
+ "P1 = Vdc1 * Idc1 #Power1 (in milli-watt)\n",
+ "\n",
+ "#When alpha = 90 degree\n",
+ "Vdc2 = 0.159 * Vm #dc voltage2 (in volts)\n",
+ "Idc2 = Vdc2 / RL #dc current2 (in milli-Ampere)\n",
+ "P2 = Vdc2 * Idc2 #Power2 (in milli-watt)\n",
+ "\n",
+ "#When alpha = 135 degree\n",
+ "Vdc3 = 0.0466 * Vm #dc voltage3 (in volts)\n",
+ "Idc3 = Vdc3 / RL #dc current3 (in milli-Ampere)\n",
+ "P3 = Vdc3 * Idc3 #Power3 (in milli-watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Power delivered when alpha = 0 degree is \",round(P),\" mW.\\nPower delivered when alpha = 45 degree is \",P1,\" mW.\\nPower delivered when alpha = 90 degree is \",round(P2),\" mW.\\nPower delivered when alpha = 135 degree is \",round(P3,2),\" mW.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power delivered when alpha = 0 degree is 4045.0 mW.\n",
+ "Power delivered when alpha = 45 degree is 2916.0 mW.\n",
+ "Power delivered when alpha = 90 degree is 1011.0 mW.\n",
+ "Power delivered when alpha = 135 degree is 86.86 mW.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 21.3 , Page Number 513"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vrms = 220.0 #rms voltage (in volts)\n",
+ "alpha = 60.0 #Firing angle (in degree) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "alpharad = alpha * math.pi/180.0 #Firing angle (in radians) \n",
+ "Vm = 2**0.5 * Vrms #Maximum or Peak voltage (in volts)\n",
+ "Vdc = Vm /(2 * math.pi)*(1 + math.cos(alpharad)) #dc output voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The d.c. output voltage is \",round(Vdc,2),\" V.\"\n",
+ "\n",
+ "#Slight variation in answer due to higher precision"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The d.c. output voltage is 74.28 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 21.4 , Page Number 513"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Idc = 0.5 #dc current (in Ampere)\n",
+ "Vrms = 100.0 #Rms voltage (in volts)\n",
+ "alpha = 45.0 #Firing angle (in degree) \n",
+ "Idc = 0.5 #dc current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "alpharad = alpha * math.pi / 180.0 #Firing angle (in radians)\n",
+ "Vm = 2**0.5 * Vrms #Peak voltage (in volts) \n",
+ "Vdc = Vm / (2 * math.pi)*(1 + math.cos(alpharad)) #Average voltage (in volts)\n",
+ "RL = Vdc / Idc #Load resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of resistance to limit the average current to 0.5 A is \",round(RL,2),\" ohm.\"\n",
+ "\n",
+ "#Slight variation in answer due to higher precision"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of resistance to limit the average current to 0.5 A is 76.85 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 21.5 , Page Number 520"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "TON = 30.0 #Chopper ON time (in milli-second)\n",
+ "TOFF = 10.0 #Chopper OFF time (in milli-second) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "T = TON + TOFF #Total time (in milli-second)\n",
+ "cdc = TON / T #Chopper duty cycle\n",
+ "f = 1 / T #Chopping frequency (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Chopper duty cycle is \",cdc,\".\\nChopping frequency is \",f * 10**3,\" Hz.\"\n",
+ "\n",
+ "#Correction to be done in book , the units mentioned are milli-Ampere but in the calculation it used micro-Ampere."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Chopper duty cycle is 0.75 .\n",
+ "Chopping frequency is 25.0 Hz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 21.6 , Page Number 520"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "TON = 30.0 #Chopper ON time (in milli-second)\n",
+ "TOFF = 10.0 #Chopper OFF time (in milli-second) \n",
+ "Vdc = 200.0 #dc voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "T = TON + TOFF #Total time (in milli-second)\n",
+ "cdc = TON / T #Chopper duty cycle\n",
+ "VL = Vdc * cdc #dc output voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Average valuye of dc voltage is \",VL,\" V.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Average valuye of dc voltage is 150.0 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter22_5.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter22_5.ipynb
new file mode 100644
index 00000000..3a6e745d
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter22_5.ipynb
@@ -0,0 +1,1645 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 22 , BJT Biasing and Stabilization"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.1 , Page Number 527"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of saturation current is 2.0 mA.\n",
+ "The value of cut-off voltage is 20.0 V.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x60d98f0>"
+ ]
+ },
+ "execution_count": 1,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x26a1670>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,title,xlabel,ylabel\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VBB = 10.0 #Base Voltage (in volts)\n",
+ "RB = 47.0 #Base Resistance (in kilo-ohm)\n",
+ "VCC = 20.0 #Voltage Source (in volts)\n",
+ "RC = 10.0 #Collector Resistance (in kilo-ohm)\n",
+ "beta = 100.0 #Common-Emitter current gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ICsat = VCC / RC #Saturation current (in milli-Ampere)\n",
+ "VCEcutoff = VCC #Cutoff voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of saturation current is \",ICsat,\" mA.\\nThe value of cut-off voltage is \",VCEcutoff,\" V.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,20,100)\n",
+ "plot(x,x/10)\n",
+ "title(\"d.c. load line\")\n",
+ "xlabel(\"Collector-to-emitter voltage VCE (V)\")\n",
+ "ylabel(\"Collector current IC (mA)\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.2 , Page Number 528"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Q-points corresponds to 8.84 V and 37.2 mA.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Annotation at 0x620f450>"
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\niEgl1a1bSAS9esHee4fFa9LdnVRJQKqN6667jvbt27PnnnsyePBgfvnll01e/+abb+jduzedO3em\nQ4cO3HfffZu8vn79enJzc+nbt28Go5bqplat0GvozTfhxRdDYpgzJ333UxKQamHx4sWMHz+euXPn\nsmDBAtavX8+ECRM2OWbs2LHk5uYyb9488vPzGT58OOsSfoaNHj2adu3aYZZ0SVukwlq1Ckngooug\nTx8YPhx+/DH191ESkGphhx12oFatWqxevZp169axevVqmjZtuskxjRs3ZsWKFQCsWLGC+vXrU7Nm\nTQCWLl3Ks88+y+mnn47aqiRTzOCkk0J30q++Cg3Hzz2X2nvElgTMrLeZvWdmH5rZpXHFIdVDvXr1\nGD58OM2bN6dJkybUqVOHXr16bXLM0KFDWbRoEU2aNKFTp06MHj16w2sXXnghN954Izk5+t0kmdew\nYeg1dPfdYXbSE04ISSEVYvlEm1kNYCzQG2gHDDKztnHEUh3k5+fHHULsPv74Y2699VYWL17M559/\nzo8//shDDz20yTHXXnstnTt35vPPP2fevHmcc845rFy5kqeffpqddtqJ3Nxc3J3ly5fH9C6qJn0+\nk3fooaFU0LRpGGR2331b3p00rp81ewMfuftid18LTAD6xRRLlad/ZDB79mz222+/DVU8/fv3Z+bM\nmZscM3PmTH7/+98D0KpVK1q2bMl7773HzJkzmTRpEi1btmTQoEHMnj2bk08+OY63USXp81k+224L\no0bB88/DmDFwyCHw0UcVv15cSaApsCTh+dJon0ha7LHHHrzxxhv89NNPuDtTp06lXbt2vzpm6tSp\nAHz55Ze8//77tGrVimuvvZYlS5bwySefMGHCBFq2bMkDDzwQx9sQ2SA3N/QgOuKIsOD99dfD2rXl\nv05cSUAta5JRnTp14uSTT6Zr1650jFYCHzp0KOPGjWPcuHEAXH755cyePZtOnTrRq1cvRo0aRb16\n9eIMW6RMNWuG3kOzZkF+fpiqurxiGTFsZvsAI929d/T8MqDQ3W9IOEaJQkSkAsozYjiuJFATeB84\nGPgceAsY5O7vZjwYEZFqrGYcN3X3dWZ2LvACUAP4hxKAiEjmZe0EciIikn5ZN/JFg8hSy8wWm9l8\nMysws7fijqeyMbN/mtmXZrYgYV89M5tiZh+Y2YtmVifOGCuLUv6WI81safT5LDCz3nHGWJmYWTMz\n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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x60aaf10>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,title,xlabel,ylabel,annotate\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 20.0 #Source voltage (in volts)\n",
+ "RC = 300.0 #Collector resistance (in ohm)\n",
+ "VBB = 10.0 #Base voltage (in volts)\n",
+ "RB = 50.0 #Base Resistance (in kilo-ohm)\n",
+ "beta = 200.0 #Common-emittter current gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ICsat = VCC / RC #Saturation current (in Ampere)\n",
+ "VCEcutoff = VCC #Cutoff voltage (in volts)\n",
+ "#Using kirchoff's voltage law\n",
+ "IB = (VBB - 0.7) / RB #Base current (in milli-Ampere)\n",
+ "IC = beta * IB #Collector current (in milli-Ampere)\n",
+ "VCE = VCC - IC * RC * 10**-3 #Collector-to-emitter voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Q-points corresponds to \",VCE,\" V and \",IC,\" mA.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,20,100)\n",
+ "plot(x,66.7 - 66.7/20 * x)\n",
+ "title(\"d.c. load line\")\n",
+ "xlabel(\"Collector-to-emitter voltage VCE (V)\")\n",
+ "ylabel(\"Collector current IC (mA)\")\n",
+ "annotate(\"Q\",xy=(8.84,37.2))\n",
+ "annotate(\"66.7\",xy=(0,66.7))\n",
+ "annotate(\"37.2\",xy=(0,37.2))\n",
+ "annotate(\"8.84\",xy=(8.84,0))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.3 , Page Number 533"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of base current is 0.14 mA.\n",
+ "The value of Collector current is 11.11 mA.\n",
+ "THe value of Collector-to-Emitter voltage is 15.89 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 25.0 #Source voltage (in volts)\n",
+ "RC = 820.0 #Collector Resistance (in ohm)\n",
+ "RB = 180.0 #Base Resistance (in kilo-ohm)\n",
+ "beta = 80.0 #Common-Emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = VCC / RB #Base current (in milli-Ampere)\n",
+ "IC = beta * IB #Collector current (in milli-Ampere)\n",
+ "VCE = VCC - IC * RC * 10**-3 #Collector-to-Emitter voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of base current is \",round(IB,2),\" mA.\\nThe value of Collector current is \",round(IC,2),\" mA.\\nTHe value of Collector-to-Emitter voltage is \",round(VCE,2),\" V.\"\n",
+ "\n",
+ "#Slight variation in answers due to higher precision."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.4 , Page Number 534"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The base current is 0.05 mA.\n",
+ "The collector current is 5.0 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Variables\n",
+ "\n",
+ "VBB = 2.7 #Base voltage (in Volts)\n",
+ "RB = 40.0 #Base resistance (in kilo-ohm)\n",
+ "VCC = 10.0 #Supply voltage (in volts)\n",
+ "RC = 2.5 #Collector resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-base voltage (in volts)\n",
+ "beta = 100.0 #Current gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = (VBB - VBE)/RB #Base current (in milli-Ampere)\n",
+ "IC = beta * IB\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The base current is \",IB,\" mA.\"\n",
+ "print \"The collector current is \",IC,\" mA.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.5 , Page Number 534"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of collector current is for operation in saturation region is 1.0 mA.\n",
+ "Since 1.29 mA is greater than 1.0 mA , therefore it will operate in saturation region.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 5.0 #Source voltage (in volts)\n",
+ "RC = 5.0 #Collector resistance (in kilo-ohm)\n",
+ "VBB = 5.0 #Base voltage (in volts)\n",
+ "RB = 100.0 #Base Resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "beta = 30.0 #Common-Emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = (VBB - VBE)/RB #Base Current (in milli-Ampere)\n",
+ "IC = beta * IB #Collector Current (in milli-Ampere)\n",
+ "IC1 = VCC / RC #Collector Current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of collector current is for operation in saturation region is \",IC1,\" mA.\\nSince \",IC,\" mA is greater than \",IC1,\" mA , therefore it will operate in saturation region.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.6 , Page Number 535"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Stability factor for the fixed bias circuit is 101.0 .\n",
+ "The voltage between the collector and the ground is 2.1 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 12.0 #Source voltage (in volts)\n",
+ "RC = 330.0 #Collector resistance (in ohm)\n",
+ "IB = 0.3 #Base current (in milli-Ampere)\n",
+ "beta = 100.0 #Common-emitter current gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RB = VCC / IB #Resistance (in kilo-ohm)\n",
+ "S = 1 + beta #Stability factor \n",
+ "IC = beta * IB #Collector current (in milli-Ampere)\n",
+ "VCE = VCC - IC * RC * 10**-3 #Collector-Ground voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Stability factor for the fixed bias circuit is \",S,\".\\nThe voltage between the collector and the ground is \",VCE,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.7 , Page Number 536"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "VCE of the transistor is 8.0 V.\n",
+ "VCC of the transistor is 20.0 V.\n",
+ "IB of the transistor is 0.04 mA.\n",
+ "IC of transistor is 4.0 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 20.0 #Source voltage (in volts)\n",
+ "RC = 2.0 #Collector resistance (in kilo-ohm)\n",
+ "RB = 400.0 #Base Resistance (in kilo-ohm)\n",
+ "beta = 100.0 #Common-Emitter current gain\n",
+ "RE = 1.0 #Emitter Resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = VCC / (RB + beta * RE) #Base current (in milli-Ampere)\n",
+ "IC = beta * IB #Collector Current (in milli-Ampere)\n",
+ "VCE = VCC - IC * (RC + RE) #Collector-to-Emitter Voltage (volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"VCE of the transistor is \",VCE,\" V.\\nVCC of the transistor is \",VCC,\" V.\\nIB of the transistor is \",IB,\" mA.\\nIC of transistor is \",IC,\" mA.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.8 , Page Number 537"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of IC is 2.35 mA.\n",
+ "The value of VCE is 12.0 V.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Annotation at 0x6275410>"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x6219e50>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,title,xlabel,ylabel,annotate\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 12.0 #Source voltage (in volts)\n",
+ "RC = 2.2 #Collector resistance (in kilo-ohm)\n",
+ "RB = 240.0 #Base Resistance (in kilo-ohm)\n",
+ "beta = 50.0 #Common-Emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "RE = 0 #Emitter resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = (VCC - VBE)/(RE + RB/beta) #Collector current (in milli-Ampere)\n",
+ "VCE = VCC - IC * RC #Collector-to-Emitter voltage (in volts)\n",
+ "ICsat = VCC / RC #Saturation current (in milli-Ampere)\n",
+ "VCEcutoff = VCC #Cut-off voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of IC is \",round(IC,2),\" mA.\\nThe value of VCE is \",VCEcutoff,\" V.\" \n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,12,100)\n",
+ "plot(x,5.45 - 5.45/12 * x)\n",
+ "title(\"d.c. load line\")\n",
+ "xlabel(\"Collector-to-emitter voltage VCE (V)\")\n",
+ "ylabel(\"Collector current IC (mA)\")\n",
+ "annotate(\"6.83 V\",xy=(6.83,0))\n",
+ "annotate(\"5.45 mA\",xy=(0,5.45))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.9 , Page Number 538"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Operating voltage is 20.0 V.\n",
+ "Opearing current is 2.0 mA.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Annotation at 0x63e64b0>"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x653e950>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,title,xlabel,ylabel,annotate\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 30.0 #Source voltage (in volts)\n",
+ "RC = 5.0 #Collector resistance (in kilo-ohm)\n",
+ "RB = 1.5 * 10**3 #Base Resistance (in kilo-ohm)\n",
+ "beta = 100.0 #Common-emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ICsat = VCC / RC #Saturation current (in milli-Ampere)\n",
+ "VCEcutoff = VCC #Cut-off voltage (in volts)\n",
+ "IB = VCC / RB #Base current (in milli-Ampere)\n",
+ "IC = beta * IB #Collector current (in milli-Ampere)\n",
+ "VCE = VCC - IC * RC #Collector-to-Emitter voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Operating voltage is \",VCE,\" V.\\nOpearing current is \",IC,\" mA.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,30,100)\n",
+ "plot(x,6.0 - 6.0/30.0 * x)\n",
+ "title(\"d.c. load line\")\n",
+ "xlabel(\"Collector-to-emitter voltage VCE (V)\")\n",
+ "ylabel(\"Collector current IC (mA)\")\n",
+ "annotate(\"20 V\",xy=(20,0))\n",
+ "annotate(\"2 mA\",xy=(0,2))\n",
+ "annotate(\"Q\",xy=(20,2))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.10 , Page Number 538"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "When VBB = 0 V , LED is in OFF condition.\n",
+ "When VBB = 3 V , LED is in ON condition.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 5.0 #Source voltage (in volts)\n",
+ "RE = 100.0 #Emitter resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-base Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Case 1 : when VBB = 0.2 V ->OFF\n",
+ "#Case 2: when VBB = 3 V ->ON\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"When VBB = 0 V , LED is in OFF condition.\\nWhen VBB = 3 V , LED is in ON condition.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.11 , Page Number 539"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Collector current is 9.9 mA.\n",
+ "Collector-to-Emitter voltage is 16.8669387755 V.\n",
+ "Stability factor is 81.0 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 25.0 #Source voltage (in volts)\n",
+ "RC = 820.0 #Collector resistance (in ohm)\n",
+ "RB = 180.0 * 10**3 #Base Resistance (in ohm)\n",
+ "beta = 80.0 #Common-Emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "RE = 200.0 #Emitter resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = (VCC -VBE)/(RE + RB / beta) #Collector current (in milli-Ampere)\n",
+ "VCE = VCC - IC * RC #Collector-to-Emitter voltage (in volts) \n",
+ "S = 1 + beta #Stability factor \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Collector current is \",round(IC * 10**3,1),\" mA.\\nCollector-to-Emitter voltage is \",VCE,\" V.\\nStability factor is \",S,\".\"\n",
+ "\n",
+ "#Stability is not calculated in the book."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.12 , Page Number 540"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Collector current is 0.845 mA.\n",
+ "Collector-to-Emitter voltage is 1.55 V.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Annotation at 0x71996d0>"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\nYII=\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x65470b0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,title,xlabel,ylabel,annotate\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RC = 10.0 * 10**3 #Collector resistance (in ohm)\n",
+ "RB = 100.0 * 10**3 #Base Resistance (in ohm)\n",
+ "beta = 100.0 #Common-Emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = (VCC -VBE)/(RC + RB / beta) #Collector current (in Ampere)\n",
+ "VCE = VCC - IC * RC #Collector-to-Emitter voltage (in volts) \n",
+ "ICsat = VCC / RC #Saturation current (in milli-Ampere)\n",
+ "VCEcutoff = VCC #Cut-off voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Collector current is \",round(IC * 10**3,3),\" mA.\\nCollector-to-Emitter voltage is \",round(VCE,2),\" V.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,10,100)\n",
+ "plot(x,6.0 - 6.0/30.0 * x)\n",
+ "title(\"d.c. load line\")\n",
+ "xlabel(\"Collector-to-emitter voltage VCE (V)\")\n",
+ "ylabel(\"Collector current IC (mA)\")\n",
+ "annotate(\"20 V\",xy=(20,0))\n",
+ "annotate(\"2 mA\",xy=(0,2))\n",
+ "annotate(\"Q\",xy=(20,2))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.13 , Page Number 541"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "IB is 0.0465 mA.\n",
+ "IC is 2.325 mA.\n",
+ "IE is 2.325 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RC = 2.0 * 10**3 #Collector resistance (in ohm)\n",
+ "RB = 100.0 * 10**3 #Base Resistance (in ohm)\n",
+ "beta = 50.0 #Common-Emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = (VCC - VBE)/(RB + beta * RC) #Base current (in Ampere)\n",
+ "IC = beta * IB #Collector current (in Ampere)\n",
+ "IE = IC #Emitter current (in Ampere)\n",
+ "S = 1 + beta #Stability factor\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"IB is \",IB * 10**3,\" mA.\\nIC is \",IC * 10**3,\" mA.\\nIE is \",IE * 10**3,\" mA.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.14 , Page Number 542"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "In case 1, Collector junction is short circuited.\n",
+ "In case 2, Collector resistance is short circuited. \n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "#When VC = 0 volts\n",
+ "VCC = 9.0 #Source voltage (in volts)\n",
+ "RB = 220.0 #Base Resistance (in kilo-ohm)\n",
+ "RC = 3.3 #Collector Resistance (in kilo-ohm)\n",
+ "VBE = 0.3 #Emitter-to-Base voltage (in volts)\n",
+ "beta = 100.0 #Common emitter current gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = (VCC - VBE)/((RB + beta*RC)* 10**3) #Base current (in Ampere)\n",
+ "IC = beta * IB #Collector current (in Ampere)\n",
+ "VCE = VCC - IC * RC * 10**3 #Collector-to-emitter voltage (in volts)\n",
+ "VC = VCE #Collector voltage (in volts)\n",
+ "ICRC = VCC #Voltage (in volts) \n",
+ "\n",
+ "#When VC = 9 volts\n",
+ "IB1 = 16.0 #Base current (in micro-Ampere)\n",
+ "IC1 = beta * IB1 #Collector current (in micro-Ampere) \n",
+ "RC1 = 0 #Collector Resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"In case 1, Collector junction is short circuited.\\nIn case 2, Collector resistance is short circuited. \" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.15 , Page Number 542"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of R1 is 14.6 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 12.0 #Source voltage (in volts)\n",
+ "RE = 100.0 #Emitter Resistance (in ohm)\n",
+ "RC = 3.3 #Collector Resistance (in kilo-ohm)\n",
+ "IE = 2.0 #Emitter current (in milli-Ampere)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "alpha = 0.98 #Common base current gain\n",
+ "R2 = 20.0 #Resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = alpha * IE #Collector current (in milli-Ampere)\n",
+ "VB = VBE + IE * RE * 10**-3 #Base voltage (in volts)\n",
+ "VC = VCC - IC * RC #Collector voltage (in volts) \n",
+ "IR2 = VC / (R2) #Current through resistance 2 (in milli-Ampere)\n",
+ "IB = IE - IC #Base current (in milli-Ampere)\n",
+ "IR1 = IR2 + IB #Current through resistance 1 (in milli-Ampere)\n",
+ "R1 = (VC - VB) / IR1 #Value of the resistance (in kilo-ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of R1 is \",round(R1,1),\" kilo-ohm.\"\n",
+ "\n",
+ "#Correction to be done in the book about the formula of IR2"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.16 , Page Number 543"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Base resistance is 101.84 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 24.0 #Source voltage (in volts)\n",
+ "RE = 270.0 #Emitter Resistance (in ohm)\n",
+ "RC = 10.0 #Collector Resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "beta = 45.0 #Common emitter current gain \n",
+ "VCE = 5.0 #Collector-to-Emitter voltage (in volts) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = (VCC - VCE) / RC #Collector current (in milli-Ampere)\n",
+ "RB = ((VCC - VBE) / IC - RC) * beta #Base Resistance (in kilo-ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Base resistance is \",round(RB,2),\" kilo-ohm.\"\n",
+ "\n",
+ "#Calculation mistake in book."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.17 , Page Number 545"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "DC bias current is 1.06 mA.\n",
+ "DC bias voltage is 1.1 V.\n",
+ "Stability factor is 16.1 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 3.0 #Source voltage (in volts)\n",
+ "RB = 33.0 #Base Resistance (in kilo-ohm)\n",
+ "RC = 1.8 #Collector Resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "beta = 90.0 #Common emitter current gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = (VCC - VBE) / (RB + beta * RC) #Base current (in milli-Ampere)\n",
+ "IC = beta * IB #Collector current (in milli-Ampere)\n",
+ "VCE = VCC -IC * RC #Collector-to-emitter voltage (in volts)\n",
+ "S = (1 + beta)/(1 + beta*RC/(RC + RB)) #Stability factor\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"DC bias current is \",round(IC,2),\" mA.\\nDC bias voltage is \",round(VCE,1),\" V.\\nStability factor is \",round(S,1),\".\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.18 , Page Number 546"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Collector current is 5.27 mA.\n",
+ "Collector-to-Emitter voltage is 2.1 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RE = 500.0 #Emitter Resistance (in ohm)\n",
+ "RC = 1.0 #Collector Resistance (in kilo-ohm)\n",
+ "R1 = 10.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 5.0 #Resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "beta = 100.0 #Common emitter current gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VB = VCC * (R2 /(R1 + R2)) #Base voltage (in volts)\n",
+ "VE = VB - VBE #Emitter voltage (in volts)\n",
+ "IE = VE / RE #Emitter current (in Ampere)\n",
+ "IC = IE #Collector current (in Ampere)\n",
+ "VCE = VCC - IC * (RC * 10**3 + RE) #Collector-to-Emitter voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Collector current is \",round(IC * 10**3,2),\" mA.\\nCollector-to-Emitter voltage is \",VCE,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.19 , Page Number 547"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Emitter current is 2.15 mA.\n",
+ "The value of collector-to-emitter voltage is 8.55 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 15.0 #Source voltage (in volts)\n",
+ "RE = 2.0 #Emitter Resistance (in kilo-ohm)\n",
+ "RC = 1.0 #Collector Resistance (in kilo-ohm)\n",
+ "R1 = 10.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 5.0 #Resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vth = VCC * (R2 /(R1 + R2)) #Thevenin's voltage (in volts)\n",
+ "Rth = R1 * R2 / (R1 + R2) #Thevenin's equivalent resistance (in kilo-ohm)\n",
+ "IE = (Vth - VBE)/(RE) #Emitter current (in milli-Ampere)\n",
+ "VCE = VCC - IE * (RC + RE) #Collector-to-Emitter voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Emitter current is \",IE,\" mA.\\nThe value of collector-to-emitter voltage is \",VCE,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.20 , Page Number 549"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The percentage change in collector current is 43.5 %.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 12.0 #Source voltage (in volts)\n",
+ "RE = 100.0 #Emitter Resistance (in ohm)\n",
+ "RC = 1.0 #Collector Resistance (in kilo-ohm)\n",
+ "R1 = 25.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 5.0 #Resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "betamin = 50.0 #Common emitter current gain (min)\n",
+ "betamax = 150.0 #Common emitter current gain (max)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vth = VCC * (R2 /(R1 + R2)) #Thevenin's voltage (in volts)\n",
+ "Rth = R1 * R2 / (R1 + R2) * 10**3 #Thevenin's equivalent resistance (in ohm)\n",
+ "IE1 = (Vth - VBE)/(RE + Rth/betamin) #Emitter current (in Ampere)\n",
+ "IE2 = (Vth - VBE)/(RE + Rth/betamax) #Emitter current (in Ampere)\n",
+ "perc_change = (IE2 - IE1) / IE1 * 100 #Percentage change in the value of beta \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The percentage change in collector current is \",round(perc_change,1),\" %.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.21 , Page Number 549"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Operating point values are IC = 3.1 mA and VCE = 3.781 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 9.0 #Source voltage (in volts)\n",
+ "RE = 680.0 #Emitter Resistance (in ohm)\n",
+ "RC = 1.0 #Collector Resistance (in kilo-ohm)\n",
+ "R1 = 33.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 15.0 #Resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VB = VCC * R2 / (R1 + R2) #Base voltage (in volts)\n",
+ "VE = VB - VBE #Emitter voltage (in volts)\n",
+ "IE = VE / RE #Emitter current (in Ampere)\n",
+ "IC = IE #Collector current (in Ampere)\n",
+ "VRC = IC * RC * 10**3 #Voltage across collector resistance (in volts)\n",
+ "VC = VCC - VRC #Collector voltage (in volts)\n",
+ "VCE = VC - VE #Collector-to-emitter voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Operating point values are IC = \",round(IC * 10**3,1),\" mA and VCE = \",round(VCE,3),\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.22 , Page Number 550"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of R1 is 40.0 kilo-ohm and value of RC is 2200.0 ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 5.0 #Source voltage (in volts)\n",
+ "RE = 0.3 #Emitter Resistance (in kilo-ohm)\n",
+ "IC = 1.0 #Collector Current (in milli-Ampere)\n",
+ "beta = 100.0 #Common emitter current gain\n",
+ "VCE = 2.5 #Collector-to-Emitter voltage (in volts)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "ICO = 0 #Reverse saturation current (in Ampere) \n",
+ "R2 = 10.0 #Resistance (in kilo-ohm)\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IE = IC #Emitter current (in milli-Ampere)\n",
+ "RC = (VCC - VCE) / IE - RE #Collector resistance (in kilo-ohm)\n",
+ "VE = IE * RE #Emitter voltage (in volts)\n",
+ "VB = VE + VBE #Base voltage (in volts)\n",
+ "R1 = VCC / VB * R2 - R2 #Resistance1 (in kilo-ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of R1 is \",R1,\" kilo-ohm and value of RC is \",RC * 10**3,\" ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.23 , Page Number 551"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Emitter current is 1.86 mA.\n",
+ "Value of VCE is 18.14 V.\n",
+ "Value of collector potential is 27.44 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 20.0 #Source voltage (in volts)\n",
+ "RE = 5.0 #Emitter Resistance (in kilo-ohm)\n",
+ "RC = 1.0 #Collector Resistance (in kilo-ohm)\n",
+ "R1 = 10.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 10.0 #Resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VB = VCC * R2 / (R1 + R2) #Voltage (in volts)\n",
+ "VE = VB - VBE #Emitter voltage (in volts)\n",
+ "IE = VE / RE #Emitter current (in milli-Ampere)\n",
+ "IC = IE #Collector current (in milli-Ampere)\n",
+ "VCE = VCC - IC * RC #Collector-to-emitter voltage (in volts) \n",
+ "VC = VCE + VE #Collector potential (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Emitter current is \",IE,\" mA.\\nValue of VCE is \",VCE,\" V.\\nValue of collector potential is \",VC,\" V.\"\n",
+ "\n",
+ "#VC is not calculated in the book."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.24 , Page Number 552"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Collector-to-Emitter VCE is 7.5 V.\n",
+ "Base current is 0.026 mA.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 8.0 #Source voltage (in volts)\n",
+ "VRC = 0.5 #Voltage across collector resistance (in volts)\n",
+ "RC = 800.0 #Collector resistance (in ohm)\n",
+ "alpha = 0.96 #common base current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VCE = VCC - VRC #Collector-to-emitter voltage (in volts) \n",
+ "IC = VRC / RC #Collector current (in milli-Ampere)\n",
+ "IE = IC / alpha #Emitter current (in milli-Ampere)\n",
+ "IB = IE - IC #Base current (in milli-Ampere)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Collector-to-Emitter VCE is \",VCE,\" V.\\nBase current is \",round(IB * 10**3,3),\" mA.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.27 , Page Number 554"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of RE is 1.4 kilo-ohm.\n",
+ "Value of R1 is 5.2 kilo-ohm.\n",
+ "Value of R2 is 7.0 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "beta = 50.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "VCC = 22.5 #Source voltage (in volts)\n",
+ "RC = 5.6 #Collector Resistance (in kilo-ohm)\n",
+ "VCE = 12.0 #Collector-to-emitter voltage (in volts)\n",
+ "IC = 1.5 #Collector current (in milli-Ampere)\n",
+ "#Stability factor (S) <= 3.\n",
+ "S = 3\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RE = (VCC - VCE)/IC - RC #Emitter resistance (in kilo-ohm)\n",
+ "Rth = (4375 - (1.4 * 10**3))*10**-3 #Thevenin's Equivalent Resistance (in ohm)\n",
+ "R2 = 0.1 * beta * RE #Resistance (in kilo-ohm) \n",
+ "R1 = (R2 - Rth)**-1 * R2 *Rth #Resistance 1 (in kilo-ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of RE is \",RE ,\" kilo-ohm.\\nValue of R1 is \",round(R1,1),\" kilo-ohm.\\nValue of R2 is \",R2,\" kilo-ohm.\" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.28 , Page Number 556"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of emitter current is 1.86 mA.\n",
+ "THe value of collector current is 1.86 mA.\n",
+ "The value of collector-to-emitter voltage is 8.84 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VEE = 10.0 #Emitter Bias Voltage (in volts)\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RC = 1.0 #Collector Resistance (in kilo-ohm)\n",
+ "RE = 5.0 #Emitter Resistance (in kilo-ohm)\n",
+ "RB = 50.0 #Base Resistance (in kilo-ohm) \n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VE = -VBE #Emitter voltage (in volts)\n",
+ "IE = (VEE - VBE)/ RE #Emitter current (in milli-Ampere)\n",
+ "IC = IE #Collector current (in milli-Ampere)\n",
+ "VC = VCC - IC * RC #Collector voltage (in volts)\n",
+ "VCE = VC - VE #Collector-to-Emitter voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of emitter current is \",IE,\" mA.\\nTHe value of collector current is \",IC,\" mA.\\nThe value of collector-to-emitter voltage is \",VCE,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.29 , Page Number 557"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The change is collector current is 1.513 %.\n",
+ "The change in collector to emitter voltage is 2.16 %.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VEE = 20.0 #Emitter Bias Voltage (in volts)\n",
+ "VCC = 20.0 #Source voltage (in volts)\n",
+ "RC = 5.0 #Collector Resistance (in kilo-ohm)\n",
+ "RE = 10.0 #Emitter Resistance (in kilo-ohm)\n",
+ "RB = 10.0 #Base Resistance (in kilo-ohm) \n",
+ "VE = -0.7 #Emitter Voltage (in volts)\n",
+ "betamin = 50.0 #Common emitter current gain minimum\n",
+ "betamax = 100.0 #Common emitter current gain maximum \n",
+ "VE1 = -0.6 #Emitter Voltage1 (in volts)\n",
+ "VBE = 0.7 #Emitter-to-base voltage (in volts) \n",
+ "VBE1 = 0.6 #New emitter-to-base voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IE = (VEE - VBE)/(RE + RB / betamin) #Emitter current (in milli-Ampere)\n",
+ "IC = IE #Collector current (in milli-Ampere)\n",
+ "VC = VCC - IC * RC #Collector voltage (in volts)\n",
+ "VCE = VC - VE #Collector-to-emitter voltage (in volts)\n",
+ "IE1 = (VEE - VBE1)/(RE + RB/betamax) #Emitter current 1 (in milli-Ampere)\n",
+ "IC1 = IE1 #Collector current 1 (in milli-Ampere)\n",
+ "VC1 = VCC - IC1 * RC #Collector voltage 1 (in volts)\n",
+ "VCE1 = VC1 - VE1 #Collector-to-emitter voltage 1 (in volts)\n",
+ "dIC = (IC1 - IC) / IC #Change in collector current\n",
+ "dVCE = (VCE - VCE1) / VCE #Change in collector to emitter voltage \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The change is collector current is \",round(dIC,5)* 100,\"%.\\nThe change in collector to emitter voltage is \",100*round(dVCE,4),\"%.\"\n",
+ "\n",
+ "#Slight changes due to higher precision."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.30 , Page Number 561"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Base voltage is -2.0 V.\n",
+ "Emitter voltage is -1.8 V.\n",
+ "Collector voltage is -8.4 V.\n",
+ "Collector current is 1.8 mA.\n",
+ "Emitter current is 1.8 mA.\n",
+ "Collector-to-emitter voltage is -6.6 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 12.0 #Source voltage (in volts)\n",
+ "RE = 1.0 #Emitter Resistance (in kilo-ohm)\n",
+ "RC = 2.0 #Collector Resistance (in kilo-ohm)\n",
+ "R1 = 100.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 20.0 #Resistance (in kilo-ohm)\n",
+ "VBE = -0.2 #Emitter-to-Base Voltage (in volts)\n",
+ "beta = 100.0 #Common emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VB = -VCC * R2 / (R1 + R2) #Base voltage (in volts)\n",
+ "VE = VB - VBE #Emitter voltage (in volts)\n",
+ "IE = -VE / RE #Emitter current (in milli-Ampere) \n",
+ "IC = IE #Collector current (in milli-Ampere)\n",
+ "VC = -(VCC - IC * RC) #Collector voltage (in volts)\n",
+ "VCE = VC - VE #Collector-to-emitter voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Base voltage is \",VB,\" V.\\nEmitter voltage is \",VE,\" V.\\nCollector voltage is \",VC,\" V.\\nCollector current is \",IC,\" mA.\\nEmitter current is \",IE,\" mA.\\nCollector-to-emitter voltage is \",VCE,\" V.\"\n",
+ "\n",
+ "#Formula of IE and VB is given wrong in the book."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.31 , Page Number 561"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of base voltage is 2.0 V.\n",
+ "The value of emitter voltage is 1.3 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RE = 2.0 #Emitter Resistance (in kilo-ohm)\n",
+ "RC = 10.0 #Collector Resistance (in kilo-ohm)\n",
+ "R1 = 16.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 4.0 #Resistance (in kilo-ohm)\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "beta = 100.0 #Common emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VB = VCC * R2 / (R1 + R2) #Base voltage (in volts)\n",
+ "VE = VB - VBE #Emitter voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of base voltage is \",VB,\" V.\\nThe value of emitter voltage is \",VE,\" V.\" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 22.32 , Page Number 562"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The operating point values are IC = 0.404 mA and VCE = -3.78 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 4.5 #Source voltage (in volts)\n",
+ "RE = 0.27 #Emitter Resistance (in kilo-ohm)\n",
+ "RC = 1.5 #Collector Resistance (in kilo-ohm)\n",
+ "R1 = 27.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 2.7 #Resistance (in kilo-ohm)\n",
+ "VBE = 0.3 #Emitter-to-Base Voltage for germanium (in volts)\n",
+ "beta = 44.0 #Common emitter current gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VB = - VCC * R2 / (R1 + R2) #Base voltage (in volts)\n",
+ "VE = VB - (-VBE) #Emitter voltage (in volts)\n",
+ "IE = VE / RE #Emitter current (in milli-Ampere)\n",
+ "IC = IE #Collector current (in milli-Ampere)\n",
+ "VRC = -IC * RC #Voltage across collector resistance (in volts)\n",
+ "VC = -(VCC - VRC) #Collector voltage (in volts)\n",
+ "VCE = -(-VC - (-VE)) #Collector-to-emitter voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The operating point values are IC = \",round(-IC,3),\" mA and VCE = \",round(VCE,2),\" V.\""
+ ]
+ }
+ ],
+ "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.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter23_5.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter23_5.ipynb
new file mode 100644
index 00000000..8770eb00
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter23_5.ipynb
@@ -0,0 +1,75 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:8d03891bfa7f1c1585b90f0fe2a212b218b5620ee320f7a8cc11378a3eebf38b"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 23 , Low and High Frequency BJT Models"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 23.1 , Page Number 580"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IC = 10.0 #Collector current (in milli-Ampere)\n",
+ "VCE = 10.0 #Collector-to-emitter voltage (in volts)\n",
+ "hie = 500.0 #Input resistance (in ohm)\n",
+ "hoe = 10 **-5 #Output conductance (in Ampere/volt)\n",
+ "hfe = 100.0 #Common emitter current gain \n",
+ "hre = 10**-4 #Constant\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "gm = IC / 25.0 #Transconductance (in Siemen) \n",
+ "rb1e = hfe / gm #Resistance (in ohm) \n",
+ "rbb1 = hie - rb1e #Base spreading resistance (in ohm)\n",
+ "gb1c = hre / rb1e #Feedback conductance (in Siemen)\n",
+ "rce = 1 / (hoe - (1 + hfe)* gb1c) #Output resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of transconductance is \",gm,\" per ohm.\\nValue of resistance rb1e is \",rb1e,\" ohm.\\nValue of base spreading resistance is \",rbb1,\" ohm.\\nValue of feedback conductance is \",gb1c,\" per ohm.\\nValue of output resistance is \",round(abs(rce * 10**-3)),\" kilo-ohm.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of transconductance is 0.4 per ohm.\n",
+ "Value of resistance rb1e is 250.0 ohm.\n",
+ "Value of base spreading resistance is 250.0 ohm.\n",
+ "Value of feedback conductance is 4e-07 per ohm.\n",
+ "Value of output resistance is 33.0 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter24_5.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter24_5.ipynb
new file mode 100644
index 00000000..8d4d7f99
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter24_5.ipynb
@@ -0,0 +1,870 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:8d83d12da307337593a7cd775da037b9954c818c998b8e588f2f7e2538d508ce"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 24 , Singly-Stage BJT Amplifiers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.1 , Page Number 590"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RC = 10.0 #Collector resistance (in kilo-ohm)\n",
+ "RB = 1.0 * 10**3 #Base resistance (in kilo-ohm)\n",
+ "beta = 100.0 #Common emitter current gain \n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = (VCC - VBE) / RB #Base current (in milli-Ampere)\n",
+ "IC = beta * IB #Collector current (in milli-Ampere)\n",
+ "IE = IC #Emitter current (in milli-Ampere)\n",
+ "r1e = 25.0 / IE * 10**-3 #a.c resistance of emitter diode (in kilo-ohm)\n",
+ "R1 = beta * r1e #Input resistance looking directly into the base (in kilo-ohm)\n",
+ "Ris = RB * R1/(RB + R1) #Stage input resistance (in kilo-ohm)\n",
+ "Ro = RC #Output resistance (in kilo-ohm)\n",
+ "Av = RC / r1e #Voltage gain\n",
+ " \n",
+ "#Result\n",
+ "\n",
+ "print \"Input resistance looking into the base is \",round(R1,2),\" kilo-ohm.\\nInput resistance of the stage is \",round(Ris,3),\" kilo-ohm.\\nOutput resistance is \",Ro,\" kilo-ohm.\\nVoltage gain is \",Av,\".\"\n",
+ "\n",
+ "#Correction to be done in the book for the formula of Ris in the question."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input resistance looking into the base is 2.69 kilo-ohm.\n",
+ "Input resistance of the stage is 2.681 kilo-ohm.\n",
+ "Output resistance is 10.0 kilo-ohm.\n",
+ "Voltage gain is 372.0 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.2 , Page Number 591"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Ri = 2.5 #Input resistance (in kilo-ohm)\n",
+ "Av = 200.0 #Voltage gain\n",
+ "Vs = 5.0 * 10**-3 #Input signal voltage (in volts)\n",
+ "beta = 50.0 #Common emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IB = Vs / Ri #Base current (in milli-Ampere) \n",
+ "IC = beta * IB #Collector current (in milli-Ampere)\n",
+ "Ai = beta #Current gain\n",
+ "Ap = Ai * Av #Power gain\n",
+ "Gp = 10 * math.log10(Ap) #dB power gain (in decibel)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The base current is \",IB,\" mA.\\nThe collector current is \",IC,\" mA.\\nThe power gain is \",Ap,\".\\nThe dB power gain is \",Gp,\" dB.\"\n",
+ "\n",
+ "#Wrong unit of IB. IB is in micro Ampere but in book it is given in milli-Ampere in solution.\n",
+ "#Also wrong unit in IC."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The base current is 0.002 mA.\n",
+ "The collector current is 0.1 mA.\n",
+ "The power gain is 10000.0 .\n",
+ "The dB power gain is 40.0 dB.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.3 , Page Number 593"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 20.0 #Source voltage (in volts)\n",
+ "RC = 5.0 #Collector resistance (in kilo-ohm)\n",
+ "RE = 1.0 #Emitter resistance (in kilo-ohm)\n",
+ "RB = 100.0 #Base resistance (in kilo-ohm)\n",
+ "beta = 150.0 #Common emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = VCC / (RE + RB/beta) #Collector current (in milli-Ampere)\n",
+ "IE = IC #Emitter current (in milli-Ampere)\n",
+ "r1e = 25.0 / IE * 10**-3 #a.c. resistance of emitter diode (in kilo-ohm)\n",
+ "Ri = beta * (r1e + RE) #Input resistance looking directly into the base (in kilo-ohm)\n",
+ "Ris = RB * Ri / (RB + Ri) #Input resistance of the stage (in kilo-ohm)\n",
+ "Av = RC / RE #Voltage gain \n",
+ "Gp = 10 * math.log10(Av) #dB power gain (in decibel)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Input resistance looking into the base is \",round(Ri),\" kilo-ohm.\\nInput resistance of the stage is \",round(Ris),\" kilo-ohm.\\nVoltage gain is \",Av,\".\\ndB voltage gain is \",round(Gp),\" dB.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input resistance looking into the base is 150.0 kilo-ohm.\n",
+ "Input resistance of the stage is 60.0 kilo-ohm.\n",
+ "Voltage gain is 5.0 .\n",
+ "dB voltage gain is 7.0 dB.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.4 , Page Number 595"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 12.0 #Source voltage (in volts)\n",
+ "RC = 10.0 * 10**3 #Collector resistance (in ohm)\n",
+ "RE = 1.0 * 10**3 #Emitter resistance (in ohm)\n",
+ "RB = 500.0 * 10**3 #Base resistance (in ohm)\n",
+ "beta = 50.0 #Common emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IC = VCC / (RE + RB/beta) #Collector current (in Ampere)\n",
+ "IE = IC #Emitter current (in Ampere)\n",
+ "r1e = 25.0 / IE * 10**-3 #a.c. resistance of emitter diode (in ohm)\n",
+ "Ri = beta * (r1e) #Input resistance looking directly into the base (in ohm)\n",
+ "Ris = RB * Ri / (RB + Ri) #Input resistance of the stage (in ohm)\n",
+ "Av = RC / r1e #Voltage gain \n",
+ "AV1 = RC / RE #New voltage gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Input resistance looking into the base is \",round(Ri),\" ohm.\\nInput resistance of the stage is \",round(Ris,1),\" kilo-ohm.\\nVoltage gain is \",round(Av,2),\".\\nNew Voltage gain is \",AV1,\".\"\n",
+ "\n",
+ "#Slight variations in answers due to high precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input resistance looking into the base is 1146.0 ohm.\n",
+ "Input resistance of the stage is 1143.2 kilo-ohm.\n",
+ "Voltage gain is 436.36 .\n",
+ "New Voltage gain is 10.0 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.5 , Page Number 597"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 30.0 #Source voltage (in volts)\n",
+ "RC = 10.0 #Collector resistance (in kilo-ohm)\n",
+ "RE = 8.2 #Emitter resistance (in kilo-ohm)\n",
+ "RL = 3.3 #Load resistance (in kilo-ohm)\n",
+ "beta = 200.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "R1 = 47.0 #Resistance (in kilo-ohm) \n",
+ "R2 = 15.0 #Resistance (in kilo-ohm)\n",
+ "Vs = 5.0 #a.c voltage (in milli-volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vth = VCC * R2 / (R1 + R2) #Thevenin's voltage (in volts)\n",
+ "Rth = R1 * R2 / (R1 + R2) #Thevenin's equivalent voltage (in volts)\n",
+ "IE = (Vth - VBE)/(RE + Rth/beta) #Emitter current (in milli-Ampere)\n",
+ "r1e = 25.0 / IE #a.c. resistance of emitter diode (in ohm) \n",
+ "rL = RC * RL/(RC + RL) #a.c load seen by the amplifier (in kilo-ohm) \n",
+ "Av = rL * 10**3 / r1e #Voltage gain\n",
+ "vo = Av * Vs #Output voltage (in volts)\n",
+ "Ri = beta * r1e * 10**-3 #Input resistance looking directly into the base (in ohm) \n",
+ "Ris = Rth * Ri / (Rth + Ri) #input resistance of the stage (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"a.c output voltage is \",round(vo,2),\" mV.\\nInput impedance for the circuit is \",round(Ris),\" kilo-ohm.\"\n",
+ "\n",
+ "#Slight variation in value of vo due to higher precision. "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a.c output voltage is 394.14 mV.\n",
+ "Input impedance for the circuit is 4.0 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.6 , Page Number 599"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RC = 5.0 #Collector resistance (in kilo-ohm)\n",
+ "RE = 1.0 #Emitter resistance (in kilo-ohm)\n",
+ "beta = 50.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "R1 = 50.0 #Resistance (in kilo-ohm) \n",
+ "R2 = 10.0 #Resistance (in kilo-ohm)\n",
+ "Vs = 10.0 #a.c voltage (in milli-volts)\n",
+ "RS = 600.0 * 10**-3 #Source resistance (in kilo-ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vth = VCC * R2 / (R1 + R2) #Thevenin's voltage (in volts)\n",
+ "Rth = R1 * R2 / (R1 + R2) #Thevenin's equivalent voltage (in volts)\n",
+ "IE = (Vth - VBE)/(RE + Rth/beta) #Emitter current (in milli-Ampere)\n",
+ "r1e = 25.0 / IE * 10**-3 #a.c. resistance of emitter diode (in kilo-hm) \n",
+ "Ris = Rth * beta*r1e/(Rth + beta*r1e) #input resistance of the stage (in ohm)\n",
+ "rL = RC * R1/(RC + R1) #a.c load seen by the amplifier (in kilo-ohm) \n",
+ "Av = rL / r1e #Voltage gain\n",
+ "vin = Vs * Ris / (Ris + RS) #input voltage (in milli-volts) \n",
+ "vo = Av * vin #Output voltage (in milli-volts)\n",
+ "Avs = Av * vin / Vs #Overall voltage gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The output voltage is \",round(vo * 10**-3,3),\" V.\\nThe overall voltage gain is \",round(Avs,2),\".\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The output voltage is 1.025 V.\n",
+ "The overall voltage gain is 102.5 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.7 , Page Number 601"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 12.0 #Source voltage (in volts)\n",
+ "RC = 4.0 #Collector resistance (in kilo-ohm)\n",
+ "RE = 3.3 #Emitter resistance (in kilo-ohm)\n",
+ "beta = 120.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "R1 = 60.0 #Resistance (in kilo-ohm) \n",
+ "R2 = 30.0 #Resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vth = VCC * R2 / (R1 + R2) #Thevenin's voltage (in volts)\n",
+ "Rth = R1 * R2 / (R1 + R2) #Thevenin's equivalent voltage (in volts)\n",
+ "IE = (Vth - VBE)/(RE + Rth/beta) #Emitter current (in milli-Ampere)\n",
+ "r1e = 25.0 / IE * 10**-3 #a.c. resistance of emitter diode (in kilo-hm)\n",
+ "rL = RC #Load resistance (in kilo-ohm)\n",
+ "Av = RC / r1e #Voltage gain\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The voltage gain is \",round(Av,1),\".\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The voltage gain is 152.3 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.8 , Page Number 601"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = -18.0 #Source voltage (in volts)\n",
+ "RC = 4.3 #Collector resistance (in kilo-ohm)\n",
+ "RE = 1.0 #Emitter resistance (in kilo-ohm)\n",
+ "beta = 200.0 #Common emitter current gain\n",
+ "VBE = -0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "R1 = 39.0 #Resistance (in kilo-ohm) \n",
+ "R2 = 8.2 #Resistance (in kilo-ohm)\n",
+ "RL = 3.0 #Load resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vth = VCC * R2 / (R1 + R2) #Thevenin's voltage (in volts)\n",
+ "Rth = R1 * R2 / (R1 + R2) #Thevenin's equivalent voltage (in volts)\n",
+ "IC = (Vth - VBE)/(RE + Rth/beta) #Collector current (in milli-Ampere)\n",
+ "IE = -IC #Emitter current (in milli-Amper) \n",
+ "r1e = 30.0/IE * 10**-3 #a.ac resistance (in kilo-ohm)\n",
+ "Ris = Rth * beta*r1e/(Rth + beta*r1e) #input resistance of the stage (in ohm)\n",
+ "rL = RC * RL / (RC + RL) #a.c. load resistance (in kilo-ohm) \n",
+ "Av = rL / r1e #Voltage gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain is \",round(Av,1),\".\"\n",
+ "\n",
+ "#printing mistake in book about formula for rL it is in fact rL = RC * RL /(RC + RL).\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain is 138.3 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.9 , Page Number 603"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 20.0 #Source voltage (in volts)\n",
+ "RC = 5.7 #Collector resistance (in kilo-ohm)\n",
+ "RE = 1.0 #Emitter resistance (in kilo-ohm)\n",
+ "beta = 100.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "R1 = 100.0 #Resistance (in kilo-ohm) \n",
+ "R2 = 10.0 #Resistance (in kilo-ohm)\n",
+ "Vs = 10.0 * 10**-3 #a.c voltage (in volts)\n",
+ "RS = 100.0 * 10**-3 #Source resistance (in kilo-ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vth = VCC * R2 /(R1 + R2) #Thevenin's voltage (in volts)\n",
+ "Rth = R1 * R2 / (R1 + R2) #Thevenin's equivalent resistance (in kilo-ohm)\n",
+ "IE = (Vth - VBE)/(RE + Rth/beta) #Emitter current (in milli-Ampere)\n",
+ "r1e = 25.0 / IE * 10**-3 #a.c. resistance of emitter diode (in kilo-hm)\n",
+ "Ris = Rth * beta*r1e/(Rth + beta*r1e) #input resistance of the stage (in ohm)\n",
+ "rL = RC #Load resistance (in kilo-ohm)\n",
+ "Av = rL / r1e #Voltage gain \n",
+ "vin = Vs * Ris / (Ris + RS) #input voltage (in milli-volts) \n",
+ "vo = Av * vin #Output voltage (in milli-volts)\n",
+ "Avs = Av * vin / Vs #Overall voltage gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Av is \",Av,\".\\nRi is \",round(Ris * 10**3,2),\" ohm.\\nVo is \",round(vo,2),\" V.\\nAvs is \",round(Avs,2),\".\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Av is 233.7 .\n",
+ "Ri is 1923.08 ohm.\n",
+ "Vo is 2.22 V.\n",
+ "Avs is 222.15 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.10 , Page Number 604"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = -18.0 #Source voltage (in volts)\n",
+ "RC = 4.3 #Collector resistance (in kilo-ohm)\n",
+ "RE = 1.0 #Emitter resistance (in kilo-ohm)\n",
+ "beta = 200.0 #Common emitter current gain\n",
+ "VBE = -0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "R1 = 39.0 #Resistance (in kilo-ohm) \n",
+ "R2 = 8.2 #Resistance (in kilo-ohm)\n",
+ "RV = 75.0 * 10**-3 #Resistance (in kilo-ohm)\n",
+ "re = 30.0 * 10**-3 #Emitter resistance (in kilo-ohm)\n",
+ "RL = 3.3 #Load resistance (in kilo-ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vth = VCC * R2 /(R1 + R2) #Thevenin's voltage (in volts)\n",
+ "Rth = R1 * R2 / (R1 + R2) #Thevenin's equivalent resistance (in kilo-ohm)\n",
+ "IE = (Vth - VBE)/(RE + Rth/beta) #Emitter current (in milli-Ampere)\n",
+ "IC = round(IE,2) #Collector current (in milli-Ampere) \n",
+ "VCE = VCC - IC * (RC + RE) #Collector-to-Emitter voltage (in volts)\n",
+ "r1e = 30.0/abs(IE) * 10**-3 #a.c. resistance (in kilo-ohm)\n",
+ "Ris = Rth * beta*r1e/(Rth + beta*r1e) #input resistance of the stage (in ohm)\n",
+ "rL = RC * RL / (RC + RL) #Load resistance (in kilo-ohm)\n",
+ "Av = rL / (r1e + RV) #Voltage gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain Av is \",round(Av,1),\".\\nInput impedance is ,\",round(Ris,3),\" kilo-ohm.\\nVCE is \",VCE,\" V.\" \n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain Av is 21.3 .\n",
+ "Input impedance is , 1.856 kilo-ohm.\n",
+ "VCE is -5.545 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.11 , Page Number 606"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RC = 5.0 #Collector resistance (in kilo-ohm)\n",
+ "rE = 500 * 10**-3 #Emitter resistance (in kilo-ohm)\n",
+ "beta = 50.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "R1 = 50.0 #Resistance (in kilo-ohm) \n",
+ "R2 = 10.0 #Resistance (in kilo-ohm)\n",
+ "Vs = 100.0 * 10**-3 #a.c voltage (in volts)\n",
+ "RS = 600.0 * 10**-3 #Source resistance (in kilo-ohm)\n",
+ "RL = 50.0 #Load resistance (in kilo-ohm)\n",
+ "RE1 = 500.0 * 10**-3 #Resistance (in kilo-ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vth = VCC * R2 /(R1 + R2) #Thevenin's voltage (in volts)\n",
+ "Rth = R1 * R2 / (R1 + R2) #Thevenin's equivalent resistance (in kilo-ohm)\n",
+ "RE = RE1 + rE #Emitter total resistance (in kilo-ohm)\n",
+ "IE = (Vth - VBE)/(RE + Rth/beta) #Emitter current (in milli-Ampere)\n",
+ "r1e = 25.0 / IE * 10**-3 #a.c. resistance (in kilo-ohm) \n",
+ "Ri = beta * (rE + r1e) #Input resistance directly into the base (in kilo-ohm)\n",
+ "Ris = Rth * Ri/(Rth + Ri) #Input resistance of the stage (in kilo-ohm)\n",
+ "rL = RC * RL / (RC + RL) #a.c. load resistance (in kilo-ohm)\n",
+ "Av = rL/(rE + r1e) #Voltage gain\n",
+ "Avs = Av * Ris / (RS + Ris) #Overall voltage gain\n",
+ "Vo = Avs * Vs #Output voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Input resistance looking directly into the base is \",round(Ri,1),\" kilo-ohm.\\nInput resistance of the stage is \",round(Ris,2),\" kilo-ohm.\\nVoltage gain is \",round(Av,3),\" .\\nOverall voltage gain is \",round(Avs,2),\" .\\nOutput voltage is \",round(Vo,2),\"V.\"\n",
+ "\n",
+ "#Slight variations due to higher precision.\n",
+ "#Vo in the book is not properly calculated. Calculation error in Vo. Vo value should be 0.78 V."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input resistance looking directly into the base is 26.5 kilo-ohm.\n",
+ "Input resistance of the stage is 6.34 kilo-ohm.\n",
+ "Voltage gain is 8.574 .\n",
+ "Overall voltage gain is 7.83 .\n",
+ "Output voltage is 0.78 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.12 , Page Number 611"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RC = 10.0 #Collector resistance (in kilo-ohm)\n",
+ "alpha = 0.98 #Common base current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "Vs = 10.0 * 10**-3 #a.c voltage (in volts)\n",
+ "RL = 5.1 #Load resistance (in kilo-ohm)\n",
+ "RE = 20.0 #Resistance (in kilo-ohm) \n",
+ "VEE = 10.0 #Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IE = (VEE - VBE) / RE #Emitter current (in milli-Ampere)\n",
+ "r1e = 25.0 / IE * 10**-3 #a.c. emitter resistance (in kilo-ohm)\n",
+ "Ri = r1e #input resistance looking directly in the emitter (in kilo-ohm)\n",
+ "Ris = RE * r1e / (RE + r1e) #Input resistance of the stage (in kilo-ohm) \n",
+ "Ai = alpha #Current gain\n",
+ "rL = RC * RL / (RC + RL) #a.c. load resistance (in kilo-ohm)\n",
+ "Av = rL / r1e #Voltage gain\n",
+ "Ap = Av * Ai #Power gain\n",
+ "Gp = 10 * math.log10(Ap) #Power gain (in decibels)\n",
+ "vin = Vs #input voltage (in volts)\n",
+ "Vo = Av * vin #Output voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The input resistance looking directly into the emitter is \",round(Ri * 10**3,1),\" ohm.\\nThe input resistance of the stage is \",round(Ris * 10**3,2),\" ohm.\\nThe current gain is \",Ai,\" .\\nThe voltage gain is \",round(Av,1),\" .\\nThe power gain is \",round(Ap,2),\" .\\nThe power gain in decibels is \",round(Gp,1),\" dB.\\nThe output voltage is \",round(Vo * 10**3),\" mV.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The input resistance looking directly into the emitter is 53.8 ohm.\n",
+ "The input resistance of the stage is 53.62 ohm.\n",
+ "The current gain is 0.98 .\n",
+ "The voltage gain is 62.8 .\n",
+ "The power gain is 61.56 .\n",
+ "The power gain in decibels is 17.9 dB.\n",
+ "The output voltage is 628.0 mV.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.13 , Page Number 613"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Rs = 50.0 #source resistance (in ohm)\n",
+ "IE = 0.465 #Emitter current (in milli-Ampere)\n",
+ "r1e = 53.8 #a.c. resistance (in ohm)\n",
+ "Ri = 53.8 #Input resistance (in ohm)\n",
+ "Ris = 52.4 #Input resistance of stage (in ohm)\n",
+ "RL = 3.38 * 10**3 #Load resistance (in ohm) \n",
+ "Vs = 10.0 * 10**-3 #Input a.c. voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Avs = RL / (Rs + r1e) #Overall voltage gain\n",
+ "Av = RL / r1e #Voltage gain\n",
+ "vo = Avs * Vs #Output a.c. voltage (in volts)\n",
+ "vin = vo / Av #input voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain from source to output is \",round(Avs,1),\" .\\nVoltage gain from emitter to output is \",round(Av,1),\" .\\nValue of Vin is \",round(vin * 10**3,1),\" V.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain from source to output is 32.6 .\n",
+ "Voltage gain from emitter to output is 62.8 .\n",
+ "Value of Vin is 5.2 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.14 , Page Number 617"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VEE = 10.0 #Voltage (in volts)\n",
+ "RE = 10.0 * 10**3 #Emitter resistance (in ohm) \n",
+ "RB = 100.0 * 10**3 #Base resistance (in ohm)\n",
+ "beta = 50.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IE = (VEE - VBE)/(RE + RB/beta) #Emitter current (in Ampere)\n",
+ "r1e = 25.0 / IE * 10**-3 #a.c. resistance (in ohm)\n",
+ "Ri = beta * (RE + r1e) #Input resistance directly looking into the base (in ohm)\n",
+ "Ris = RB * Ri / (RB + Ri) #Input resistance of the stage (in ohm)\n",
+ "Ro = r1e #Output resistance (in ohm) \n",
+ "Av = RE / (r1e + RE) #Voltage gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Input resistance looking directly into the base is \",round(Ri * 10**-3,1),\" ohm.\\nInput resistance of the stage is \",round(Ris * 10**-3 ,1),\" ohm.\\nOutput resistance is \",round(Ro,1),\" ohm.\\nVoltage gain is \",round(Av,3),\" .\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input resistance looking directly into the base is 501.6 ohm.\n",
+ "Input resistance of the stage is 83.4 ohm.\n",
+ "Output resistance is 32.3 ohm.\n",
+ "Voltage gain is 0.997 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.15 , Page Number 618"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "beta = 80.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base Voltage (in volts)\n",
+ "VCC = 15.0 #Voltage (in volts)\n",
+ "R1 = 20.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 20.0 * 10**3 #Resistance (in ohm)\n",
+ "Vs = 5.0 * 10**-3 #a.c voltage (in volts)\n",
+ "RE = 8.2 * 10**3 #Emitter resistance (in ohm)\n",
+ "RL = 1.5 * 10**3 #Load resistance (in ohm)\n",
+ "RS = 2.0 * 10**3 #Source resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vth = VCC * R2 / (R1 + R2) #Thevenin's voltage (in volts)\n",
+ "Rth = R1 * R2 / (R1 + R2) #Thevenin's equivalent resistance (in ohm)\n",
+ "IE = (Vth - VBE)/(RE + Rth / beta) #Emitter resistance (in ohm)\n",
+ "r1e = 25.0 / IE * 10**-3 #a.c resistance of emitter diode (in ohm)\n",
+ "rL = RE * RL /(RE + RL) #a.c. load resistance (in ohm)\n",
+ "Ri = beta * (rL + r1e) #Input resistance looking directly into the base (in ohm)\n",
+ "Ris = Rth * Ri / (Rth + Ri) #Input resistance of the stage (in ohm)\n",
+ "Ro = r1e + (RS*Rth)/(Rth + RS)/beta #Output resistance of the stage (in ohm)\n",
+ "Vin = Vs * (Ris / (RS + Ris)) #Input voltage (in volts)\n",
+ "Vo = Vin #Output voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of input resistance looking directly into the base is \",round(Ri * 10**-3),\" kilo-ohm.\\nValue of input resistance of the stage is \",round(Ris * 10**-3,1),\" kilo-ohm.\\nOutput resistance is \",round(Ro,1),\" ohm.\\nA.C. output voltage is \",round(Vo * 10**3,1),\" mV.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of input resistance looking directly into the base is 104.0 kilo-ohm.\n",
+ "Value of input resistance of the stage is 9.1 kilo-ohm.\n",
+ "Output resistance is 51.4 ohm.\n",
+ "A.C. output voltage is 4.1 mV.\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter25_5.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter25_5.ipynb
new file mode 100644
index 00000000..586d46b8
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter25_5.ipynb
@@ -0,0 +1,666 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:75e52141ccf00cb8c14c8a0ee5b9c60f38850c2413b13d2345d9dd0ac1dc6df4"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 25 , Hybrid Parameters"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.1 , Page Number 626"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 6.0 #Resistance (in ohm)\n",
+ "R2 = 4.0 #Resistance (in ohm)\n",
+ "R3 = 4.0 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "#Let i1 = 10 A and v2 = 10 V.\n",
+ "i1 = 10.0 #Assumed current (in Ampere) \n",
+ "v2 = 10.0 #Assumed voltage (in volts)\n",
+ "#Parameters h11 and h21\n",
+ "\n",
+ "h11 = R1 + R2 * R3/(R2 + R3) #Input resistance looking from the input terminals (in ohm)\n",
+ "i2 = -i1 / 2 #Current2 (in Ampere)\n",
+ "h21 = i2/i1 #h21\n",
+ "\n",
+ "#Parameters h12 and h22\n",
+ "\n",
+ "v1 = v2/2 #Voltage1 (in volts) \n",
+ "h12 = v1 / v2 #h12\n",
+ "rnet = R2 + R3 #Output resistance (in ohm) \n",
+ "h22 = 1/rnet #h22 (in mhos)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"h11 : \",h11,\"\\nh21 : \",h21,\"\\nh12 : \",h12,\"\\nh22 : \",h22"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "h11 : 8.0 \n",
+ "h21 : -0.5 \n",
+ "h12 : 0.5 \n",
+ "h22 : 0.125\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.2 , Page Number 635"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "hie = 1.0 * 10**3 #hie (in ohm)\n",
+ "hre = 1.0 * 10**-4 #hre\n",
+ "hoe = 100.0 * 10**-6 #hoe (in mho)\n",
+ "RC = 1.0 * 10**3 #Collector resistance (in ohm) \n",
+ "RS = 1000.0 #Source resistance (in ohm)\n",
+ "hfe = beta = 50.0 #Common emitter current gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "rL = RC #a.c. load resistance (in ohm)\n",
+ "Ai = -hfe /(1 + hoe * rL) #Current gain of a transistor\n",
+ "Ri = hie + hre * Ai * rL #Input resistance looking directly into the base (in ohm)\n",
+ "Ris = Ri #Iput resistance of the amplified stage (in ohm)\n",
+ "dh = hie * hoe - hre * hfe #Change in h\n",
+ "Ro = (RS + hie)/(RS * hoe + dh) #Output resistance looking directly into collector (in ohm)\n",
+ "Ros = Ro * rL /(Ro + rL) #Output resistance of the amplified stage (in ohm)\n",
+ "Ais = Ai * RS / (RS + Ris) #Current gain of amplified stage\n",
+ "Av = Ai * rL / Ri #Voltage gain of transistor \n",
+ "Avs = Av * Ris / (RS + Ris) #Voltage gain of amplified stage \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Input resistance of the amplifier stage is \",round(Ris),\" ohm.\\nOutput resistance of amplifier stage is \",round(Ros),\" ohm.\\nCurrent gain of amplified stage is \",round(Ais,1),\"\\nVoltage gain of amplifier stage is \",round(Avs,1),\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input resistance of the amplifier stage is 995.0 ohm.\n",
+ "Output resistance of amplifier stage is 911.0 ohm.\n",
+ "Current gain of amplified stage is -22.8 \n",
+ "Voltage gain of amplifier stage is -22.8 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.3 , Page Number 637"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "hie = 1.1 * 10**3 #hie (in ohm)\n",
+ "hre = 2.5 * 10**-4 #hre\n",
+ "hoe = 25.0 * 10**-6 #hoe (in mho)\n",
+ "RS = 1000.0 #Source resistance (in ohm)\n",
+ "hfe = beta = 50.0 #Common emitter current gain \n",
+ "rL = 1000.0 #ac.c load resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Ai = hfe /(1 + hoe * rL) #Current gain of a transistor\n",
+ "Ri = hie + hre * Ai * rL #Input impedance (in ohm)\n",
+ "Av = Ai * rL / Ri #Voltage gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current gain is \",round(Ai,2),\"\\nInput impedance is \",round(Ri,1),\"\\nVoltage gain is \",round(Av,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current gain is 48.78 \n",
+ "Input impedance is 1112.2 \n",
+ "Voltage gain is 43.86\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.4 , Page Number 639"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RC = 4.0 * 10**3 #Collector resistance (in ohm)\n",
+ "RB = 40.0 * 10**3 #Base resistance (in ohm)\n",
+ "RS = 10.0 * 10**3 #Source resistance (in ohm)\n",
+ "hie = 1100.0 #hie (in ohm)\n",
+ "hfe = 50.0 #hfe\n",
+ "hre = hoe = dh = 0 #hre and hoe\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RB2 = RB #Resistance (in kilo-ohm) \n",
+ "rL = RC * RB2 /(RC +RB2) #a.c. load resistance (in ohm)\n",
+ "Ai = -hfe #Current gain\n",
+ "Ri = hie #Input resistance of the amplifier looking into the base (in ohm) \n",
+ "Av = Ai * rL / Ri #Voltage gain\n",
+ "RB1 = RB/(1 - Av) #Resistance (in ohm)\n",
+ "Ris = Ri * RB1 / (Ri + RB1) #Input resistance looking from source terminals (in ohm)\n",
+ "Ro = \"infinite\" #Output resistance (in ohm)\n",
+ "Ros = rL #Output resistance of the stage (in ohm)\n",
+ "Avs = Av * Ris / (RS + Ris) #Voltage gain of the stage \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain is \",round(Avs,1),\".\\nInput resistance is \",round(Ris),\" ohm.\\nOutput resistance is \",round(Ros),\" ohm.\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain is -3.2 .\n",
+ "Input resistance is 197.0 ohm.\n",
+ "Output resistance is 3636.0 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.5 , Page Number 640"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "hie = 1.1 * 10**3 #hie (in ohm)\n",
+ "hre = 2.5 * 10**-4 #hre\n",
+ "hoe = 25.0 * 10**-6 #hoe (in mho)\n",
+ "RS = 10000.0 #Source resistance (in ohm)\n",
+ "hfe = beta = 50.0 #Common emitter current gain \n",
+ "rL = 1000.0 #ac.c load resistance (in ohm)\n",
+ "RB = 200.0 * 10**3 #Feedback resistor (in ohm)\n",
+ "RC = 5.0 * 10**3 #Collector resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "rL = RC * RB / (RC + RB) #a.c. load resistance (in ohm) \n",
+ "Ai = hfe /(1 + hoe * rL) #Current gain\n",
+ "Ri = hie + hre * Ai * rL #Input resistance of the amplifier looking into the base (in ohm) \n",
+ "Av = Ai * rL / Ri #Voltage gain\n",
+ "RB1 = RB/(1 - (-17.4)) #Resistance (in ohm)\n",
+ "Ris = Ri * RB1 / (Ri + RB1) #Input resistance looking from source terminals (in ohm)\n",
+ "Avs = Av * Ris / (RS + Ris) #Voltage gain of the stage \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Ai is \",round(Ai,2),\"\\nAv is \",round(Av,2),\"\\nAvs is \",round(Avs,1),\"\\nRi is \",round(Ri*10**-3,3),\" kilo-ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Ai is 44.57 \n",
+ "Av is 188.32 \n",
+ "Avs is 17.8 \n",
+ "Ri is 1.154 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.6 , Page Number 643"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "hib = 28.0 #hib (in ohm)\n",
+ "hfb = -0.98 #hfb\n",
+ "hrb = 5.0 * 10**-4 #hrb\n",
+ "hob = 0.34 * 10**-6 #hoh (in Siemen)\n",
+ "rL = 1.2 * 10**3 #a.c. load resistance (in ohm)\n",
+ "RS = 0.0 #Source resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Ai = -(hfb/(1 + hob * rL)) #Current gain\n",
+ "Ri = hib + hrb * Ai * rL #Input resistance (in ohm)\n",
+ "dh = hib * hob - hrb * hfb #change in h\n",
+ "Ro = (RS + hib)/(RS*hib + dh)#Output resistance (in ohm)\n",
+ "Av = Ai * rL / Ri #Voltage gain\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of input resistance is \",round(Ri,1),\" ohm.\\nThe value of output resistance is \",round(Ro * 10**-3),\" kilo-ohm.\\nThe value of current gain is \",round(Ai,2),\" .\\nThe value of voltage gain is \",round(Av),\" .\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of input resistance is 28.6 ohm.\n",
+ "The value of output resistance is 56.0 kilo-ohm.\n",
+ "The value of current gain is 0.98 .\n",
+ "The value of voltage gain is 41.0 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.7 , Page Number 644"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "hic = 2.0 * 10**3 #hic (in ohm)\n",
+ "hfc = -51.0 #hfe\n",
+ "hrc = 1.0 #hrc\n",
+ "hoc = 25.0 * 10**-6 #hoc (in mho)\n",
+ "rL = RE = 5.0 * 10**3 #a.c. load resistance (in ohm)\n",
+ "RS = 1.0 * 10**3 #Source resistance (in ohm)\n",
+ "R1 = R2 = 10.0 * 10**3 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Ai = -hfc / (1 + hoc * rL) #Current gain\n",
+ "Ri = hic + hrc * Ai * rL #Input resistance (in ohm)\n",
+ "Ris = (R1*R2*Ri)/(Ri*R1 + Ri*R2 + R1*R2) #Input resistance of the amplified stage (in ohm)\n",
+ "Ro = -(RS + hic)/hfc #Output resistance (in ohm)\n",
+ "Ros = Ro * RE / (Ro + RE) #Input resistance of the amplified stage (in ohm)\n",
+ "Ais = Ai * RS / (RS + Ris) #Current gain of amplified stage \n",
+ "Av = Ai * rL / Ri #Voltage gain\n",
+ "Avs = Av * Ris / (RS + Ris) #Voltage gain of amplified stage \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of input resistance of amplified stage is \",round(Ris),\" ohm.\\nThe value of output resistance of amplified stage is \",round(abs(Ros),1),\" kilo-ohm.\\nThe value of current gain of amplified stage is \",round(Ais,1),\" .\\nThe value of voltage gain of amplified stage is \",round(Avs,3),\" .\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of input resistance of amplified stage is 4893.0 ohm.\n",
+ "The value of output resistance of amplified stage is 58.1 kilo-ohm.\n",
+ "The value of current gain of amplified stage is 7.7 .\n",
+ "The value of voltage gain of amplified stage is 0.823 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.8 , Page Number 646"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "hie = 1500.0 #hie (in ohm)\n",
+ "hfe = 50.0 #hfe\n",
+ "hre = 50.0 * 10**-4 #hre\n",
+ "hoe = 20.0 * 10**-6 #hoe\n",
+ "R1 = 20.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 10.0 * 10**3 #Resistance (in ohm)\n",
+ "RC = 5.0 * 10**3 #Collector resistance (in ohm) \n",
+ "RE = 1.0 * 10**3 #Emitter resistance (in ohm)\n",
+ "RL = 10.0 * 10**3 #Load resistance (in ohm) \n",
+ "RS = 0 #Source resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Ai = -hfe\n",
+ "rL = RC * RL /(RC + RL) #a.c. load resistance (in ohm)\n",
+ "Ri = hie #Input resistance (in ohm)\n",
+ "Ris = (R1*R2*Ri)/(Ri*R1 + Ri*R2 + R1*R2) #Input resistance of the amplified stage (in ohm)\n",
+ "Ro = 1 / hoe #Output resistance (in ohm)\n",
+ "Ros = Ro * rL /(Ro + rL) #Output resistance of the stage (in ohm)\n",
+ "Av = Ai * rL / Ri #Voltage gain\n",
+ "Avs = Av * Ris / (RS + Ris) #Voltage gain of the stage \n",
+ "Ais = Ai #Current gain of the stage\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Input resistance of the stage is \",round(Ris * 10**-3,2),\" kilo-ohm.\\nOutput resistance of the stage is \",round(Ros * 10**-3,1),\" kilo-ohm.\\nVoltage gain of the stage is \",round(Avs),\" .\\nCurrent gain of the stage is \",Ai,\" .\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input resistance of the stage is 1.22 kilo-ohm.\n",
+ "Output resistance of the stage is 3.1 kilo-ohm.\n",
+ "Voltage gain of the stage is -111.0 .\n",
+ "Current gain of the stage is -50.0 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.9 , Page Number 647"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RC = 12.0 * 10**3 #Collector resistance (in ohm)\n",
+ "RL = 4.7 * 10**3 #Load resistance (in ohm) \n",
+ "R1 = 33.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 4.7 * 10**3 #Resistance (in ohm)\n",
+ "IC = 1.0 * 10**-3 #Collector current (in Ampere)\n",
+ "hiemin = 1.0 * 10**3 #hie minimum (in ohm)\n",
+ "hiemax = 5.0 * 10**3 #hie maximum (in ohm)\n",
+ "hfemin = 70.0 #Current gain minimum\n",
+ "hfemax = 350.0 #Current gain maximum\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "hie = (hiemin * hiemax)**0.5 #hie (in ohm)\n",
+ "hfe = (hfemin * hfemax)**0.5 #current gain \n",
+ "Ri = hie #input resistance (in ohm)\n",
+ "Ris = (R1*R2*Ri)/(Ri*R1+Ri*R2+R1*R2) #Input resistance of the amplified stage (in ohm)\n",
+ "Ai = hfe #Current gain of transistor\n",
+ "rL = RC * RL / (RC + RL) #a.c. load resistance (in ohm)\n",
+ "Avs = Av = Ai*rL / Ri #overall voltage gain\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Input impedance is \",round(Ris * 10**-3,2),\" kilo-ohm.\\nOverall voltage gain is \",round(Avs,1),\".\"\n",
+ "\n",
+ "#Calculation error in book for hfe."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input impedance is 1.45 kilo-ohm.\n",
+ "Overall voltage gain is 236.4 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.10 , Page Number 648"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RB = 330.0 * 10**3 #Base resistance (in ohm)\n",
+ "RC = 2.7 * 10**3 #Collector resistance (in ohm) \n",
+ "hfe = 120.0 #current gain\n",
+ "hie = 1.175 * 10**3 #hie (in ohm)\n",
+ "hoe = 20 * 10**-6 #hoe (in Ampere per volt)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Ri = hie #Input resistance of transistor (in ohm)\n",
+ "Ris = hie * RB /(hie + RB) #Input resistance of the circuit (in ohm)\n",
+ "Ro = 1 / hoe #Output resistance of transistor (in ohm)\n",
+ "Ros = Ro * RC / (Ro + RC) #Output resistance of the circuit (in ohm)\n",
+ "Ai = hfe #Current gain of the circuit\n",
+ "Avs = Ai * RC / Ri #Overall voltage gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Input resistance of the circuit is \",round(Ris * 10**-3,2),\" kilo-ohm.\\nOutput resistance of the circuit is \",round(Ros * 10**-3,2),\" kilo-ohm.\\nCurrent gain of the circuit is \",Ai,\".\\nVoltage gain of the circuit is \",round(Avs,1),\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input resistance of the circuit is 1.17 kilo-ohm.\n",
+ "Output resistance of the circuit is 2.56 kilo-ohm.\n",
+ "Current gain of the circuit is 120.0 .\n",
+ "Voltage gain of the circuit is 275.7 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.11 , Page Number 649"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "hfe = 50.0 #Current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "hfb = -hfe / (1 + hfe) #hfb\n",
+ "hfc = -(1 + hfe) #hfc \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of hfb = \",round(hfb,2),\".\\nValue of hfc = \",hfc,\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of hfb = -0.98 .\n",
+ "Value of hfc = -51.0 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.12 , Page Number 649"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "hie = 1100.0 #hie (in ohm)\n",
+ "hre = 2.5 * 10**-4 #hre\n",
+ "hfe = 50.0 #Current gain\n",
+ "hoe = 24.0 * 10**-6 #hoe (in Ampere per volt)\n",
+ "rL = RL = 10.0 * 10**3 #Load resistance (in ohm) \n",
+ "RS = 1.0 * 10**3 #Source resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "hic = hie #hic (in ohm)\n",
+ "hrc = (1 - hre) #hrc\n",
+ "hfc = -(1 + hfe) #hfc\n",
+ "Ai = -(hfc/(1 + hoe * rL)) #Current gain\n",
+ "Ri = hic + hrc * Ai * rL #Input resistance (in ohm)\n",
+ "Av = Ai * rL / Ri #Voltage gain\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Current gain is \",round(Ai,1),\".\\nInput resistance is \",round(Ri * 10**-3,1),\" kilo-ohm.\\nVoltage gain is \",round(Av,3),\".\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current gain is 41.1 .\n",
+ "Input resistance is 412.3 kilo-ohm.\n",
+ "Voltage gain is 0.998 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter26_5.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter26_5.ipynb
new file mode 100644
index 00000000..41dd2f3c
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter26_5.ipynb
@@ -0,0 +1,491 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:1adbacabb5391b7ec0914bdea7be4967c3225d247b9edb92e72750634ec2b9e5"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 26 , Multistage BJT Amplifiers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 26.1 , Page Number 658"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Av1 = 10.0 #Voltage gain1\n",
+ "Av2 = 20.0 #Voltage gain2\n",
+ "Av3 = 40.0 #Voltage gain3\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Av = Av1 * Av2 * Av3 #Voltage gain\n",
+ "Gv1 = 20 * math.log10(Av1) #dB voltage gain1\n",
+ "Gv2 = 20 * math.log10(Av2) #dB voltage gain2\n",
+ "Gv3 = 20 * math.log10(Av3) #dB voltage gain3\n",
+ "Gv = Gv1 + Gv2 + Gv3 #dB voltage gain\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Overall voltage gain is \",Av,\".\\nTotal dB voltage gain is \",round(Gv),\" dB.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Overall voltage gain is 8000.0 .\n",
+ "Total dB voltage gain is 78.0 dB.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 26.2 , Page Number 659"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "n = 3 #Number of amplified stages\n",
+ "Vin1 = 0.05 #Input to first stage (in volts peak-to-peak)\n",
+ "Vout3 = 150.0 #Output of final stage (in volts peak-to-peak)\n",
+ "Av1 = 20.0 #Voltage gain of first stage \n",
+ "Vin3 = 15.0 #Input of final stage (in volts peak-to-peak) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Av = Vout3 / Vin1 #Overall voltage gain\n",
+ "Av3 = Vout3 / Vin3 #Voltage gain of third stage\n",
+ "Av2 = Av / (Av1 * Av3) #Voltage gain of second stage\n",
+ "Vin2 = Vin3 / Av2 #Input voltage gain of second stage \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Overall voltage gain is \",Av,\".\\nVoltage gain of 2nd and 3rd stage is \",Av2,\" and \",Av3,\".\\nInput voltage of the second stage is \",Vin2,\" Vpk-pk.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Overall voltage gain is 3000.0 .\n",
+ "Voltage gain of 2nd and 3rd stage is 15.0 and 10.0 .\n",
+ "Input voltage of the second stage is 1.0 Vpk-pk.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 26.3 , Page Number 663"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RC = 5.0 * 10**3 #Collector resistance (in ohm) \n",
+ "RB = 1.0 * 10**6 #Base resistance (in ohm)\n",
+ "RE = 1.0 * 10**3 #Emitter resistance (in ohm)\n",
+ "RL = 10.0 * 10**3 #Load resistance (in ohm)\n",
+ "beta1 = beta2 = 100.0 #Common emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IE = VCC /(RE + RB/beta1) #Emitter current (in Ampere)\n",
+ "r1e = 25.0/IE * 10**-3 #a.c. emitter diode resistance (in ohm)\n",
+ "Ri1 = beta1 * r1e #Input resistance of first stage (in ohm)\n",
+ "Ri2 = beta2 * r1e #Input resistance of second stage (in ohm)\n",
+ "Ro1 = RC * Ri2 / (RC + Ri2) #Output resistance of first stage (in ohm)\n",
+ "Ro2 = RC * RL / (RC + RL) #Output resitance of second stage (in ohm)\n",
+ "Av1 = Ro1 / r1e #Voltage gain of first stage\n",
+ "Av2 = Ro2 / r1e #Voltage gain of second stage\n",
+ "Av = Av1 * Av2 #Overall voltage gain\n",
+ "Gv = 20 * math.log10(Av) #Overall dB voltage gain\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Input resistance of first and scond stage is \",round(Ri1),\" ohm and \",round(Ri2),\" ohm.\\nOutput resistance of first and second stage is \",round(Ro1,1),\" ohm and \",round(Ro2,1),\" ohm.\\nVoltage gain of first and second stage is \",round(Av1),\" and \",round(Av2,1),\".\\nOverall voltage gain and dB voltage gain is \",round(Av),\" and \",round(Gv,1),\" dB.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input resistance of first and scond stage is 2750.0 ohm and 2750.0 ohm.\n",
+ "Output resistance of first and second stage is 1774.2 ohm and 3333.3 ohm.\n",
+ "Voltage gain of first and second stage is 65.0 and 121.2 .\n",
+ "Overall voltage gain and dB voltage gain is 7820.0 and 77.9 dB.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 26.4 , Page Number 664"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 15.0 #Source voltage (in volts)\n",
+ "RC = 3.3 * 10**3 #Collector resistance (in ohm) \n",
+ "RE = 1.0 * 10**3 #Emitter resistance (in ohm)\n",
+ "RL = 10.0 * 10**3 #Load resistance (in ohm)\n",
+ "R1 = 33.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 8.2 * 10**3 #Resistance (in ohm)\n",
+ "beta1 = beta2 = 100.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-base voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vth = VCC * R2 / (R1 + R2) #Thevenin's voltage (in volts)\n",
+ "Rth = R1 * R2 / (R1 + R2) #Thevenin's equivalent resistance (in ohm)\n",
+ "IE = (Vth - VBE)/(RE + Rth/beta1) #Emitter current (in Ampere)\n",
+ "r1e = 25.0/IE * 10**-3 #a.c. emitter resistance (in ohm)\n",
+ "Ri2 = beta1 * r1e #Input resistance of second stage (in ohm)\n",
+ "Ro1 = RC * Ri2 / (RC + Ri2) #Output resistance of first stage (in ohm)\n",
+ "Ro2 = RC * RL /(RC + RL) #Output resistance of second stage (in ohm)\n",
+ "Av1 = Ro1 / r1e #Voltage gain of the first stage\n",
+ "Av2 = Ro2 / r1e #Voltage gain of second stage\n",
+ "Av = Av1 * Av2 #Overall voltage gain\n",
+ "Gv = 20 * math.log10(Av) #Overall voltage (in decibels)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain of stage one and two are as follows \",round(Av1,2),\" and \",round(Av2,2),\".\\nOverall voltage gain is \",round(Av),\".\\nOverall voltage gain in decibels is \",round(Gv,1),\" dB.\"\n",
+ "\n",
+ "#Slight variation in the value of Av2 and Av due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain of stage one and two are as follows 73.9 and 212.85 .\n",
+ "Overall voltage gain is 15728.0 .\n",
+ "Overall voltage gain in decibels is 83.9 dB.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 26.5 , Page Number 669"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RB = 470.0 * 10**3 #Base resistance (in ohm) \n",
+ "RE = 1.0 * 10**3 #Emitter resistance (in ohm)\n",
+ "RL = 1.0 * 10**3 #Load resistance (in ohm)\n",
+ "a = 4.0 #Turn's ratio\n",
+ "beta1 = beta2 = 50.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-base voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IE = VCC/ (RE + RB/beta1) #Emitter current (in Ampere)\n",
+ "r1e = 25.0 / IE * 10**-3 #a.c. emitter diode resistance (in ohm)\n",
+ "Ri1 = RB*beta1*r1e/(RB+beta1*r1e) #Input resistance of first stage (in ohm)\n",
+ "Ri2 = RB*beta2*r1e/(RB+beta2*r1e) #Input resistance of Second stage (in ohm)\n",
+ "R1i2 = a**2 * Ri2 #Input resistance of the second stage transformed to primary side (in ohm)\n",
+ "Ro1 = R1i2 #Output resistance of second stage (in ohm)\n",
+ "R1o2 = a**2 * RL #Output resistance of the second stage transformed to the primary side (in ohm) \n",
+ "Av1 = Ro1/r1e #Voltage gain of first stage\n",
+ "Av2 = R1o2/r1e #Voltage gain of second stage\n",
+ "Av = Av1 * Av2 #Overall voltage gain\n",
+ "Gv = 20 * math.log10(Av) #Overall voltage gain (in decibels) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain of first stage is \",round(Av1,1),\".\\nVoltage gain of second stage is \",round(Av2,1),\".\\nOverall voltage gain is \",round(Av),\".\\nOverall voltage gain in decibels is \",round(Gv),\" dB.\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain of first stage is 797.8 .\n",
+ "Voltage gain of second stage is 615.4 .\n",
+ "Overall voltage gain is 490950.0 .\n",
+ "Overall voltage gain in decibels is 114.0 dB.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 26.6 , Page Number 672"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 12.0 #Source voltage (in volts)\n",
+ "R1 = 100.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 20.0 * 10**3 #Resistance (in ohm)\n",
+ "R3 = 10.0 * 10**3 #Resistance (in ohm)\n",
+ "R4 = 2.0 * 10**3 #Resistance (in ohm)\n",
+ "R5 = 10.0 * 10**3 #Resistance (in ohm)\n",
+ "R6 = 2.0 * 10**3 #Resistance (in ohm)\n",
+ "beta1 = beta2 = 100.0 #Common emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vth = VCC * R2 / (R1 + R2) #Thevenin's voltage (in volts)\n",
+ "IE1 = Vth / R4 #Emitter curren1 (in Ampere)\n",
+ "r1e = 25.0 / IE1 * 10**-3 #a.c. emitter diode resistance (in ohm) \n",
+ "VR6 = VCC - IE1 * R3 #Voltage across resistance6 (in volts)\n",
+ "IE2 = VR6 / R6 #Emitter current2 (in Ampere)\n",
+ "r1e2 = 25.0 / IE2 * 10**-3 #a.c. emitter diode resistance2 (in ohm)\n",
+ "Ri2 = beta2*(r1e2 + R6) #Input resistance of second stage (in ohm)\n",
+ "Ro1 = R3 * Ri2 /(R3 + Ri2) #Output resistance of first stage (in ohm)\n",
+ "Ro2 = R5 #Output resistance of second stage (in ohm)\n",
+ "Av1 = Ro1/(r1e + R4) #Voltage gain of first stage \n",
+ "Av2 = Ro2/(r1e2 + R6) #Voltage gain of second stage\n",
+ "Av = Av1 * Av2 #Overall voltage gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain of first stage is \",round(Av1,1),\".\\nVoltage gain of second stage is \",round(Av2,1),\".\\nOverall voltage gain is \",round(Av,2),\".\"\n",
+ "\n",
+ "#Calculation mistake in book about Ro1 , therefore slight variation in the answers."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain of first stage is 4.7 .\n",
+ "Voltage gain of second stage is 4.9 .\n",
+ "Overall voltage gain is 23.24 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 26.7 , Page Number 674"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "R1 = 800.0 #Resistance (in ohm)\n",
+ "R2 = 200.0 #Resistance (in ohm)\n",
+ "R3 = 600.0 #Resistance (in ohm)\n",
+ "R4 = 200.0 #Resistance (in ohm)\n",
+ "R5 = 100.0 #Resistance (in ohm)\n",
+ "R6 = 1000.0 #Resistance (in ohm)\n",
+ "beta1 = beta2 = 100.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-base voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VR2 = VCC * (R2 / (R1 + R2)) #Voltage across resistance2 (in volts)\n",
+ "IE1 = (VR2 - VBE)/R2 #Emitter current of Q1 transistor (in Ampere)\n",
+ "IC1 = IE1 #Collector current of Q1 transistor (in Ampere)\n",
+ "VC1 = VCC - IC1 * R3 #Voltage at the collector of Q1 transistor (in volts)\n",
+ "VE1 = IE1 * R4 #Voltage at the emitter of Q1 transistor (in volts)\n",
+ "VCE1 = VC1 - VE1 #Collector-to-emitter voltage of Q1 transistor (in volts)\n",
+ "VE2 = VC1 - (-VBE) #Voltage at the emitter of Q2 transistor (in volts)\n",
+ "IE2 = (VCC - VE2)/R6 #Emitter current of Q2 transistor (in Ampere)\n",
+ "IC2 = IE2 #Collector-current of Q2 transistor (in Ampere)\n",
+ "VC2 = IC2 * R5 #Voltage at the collector of Q2 transistor (in volts)\n",
+ "VCE2 = VC2 - VE2 #Collector-to-emitter voltage of Q2 transistor (in volts)\n",
+ "\n",
+ "r1e1 = 25.0 / IE1 * 10**-3 #a.c. emitter diode resistance of Q1 transistor (in ohm)\n",
+ "r1e2 = 25.0 / IE2 * 10**-3 #a.c. emitter diode resistance of Q2 transistor (in ohm)\n",
+ "Ri2 = beta2 * (r1e2 + R6) #Input resistance of second stage (in ohm)\n",
+ "Ro1 = R3 * Ri2 / (R3 + Ri2) #Output resistance of first stage (in ohm)\n",
+ "Av1 = Ro1 / (r1e1 + R4) #Voltage gain of first stage\n",
+ "Av2 = 1.0 #Voltage gain of second stage \n",
+ "Av = Av1 * Av2 #Overall voltage gain\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Emitter current of Q1 transistor is \",IE1 * 10**3,\" mA.\\nCollector current of Q1 transistor is \",IC1 * 10**3,\" mA.\\nEmitter current of Q2 transistor is \",IE2 * 10**3,\" mA.\\nCollecotr-current of Q2 transistor is \",IC2 * 10**3,\" mA.\"\n",
+ "print \"Collector-to-emitter voltage of Q1 transistor is \",VCE1,\" v.\\nCollector-to-emitter voltage of Q2 transistor is \",VCE2,\".\"\n",
+ "print \"Overall voltage gain is \",round(Av,2),\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Emitter current of Q1 transistor is 6.5 mA.\n",
+ "Collector current of Q1 transistor is 6.5 mA.\n",
+ "Emitter current of Q2 transistor is 3.2 mA.\n",
+ "Collecotr-current of Q2 transistor is 3.2 mA.\n",
+ "Collector-to-emitter voltage of Q1 transistor is 4.8 v.\n",
+ "Collector-to-emitter voltage of Q2 transistor is -6.48 .\n",
+ "Overall voltage gain is 2.93 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 26.8 , Page Number 679"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RE = 1.5 * 10**3 #Emitter resistance (in ohm)\n",
+ "R1 = 30.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 20.0 * 10**3 #Resistance (in ohm)\n",
+ "beta1 = 150.0 #Common emitter current gain\n",
+ "beta2 = 100.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-base voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Ai = beta1 * beta2 #Overall current gain of transistor\n",
+ "VR2 = VCC * R2/(R1 + R2) #Voltage across resistor2 (in volts)\n",
+ "VB2 = VR2 - VBE #Voltage at the base of Q2 (in volts)\n",
+ "VE2 = VB2 - VBE #Voltage at the emitter of Q2 (in volts)\n",
+ "IE2 = VE2 / RE #Emitter current of Q2 (in Ampere)\n",
+ "r1e2 = 25.0/IE2 * 10**-3 #a.c. emitter diode resistance of Q2 (in ohm)\n",
+ "IB2 = IE2 / beta2 #Base current of Q2 (in Ampere)\n",
+ "IE1 = IB2 #Emitter current of Q2\n",
+ "r1e1 = 25.0/IE1 * 10**-3 #a.c. emitter diode resistance of Q1 (in ohm) \n",
+ "Ri1 = R1 * R2/(R1 + R2) #Total input resistance (in ohm)\n",
+ "Av = RE/(r1e1/beta2 + r1e2 + RE) #Overall voltage gain\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The overall current gain is \",Ai,\".\"\n",
+ "print \"The a.c. emitter diode resistance of Q1 transistor is \",round(r1e1,1),\" ohm.\\nThe a.c. emitter diode resistance of Q2 transistor is \",round(r1e2,2),\" ohm.\"\n",
+ "print \"Total input resistance is \",Ri1 * 10**-3,\" kilo-ohm.\"\n",
+ "print \"Overall voltage gain is \",round(Av,2),\".\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The overall current gain is 15000.0 .\n",
+ "The a.c. emitter diode resistance of Q1 transistor is 1442.3 ohm.\n",
+ "The a.c. emitter diode resistance of Q2 transistor is 14.42 ohm.\n",
+ "Total input resistance is 12.0 kilo-ohm.\n",
+ "Overall voltage gain is 0.98 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter27_5.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter27_5.ipynb
new file mode 100644
index 00000000..433935a4
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter27_5.ipynb
@@ -0,0 +1,782 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 27 , Power Amplifiers"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.1 , Page Number 689"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Collector current at saturation point is 8.77 mA.\n",
+ "Collector-to-emitter voltage at saturation point is 0 V.\n",
+ "Collector current at cut off point is 0 mA.\n",
+ "Collector-to-emitter voltage at cut-off point is 5.26 V.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Annotation at 0x6269f30>"
+ ]
+ },
+ "execution_count": 1,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAEZCAYAAABsPmXUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xu8VXP+x/HXp5t00UVRFEXukoqixEHTGMKIkVxzjTHx\ncxuMGU5mhhk0LjGYXCa6uf0aIpXUySWVUkqiyc8tyjWkhkGf3x/fdWp3Opd9zln7rLP3fj8fj/1o\n7bXWXt/Ppj7nez7ru75fc3dERCS31Ek6ABERiZ+Su4hIDlJyFxHJQUruIiI5SMldRCQHKbmLiOQg\nJXfJG2ZWaGYPZ+C6HcxsvZmV+u/JzN4zs8Oi7d+Z2ci4YxApqV7SAYjUoKQe6tjQrrvfkFAMkmfU\nc5d8YkkHIFJTlNylVjCzq8xsuZl9Y2ZLzOyX5Zy7pZkNj8odX5nZi2bWsAptHhO1tdrMZpjZ7unE\nY2Z1zOwWM/vMzN4BjqpEmxtKQynlnNPN7P3oer9LOddS4vjczB4xsxaV/Z6Sn5TcpbZYDhzk7lsB\nw4DRZtamjHNvAboCBwItgSuA9ZVpzMx2BcYCFwGtgEnARDMrLlWWFs+20bHzCAl9X2A/4ATSL/mU\ndl5vYFfgcOBaM9st2n8RcAxwMNAWWA3cle53lPym5C61grs/7u6rou1HgX8DPUqeF920PBO42N1X\nuvt6d5/t7v+tZJMDgafd/Xl3/4nwA2NLQqKtKJ4TgVvd/SN3Xw3cQPoln9LOG+bu37v7IuB1oEu0\n/3zg9+7+sbv/QPghc0JZN25FUumGqtQKZnY6cAnQIdrVBNi6lFNbAQ2Bd6rZ5HbAB8Vv3N3N7MNo\nf1nxtIq22wIfplzrA6pnVcr2uqgtgB2BCWaW+lvJj8C2wMpqtik5Tj0ASZyZ7Qj8A7gQaOnuLYA3\nKL2X+znwHdCpms1+REiexTEY0B74KI14VgI7pFwrdTtOHwBHuHuLlFcjd1dilwopuUtt0JhQi/4c\nqGNmZwJ7l3aiu68HHgD+ZmZtzayumR1oZg0q2eZjwFFmdpiZ1QcuI/zQmJVGPI8CF5nZ9tENzqsq\n2Xa67gFuMLMdAMystZkdk6G2JMcouUvi3P1NYDjwCqFEsTfwUvFxM+tjZmtSPnI5sBh4FfgCuJGo\nV21ma8ysd1lNRS/c/W3gVGAE8BnhBunR7v5jRfEAI4EphPr4POAJKndD1Uu8L8vtwFPAVDP7Jopn\ns/sQIqWxTC7WYWYXA+cQ/uGNdPfbM9aYiIhskLGeu5ntTUjs+xPu/vc3s50z1Z6IiGyUybLM7sAc\nd/8uGmo2ExiQwfZERCSSyeT+BtDHzFqaWSNCTbNdyZPM7OroCcDFZjbWzLYocfxyM1sQvRab2Y9m\n1jydz4qI5KuMJXd3fwv4KzAVeBZYQImnCM2sA3Au0M3dOwN1gZNKXOcWd+/q7l2Bq4Eid/8qnc+K\niOSrjN5Q3aQhsxuAD9z9npR9Sc3SJyKS1dy93KeiMzoU0sy2if7cATiOMJfHJu69916aNGlC69at\nOfXUU3H3Ul9r166lZcuWrF69esO+dD+b1Ou6665LPAZ9P32/fPx+ufzd3NPrE2d6nPvjZraEMFb3\n1+7+TckTbrvtNt577z0+/vhjvv32W8aMGVPqhSZOnMhBBx1E8+bNAXjnnXfS/qyISL7JaHJ394Pd\nfS9339fdZ5R2Tq9evdh6662pV68eAwYMYNasWaVea/z48QwaNGjD+3nz5qX9WRGRfJP4E6qvvDKb\n//znP7g706ZNY88999zsnK+//poXXniBY489dsO+3XffndmzK/5skgoKCpIOIaP0/bJbLn+/XP5u\n6aqxG6qlNm7m2233Vxo1GkXDhnXo1q0bI0eO5MEHHwRgyJAhAIwaNYopU6YwduymJfubbrqJUaNG\nUadO+Ox9991H/fr1a/x7iIjUJDPDK7ihmnhyHzHCGTYMRoyAkzSQUUSkQlmR3N2dBQvgxBOhoABu\nvx0aNUosJBGRWi+d5J54zR2ga1d47TVYtw569IA330w6IhGR7FYrkjtA06YwejRceikccgg88AAk\n+EuFiEhWqxVlmZKWLIGBA2HffeHuu0PiFxGRIGvKMiXttRfMnQtbbgndu8OCBUlHJCKSXWplcodw\nU3XkSBg2DPr1g7vuUplGRCRdtbIsU9Ly5aFM06ED3HcftGiR+dhERGqrrC3LlNSpE8yaBe3aQbdu\nMHt20hGJiNRuWdFzT/Wvf8GQIXD55XDZZVAnK348iYjEJ2seYqqsDz4IT7M2bw6jRkHr1hkITkSk\nlsqZskxJO+wAM2dCly7hAaiioqQjEhGpXbKy555qyhQYPBjOPx9+/3uoWzee2EREaqucLcuU9PHH\ncOqpYXv0aNhuu2pfUkSk1kq8LGNmV5vZEjNbbGZjzWyLTLSz3Xbw3HNh4rHu3WHy5Ey0IiKSPTLW\nczezDsB0YA93/97MHgEmufuolHNi6bmnmjkTTjklvP70J9D07iKSa5LuuX8D/AA0MrN6QCPgowy2\nB4RJxxYsgMWL4eCD4b33Mt2iiEjtk7Hk7u5fAsOBD4CPga/cfVqm2kvVujU8/TQcf3yYQnjChJpo\nVUSk9qiXqQub2c7A/wAdgK+Bx8zsFHcfk3peYWHhhu2CgoLY1j6sUyc86NSnTxgTP3063HwzNGwY\ny+VFRGpMUVERRZUc853JmvtA4Gfufk70/jTgAHe/MOWc2GvupfnqKzj7bHj3XXjkEdhll4w3KSKS\nMUnX3N8CDjCzLc3MgL5AImssNW8Ojz8O55wDvXrBmDEVf0ZEJJtldJy7mf0WOANYD7wGnOPuP6Qc\nr5Gee6qFC8MMk336wB13aL1WEck+efMQU2WtWQMXXBBG1Tz6aFgcREQkWyRdlqm1mjaFhx8ON1wL\nCsIc8VoIRERySV723FO9+WYo03TuDPfcA1ttlWg4IiIVUs89DXvuGdZrbdo0TF0wf37SEYmIVF/e\nJ3cIC3Hfe2+YruCII8KNVpVpRCSb5X1ZpqR33gllmnbt4IEHoGXLpCMSEdmUyjJVsPPO8PLL0LFj\nWAhk1qykIxIRqTz13Mvx1FNw7rlw6aVwxRVar1VEageNc4/Bhx/CoEHQpAk89BBss03SEYlIvlNZ\nJgbt24c1Wrt3D2Wa6dOTjkhEpGLquVfCc8/BGWeEOWquvRbqZWxOTRGRsqkskwGrVoX1Wn/4AcaO\nhe23TzoiEck3KstkQJs2MGUK9OsXSjWTJiUdkYjI5tRzr4YXXwxrtQ4cCH/+MzRokHREIpIP1HPP\nsD594LXXYOnSsP3uu0lHJCISKLlXU6tWMHFi6L337AlPPJF0RCIiKsvEau7csF7rL34Bw4drvVYR\nyYzEyzJmtpuZLUh5fW1mF2WyzST16BHKNJ9+CgccAMuWJR2RiOSrGuu5m1kd4COgh7t/GO3LqZ57\nMfcwy+Qf/gC33RZuuoqIxKVWjXM3s37Ate5+UMq+nEzuxV5/PdTie/WCESOgceOkIxKRXJB4WaaE\nk4CxNdhe4rp0gXnzYP162H9/WLw46YhEJF/UyAP0ZtYAOBq4suSxwsLCDdsFBQUUFBTUREg1pkkT\n+Oc/YdQoOOwwuOGGMH2BlfszV0Rko6KiIoqKiir1mRopy5jZscAF7n5Eif05XZYp6a23Qplmjz3g\nH//Qeq0iUjXVLsuYWTczu9nM5pjZJ2a2Ktq+2cy6ViKWQcC4Spyfk3bfHWbPhhYtoFs3rdcqIplT\nZs/dzCYBq4GngLnASsCAtkAPQpmlubsfVW4DZo2B94GO7r6mxLG86rmneuwxuPBCuOYauOgilWlE\nJH3VGi1jZtu6+ycVNLCNu39ajQDzNrkD/N//hYee2raFBx/Ueq0ikp5qlWXKSuxm1sfM7orOqXJi\nF9hpJ3jpJdhll7AQyMsvJx2RiOSKtIZCptTe3wf+CLyV2bDyR4MGcMst8Pe/w/HHw403hqGTIiLV\nUV5ZZjfCjdCBwGfAY8AV7r5DbI3neVmmpBUr4OSTYcstw3qt226bdEQiUhtVd7TMUqAb8HN3P9jd\nRwA/xRmgbKpdu7BGa48eYTTN888nHZGIZKvykvsA4D/AC2Z2j5kdThgtIxlUrx788Y/hoafTTgvz\n0/z4Y9JRiUi2qfAhJjNrAhxLKNEcCjwETHD3qdVuXGWZcq1aFRL899+H9VrbtUs6IhGpDWKZW8bd\nv3X3Me7eH2gPLACuiilGKUfxeq0//znstx8880zSEYlItkhr+gEza0FI7PWISjPuXu3nK9VzT99L\nL4Wbrb/6VRhRo/VaRfJXLFP+mtkfgcHA/wEbBum5+6ExBKjkXglffAFnnhnKNePHh3HyIpJ/4kru\ny4C93f2/cQYXXVvJvZLc4fbbw+ySd90VevIikl/iSu4TgPMrmoqgKpTcq27evDDDZL9+8Le/hbHx\nIpIf4kru+wNPAm8A30e73d2PiSFAJfdq+PprOO+8MJXwI4+EWSdFJPfFldyXAncTkntxzd3dfWYM\nASq5V5M7jBwZZpccPhxOPz3piEQk0+JK7q+6+/6xRrbx2kruMVm8GE48EXr2hDvvDCtAiUhuimsN\n1RfN7EYzOzCaQKybmXWLKUaJSefOoQ5vFtZrXbQo6YhEJEnp9NyLgM1O0lDI2uvhh+HSS8M0BkOG\naCEQkVwTS1mmmgE0B+4D9iL8gDjL3WenHFdyz5C33w5lmt12CzX5Zs2SjkhE4lKtsoyZDTazeuUc\nb2BmZ1YQw+3AJHffA9iHMNOk1IDddoM5c6BVq7AQyKuvJh2RiNSkMpM30AR41czeAuaxcQ3VNsB+\nwO7AyLI+bGbNgD7ufgaAu/8IfB1T3JKGhg3DIiBPPAFHHQVXXQWXXKIyjUg+KLcsY2YG9AYOAooX\n6XgfeAmYVV5Nxcz2Be4F3gS6APOBi919Xco5KsvUkHffDeu1brMN/POfsPXWSUckIlWVTlmmvJ47\nUeZ9KXpVVj3CYh+/cfdXzew2wmyS16aeVFhYuGG7oKCAgoKCKjQlFenYEV58MYyH79o1TCF80EFJ\nRyUi6SgqKqKoqKhSn8nYDVUzawO84u4do/cHAVdFUwcXn6OeewKeeQbOPhuGDg2lmrp1k45IRCoj\nrnHuVeLuq4APzWzXaFdfYEmm2pP0HXVUGBM/dWqYK37VqqQjEpG4ZSy5R4YCY8zsdcJomRsy3J6k\nqV27sEZr795hvdbnnks6IhGJU5llGTO7DPja3e8rsf9soKm731btxlWWqRWmTw/L+Q0eDMOGhXVc\nRaT2qtZDTGb2GnBAyXnczawBMN/dO8cQoJJ7LfHJJ2HSsbVrYdw4aN8+6YhEpCzVrbnXK22Bjmif\nRkrnmG23hWefhf79w3qtTz2VdEQiUh3lJXeLRryU3Lktpcw1I9mvTp0wembChDCS5pJL4L+xr78l\nIjWhvOR+M/CMmRWYWdPodSjwDDC8ZsKTJPTqBQsWhAefeveGd95JOiIRqayKnlD9BXA1YeIvCEMZ\nb3T3Z2NpXDX3Ws0dRowIs0veeWdY1k9Ekpf4rJAVUXLPDvPnh8R++OFw221ar1UkadUdLTOinM+5\nu19UneCiNpTcs8Q334S54ZcsCeu17rFH+eevWLGCCy+8kKVLl7J+/Xr69+/PzTffTP369WsmYJEc\nVt3RMvMJs0GWfM2PXpJHttoqzEdz0UVw8MEwalTZ57o7AwYMYMCAASxbtoxly5bx7bffcs0119Rc\nwCJ5TmUZqbQ33ghlmu7dw5TCJddrff7557n++uuZOXPjGupr1qyhY8eOrFixgoYNG9ZwxCK5JdG5\nZSR37b03zJ0L9euHBP/665seX7JkCd27d99kX9OmTdlhhx1Yvnx5DUYqkr+U3KVKGjeG+++H666D\nvn3h7rvD6BoIvYqy/PjjjzUUoUh+qzC5R1P1ltzXOzPhSLY5+WSYNSus03riifDVV7Dnnnsyf/6m\nt2W++eYbPvzwQ3bZZZeEIhXJL+n03EsbNXNn3IFI9tplF3jlFWjTJsww2bTp4axbt46HH34YgJ9+\n+onLLruMk08+mcaNGyccrUh+KG8o5IFAL+AS4G9snE+mKXCcu3epduO6oZpz/vd/4fzzYciQFbz+\n+oW89dZSPvvsM/r168fo0aM1FFIkBtW9odqAkMjrRn82iV7fACfEFaTklgEDws3WadPasX79k8ya\ntYxJkyaxZMkS3UwVqUEVDoU0sw7u/l6VGzB7j/AD4SfgB3fvkXJMPfcc9cMP8Pvfh7HxY8aEsfEi\nEo9Yph8ws92Ay4EObFxQ2939sDSDeBfo7u5flnJMyT3HTZ4MZ54Jv/41/O53Wq9VJA5xJfdFwN3A\na4TeN4TkntZTqlFy38/dvyjlmJJ7Hvj44zCqpm5dGD0a2rZNOiKR7BbXQ0w/uPvd7j7H3edFr8pM\nP+DANDObZ2bnVuJzkiO22y6s19qnTxhNM3Vq0hGJ5L50eu6FwGfA/wLfF+8vrcxSxufbuvtKM2sN\nPAcMdfcXo2PqueeZGTPCeq2nnQbXXx+echWRyomrLPMepay85O4dqxDQdcC37j48eu/XXXfdhuMF\nBQUUFBRU9rKSZT79NKzXumZNWK91hx2SjkikdisqKqKoqGjD+2HDhiU7n7uZNQLquvsaM2sMTAWG\nufvU6Lh67nlq/Xq45RYYPhz+8Q849tikIxLJHnH13BsDlwI7uPu5ZrYLsJu7P51GAB2BCdHbesAY\nd78x5biSe5575RUYNCgk95tugi22SDoikdovruT+KGH+9tPdfa8o2c/SE6oSl9Wr4ayz4IMPwkIg\nnTolHZFI7RbXaJmd3f2vwH8B3H1tHMGJFGvRIkxbMHgwHHggjB+fdEQi2S+d5P69mW1YNdPMdiZl\n1IxIHMxg6FCYMgX+8Ac47zxYty7pqESyVzrJvRCYDLQzs7HAdODKTAYl+atbN3jtNVi7Fnr0gDff\nTDoikexUbnI3szpAC+B44ExgLOFp0xk1EJvkqaZNw5Osl1wChxwCDzywcSEQEUlPOjdU57t793JP\nqmrjuqEqFViyJCwC0rVrWO2padOkIxJJXlw3VJ8zs8vNrL2ZtSx+xRSjSLn22gtefRUaNgzrtS5Y\nkHREItmhqk+ourvvVO3G1XOXShg3Di66CAoLwyyT5SzVKpLTqj3OPaq5/8rdH4k7uOj6Su5SKcuX\nw8CBsOOOYYHuFi2Sjkik5lW7LOPu64HfxhqVSDV06hQW5G7fPtThZ89OOiKR2imdssxfgM+BR4AN\nDzClOytkBddWz12q7F//giFD4LLL4PLLoU46d5BEckCtmxWylGsruUu1vP9+mJumWTN46CFo3Trp\niEQyL5bRMu7ewd07lnzFF6ZI1e24I8ycCfvuG8o0KbOiiuS1dHruZ1B6z/2hajeunrvEaMqUMD/N\n+eeHxbm1XqvkqrjKMneyMblvCRwGvObuJ8QQoJK7xGrlSjjllPBE65gxYYk/kVwTS3Iv5aLNgUfc\n/efVCS66lpK7xO6nn+DPfw5PtD74IBxxRNIRicQrU8m9AfCGu+9aneCiaym5S8bMnAmnngonnwx/\n+pPWa5XcEVdZZmLK2zrAnsCj7p7WzJBmVheYB6xw96NLHFNyl4z67LNQh//yy/CEa4cOSUckUn3p\nJPd6aVxneMr2j8D77v5hJeK4GHgT0JRPUuNat4aJE+HWW8MUwvfeC8cdl3RUIpmXTs99J2Clu/8n\ner8lsK27v1fhxc3aAf8E/gxcqp67JGnOHDjpJOjfH26+OUxGJpKN4poV8jHgp5T364HH04zhVuCK\n6DMiierZM8wquXIl9OoFy5YlHZFI5qST3Ou6+3+L37j790CFt6bMrD/wqbsvADR/n9QKzZvDY4/B\nOedA795huKRILkqn5v65mR3r7k8CmNmxhLlmKtILOMbMjgQaAluZ2UPufnrqSYWFhRu2CwoKKCgo\nSDN0kaoxC1MG9+oVZpicMQPuuAMaNUo6MpHSFRUVUVTJx6/Tqbl3AsYAxY+DrABOc/flaTdidghw\nuWruUtusWRMS/WuvwaOPhsVBRGq7uOaWWe7uPQlDIPd09wMrk9hTL1WFz4hkVNOmYcKxK66AgoIw\nR7z6G5ILKv0QU6yNq+cutcjSpWG91s6d4Z57YKutko5IpHRxjZYRyQt77AFz54befPfuoVQjkq3K\nTe5mVsfMetVUMCJJ23LL8KDTn/4U5qQZMUJlGslO6dxQXeju+2akcZVlpBZ7553w0FO7dqEW37Jl\n0hGJBHGVZaaZ2QlmWmte8svOO8NLL4X5aLp1g1deSToikfSl03P/FmhEeEr1u2i3u3u1bzep5y7Z\n4qmn4Nxz4dJLw8gardcqScrIlL9xUnKXbPLhh2G91iZNwvDJbbZJOiLJV7GNljGzY81suJndYmZH\nV/wJkdzTvn1Yo7V791CmmTEj6YhEypZOWeYvwP6Ep1QNOAmY5+5XV7tx9dwlSz33HJxxRijVXHut\n1muVmhXXYh2LgX3d/afofV1gobt3jiFAJXfJWqtWhfVaf/opTEC2/fZJRyT5Iq6yjAPNU943R1MJ\niNCmDUydCn37hlLNpElJRySyUTo990HAX4AZhLLMIcBV7j6+2o2r5y454oUXQi/+pJPC4twNGiQd\nkeSy2EbLmNl2hLq7A6+6+8qYAlRyl5zx+edhvdbPP4fx47Veq2ROLGUZM3ve3T929yfd/Sl3X2lm\nz8cXpkhuaNUqjIc/8cSwXusTTyQdkeSzMnvu0VqpjQjlmIKUQ1sBk91992o3rp675Ki5c0OJ5sgj\n4ZZbtF6rxKu6PfchwDxgN2B+yusp4M64ghTJRT16hFklP/kEDjxQ67VKzUvnhupQdx+RkcbVc5cc\n5x5mmfzDH+DWW+HUU5OOSHJBbEMhzaxFykVbmNmv0wygoZnNMbOFZvammd2YzudEcoUZnH8+TJsW\nphE+6yxYuzbpqCQfpJPcz3X31cVvou3z0rm4u38HHBpNGbwPcKiZHVSlSEWyWJcuMG9eeOBp//1h\n8eKkI5Jcl05yr2NmG86LnlCtn24D7r4u2mwA1AW+rFSEIjmiSRMYNQquvBIOOwxGjtRCIJI56ST3\nKcB4MzvczPoC44HJ6TYQrea0EPgEmOHub1YtVJHccMYZ4aGnESPCLJPffJN0RJKL6qVxzpWEMswF\n0fvngPvSbcDd1wP7mlkzYIqZFbh7UfHxwsLCDecWFBRQUFCQ7qVFstYee8CcOXDJJWGGyfHjYb/9\nko5KaquioiKKiooq9Zl0n1BtBOzg7m9VLbQN1/kD8B93vyV6r9EykvceewwuvBB+9zu4+OJwE1ak\nPHE9oXoMsICoFGNmXc3sqTQDaGVmzaPtLYGfRdcSkcivfgWzZ4eZJX/5S/jii6QjklyQTs29EOgJ\nrAZw9wXATmlevy0wPaq5zwEmurumLhApYaed4OWXoVMn6No1bItURzo19x/c/asS62OvT+fi7r4Y\n6FaVwETyTYMGMHw4HHooHH98KNFceaXWa5WqSeevzRIzOwWoZ2a7mNkIYFaG4xLJW/37hzHxkybB\nEUeEKQxEKiud5D4U2Av4HhgHfAP8TyaDEsl37dqFNVp79gyjaZ5XMVMqKa3RMhlrXKNlRCo0bVoY\nG3/WWXDddVAvnWKq5LRqLdZhZhPL+Zy7+zHVCS5qQ8ldJA2ffAKnnQbffQdjx4aeveSv6ib3gvI+\nmPogUlUpuYukb/16+Mtf4I474L77Qm1e8lNsy+xlipK7SOW99BKcfHIYH3/jjVqvNR9Vt+de3rx1\n7u77VCe4qA0ld5Eq+OILOPNMWLUqTF2wU7pPnkhOqG5y71DeB939vaoGltKGkrtIFbnD7bfDDTfA\nXXeFnrzkh9jKMma2LdADcGCuu38aU4BK7iLVNG8eDBwI/frB3/4GW26ZdESSaXHNLXMiMBf4FXAi\nMNfM1EcQqSX22y+s1/rll3DAAfBWtab3k1yRzhqqi4C+xb11M2sNPK+au0jt4h4WALnmmjCNwemn\nJx2RZEosZZnoxuo+xVk4WpXpdXfvHEOASu4iMVu8GE48EXr0CLX4Jk2SjkjiFtcC2ZMJi2wMNrMz\ngUnAs3EEKCLx69w51OHr1g0lm9dfTzoiSUK6N1SPB3pHb1909wmxNK6eu0hGPfwwXHop/PGPMGSI\nFgLJFdUdCrkLsK27v1Ri/0HASnd/J4YAldxFMuztt8Noml13DTX5Zs2Sjkiqq7plmdsIM0CW9E10\nTESywG67hZWeWrcOM0y++mrSEUlNKC+5b+vui0rujPZ1TOfiZtbezGaY2RIze8PMLqpqoCJSdQ0b\nhpurN90ERx0Ft94aRtdI7iqvLLPc3TtV9liJ89oAbdx9oZk1AeYDv3T3pdFxlWVEati778JJJ8G2\n28KDD8LWWycdkVRWdcsy88zsvFIuei4hSVfI3Ve5+8Jo+1tgKbBdOp8Vkczo2BFefDGUa7p2DduS\ne8rrubcBJgD/ZWMy7w5sARzn7isr1VCYq2YmsFeU6NVzF0nYpElhEZChQ+Gqq8LwSan90um5l7mm\ni7uvMrNewKHA3oR5ZZ529+lVCKQJ8DhwcXFiL1ZYWLhhu6CggIKCgspeXkSq6Mgjw5j4U06BoqIw\ndLJNm6SjkpKKioooKiqq1GcyPp+7mdUHngaedffbShxTz12kFvjxxzAWfuRIeOgh6Ns36YikPIkv\n1mFmBowCvnD3S0o5ruQuUotMnx6W8xs8GIYN03qttVVtSO4HAS8AiwhlHYCr3X1ydFzJXaSWKV6v\ndd06GDcO2rdPOiIpKfHkXhEld5Haaf36MCb+1lvDeq1HH510RJJKyV1EquXll8N6rQMGwF//qvVa\na4u4ZoUUkTzVuzcsWBAefOrdG96p9oxSUlOU3EWkXC1bwoQJoQ5/4IHw6KNJRyTpUFlGRNI2f36Y\nYbJv31CP13qtyVBZRkRi1b17WK/166+hZ09YujTpiKQsSu4iUilbbQVjx4YpCw4+GEaNSjoiKY3K\nMiJSZYsXhzLNfvvB3/+u9VprisoyIpJRnTuHxT/q1w8lm4ULk45Iiim5i0i1NG4M998P114LP/tZ\n6MHrF/KnnjkAAAAPH0lEQVTkqSwjIrFZtiyUaXbeOTzZ2rx50hHlJpVlRKRG7borvPIKtG0bFgKZ\nMyfpiPKXkruIxKphQxgxAoYPD3PS3HJLmKtGapbKMiKSMe+9B4MGhadcR42CVq2Sjig3qCwjIonq\n0AFeeAH23juUaV54IemI8od67iJSI559NqzXeuGFcPXVWq+1OjTlr4jUKh99FNZrrVsXRo8ON16l\n8hIvy5jZA2b2iZktzmQ7IpIdtt8enn8e+vQJDz1NnZp0RLkr08vs9QG+BR5y986lHFfPXSRPzZgR\nphE+7TS4/vrwlKukJ/Geu7u/CKzOZBsikp0OPTTMMLlwIRQUwAcfJB1RbtFoGRFJzDbbwDPPwLHH\nwv77w5NPJh1R7qiXdACFhYUbtgsKCigoKEgsFhGpeXXqwG9/G+rwgwbB9Olhce4ttkg6stqjqKiI\noqKiSn0m46NlzKwDMFE1dxGpyOrVcPbZ8P778Mgj0KlT0hHVTonX3EVEKqNFC3jiCTjzzLBe6/jx\nSUeUvTI9WmYccAiwNfApcK27P5hyXD13ESnVggVhhslDDoHbb4dGjZKOqPbQQ0wiktXWrIHzz4fX\nXw9lmr32Sjqi2kFlGRHJak2bhidZL700DJd84AEtBJIu9dxFJCssWRLKNF26wD33hMSfr9RzF5Gc\nsddeMHduqL137x5q8lI2JXcRyRqNGsHIkTBsGPTrB3fdpTJNWVSWEZGstHx5KNN06BAW6M6n9VpV\nlhGRnNWpE8yaBe3ahYVAZs9OOqLaRT13Ecl6//oXDBkCl18Ol10WpjTIZRrnLiJ54/33w9w0zZuH\n9Vpbt046osxRWUZE8saOO8LMmWGoZLduYTufqecuIjlnyhQYPDg83fr73+feeq0qy4hI3lq5MqzX\n6g5jxsB22yUdUXxUlhGRvNW2LTz3XFjxqXt3mDw56YhqlpK7iOSsunXh2mvD1MHnnANXXgk//JDe\nZzt06MA+++xD165d6dGjx2bHx4wZQ5cuXdhnn33o3bs3ixYtAuDtt9+ma9euG17NmjXjjjvuiPNr\npUVlGRHJC599BmecAV99BePGhRuw5enYsSPz58+nZcuWpR5/5ZVX2HPPPWnWrBmTJ0+msLCQ2SUG\n269fv57tt9+euXPn0r59+7i+isoyIiLFWreGp5+GAQOgR48wNr4i5XU+DzzwQJo1awZAz549WbFi\nxWbnTJs2jZ133jnWxJ6ujCZ3MzvCzN4ys3+b2ZWZbEtEpCJ16oQHnZ58Ei65BIYOhe++K/1cM6Nv\n377st99+jBw5stzr3n///Rx55JGb7R8/fjwnn3xyHKFXnrtn5AXUBZYDHYD6wEJgjxLneC6bMWNG\n0iFklL5fdsvl75fOd/vyS/cBA9y7dnVftmzz4x9//LG7u3/66afepUsXf+GFF0q9zvTp032PPfbw\nL7/8cpP933//vbdq1co//fTTSsdfkSh3lpuDM9lz7wEsd/f33P0HYDxwbAbbq3Uqu1p5ttH3y265\n/P3S+W4tWsDjj4cbrb16wdixmx5v27YtAK1bt+a4445j7ty5m11j0aJFnHvuuTz11FO0aNFik2PP\nPvss3bt3p3VCj8pmMrlvD3yY8n5FtE9EpFYwg1//OgyZHDYsJPp162DdunWsWbMGgLVr1zJ16lQ6\nd+68yWc/+OADBgwYwOjRo+nUqdNm1x43bhyDBg2qke9Rmkwmdw2DEZGssO++MG8efP897L8/vPXW\nJ/Tp04d9992Xnj170r9/f/r168e9997LvffeC8D111/P6tWrueCCCzYbLrl27VqmTZvGgAEDkvpK\nmRsKaWYHAIXufkT0/mpgvbv/NeUc/QAQEakCT2r6ATOrB7wNHA58DMwFBrn70ow0KCIiG9TL1IXd\n/Ucz+w0whTBy5n4ldhGRmpHoE6oiIpIZiT2hmssPOJnZA2b2iZktTjqWTDCz9mY2w8yWmNkbZnZR\n0jHFycwamtkcM1toZm+a2Y1JxxQ3M6trZgvMbGLSscTNzN4zs0XR99t8/GKWM7PmZva4mS2N/n4e\nUOp5SfTczawuoR7fF/gIeJUcqsebWR/gW+Ahd+9c0fnZxszaAG3cfaGZNQHmA7/Mlf9/AGbWyN3X\nRfeOXgIud/eXko4rLmZ2KdAdaOruxyQdT5zM7F2gu7t/mXQsmWBmo4CZ7v5A9Pezsbt/XfK8pHru\nOf2Ak7u/CKxOOo5McfdV7r4w2v4WWArk0GzZ4O7ros0GhHtGOZMozKwdcCRwH1DuiIsslpPfy8ya\nAX3c/QEI9zZLS+yQXHLXA045wsw6AF2BOclGEi8zq2NmC4FPgBnu/mbSMcXoVuAKYH3SgWSIA9PM\nbJ6ZnZt0MDHrCHxmZg+a2WtmNtLMGpV2YlLJXXdxc0BUknkcuDjqwecMd1/v7vsC7YCDzawg4ZBi\nYWb9gU/dfQE52rsFert7V+AXwIVRmTRX1AO6AX93927AWuCq0k5MKrl/BKTOgdme0HuXLGFm9YEn\ngNHunsbkqdkp+pX3GWC/pGOJSS/gmKguPQ44zMweSjimWLn7yujPz4AJhDJwrlgBrHD3V6P3jxOS\n/WaSSu7zgF3MrIOZNQAGAk8lFItUkpkZcD/wprvflnQ8cTOzVmbWPNreEvgZsCDZqOLh7r9z9/bu\n3hE4CZju7qcnHVdczKyRmTWNthsD/YCcGbXm7quAD81s12hXX2BJaedm7CGm8uT6A05mNg44BNja\nzD4ErnX3BxMOK069gVOBRWZWnPSudvdcWaWyLTDKzOoQOkAPu/vzCceUKblWIt0WmBD6H9QDxrj7\n1GRDit1QYEzUMX4HOLO0k/QQk4hIDtIyeyIiOUjJXUQkBym5i4jkICV3EZEcpOQuIpKDlNxFRHKQ\nknsWM7M2ZjbezJZH82g8Y2a7lHN+h+JpiM2soKrTvZrZ/0QP91RZHNeoQptHF08vbWa/NLM9Uo6d\nYWZtazieQjO7LNoenOn2zWy6mfUrse9/zOzv0fauZjbJzJaZ2Xwze8TMton+rnwdTaFb/DqsjDam\nmdlW0ZTQpbYVXXNS5r6pgJJ71oqeEp1AeMKwk7vvB1xNeIgj0y4GSp2sqCzRA0HVukZ1ufvElDV8\nfwnsmXJ4MJWc2TKaurpaIbHxIaJKt18F4whPpaYaCIw1s4aEaRbucvdd3b078HegdRTjC+7eNeU1\nveTFo4T/trt/A4wtqy13/xRYbWalPjYv8VByz16HAv91938U73D3RcVzjpvZzWa2OFq04MTyLmRm\njS0sMDInmmnumGh/XTO7JbrO62b2GzMbSkhCM8zs+ei8QVE7i83sLynX/Tb6/ELggJT9F6V7jVJi\nvcLM5kbxFEb7OlhY+OVBM3vbzMaYWT8zeznqhe4fnTfYzEaY2YHA0cDNUS/0t4S5Y8ZE37+hmXU3\ns6LoN6LJFuawJ9p3q5m9ClyUElcdM3vXwpSsxfv+bWato/imRzFPM7PUeZXMzI4nzK2e2v610fdc\nbGb3ppy8v21ciOLmlN/E6kbvi//bnFfKf74ngKMszAFePKPndtHfmZOBl939meKT3X2muy8h/QnG\nTgaeTKMtCNONDErzulIV7q5XFr4IieVvZRw7HphK+Ee5DfA+oUffAVgcnVMATIy2bwBOibabExZS\naQRcADwK1ImOtYj+fBdoGW1vF11/a8JUEs8Dx0bH1gMnlBFjWtco8Zl+wL3Rdh1gItAn+l4/AHtF\n33keYUoLgGOACdH2YGBEtP0gMCDl2jOAbtF2fWAWsHX0fmDK9WYAd5bxnW4DBkfbPYGp0fZE4LRo\n+8yUeK4DLi3Zfup/62j7IaB/tP0G0DPavhFYFG2fB1wTbW9BWACnQykxTgSOibavAm6KtocDQ8v4\nXgXAV4T5dYpfHUs5b2nx/9Py2oredwTmJP3vKJdf6rlnr/LmjehN+PXXPfwKPJPyZ8brB1xlYZ6Y\nGYTksANwOCGZrgdw99IWINmfMN/5F+7+EzAGODg69hOhB1eR8q5RMs5+UZzzgd2ATtGxd919iYfM\nsQSYFu1/g5D8S1OyR1r8fjfCD4ppUVvXsOl6A4+Ucb1HCD8IIJQkis87gFCmABgNHJRGPIeZ2Wwz\nWwQcBuxpYTKzJu5ePHf+2JTP9ANOj+KdDbRk43+bVKmlmYHR+9LaL+lF37Qs824p52znm65+VF5b\nKyn7/4vEIJGJwyQWS4ATyjle8h9qRZMIDXD3f29ygTD5UkW/knuJcyylre+iZIuZTSb89vCqu5cs\nGZR2DcysB1Bckrg2+vNGTylFRed1AL5P2bUe+G/Kdll/z0v+Nyl+b8ASd+9VxufWlrF/NtDJzFoR\nVha7PjXMMj6zWftR/fsuwlJxH5nZdUDDUuItec3fuPtzFbTxFHCrmXUFGnmY1x3C36dD0oixMspq\nCzb9eyIZoJ57lvJwQ2sLS1lpxsz2MbODgBeBgVEduDWhF1zeQsFT2LR+3DXafA4YUnzj0MxaRPvX\nAFtF268Ch5jZ1tF5JxF+UygZ7xFRj++8NK9R5O5zU3qKE6M4z7IwlStmtn30/aoitf2S798GWlu0\n8LCZ1TezPalA9INsAmGlozdTftOZxcYe7CnAC9G2sTFBp7bfMPrzCwsLovwquv7XwJrohx5sesNy\nCvDrlBr3rlbKCj0eFlWZQShLjU05NBboZWZHFu8ws4PNbK+KvneKj81s6zTagjDz5vuVuLZUkpJ7\ndjsO6GthKOQbwJ+Ble4+AVgEvE6oX18RlWdg095S8fYfgfrRjbo3gGHR/vuADwhT+y5k4w2wfwCT\nzex5DwsjXEX4R7wQmBcl4pJtlZTuNTYGG3qlY4FXonLFo0CTMtoq7Xumjk4ZD1xhYcjfTsA/gXvM\n7DXCv4sTgL9G33sBcGA53yXVI4QEnlq6GQqcaWavR8cuLiWe1Pa/A0YSSkqT2XQJw7OBkVH5pRFQ\nvH7mfcCbwGvRTda7Kfs3lnFAZ1LKJO7+HdAfGBrdhF4CnA98FsXYxzYdCjmglOu+xOaLmmzWVqQH\nG3/ISQZoyl+RLGJmjd19bbR9FbCtu1+ScFhAeHYCGOjuF6Rx7hjglhKlGomReu4i2eWoqOe8mHDj\n/E9JB1TM3YsIK6w1Le88M9sGaK7EnlnquYuI5CD13EVEcpCSu4hIDlJyFxHJQUruIiI5SMldRCQH\nKbmLiOSg/wedVsAa/LN/MwAAAABJRU5ErkJggg==\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x26fc390>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,title,xlabel,ylabel,annotate\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "R1 = 10.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 5.0 #Resistance (in kilo-ohm)\n",
+ "RC = 1.0 #Collector resistance (in kilo-ohm) \n",
+ "RE = 500.0 * 10**-3 #Emitter resistance (in kilo-ohm) \n",
+ "RL = 1.5 #Load resistance (in kilo-ohm)\n",
+ "beta = 100.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VR2 = VCC * (R2 /(R1 + R2)) #Voltage drop across R2 (in volts)\n",
+ "IEQ = (VR2 - VBE) / RE #Emitter current (in milli-Ampere)\n",
+ "ICQ = IEQ #Collector current (in milli-Ampere)\n",
+ "VCEQ = VCC - ICQ * (RC + RE) #Collector-to-Emitter voltage (in volts)\n",
+ "rL = RC * RL /(RC + RL) #a.c. load resistance (in kilo-ohm)\n",
+ "ICsat = ICQ + VCEQ / rL #Collector current at saturation point (in milli-Ampere) \n",
+ "VCEsat = 0 #Voltage at saturation point (in volts)\n",
+ "ICcutoff = 0 #Collector current at cut off point (in milli-Ampere)\n",
+ "VCEcutoff = VCEQ + ICQ * rL #Collector-to-emitter voltage at cut-off point (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Collector current at saturation point is \",round(ICsat,2),\" mA.\\nCollector-to-emitter voltage at saturation point is \",VCEsat,\" V.\"\n",
+ "print \"Collector current at cut off point is \",ICcutoff,\" mA.\\nCollector-to-emitter voltage at cut-off point is \",VCEcutoff,\" V.\"\n",
+ "\n",
+ "#Slight variation due to higher precision.\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,5.27,100)\n",
+ "plot(x,8.78 - 8.78/5.27 * x)\n",
+ "title(\"a.c. load line\")\n",
+ "xlabel(\"Collector-to-emitter voltage VCE (V)\")\n",
+ "ylabel(\"Collector current IC (mA)\")\n",
+ "annotate(\"Q\",xy=(2.11,5.26))\n",
+ "annotate(\"8.78\",xy=(0,8.78))\n",
+ "annotate(\"5.27\",xy=(5.27,0))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.2 , Page Number 691"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Overall compliance (PP) of the amplifier is 9.61 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "VCC = 20.0 #Source voltage (in volts)\n",
+ "R1 = 10.0 #Resistance (in kilo-ohm)\n",
+ "R2 = 1.8 #Resistance (in kilo-ohm)\n",
+ "RC = 620.0 * 10**-3 #Collector resistance (in kilo-ohm) \n",
+ "RE = 200.0 * 10**-3 #Emitter resistance (in kilo-ohm) \n",
+ "RL = 1.2 #Load resistance (in kilo-ohm)\n",
+ "beta = 180.0 #Common emitter current gain\n",
+ "VBE = 0.7 #Emitter-to-Base voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VB = VCC * (R2 /(R1 + R2)) #Voltage drop across R2 (in volts)\n",
+ "VE = VB - VBE #Voltage at the emitter (in volts)\n",
+ "IE = VE / RE #Emitter current (in milli-Ampere)\n",
+ "IC = IE #Collector current (in milli-Ampere)\n",
+ "VCE = VCC - IE*(RC + RE) #Collector-to-emitter voltage (in volts)\n",
+ "ICEQ = IC #Collector current at Q (in milli-Ampere)\n",
+ "VCEQ = VCE #Collector-to-emitter voltage at Q (in volts) \n",
+ "rL = RC * RL/(RC + RL) #a.c. load resistance (in kilo-ohm) \n",
+ "PP = 2 * ICEQ * rL #Compliance of the amplifier (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Overall compliance (PP) of the amplifier is \",round(PP,2),\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.3 , Page Number 694"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage gain is 27.5 and Power gain is 1375.0 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "r1e = 8.0 #a.c. load resistance (in ohm)\n",
+ "RC = 220.0 #Collector resistance (in ohm)\n",
+ "RE = 47.0 #Emitter resistance (in ohm)\n",
+ "R1 = 4.7 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 470.0 #Resistance (in ohm)\n",
+ "beta = 50.0 #Common emitter current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "rL = RC #Load resistance (in ohm)\n",
+ "Av = rL / r1e #Voltage gain\n",
+ "Ai = beta #Current gain\n",
+ "Ap = Av * Ai #Power gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain is \",Av,\" and Power gain is \",Ap,\".\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.4 , Page Number 698"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Collector efficiency is 25.0 % .\n",
+ "Power rating of the transistor is 20.0 W.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "Ptrdc = 20.0 #dc Power (in watt)\n",
+ "Poac = 5.0 #ac Power (in watt) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ne = Poac / Ptrdc #Collector efficiency \n",
+ "P = Ptrdc #Power rating of the transistor\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Collector efficiency is \",ne * 100,\"% .\\nPower rating of the transistor is \",P,\" W.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.5 , Page Number 699"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The a.c. power output is 4.7 W.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "Pcdc = 10.0 #dc power (in watt)\n",
+ "ne = 0.32 #efficiency\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Poac = ne * Pcdc / (1 - ne) #a.c. power output (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The a.c. power output is \",round(Poac,1),\" W.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.6 , Page Number 699"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Total power within the circuit is 7.0 W.\n",
+ "The power Pcdc = 3.5 W is dissipated in the form of heat within the transistor collector region.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "nc = 0.5 #Efficiency\n",
+ "VCC = 24.0 #Source voltage (in volts)\n",
+ "Poac = 3.5 #a.c. power output (in watt)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Ptrdc = Poac / nc #dc power (in watt)\n",
+ "Pcdc = Ptrdc - Poac #Power dissipated as heat (in watt) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Total power within the circuit is \",Ptrdc,\" W.\\nThe power Pcdc = \",Pcdc,\" W is dissipated in the form of heat within the transistor collector region.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.7 , Page Number 699"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Power supplied by the d.c. source to the amplifier circuit is 12.0 W.\n",
+ "D.C. power consumed by the load resistor is 5.76 W.\n",
+ "A.C. power developed across the load resistor is 0.72 W.\n",
+ "D.C. power delivered to the transistor is 6.24 W.\n",
+ "D.C. power wasted in the transistor collector is 5.52 W.\n",
+ "Overall efficiency is 0.06 .\n",
+ "Collector efficiency is 11.5 % .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "VCC = 20.0 #Supply voltage (in volts)\n",
+ "VCEQ = 10.0 #Collector-to-emitter voltage (in volts)\n",
+ "ICQ = 600.0 * 10**-3 #Collector current (in Ampere)\n",
+ "RL = 16.0 #Load resistance (in ohm)\n",
+ "Ip = 300.0 * 10**-3 #Output current variation (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Pindc = VCC * ICQ #dc power supplied (in watt)\n",
+ "PRLdc = ICQ**2 * RL #dc power consumed by load resistor (in watt) \n",
+ "I = Ip / 2**0.5 #r.m.s. value of Collector current (in Ampere) \n",
+ "Poac = I**2 * RL #a.c. power across load resistor (in ohm) \n",
+ "Ptrdc = Pindc - PRLdc #dc power delievered to transistor (in watt)\n",
+ "Pcdc = Ptrdc - Poac #dc power wasted in transistor collector (in watt) \n",
+ "no = Poac / Pindc #Overall efficiency\n",
+ "nc = Poac / Ptrdc #Collector efficiency \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Power supplied by the d.c. source to the amplifier circuit is \",Pindc,\" W.\"\n",
+ "print \"D.C. power consumed by the load resistor is \",PRLdc,\" W.\"\n",
+ "print \"A.C. power developed across the load resistor is \",Poac,\" W.\"\n",
+ "print \"D.C. power delivered to the transistor is \",Ptrdc,\" W.\"\n",
+ "print \"D.C. power wasted in the transistor collector is \",Pcdc,\" W.\"\n",
+ "print \"Overall efficiency is \",no,\".\"\n",
+ "print \"Collector efficiency is \",round(nc * 100,1),\"% .\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.8 , Page Number 702"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The effective resistance is 1.8 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "a = 15.0 #Turns ratio\n",
+ "RL = 8.0 #Load resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R1L = a**2 * RL #Effective resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The effective resistance is \",R1L * 10**-3,\" kilo-ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.9 , Page Number 702"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Turns ratio is 25.0 : 1.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "RL = 16.0 #Load resistance (in ohm)\n",
+ "R1L = 10.0 * 10**3 #Effective resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "a = (R1L / RL)**0.5 #Turns ratio\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Turns ratio is \",a,\": 1.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.10 , Page Number 702"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum power delievered to load is 100.0 W.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "RL = 8.0 #Load resistance (in ohm)\n",
+ "a = 10.0 #Turns ratio\n",
+ "ICQ = 500.0 * 10**-3 #Collector current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R1L = a**2 * RL #Effective load (in ohm)\n",
+ "Poac = 1.0/2* ICQ**2 * R1L #Maximum power delieverd (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The maximum power delievered to load is \",Poac,\" W.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.11 , Page Number 702"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum undistorted a.c. output power is 0.05 W.\n",
+ "Quiescent collector current is 0.01 A.\n",
+ "Transformer turns ratio is 8.0 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "Ptrdc = 100.0 * 10**-3 #Maximum collector dissipated power (in watt)\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "RL = 16.0 #Load resistance (in ohm)\n",
+ "no = nc = 0.5 #Efiiciency\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Poac = no * Ptrdc #Maximum undistorted a.c. output power (in watt)\n",
+ "ICQ = 2 * Poac / VCC #Quiescent collector current (in Ampere)\n",
+ "R1L = VCC / ICQ #Effective load resistance (in ohm)\n",
+ "a = (R1L / RL)**0.5\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum undistorted a.c. output power is \",Poac,\" W.\\nQuiescent collector current is \",ICQ,\" A.\\nTransformer turns ratio is \",round(a),\".\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.12 , Page Number 703"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Power transferred when directly connected is 4.9 mW.\n",
+ "The average power transferred to the speaker is 260.0 mW.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "VCC = 10.0 #Source voltage (in volts)\n",
+ "Ip = 50.0 * 10**-3 #Collector current (in Ampere)\n",
+ "RL = 4.0 #Load resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "I = round(Ip / 2**0.5,3) #r.m.s. value of collector current (in Ampere)\n",
+ "Poac = I**2 * RL #Average power delievered (in watt)\n",
+ "V1 = VCC #Primary voltage (in volts)\n",
+ "R1L = V1 / Ip #Effective load resistance (in ohm)\n",
+ "a = round((R1L / RL)**0.5) #Turns ratio\n",
+ "V2 = V1 / a #Secondary voltage (in volts)\n",
+ "I2p = V2 / RL #Peak value of secondary current (in Ampere)\n",
+ "I2 = I2p / 2**0.5 #r.m.s. value of secondary current (in Ampere)\n",
+ "Pavg = I2**2 * RL #Average power transferred to speaker (in watt) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Power transferred when directly connected is \",Poac * 10**3,\" mW.\" \n",
+ "print \"The average power transferred to the speaker is \",round(Pavg,2) * 10**3,\" mW.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.13 , Page Number 706"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Power delivered to the load is 0.1 W.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "RL = 1.0 * 10**3 #Load resistance (in ohm)\n",
+ "IC = 10.0 * 10**-3 #Collector current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "PL = IC**2 * RL #Load power (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Power delivered to the load is \",PL,\" W.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.14 , Page Number 710"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The power drawn from the source is 16.0 W.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "RL = 8.0 #Load resistance (in ohm)\n",
+ "VP = 16.0 #Peak output voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "P = VP**2 / (2 * RL) #Power drawn from the source (in watt) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The power drawn from the source is \",P,\" W.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.15 , Page Number 710"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum power output is 73.02 W.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "Pcdc = 10.0 #Power rating of amplifier (in watt)\n",
+ "n = 0.785 #Maximum overall efficiency \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "PT = 2 * Pcdc #Total power dissipation of two transistors (in watt)\n",
+ "Poac = (PT * n) / (1-n) #Maximum power output (in watt)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum power output is \",round(Poac,2),\" W.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 27.16 , Page Number 711"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The d.c. input power is 12.5 W.\n",
+ "The a.c. output power is 7.5 W.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "no = 0.6 #efficiency \n",
+ "Pcdc = 2.5 #Maximum collector dissipation of each transistor (in watt)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "PT = 2 * Pcdc #Total power dissipation of two transistors (in watt)\n",
+ "Pindc = PT / (1 - no ) #dc input power (in watt)\n",
+ "Poac = no * Pindc #ac output power (in watt) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The d.c. input power is \",Pindc,\" W.\\nThe a.c. output power is \",Poac,\" W.\""
+ ]
+ }
+ ],
+ "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.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter28_5.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter28_5.ipynb
new file mode 100644
index 00000000..6c1d54c3
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter28_5.ipynb
@@ -0,0 +1,271 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:a760aed16bae58a496fddddaee6e49db519972c26c6f372274bdabcee7c8db3b"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 28 , Tuned Amplifiers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 28.1 , Page Number 717"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "L = 150.0 * 10**-6 #Inductance (in Henry)\n",
+ "C = 100.0 * 10**-12 #Capacitance (in Farad)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "fo = 0.159 / (L * C)**0.5 #Resonant frequency (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The resonant frequency is \",round(fo * 10**-6,1),\" MHz.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resonant frequency is 1.3 MHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 28.2 , Page Number 718"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "L = 100.0 * 10**-6 #Inductance (in Henry)\n",
+ "C = 100.0 * 10**-12 #Capacitance (in Farad)\n",
+ "R = 5.0 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "fo = 0.159 / (L * C)**0.5 #Resonant frequency (in Hertz)\n",
+ "Zp = L / (C*R) #Circuit impedance at resonance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Resonant frequency is \",fo * 10**-6,\" MHz.\\nCircuit impedance at resonance is \",Zp * 10**-3,\" kilo-ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resonant frequency is 1.59 MHz.\n",
+ "Circuit impedance at resonance is 200.0 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 28.3 , Page Number 720"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "fo = 1.0 * 10**6 #Resonant frequency (in Hertz)\n",
+ "Qo = 100.0 #Quality factor\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "BW = fo / Qo #Bandwidth (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Bandwidth of the circuit is \",BW * 10**-3,\" kHz.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Bandwidth of the circuit is 10.0 kHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 28.4 , Page Number 720"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "fo = 1600.0 * 10**3 #Resonant frequency (in Hertz)\n",
+ "BW = 10.0 * 10**3 #Bandwidth (in Hertz)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Qo = fo / BW #Quality factor\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The Q-factor is \",Qo,\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Q-factor is 160.0 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 28.5 , Page Number 720"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "fo = 2.0 * 10**6 #Resonant frequency (in Hertz)\n",
+ "BW = 50.0 * 10**3 #Bandwidth (in Hertz)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Qo = fo / BW #Quality factor\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The Q-factor is \",Qo,\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Q-factor is 40.0 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 28.6 , Page Number 720"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "fo = 455.0 * 10**3 #Resonant frequency (in Hertz)\n",
+ "BW = 10.0 * 10**3 #Bandwidth (in Hertz)\n",
+ "XL = 1255.0 #Inductive reactance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Qo = fo / BW #Quality factor\n",
+ "R = XL / Qo #Resistance (in ohm)\n",
+ "L = XL / (2*math.pi*fo) #Inductance (in Henry)\n",
+ "C = 1 / (XL*2*math.pi*fo) #Capacitance (in Farad)\n",
+ "Zp = L / (C*R) #Circuit impedance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of circuit impedance at resonance is \",round(Zp * 10**-3),\" kilo-ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of circuit impedance at resonance is 57.0 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter29_5.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter29_5.ipynb
new file mode 100644
index 00000000..893f02e3
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter29_5.ipynb
@@ -0,0 +1,754 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:94c613f9e33d60c6bbad037ec5805751242a2be2fb5357365540a6d5b86b31b7"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 29 , Feedback Amplifiers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.1 , Page Number 730"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Av = 400.0 #Voltage gain\n",
+ "beta = 0.1 #feedback ratio\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "A1v = Av / (1 + beta * Av) #Voltage gain with negative feedback\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The voltage gain of an amplifier with negative feedback is \",round(A1v,2),\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The voltage gain of an amplifier with negative feedback is 9.76 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.2 , Page Number 730"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Av = 100.0 #Voltage gain\n",
+ "A1v = 20.0 #Voltage gain with negative feedback \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "beta = (Av/A1v - 1) / Av #feedback ratio \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The percentage of the negative feedback is \",beta * 100,\"%.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The percentage of the negative feedback is 4.0 %.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.3 , Page Number 730"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Av = 1000.0 #Voltage gain\n",
+ "A1v = 10.0 #Voltage gain with negative feedback \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "beta = (Av/A1v - 1) / Av #feedback ratio \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The fraction of the output that is feedback to the input is \",beta,\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The fraction of the output that is feedback to the input is 0.099 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.4 , Page Number 730"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V1o = Vo = 12.5 #Output voltage (in volts)\n",
+ "V1in = 1.5 #Input voltage with feedback (in volts)\n",
+ "Vin = 0.25 #Input voltage without feedback (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Av = Vo / Vin #Voltage gain without negative feedback\n",
+ "A1v = V1o / V1in #Voltage gain with negative feedback\n",
+ "beta = (Av/A1v - 1) / Av #feedback ratio \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of voltage gain without negative feedback is \",Av,\".\\nThe value of voltage gain with negative feedback is \",round(A1v,2),\".\\nThe value of beta is \",beta,\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of voltage gain without negative feedback is 50.0 .\n",
+ "The value of voltage gain with negative feedback is 8.33 .\n",
+ "The value of beta is 0.1 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.5 , Page Number 731"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Av = 60.0 #Voltage gain\n",
+ "A1v = 80.0 #Voltage gain with negative feedback\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "beta = (1 - Av/A1v ) / Av #feedback ratio \n",
+ "beta1 = 1/Av #feedback ratio which causes oscillation\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of feedback ratio is \",round(beta,3),\".\\nThe percentage of feedback which causes oscillation is \",round(beta1 * 100,1),\"%.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of feedback ratio is 0.004 .\n",
+ "The percentage of feedback which causes oscillation is 1.7 %.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.6 , Page Number 732"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "A1v = 100.0 #Voltage gain with negative feedback\n",
+ "Vin = 50.0 * 10**-3 #Input voltage without feedback (in volts)\n",
+ "V1in = 0.6 #Input voltage with feedback (in volts) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "V1o = A1v * V1in #Output voltage with feedback (in volts)\n",
+ "Vo = V1o #Output voltage without feedback (in volts) \n",
+ "Av = Vo / Vin #Voltage gain without feedback \n",
+ "beta = (Av/A1v - 1) / Av #feedback ratio \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of voltage gain without feedback is \",Av,\".\\nThe value of voltage gain with feedback is \",A1v,\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of voltage gain without feedback is 1200.0 .\n",
+ "The value of voltage gain with feedback is 100.0 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.7 , Page Number 733"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Av = 800.0 #Voltage gain\n",
+ "beta = 0.05 #Feedback ratio \n",
+ "dAvbyAv = 20.0 #Percentage change in open loop gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "dA1vbyA1v = 1 / (1 + beta*Av)*dAvbyAv #Percentage change in closed loop gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The percentage change in closed loop gain is \",round(dA1vbyA1v,1),\"%.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The percentage change in closed loop gain is 0.5 %.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.8 , Page Number 733"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "A1v = 100.0 #Voltage gain with feedback\n",
+ "dA1vbyA1v = 0.01 #Percentage change in closed loop gain \n",
+ "dAvbyAv = 0.20 #Percentage change in open loop gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "betamultAvplus1 = dAvbyAv/dA1vbyA1v #Product of feedback ratio and voltage ratio plus one\n",
+ "Av = A1v * betamultAvplus1 #Voltage gain without feedback \n",
+ "beta = betamultAvplus1 / Av #Feedback ratio \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of Av is \",Av,\".\\nThe value of beta is \",beta,\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Av is 2000.0 .\n",
+ "The value of beta is 0.01 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.9 , Page Number 735"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Av = 100.0 #Voltage gain without feedback\n",
+ "BW = 200.0 * 10**3 #Bandwidth without feedback (in Hertz)\n",
+ "beta = 0.05 #Feedback ratio\n",
+ "BWn = 1.0 * 10**6 #New bandwidth without feedback (in Hertz)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "BW1 = (1 + beta*Av) * BW #Bandwidth with feedback (in Hertz) \n",
+ "A1v = Av/(1 + beta*Av) #Voltage gain with feedback\n",
+ "beta1 = (BWn/BW - 1)/Av #Amount of feedback required \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The new bandwidth is \",BW1 * 10**-3,\" kHz.\\nThe new gain is \",round(A1v,1),\".\"\n",
+ "print \"Amout of feedback required when BW = 1MHz is \",beta1 * 100,\"%.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The new bandwidth is 1200.0 kHz.\n",
+ "The new gain is 16.7 .\n",
+ "Amout of feedback required when BW = 1MHz is 4.0 %.\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.10 , Page Number 735"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Av = 1500.0 #Voltage gain\n",
+ "BW = 4.0 * 10**6 #Bandwidth wihtout feedback (in Hertz)\n",
+ "A1v = 150.0 #Voltage gain with feedback\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "beta = (Av/A1v -1) / Av #Feedback ratio\n",
+ "BW1 = (1 + beta*Av) * BW #Bandwidth with feedback (in Hertz) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of feedback factor is \",beta * 100,\"%.\\nThe value of bandwidth with feedback is \",BW1 * 10**-6,\" MHz.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of feedback factor is 0.6 %.\n",
+ "The value of bandwidth with feedback is 40.0 MHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.11 , Page Number 736"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Rin = 4.2 * 10**3 #Input resistance (in ohm)\n",
+ "Av = 220.0 #Voltage gain without feedback\n",
+ "beta = 0.01 #Feedback ratio\n",
+ "f1 = 1.5 * 10**3 #Cut off frequency without feedback (in Hertz)\n",
+ "f2 = 501.5 * 10**3 #Cut off frequency with feedback (in Hertz)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R1i = (1 + beta * Av) * Rin #Input resistance of feedback amplifier (in ohm)\n",
+ "f11 = f1 / (1 + beta * Av) #New cut off frequency without feedback (in Hertz) \n",
+ "f21 = (1 + beta * Av) * f2 #New cut off frequency with feedback (in Hertz) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of input resistance with feedback is \",R1i * 10**-3,\" kilo-ohm.\\nNew cut off frequency without feedback is \",round(f11),\" Hz.\\nNew cut off frequency with feedback is \",f21 * 10**-3,\" kHz.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of input resistance with feedback is 13.44 kilo-ohm.\n",
+ "New cut off frequency without feedback is 469.0 Hz.\n",
+ "New cut off frequency with feedback is 1604.8 kHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.12 , Page Number 737"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Av = 1000.0 #Voltage gain without feedback\n",
+ "beta = 0.01 #Feedback ratio\n",
+ "f1 = 50.0 #Cut off frequency without feedback (in Hertz)\n",
+ "f2 = 200.0 * 10**3 #Cut off frequency with feedback (in Hertz)\n",
+ "D = 0.05 #Distortion \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "A1v = Av / (1 + beta * Av) #Voltage gain with feedback\n",
+ "f11 = f1 / (1 + beta * Av) #New cut off frequency without feedback (in Hertz) \n",
+ "f21 = (1 + beta * Av) * f2 #New cut off frequency with feedback (in Hertz) \n",
+ "D1 = D/(1 + beta * Av) #New Distortion\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain with feedback is \",round(A1v,1),\".\\nf11 is \",round(f11,1),\" Hz.\\nf21 is \",f21 * 10**-6,\" MHz.\\nDistortion with feedback is \",round(D1 * 100,2),\"%.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain with feedback is 90.9 .\n",
+ "f11 is 4.5 Hz.\n",
+ "f21 is 2.2 MHz.\n",
+ "Distortion with feedback is 0.45 %.\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.13 , Page Number 737"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Av = 100.0 #Voltage gain without feedback\n",
+ "N = 0.8 #Reduction in noise\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "beta = ((1 - N)**-1 - 1)/Av #feedback ratio\n",
+ "A1v = Av / (1 + beta * Av) #Voltage gain with feedback\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Percentage of negative feedback is \",beta * 100,\"%.\\nVoltage gain with feedback is \",A1v,\".\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Percentage of negative feedback is 4.0 %.\n",
+ "Voltage gain with feedback is 20.0 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.14 , Page Number 739"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Av = 300.0 #Voltage gain without feedback\n",
+ "Ri = 1.5 * 10**3 #Input resistance (in ohm)\n",
+ "Ro = 50.0 * 10**3 #Output resistance (in ohm)\n",
+ "beta = 1.0/15.0 #feedback ratio \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "A1v = Av/ (1 + beta*Av) #Voltage gain with feedback \n",
+ "R1i = (1 + beta* Av)* Ri #Input resistance with feedback (in ohm) \n",
+ "R1o = Ro/(1 + beta * Av) #Output resistance with feedback (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain with feedback is \",round(A1v,1),\".\\nInput resistance with feedback is \",R1i * 10**-3,\" kilo-ohm.\\nOutput resistance with feedback is \",round(R1o * 10**-3,1),\" kilo-ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain with feedback is 14.3 .\n",
+ "Input resistance with feedback is 31.5 kilo-ohm.\n",
+ "Output resistance with feedback is 2.4 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.15 , Page Number 741"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "hfe = 100.0 #hfe \n",
+ "hie = 2.0 * 10**3 #hie (in ohm)\n",
+ "Re1 = 100.0 #Emitter resistance (in ohm)\n",
+ "R1 = 15.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 5.6 * 10**3 #Resistance (in ohm)\n",
+ "Rc = 470.0 #Collector resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Ai = hfe #Current gain\n",
+ "Av = Ai * Rc / hie #Voltage gain \n",
+ "Ri = (R1*R2*hie)/(R1*R2+R2*hie+R1*hie) #Input resistance (in ohm) \n",
+ "beta = Re1 / Rc #feedback ratio \n",
+ "A1v = Av / (1 + beta * Av) #Voltage ratio with feedback\n",
+ "R1i = Ri*(1 + beta * Av) #Input resistancewith feedback (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain without feedback is \",Av,\".\\nInput resistance without feedback is \",round(Ri),\" kilo-ohm.\\nVoltage gain with feedback is \",round(A1v,2),\".\\nInput resistance with feedback is \",round(R1i,1),\" kilo-ohm.\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain without feedback is 23.5 .\n",
+ "Input resistance without feedback is 1342.0 kilo-ohm.\n",
+ "Voltage gain with feedback is 3.92 .\n",
+ "Input resistance with feedback is 8051.1 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 29.16 , Page Number 743"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math \n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "hfe = 99.0 #hfe\n",
+ "hie = 2.0 * 10**3 #hie (in ohm)\n",
+ "Rc = 22.0 * 10**3 #Load resistor of frist stage (in ohm) \n",
+ "R4 = 100.0 #Emitter resistance of first stage (in ohm)\n",
+ "R1 = 220.0 * 10**3 #Biasing resistor of second stage (in ohm)\n",
+ "R2 = 22.0 * 10**3 #Biasing resistor of second stage (in ohm)\n",
+ "R1c = 4.7 * 10**3 #Load resistance of second stage (in ohm)\n",
+ "R3 = 7.8 * 10**3 #Feedback resistor from collector of second stage to emitter of first stage (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Ri = hie #Input resistance of first stage (in ohm)\n",
+ "Ro1 = (1/Rc + 1/R1 + 1/R2 + 1/hie)**-1 #Output resistance of first stage (in ohm)\n",
+ "Ri2 = hie #Input resistance of second stage (in ohm) \n",
+ "Ro2 = R1c * (R3 + R4)/(R1c + R3 + R4) #Output resistance of second stage (in ohm)\n",
+ "Av1 = hfe * Ro1 / hie #Voltage gain of first stage \n",
+ "Av2 = hfe * Ro2 / hie #Voltage gain of second stage \n",
+ "Av = Av1 * Av2 #Overall voltage gain without feedback\n",
+ "beta = R4 / (R3 + R4) #Feedback ratio\n",
+ "Ri1 = Ri*(1 + beta*Av) #Input resistance with feedback (in ohm)\n",
+ "R1o2 = Ro2 / (1 + beta * Av) #Output resistance with feedback (in ohm)\n",
+ "A1v = Av / (1 + beta * Av) #Overall voltage gain with feedback \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain without feedback is \",round(Av,1),\".\\nInput resistance of first stage without feedback is \",Ri * 10**-3,\" kilo-ohm.\\nInput resistance of second stage without feedback is \",Ri2 * 10**-3,\" kilo-ohm.\\nOutput resistance of first stage without feedback is \",round(Ro1 * 10**-3,2),\" kilo-ohm.\\nOutput resistance of second stage without feedback is \",round(Ro2 * 10**-3,2),\" kilo-ohm .\"\n",
+ "print \"Voltage gain with feedback is \",round(A1v,1),\".\\nInput resistance with feedback is \",round(Ri1 * 10**-3,2),\" kilo-ohm.\\nOutput resistance with feedback is \",round(R1o2 * 10**-3,3),\" kilo-ohm.\"\n",
+ "\n",
+ "#Calculation error in book about value of Av."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain without feedback is 12126.0 .\n",
+ "Input resistance of first stage without feedback is 2.0 kilo-ohm.\n",
+ "Input resistance of second stage without feedback is 2.0 kilo-ohm.\n",
+ "Output resistance of first stage without feedback is 1.68 kilo-ohm.\n",
+ "Output resistance of second stage without feedback is 2.95 kilo-ohm .\n",
+ "Voltage gain with feedback is 78.5 .\n",
+ "Input resistance with feedback is 308.99 kilo-ohm.\n",
+ "Output resistance with feedback is 0.019 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter30_5.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter30_5.ipynb
new file mode 100644
index 00000000..8b4fe821
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter30_5.ipynb
@@ -0,0 +1,922 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 30 , Field-Effect Transistor Amplifiers"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.1 , Page Number 750"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of drain-to-source voltage is 2.5 V.\n",
+ "Value of Gate-to-source voltage is -2.5 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "ID = 5.0 * 10**-3 #Drain current (in Ampere)\n",
+ "VDD = 10.0 #Voltage (in volts)\n",
+ "RD = 1.0 * 10**3 #Drain resistance (in ohm)\n",
+ "RS = 500.0 #Source resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VS = ID * RS #Source voltage (in volts)\n",
+ "VD = VDD - ID * RD #Drain voltage (in volts)\n",
+ "VDS = VD - VS #Drain-Source voltage (in volts)\n",
+ "VGS = -VS #Gate-to-source voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of drain-to-source voltage is \",VDS,\" V.\\nValue of Gate-to-source voltage is \",VGS,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.2 , Page Number 751"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of resistance R1 is 1.5 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RD = 56.0 * 10**3 #Drain resistance (in ohm)\n",
+ "RG = 1.0 * 10**6 #Gate resistance (in ohm)\n",
+ "IDSS = 1.5 * 10**-3 #Drain to ground current (in Ampere)\n",
+ "Vp = -1.5 #Voltage (in volts)\n",
+ "VDD = 20.0 #Supply voltage (in volts)\n",
+ "VD = 10.0 #Drain voltage (in volts) \n",
+ "R = 4.0 * 10**3 #Resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ID = (VDD - VD) / RD #Drain current (in Ampere) \n",
+ "VGS = (1 - (ID / IDSS)**0.5)*Vp #Gate-to-source voltage (in volts)\n",
+ "VS = -VGS #Source voltage (in volts) \n",
+ "R1 = VS / ID - R #Resistance R1 (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of resistance R1 is \",round(R1 * 10**-3,1),\" kilo-ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.3 , Page Number 752"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of RS is 933.0 ohm.\n",
+ "Value of RD is 5.7 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "ID = 1.5 * 10**-3 #Drain current (in Ampere)\n",
+ "IDSS = 5.0 * 10**-3 #Drain-to-source current (in Ampere) \n",
+ "Vp = -2.0 #Voltage (in volts)\n",
+ "VDS = 10.0 #Drain-to-source voltage (in volts)\n",
+ "VDD = 20.0 #Supply voltage (in volts) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VGS = (1 - ID/IDSS)*Vp #Gate-to-Source voltage (in volts)\n",
+ "VS = -VGS #Source voltage (in volts)\n",
+ "RS = VS / ID #Source resistance (in ohm)\n",
+ "RD = (VDD - VDS) / ID - RS #Drain resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of RS is \",round(RS),\" ohm.\\nValue of RD is \",round(RD * 10**-3,1),\" kilo-ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.4 , Page Number 754"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Quiescent values of ID and VGS is 5.0 mA and -1.4 V.\n",
+ "D.C. voltage between drain and ground is 6.0 V.\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\nAElFTkSuQmCC\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x2683f70>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,title,xlabel,ylabel,annotate\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RD = 1.8 * 10**3 #Drain resistance (in ohm)\n",
+ "RS = 270.0 #Source resistance (in ohm)\n",
+ "RG = 10.0 * 10**6 #Resistance (in ohm)\n",
+ "IDSS = 12.0 * 10**-3 #Drain-to-source current (in Ampere) \n",
+ "ID = 6.0 * 10**-3 #Drain current (in Ampere)\n",
+ "VDD = 15.0 #Supply voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VS = ID * RS #Source voltage (in volts)\n",
+ "VGS = - VS #Gate-to-Source Voltage \n",
+ "IDQ = 5.0 * 10**-3 #Drain current at Q point (in Ampere)\n",
+ "VGSQ = -1.4 #Gate-to-source voltage (in volts) \n",
+ "VD = VDD - IDQ * RD #Drain voltage (in volts)\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(-4,0,100)\n",
+ "plot(x,12*(1 + x/4)**2,'r')\n",
+ "title(\"transfer characteristic\")\n",
+ "plot(x,x*(-5.0/1.40),'b')\n",
+ "xlabel(\"Gate-to-Source voltage VGS (V)\")\n",
+ "ylabel(\"Drain current ID(mA)\")\n",
+ "annotate(\"Q\",xy=(-1.62,6.0))\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Quiescent values of ID and VGS is \",IDQ * 10**3,\" mA and \",VGSQ,\" V.\"\n",
+ "print \"D.C. voltage between drain and ground is \",VD,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.5 , Page Number 755"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of RD is 1.5 kilo-ohm.\n",
+ "Value of RS is 528.0 ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VP = VGSoff = 5.0 #Voltage (in volts)\n",
+ "IDSS = 12.0 * 10**-3 #Drain-to-source current (in Ampere)\n",
+ "VDD = 12.0 #Drain voltage (in volts)\n",
+ "ID = 4.0 * 10**-3 #Drain current (in Ampere)\n",
+ "VDS = 6.0 #Drain-to-source voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VGS = (1 - (ID / IDSS)**0.5)*VGSoff #Gate-to-source voltage (in volts)\n",
+ "VS = VGS #Source voltage (in volts)\n",
+ "RS = VS / ID #Source resistance (in ohm)\n",
+ "RD = (VDD - VDS) / ID #Drain resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of RD is \",RD * 10**-3,\" kilo-ohm.\\nValue of RS is \",round(RS),\" ohm.\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.6 , Page Number 756"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Operating point is ID = 5.0 mA and VDS = 10.0 V.\n",
+ "Value of RD is 2.0 kilo-ohm and RS is 440.0 ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "IDSS = 10.0 * 10**-3 #Drain-to-source current (in Ampere)\n",
+ "VDD = 20.0 #Drain voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "IDQ = IDSS / 2 #Drain current at Q point (in Ampere)\n",
+ "VDSQ = VDD / 2 #Drain-to-source voltage at Q point (in volts)\n",
+ "VGS = -2.2 #Gate-to-source voltage (in volts)\n",
+ "ID = 5.0 * 10**-3 #Drain current (in Ampere)\n",
+ "RD = (VDD - VDSQ) / ID #Drain resistance (in ohm)\n",
+ "VS = - VGS #Source voltage (in volts)\n",
+ "RS = VS / ID #Source resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Operating point is ID = \",IDQ * 10**3,\" mA and VDS = \",VDSQ,\" V.\"\n",
+ "print \"Value of RD is \",RD * 10**-3,\" kilo-ohm and RS is \",RS,\" ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.7 , Page Number 758"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of VGS is -3.8 V. and value of VDS is 4.0 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VDD = 20.0 #Supply voltage (in volts)\n",
+ "RD = 2.5 * 10**3 #Drain resistance (in ohm)\n",
+ "RS = 1.5 * 10**3 #Source resistance (in ohm)\n",
+ "R1 = 2.0 * 10**6 #Resistance (in ohm)\n",
+ "R2 = 250.0 * 10**3 #Resitance (in ohm)\n",
+ "ID = 4.0 * 10**-3 #Drain current (in Ampere) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VG = VDD * R2 / (R1 + R2) #Gate voltage (in volts)\n",
+ "VS = ID * RS #Source voltage (in volts)\n",
+ "VGS = VG - VS #Gate-to-source voltage (in volts)\n",
+ "VD = VDD - ID * RD #Drain voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of VGS is \",round(VGS,1),\" V. and value of VDS is \",VD - VS,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.8 , Page Number 764"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage gain is -6.0 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "gm = 4.0 * 10**-3 #Transconductance (in Siemen)\n",
+ "RD = 1.5 * 10**3 #Drain resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Av = -gm * RD #Voltage gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain is \",Av,\".\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.9 , Page Number 764"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage gain is -24.5 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "gm = 2.5 * 10**-3 #Transconductance (in Ampere per volt)\n",
+ "rd = 500.0 * 10**3 #Resistance (in ohm)\n",
+ "RD = 10.0 * 10**3 #Load resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "rL = RD * rd / (RD + rd) #a.c. equivalent resistance (in ohm)\n",
+ "Av = -gm * rL #Voltage gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain is \",round(Av,1),\".\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.10 , Page Number 764"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage gain is -26.7 .\n",
+ "Input resistance is 100.0 Mega-ohm.\n",
+ "Output resistance is 13.3 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "gm = 2.0 * 10**-3 #Transconductance (in Ampere per volt)\n",
+ "rd = 40.0 * 10**3 #Resistance (in ohm)\n",
+ "RD = 20.0 * 10**3 #Drain resistance (in ohm)\n",
+ "RG = 100.0 * 10**6 #Gate resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "rL = RD * rd / (RD + rd) #a.c. equivalent resistance (in ohm)\n",
+ "Av = -gm * rL #Voltage gain \n",
+ "R1i = RG #input resistance (in ohm)\n",
+ "R1o = rL #output resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain is \",round(Av,1),\".\"\n",
+ "print \"Input resistance is \",R1i * 10**-6,\" Mega-ohm.\\nOutput resistance is \",round(R1o * 10**-3,1),\" kilo-ohm.\" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.11 , Page Number 765"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage gain is -16.67 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "gm = 2.0 * 10**-3 #Transconductance (in Ampere per volt)\n",
+ "rd = 10.0 * 10**3 #Resistance (in ohm)\n",
+ "RD = 50.0 * 10**3 #Drain resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "rL = RD * rd / (RD + rd) #a.c. equivalent resistance (in ohm)\n",
+ "Av = - gm * rL #Voltage gain\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain is \",round(Av,2),\".\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.12 , Page Number 765"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage gain is -48.9 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RD = 100.0 * 10**3 #Drain resistance (in ohm) \n",
+ "gm = 1.6 * 10**-3 #Transconductance (in Ampere per volt)\n",
+ "rd = 44.0 * 10**3 #Resistance (in ohm)\n",
+ "Cgs = 3.0 * 10**-12 #Capacitance gate-to-source (in Farad)\n",
+ "Cds = 1.0 * 10**-12 #Capacitance drain-to-source (in Farad)\n",
+ "Cgd = 2.8 * 10**-12 #Capacitance gate-to-drain (in Farad) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "rL = RD * rd / (RD + rd) #a.c. load resistance (in ohm) \n",
+ "Av = -gm * rL #Voltage gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain is \",round(Av,1),'.'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.13 , Page Number 766"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Output voltage is 0.844 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "gm = 4500.0 * 10**-6 #Transconductance (in Ampere per volt)\n",
+ "RD = 3.0 * 10**3 #Drain resistance (in ohm)\n",
+ "RL = 5.0 * 10**3 #Load resistance (in ohm) \n",
+ "Vin = 100.0 * 10**-3 #Input voltage (in volts)\n",
+ "ID = 2.0 * 10**-3 #Drain current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "rL = RD * RL / (RD + RL) #a.c. load resistance (in ohm)\n",
+ "vo = -gm * rL * Vin #Output voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Output voltage is \",abs(round(vo,3)),\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.14 , Page Number 768"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage gain when RL is zero is -2.0 .\n",
+ "Voltage gain when Rl is 100 kilo-ohm is -1.97 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "gm = 4.0 * 10**-3 #Transconductance (in Siemen)\n",
+ "RD = 1.5 * 10**3 #Drain resistance (in ohm)\n",
+ "RG = 10.0 * 10**6 #Gate resistance (in ohm)\n",
+ "rs = 500.0 #resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Voltage gain when Rl is zero\n",
+ "\n",
+ "rL = RD #a.c. load resistance (in ohm)\n",
+ "Av = -(gm * rL)/(1 + gm * rs) #Voltage gain1 \n",
+ "\n",
+ "#Voltage gain when Rl is 100 kilo-ohm\n",
+ "\n",
+ "RL = 100.0 * 10**3 #Load resistance (in ohm) \n",
+ "rL1 = RD * RL / (RD + RL) #a.c. load resistance (in ohm)\n",
+ "Av1 = -(gm * rL1)/(1 + gm * rs) #Voltage gain1 \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain when RL is zero is \",Av,\".\\nVoltage gain when Rl is 100 kilo-ohm is \",round(Av1,2),\".\" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.15 , Page Number 768"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage gain for unbypassed Rs is -1.35 .\n",
+ "Voltage gain for bypassed Rs is -4.163 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RD = 1.5 * 10**3 #Drain resistance (in ohm)\n",
+ "RS = 750.0 #Source resistance (in ohm)\n",
+ "RG = 1.0 * 10**6 #Gate resistance (in ohm)\n",
+ "IDSS = 10.0 * 10**-3 #Supply current (in Ampere)\n",
+ "Vp = -3.5 #Voltage (in volts)\n",
+ "IDQ = 2.3 * 10**-3 #Drain current at Q point (in Ampere)\n",
+ "VGSQ = -1.8 #Gate-to-source voltage at Q point (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "gmo = -2 * IDSS / Vp #Maximum transconductance (in Ampere per volt)\n",
+ "gm = gmo * (1 - VGSQ/Vp) #Transconductance at Q point (in Ampere per volt) \n",
+ "rL = RD #a.c. load resistance (in ohm)\n",
+ "Av = - gm * rL / (1 + gm * RS) #Unbypassed RS (in ohm)\n",
+ "Av1 = -gm * rL #Bypassed RS (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain for unbypassed Rs is \",round(Av,2),\".\\nVoltage gain for bypassed Rs is \",round(Av1,3),\".\"\n",
+ "\n",
+ "#Slight variation due to higher precision"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.16 , Page Number 771"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage gain is 0.988 .\n",
+ "Input resistance is 100.0 Mega-ohm.\n",
+ "Output resistance is 125.0 ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "gm = 8000.0 * 10**-6 #Transconductance (in Siemen)\n",
+ "RS = 10.0 * 10**3 #Drain resistance (in ohm)\n",
+ "RG = 100.0 * 10**6 #Gate resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Av = RS / (RS + 1 / gm) #Voltage gain\n",
+ "R1i = RG #Input resistance (in ohm)\n",
+ "R1o = 1 / gm #Output resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain is \",round(Av,3),\".\\nInput resistance is \",R1i * 10**-6,\" Mega-ohm.\\nOutput resistance is \",R1o,\" ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.17 , Page Number 772"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Voltage gain is 0.965 .\n",
+ "Input resistance is 0.5 Mega-ohm.\n",
+ "Output resistance is 175.4 ohm.\n",
+ "Output voltage is 1.77 mV.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "vin = 2.0 * 10**-3 #Input voltage (in volts)\n",
+ "gm = 5500.0 * 10**-6 #Transconductance (in Siemen)\n",
+ "R1 = R2 = 1.0 * 10**6 #Resistance (in ohm)\n",
+ "RS = 5.0 * 10**3 #Source resistance (in ohm)\n",
+ "RL = 2.0 * 10**3 #Load resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Av = RS / (RS + 1/gm) #Voltage gain \n",
+ "R1i = R1 * R2 / (R1 + R2) #Input resistance (in ohm)\n",
+ "R1o = RS * 1/gm /(RS + 1/gm) #Output resistance (in ohm)\n",
+ "Vo = RL / (RL + R1o) * Av * vin #Output voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Voltage gain is \",round(Av,3),\".\\nInput resistance is \",R1i * 10**-6,\" Mega-ohm.\\nOutput resistance is \",round(R1o,1),\" ohm.\\nOutput voltage is \",round(Vo * 10**3,2),\" mV.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.18 , Page Number 774"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Amplifier voltage gain is 25.0 .\n",
+ "Input resistance is 333.0 ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "gm = 2500.0 * 10**-6 #Transconductance (in Amper per volt)\n",
+ "RD = 10.0 * 10**3 #Drain resistance (in ohm)\n",
+ "RS = 2.0 * 10**3 #Source resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Av = gm * RD #Voltage gain \n",
+ "R1i = RS * 1/gm /(RS + 1/gm) #Input resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Amplifier voltage gain is \",Av,\".\\nInput resistance is \",round(R1i),\" ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 30.19 , Page Number 775"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Input resistance is 100.0 ohm.\n",
+ "a.c. voltage gain is 3.75 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "gmo = 5.0 * 10**-3 #Maximum transconductance (in Siemen)\n",
+ "RD = 1.0 * 10**3 #Drain resistance (in ohm)\n",
+ "RS = 200.0 #Source resistance (in ohm)\n",
+ "ID = 5.0 * 10**-3 #Drain current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R1i = RS * 1/gmo /(RS + 1/gmo) #Input resistance (in ohm)\n",
+ "VS = ID * RS #Source voltage (in volts) \n",
+ "VGS = VS #Gate-to-Source voltage (in volts)\n",
+ "IDSS = 2 * ID #Supply current (in Ampere)\n",
+ "VGSoff = -2 * IDSS / ID #Gate-to-source cut off voltage (in volts)\n",
+ "gm = gmo * (1 - abs(VGS / VGSoff)) #Transconductance (in Siemen) \n",
+ "Av = gm * RD #Voltage gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Input resistance is \",R1i,\" ohm.\\na.c. voltage gain is \",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.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter31_5.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter31_5.ipynb
new file mode 100644
index 00000000..d0e5134b
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter31_5.ipynb
@@ -0,0 +1,776 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:3d2015ac31b05394e05afcfb5c1742d239465e40465a478e82205d7108590d8c"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 31 , Sinusoidal Oscillators"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.1 , Page Number 787"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "fo = 22.0 * 10**3 #Frequency (in Hertz)\n",
+ "C = 2.0 * 10**-9 #Capacitance (in Farad)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "L = (0.159/fo)**2/C #Inductance (in Henry) \n",
+ " \n",
+ "#Result\n",
+ "\n",
+ "print \"Inductance is \",round(L,3),\" H.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Inductance is 0.026 H.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.2 , Page Number 787"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "fo = 2.2 * 10**6 #Frequency (in Hertz)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "f1o = fo * 2**0.5 #New frequency (in Hertz) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"It will work at frequency of \",round(f1o * 10**-6,2),\" MHz when capacitance is reduced by 50%.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "It will work at frequency of 3.11 MHz when capacitance is reduced by 50%.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.3 , Page Number 789"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "C = 100.0 * 10**-12 #Capacitance (in Farad)\n",
+ "L1 = 30.0 * 10**-6 #Inductance1 (in Henry)\n",
+ "L2 = 1.0 * 10**-8 #Inductance2 (in Henry) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "L = L1 + L2 #Net inductance (in Henry)\n",
+ "fo = 1/(2*math.pi*(L * C)**0.5) #Frequency of oscillations (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Frequency of oscillations is \",round(fo * 10**-6,1),\" MHz,\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frequency of oscillations is 2.9 MHz,\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.4 , Page Number 790"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "L1 = 1000.0 * 10**-6 #Inductance1 (in Henry)\n",
+ "L2 = 100.0 * 10**-6 #Inductance2 (in Henry)\n",
+ "M = 20.0 * 10**-6 #Mutual Inductance (in Henry)\n",
+ "C = 20.0 * 10**-12 #Capacitance (in Farad) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "L = L1 + L2 + 2 * M #Net inductance (in Henry)\n",
+ "fo = 1/(2*math.pi*(L * C)**0.5) #Frequency of oscillations (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Frequency of oscillations is \",round(fo * 10**-6,3),\" MHz,\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frequency of oscillations is 1.054 MHz,\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.5 , Page Number 790"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "C = 1.0 * 10**-9 #Capacitance (in Farad)\n",
+ "L1 = 4.7 * 10**-3 #Inductance1 (in Henry)\n",
+ "L2 = 47.0 * 10**-6 #Inductance2 (in Henry)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "L = L1 + L2 #Net inductance (in Henry)\n",
+ "fo = 1/(2*math.pi*(L * C)**0.5) #Frequency of oscillations (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Frequency of oscillations is \",round(fo * 10**-3,2),\" kHz,\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frequency of oscillations is 73.05 kHz,\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.6 , Page Number 791"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "L1 = 2.0 * 10**-3 #Inductance1 (in Henry)\n",
+ "L2 = 20.0 * 10**-6 #Inductance2 (in Henry)\n",
+ "fomin = 950.0 * 10**3 #Frequency minimum (in Hertz)\n",
+ "fomax = 2050.0 * 10**3 #Frequency maximum (in Hertz)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "L = L1 + L2 #Net inductance (in Henry)\n",
+ "C1 = 1.0/(4 * math.pi**2*(L*fomin**2)) #Capacitance1 (in Farad)\n",
+ "C2 = 1.0/(4 * math.pi**2*(L*fomax**2)) #Capacitance2 (in Farad)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Range of capacitance required is \",round(C2 * 10**12,2),\" pF and \",round(C1 * 10**12,1),\" pF.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Range of capacitance required is 2.98 pF and 13.9 pF.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.7 , Page Number 792"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ " \n",
+ "L1 = 0.1 * 10**-3 #Inductance1 (in Henry)\n",
+ "L2 = 10.0 * 10**-6 #Inductance2 (in Henry)\n",
+ "M = 20.0 * 10**-6 #Mutual Inductance (in Hnery) \n",
+ "fo = 4110.0 * 10**3 #Frequency (in Hertz)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "L = L1 + L2 + 2*M #Net inductance (in Henry)\n",
+ "C = 1.0/(4 * math.pi**2 * L*fo**2) #Capacitance (in Farad)\n",
+ "beta = L2 / L1 #Feedback ratio\n",
+ "Av = 1/beta #Voltage gain\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Capacitance required is \",round(C * 10**12,4),\" pF.\\nVoltage gain for sustained condition is \",Av,\".\"\n",
+ "\n",
+ "#Calculation error in the value of M used in formula , therefore incorrect value of C."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Capacitance required is 9.9969 pF.\n",
+ "Voltage gain for sustained condition is 10.0 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.8 , Page Number 793"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "C1 = 0.001 * 10**-6 #Capacitance (in Farad) \n",
+ "C2 = 0.01 * 10**-6 #Capacitance (in Farad)\n",
+ "L = 5.0 * 10**-6 #Inductance (in Henry) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Av = C2 / C1 #Voltage gain\n",
+ "C = C1 * C2 / (C1 + C2) #Net capacitance (in Farad)\n",
+ "fo = 1 /(2*math.pi*(L * C)**0.5) #Frequency (in Hertz) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Required voltage gain is \",Av,\".\\nFrequency of oscillation is \",round(fo * 10**-6,2),\" Mhz.\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Required voltage gain is 10.0 .\n",
+ "Frequency of oscillation is 2.36 Mhz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.9 , Page Number 793"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "C1 = 0.1 * 10**-6 #Capacitance (in Farad)\n",
+ "C2 = 1.0 * 10**-6 #Capacitance (in Farad)\n",
+ "L = 470.0 * 10**-6 #Inductance (in Henry) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "C = C1 * C2/ (C1 + C2) #Net capacitance (in Farad) \n",
+ "fo = 1 /(2*math.pi*(L * C)**0.5) #Frequency (in Hertz) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Frequency of oscillation is \",round(fo * 10**-3,2),\" kHz.\"\n",
+ "\n",
+ "#Slight variation due to higher precision"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frequency of oscillation is 24.35 kHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.10 , Page Number 794"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "C1 = 100.0 * 10**-12 #Capacitance (in Farad)\n",
+ "C2 = 7500.0 * 10**-12 #Capacitance (in Farad)\n",
+ "fomin = 950.0 * 10**3 #Frequency minimum (in Hertz)\n",
+ "fomax = 2050.0 * 10**3 #Frequency maximum (in Hertz)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "C = C1 * C2/ (C1 + C2) #Net capacitance (in Farad) \n",
+ "L1 = 1.0/(4 * math.pi**2*(C*fomin**2)) #Inductance1 (in Henry)\n",
+ "L2 = 1.0/(4 * math.pi**2*(C*fomax**2)) #Inductance2 (in Henry)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The range of inductance required is from \",round(L2 * 10**6),\" micro-Henry to \",round(L1 * 10**6),\" micro-Henry.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The range of inductance required is from 61.0 micro-Henry to 284.0 micro-Henry.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.11 , Page Number 795"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "fo = 450.0 * 10**3 #Frequency(in Hertz)\n",
+ "#Let us assume \n",
+ "C1 = C2 = C = 10.0 * 10**-6 #Capacitance (in Farad)\n",
+ "C21 = 2 * C2 #Capacitance (in Farad) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "fo1 = fo * (3.0/4.0)**0.5 #New Frequency (in Hertz) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The oscillation frequency if C2 is doubled is \",round(fo1 * 10**-3,1),\" kHz.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The oscillation frequency if C2 is doubled is 389.7 kHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.12 , Page Number 796"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "C1 = 0.1 * 10**-6 #Capacitance (in Farad)\n",
+ "C2 = 1.0 * 10**-6 #Capacitance (in Farad) \n",
+ "C3 = 100.0 * 10**-12 #Capacitance (in Farad)\n",
+ "L = 470.0 * 10**-6 #Inductance (in Henry)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "C = (1.0/C1 + 1.0/C2 +1.0/C3)**-1 #Capacitance (in Farad) \n",
+ "fo = 1/(2*math.pi *(L*C)**0.5) #Frequency (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Frequency of oscillation is \",round(fo * 10**-3,1),\" kHz.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frequency of oscillation is 734.5 kHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.13 , Page Number 799"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "L = 0.33 #Inductance (in Henry)\n",
+ "C1 = 0.065 * 10**-12 #Capacitance (in Farad) \n",
+ "C2 = 1.0 * 10**-12 #Capacitance (in Farad)\n",
+ "R = 5.5 * 10**3 #Resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "fs = 1/(2*math.pi*(L*C1)**0.5) #Series Resonant frequency (in Hertz)\n",
+ "Qfactor = 2*math.pi*fs*L/R #Q-factor\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Series resonant frequency is \",round(fs * 10**-6,2),\" MHz.\\nQ-factor of the crystal is \",round(Qfactor,1),\".\"\n",
+ "\n",
+ "#Slight variation due to higher precision"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Series resonant frequency is 1.09 MHz.\n",
+ "Q-factor of the crystal is 409.7 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.14 , Page Number 802"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "gm = 5000.0 * 10**-6 #Transconductance (in mho)\n",
+ "rd = 40.0 * 10**3 #Resistance (in ohm)\n",
+ "R = 10.0 * 10**3 #Resistance (in ohm)\n",
+ "fo = 1.0 * 10**3 #Frequency (in Hertz) \n",
+ "Av = 40.0 #Voltage gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "C = 1/(2*math.pi*(R)*6**0.5*fo) #Capacitance (in Farad)\n",
+ "rL = Av / gm #a.c. load resistance (in ohm) \n",
+ "RD = (rL * rd)/(rd-rL) #Drain resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of capacitor is \",round(C* 10**6,5),\" micro-Farad.\"\n",
+ "print \"Value of drain resistance is \",RD * 10**-3,\" kilo-ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of capacitor is 0.0065 micro-Farad.\n",
+ "Value of drain resistance is 10.0 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.15 , Page Number 803"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "fo = 2.0 * 10**3 #Frequency (in Hertz)\n",
+ "mu = 50.0 #Amplification factor \n",
+ "rd = 5.0 * 10**3 #Resistance (in ohm) \n",
+ "Av = 40.0 #Voltage gain\n",
+ "R = 10.0 * 10**3 #Resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "gm = mu / rd #Transconductance (in mho)\n",
+ "rL = Av/ gm #a.c. load resistance (in ohm) \n",
+ "RD = (rL * rd)/(rd-rL) #Drain resistance (in ohm)\n",
+ "RC = 0.065/(fo) #RC product (in second)\n",
+ "C = RC / R #Capacitance (in Farad) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum value of RD is \",RD * 10**-3,\" kilo-ohm.\\nValue of the RC product is \",RC,\" s.\\nValue of R is \",R * 10**-3,\" kilo-ohm.\\nValue of C is \",C * 10**9,\" nF.\" "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum value of RD is 20.0 kilo-ohm.\n",
+ "Value of the RC product is 3.25e-05 s.\n",
+ "Value of R is 10.0 kilo-ohm.\n",
+ "Value of C is 3.25 nF.\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.18 , Page Number 807"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "fo = 2.0 * 10**3 #Frequency (in Hertz)\n",
+ "hie = 2.0 * 10**3 #hie (in ohm)\n",
+ "R1 = 20.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 80.0 * 10**3 #Resistance (in ohm)\n",
+ "RC = 10.0 * 10**3 #Collector Resistance (in ohm)\n",
+ "R = 8.0 * 10**3 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "C = 1/(2*math.pi*R)*(1/(6 + 4*RC/R)**0.5)/fo #Capacitance (in Farad)\n",
+ "hfe = 23 + 29 * R/RC + 4* RC /R #Current gain \n",
+ "Ri = (1/R1 + 1/R2 + 1/hie)**-1 #Input resistance (in ohm)\n",
+ "R3 = R - Ri #Feedback resitor (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of capacaitor C is \",round(C * 10**6,3),\" micro-Farad.\\nValue of transistor gain is hfe >= \",hfe,\".\\nValue of feedback resistor R3 is \",round(R3 * 10**-3,1),\" kilo-ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of capacaitor C is 0.003 micro-Farad.\n",
+ "Value of transistor gain is hfe >= 51.2 .\n",
+ "Value of feedback resistor R3 is 6.2 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 31.19 , Page Number 809"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "fo = 10.0 * 10**3 #Frequency (in Hertz)\n",
+ "R = 100.0 * 10**3 #Resistance (in ohm) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "C = 1/(2*math.pi*R*fo) #Capacitance (in Farad) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of the capacitor C is \",round(C * 10**12),\" pico-Farad.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of the capacitor C is 159.0 pico-Farad.\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter32_5.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter32_5.ipynb
new file mode 100644
index 00000000..183fa27e
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter32_5.ipynb
@@ -0,0 +1,606 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 32 , Non-Sinusoidal Oscillators"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.1 , Page Number 816"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The upper end point is ic = 50.0 mA.\n",
+ "The lower end point is VCE = 10.0 V.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x60d9af0>"
+ ]
+ },
+ "execution_count": 1,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n7H8BS89mPFZd97UAAAAASUVORK5CYII=\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x273e870>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,title,xlabel,ylabel\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VCC = 10.0 #Supply voltage (in volts)\n",
+ "VBB = 5.0 #Voltage across base (in volts)\n",
+ "RC = 200.0 #Collector resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Upper end point\n",
+ "ic = VCC / RC #Collector current (in Ampere)\n",
+ "VCE = VCEsat = 0 #Collector-to-emitter voltage (in volts)\n",
+ "\n",
+ "#lower cut-off point\n",
+ "ic1 = 0 #Collector current (in Ampere) \n",
+ "VCE1 = VCC #Collector-to-emitter voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The upper end point is ic = \",ic * 10**3,\" mA.\\nThe lower end point is VCE = \",VCE1,\" V.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,VCE1,100)\n",
+ "plot(x,ic*10**3 - ic*10**3/VCE1*x)\n",
+ "title(\"d.c. load line\")\n",
+ "xlabel(\"Collector-to-emitter voltage VCE (V)\")\n",
+ "ylabel(\"Collector current IC (mA)\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.2 , Page Number 822"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Frequency of oscillation is 362.0 kHz.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = R2 = R = 20.0 * 10**3 #Resistance (in ohm)\n",
+ "C1 = C2 = C = 100.0 * 10**-12 #Capacitance (in Farad) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "f = 1/(1.38 * R * C) #Frequency (in Hertz) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Frequency of oscillation is \",round(f * 10**-3),\" kHz.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.3 , Page Number 822"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Time period of oscillation is 0.7 ms.\n",
+ "Frequency of oscillation is 1.42 kHz.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 2.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 20.0 * 10**3 #Resistance (in ohm)\n",
+ "C1 = 0.01 * 10**-6 #Capacitance (in Farad)\n",
+ "C2 = 0.05 * 10**-6 #Capacitance (in Farad)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "T = 0.69*(R1*C1 + R2*C2) #Time periode of oscillation (in seconds)\n",
+ "f = 1/T #Frequency of oscillation (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Time period of oscillation is \",round(T * 10**3,1),\" ms.\\nFrequency of oscillation is \",round(f * 10**-3,2),\" kHz.\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.4 , Page Number 822"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of C1 capacitor is 145.0 pico-Farad.\n",
+ "Value of C2 capacitor is 1304.0 pico-Farad.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "T1 = 1.0 * 10**-6 #Pulse width (in seconds)\n",
+ "f = 100.0 * 10**3 #Frequency (in Hertz)\n",
+ "R1 = R2 = 10.0 * 10**3 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "T = 1/f #Time period of oscillation (in seconds) \n",
+ "C1 = T1 / 0.69 / R1 #Capacitance (in Farad)\n",
+ "T2 = T - T1 #Time period (in seconds) \n",
+ "C2 = T2 / 0.69 / R2 #Capacitance (in Farad)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of C1 capacitor is \",round(C1 * 10**12),\" pico-Farad.\\nValue of C2 capacitor is \",round(C2 * 10**12),\" pico-Farad.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.5 , Page Number 823"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Rc : 3000.0 ohm.\n",
+ "RC1 : 3000.0 ohm.\n",
+ "IBsat : 0.00025 A.\n",
+ "IB : 0.0005 A.\n",
+ "R1 : 30.0 kilo-ohm.\n",
+ "R2 : 30.0 kilo-ohm.\n",
+ "C1 : 14976.0 pico-Farad.\n",
+ "C2 : 12077.0 pico-Farad.\n",
+ "Output waveform time constants :\n",
+ "t1 = 449.3 micro-second.\n",
+ "t2 : 362.3 micro-second\n",
+ "t11 : 44.9 micro-second\n",
+ "t12 : 36.2 micro-second.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "T2A = 310.0 * 10**-6 #Time period (in seconds)\n",
+ "T2B = 250.0 * 10**-6 #Time period (in seconds)\n",
+ "VCC = 15.0 #Supply voltage (in volts)\n",
+ "ICsat = 5.0 * 10**-3 #Saturated collector current (in Ampere)\n",
+ "hFEmin = 20.0 #Current gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "RC = VCC / ICsat #Collector resistance (in ohm)\n",
+ "RC1 = RC2 = RC #Collector resistance of transistors Q1 and Q2 (in ohm) \n",
+ "IBsat = ICsat / hFEmin #Saturated Base current (in Ampere)\n",
+ "IB = 2 * IBsat #Base current (in Ampere)\n",
+ "R1 = R2 = R = VCC / IB #Resistance (in ohm)\n",
+ "C1 = T2A / 0.69 / R1 #Capacitance (in Farad)\n",
+ "C2 = T2B / 0.69 / R2 #Capacitance (in Farad)\n",
+ "t1 = R1 * C1 #Time constant1 (in seconds)\n",
+ "t2 = R2 * C2 #Time constant2 (in seconds)\n",
+ "t11 = RC1 * C1 #Time constant (in seconds)\n",
+ "t12 = RC1 * C2 #Time constant (in seconds)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Rc : \",RC,\" ohm.\\nRC1 : \",RC1,\" ohm.\\nIBsat : \",IBsat,\" A.\\nIB : \",IB,\" A.\\nR1 : \",R1*10**-3,\" kilo-ohm.\\nR2 : \",R2*10**-3,\" kilo-ohm.\\nC1 : \",round(C1 * 10**12),\" pico-Farad.\\nC2 : \",round(C2*10**12),\" pico-Farad.\"\n",
+ "print \"Output waveform time constants :\\nt1 = \",round(t1 * 10**6,1),\" micro-second.\\nt2 : \",round(t2 * 10**6,1),\" micro-second\\nt11 : \",round(t11 * 10**6,1),\" micro-second\\nt12 : \",round(t12 * 10**6,1),\" micro-second.\" \n",
+ "\n",
+ "#In some places milli seconds is mentioned in place of micro second in book."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.6 , Page Number 826"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The duty cycle of the waveform at the output (Q) of the monostable multivibrator is 10.0 %.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "f = 20.0 * 10**3 #Frequency (in Hertz)\n",
+ "tp = 5.0 * 10**-6 #Pulse duration (in seconds) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "T = 1/f #Time period (in seconds)\n",
+ "duty_cycle = tp / T #Duty cycle of monostable multivibrator \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The duty cycle of the waveform at the output (Q) of the monostable multivibrator is \",duty_cycle * 100,\"%.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.7 , Page Number 826"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Value of R3 is 7.246 kilo-ohm and value of C1 is 1.0 nF.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "f = 100.0 * 10**3 #Frequency (in Hertz)\n",
+ "C1 = 0.001 * 10**-6 #Capacitance (in Farad) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "duty_cycle = 0.5 #Duty cycle \n",
+ "T = 1/f #Time period (in seconds)\n",
+ "tp = duty_cycle * T #Pulse width (in seconds) \n",
+ "R3 = tp / 0.69 / C1 #Resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Value of R3 is \",round(R3 * 10**-3,3),\" kilo-ohm and value of C1 is \",C1 * 10**9,\" nF.\" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.8 , Page Number 834"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The pulse width is 24.2 micro-second.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 2.2 * 10**3 #Resistance (in ohm)\n",
+ "C1 = 0.01 * 10**-6 #Capacitance (in Farad)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "tp = 1.1 * R1 * C1 #Pulse width (in seconds)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The pulse width is \",tp * 10**6,\" micro-second.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.9 , Page Number 834"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Resistance required is 9.09 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "C = 1000.0 * 10**-12 #Capacitance (in Farad) \n",
+ "tp = 10.0 * 10**-6 #Pulse width (in seconds)\n",
+ "T = 60.0 * 10**-6 #time period (in seconds) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "R1 = tp / (1.1 * C) #Resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Resistance required is \",round(R1 * 10**-3,2),\" kilo-ohm.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.10 , Page Number 836"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "t1 is 8.05 micro-seconds.\n",
+ "t2 is 3.29 micro-seconds.\n",
+ "Duty cycle is 71.0 %.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 6.8 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 4.7 * 10**3 #Resistance (in ohm)\n",
+ "C1 = 1000.0 * 10**-12 #Capacitance (in Farad) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "t2 = 0.7 * R2 * C1 #Time interval2 (in seconds)\n",
+ "t1 = 0.7 * (R1 + R2 ) * C1 #Time interval1 (in seconds) \n",
+ "T = t1 + t2 #Total time (in seconds)\n",
+ "duty_cycle = t1 / T * 100 #Duty cycle of the waveform \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"t1 is \",t1 * 10**6,\" micro-seconds.\\nt2 is \",t2 * 10**6,\" micro-seconds.\\nDuty cycle is \",round(duty_cycle),\"%.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.11 , Page Number 837"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Frequency is 1.03 kHz.\n",
+ "Duty cycle is 60.0 %.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 27.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 56.0 * 10**3 #Resistance (in ohm) \n",
+ "C1 = 0.01 * 10**-6 #Capacitance (in Farad) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "t2 = 0.7 * R2 * C1 #Time interval2 (in seconds)\n",
+ "t1 = 0.7 * (R1 + R2 ) * C1 #Time interval1 (in seconds) \n",
+ "T = t1 + t2 #Total time (in seconds)\n",
+ "f = 1 / T #Frequency (in Hertz)\n",
+ "duty_cycle = t1 / T * 100 #Duty cycle of the waveform \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Frequency is \",round(f * 10**-3,2),\" kHz.\\nDuty cycle is \",round(duty_cycle),\"%.\" \n",
+ "\n",
+ "#In book it forgot to mention the duty_cycle."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 32.12 , Page Number 838"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Time period is 0.02 ms.\n",
+ "t1 is 0.012 ms.\n",
+ "t2 is 0.008 ms.\n",
+ "R2 is 5.19 kilo-ohm.\n",
+ "R1 is 2.6 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "f = 50.0 * 10**3 #Frequency (in Hertz)\n",
+ "duty_cycle = 0.6 #Duty cycle\n",
+ "C = 0.0022 * 10**-6 #Capacitance (in Farad) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "T = 1/f #Time period (in seconds)\n",
+ "t1 = duty_cycle * T #time interval1 (in seconds)\n",
+ "t2 = T - t1 #time interval2 (in seconds)\n",
+ "R2 = t2 / (0.7 * C ) #Resistance (in ohm) \n",
+ "R1 = t1 / (0.7 * C) - R2 #Resistance (in ohm) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Time period is \",T * 10**3,\"ms.\\nt1 is \",t1 * 10**3,\" ms.\\nt2 is \",t2 * 10**3,\" ms.\\nR2 is \",round(R2 * 10**-3,2),\" kilo-ohm.\\nR1 is \",round(R1 * 10**-3,1),\" kilo-ohm.\""
+ ]
+ }
+ ],
+ "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.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter33_5.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter33_5.ipynb
new file mode 100644
index 00000000..16fb1982
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter33_5.ipynb
@@ -0,0 +1,863 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 33 , Wave Shaping"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.2 , Page Number 853"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Output peak voltage is 0.3 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ " \n",
+ "Vpk = 1.0 #Peak-to-peak voltage (in volts)\n",
+ "Tby2 = 0.1 #Half-period (in seconds)\n",
+ "tau = 0.25 #Time constant (in seconds) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vc = 0.5 * math.exp(-Tby2/tau) #Output voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Output peak voltage is \",round(Vc,1),\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.3 , Page Number 854"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The peak value of input voltage is 10.0 kV.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "RC = 250.0 * 10**-12 #Time constance (in seconds)\n",
+ "Vomax = 50.0 #Maximum output voltage (in volts) \n",
+ "tau = 0.05 * 10**-6 #time (in seconds)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "alpha = Vomax / RC #alpha (in volt per second)\n",
+ "Vp = alpha * tau #Peak voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The peak value of input voltage is \",Vp * 10**-3,\" kV.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.5 , Page Number 861"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Following graph shows the output.\n",
+ "The part above the line is clipped out.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Annotation at 0x82616f0>"
+ ]
+ },
+ "execution_count": 11,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7e69970>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,ylim,xlabel,ylabel,title,annotate\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vi = 2.0 #positive clipping (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vomax = 5.0 #Maximum output voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Following graph shows the output.\\nThe part above the line is clipped out.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "t = numpy.linspace(0.001,2,400)\n",
+ "y = numpy.sin(2*math.pi*t)\n",
+ "plot(t, 5*y)\n",
+ "plot(t,(2*t)/t,'--')\n",
+ "ylim( (-6,6) )\n",
+ "ylabel('Vo')\n",
+ "xlabel('t')\n",
+ "title('Output Waveform')\n",
+ "annotate(\"Clipping level\",xy=(0.575,2))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.6 , Page Number 861"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x61a9b30>"
+ ]
+ },
+ "execution_count": 1,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x6196530>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import xlim,ylim,plot,title,xlabel,ylabel\n",
+ "\n",
+ "#Variables \n",
+ "\n",
+ "Vp = 10.0 #Peak to peak voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vi = 4.0 #Input voltage (in volts)\n",
+ "Vo = 1.0 #Maximum output voltage (in volts)\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,11,400)\n",
+ "y = numpy.sin(x)\n",
+ "xlim((0,14))\n",
+ "ylim((0,3))\n",
+ "plot(x,5*y - 4)\n",
+ "plot(x,x-x+1,\"--\")\n",
+ "title(\"Output waveform\")\n",
+ "xlabel(\"t\")\n",
+ "ylabel(\"Vo\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.7 , Page Number 862"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Following is the graph :\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Annotation at 0x7ed13b0>"
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7e73810>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,ylim,ylabel,xlabel,title,annotate\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vp = 10.0 #Peak-to-peak voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Following is the graph :\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "t = numpy.arange(0.001, 2.0, 0.005)\n",
+ "y = numpy.sin(2*math.pi*t)\n",
+ "plot(t, 5*y)\n",
+ "plot(t,(-3*t)/t,'--')\n",
+ "ylim( (-6,6) )\n",
+ "ylabel('Vo')\n",
+ "xlabel('t')\n",
+ "title('Output Waveform')\n",
+ "annotate(\"Clipping level\",xy=(0.575,-2.9))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.8 , Page Number 866"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Following is the output :\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x7cc8310>"
+ ]
+ },
+ "execution_count": 8,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\nSUVORK5CYII=\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x7caa690>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,ylim,ylabel,xlabel,title\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vp = 5.0 #Peak voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vpos = 3.0 #Positive clipping voltage (in volts)\n",
+ "Vneg = -2.0 #Negative clipping voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Following is the output :\"\n",
+ "#Graph\n",
+ "\n",
+ "t = numpy.arange(0.001, 2.0, 0.005)\n",
+ "y = numpy.sin(2*math.pi*t)\n",
+ "plot(t, 5*y)\n",
+ "plot(t,(3*t)/t,'--')\n",
+ "plot(t,(-2*t)/t,'--')\n",
+ "ylim( (-6,6) )\n",
+ "ylabel('Vo')\n",
+ "xlabel('t')\n",
+ "title('Output Waveform')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.9 , Page Number 866"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Output waveform is as follows :\n",
+ "The parts below and above the clipping levels are clipped off.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x7d25710>"
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\nyJEW5s0AAAAASUVORK5CYII=\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x798b430>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,ylim,xlabel,ylabel,title\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vp = 10.0 #Peak-to-peak voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vpos = 3.0 #Positive clipping voltage (in volts)\n",
+ "Vneg = -2.0 #Negative clipping voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Output waveform is as follows :\\nThe parts below and above the clipping levels are clipped off.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "t = numpy.arange(0.001, 2.0, 0.005)\n",
+ "y = numpy.sin(2*math.pi*t)\n",
+ "plot(t, 10*y)\n",
+ "plot(t,(-2*t)/t,'--')\n",
+ "plot(t,(3*t)/t,'--')\n",
+ "ylim( (-11,11) )\n",
+ "ylabel('Vo')\n",
+ "xlabel('t')\n",
+ "title('Output Waveform')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.10 , Page Number 866"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of R1 is 5.3 kilo-ohm.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x76bb7f0>"
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\nrkJggg==\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x6827490>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,ylim,xlabel,ylabel,title\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vp = 8.0 #Peak voltage (in volts) \n",
+ "Vo = 2.7 #Maximum acceptance voltage (in volts)\n",
+ "Io = 1.0 * 10**-3 #maximum output current (in Ampere)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "VR1 = Vp - Vo #Maximum voltage drop across R1 (in volts) \n",
+ "R1min = VR1 / Io #Resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of R1 is \",R1min * 10**-3,\" kilo-ohm.\"\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "k = numpy.arange(0.0001, 5.0, 0.0005)\n",
+ "k1= numpy.arange(5.0, 10.0, 0.0005)\n",
+ "k2= numpy.arange(10.0, 15.0, 0.0005)\n",
+ "k3= numpy.arange(15.0, 20.0, 0.0005)\n",
+ "\n",
+ "m=numpy.arange(-2.7,2.7, 0.0005)\n",
+ "x1=(0.001*m)/m\n",
+ "x5=(5*m)/m\n",
+ "x10=(10*m)/m\n",
+ "x15=(15*m)/m\n",
+ "\n",
+ "plot(k,-2.7*k/k,'b')\n",
+ "plot(k1,2.7*k1/k1,'b')\n",
+ "plot(k2,-2.7*k2/k2,'b')\n",
+ "plot(k3,2.7*k3/k3,'b')\n",
+ "plot(x1,m,'b')\n",
+ "plot(x5,m,'b')\n",
+ "plot(x10,m,'b')\n",
+ "plot(x15,m,'b')\n",
+ "ylim( (-5,5) )\n",
+ "ylabel('Vo')\n",
+ "xlabel('t')\n",
+ "title('Output')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.11 , Page Number 868"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x769e750>"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\nsM46bRu247gNs7eUrd2yljK1YbqMM4xKu2WZEz0sXA3TbZi9YfJk+PrXy53owW2YwynNzL7XV7fM\nym2YvaGs7Za13H13soxCr7dhemY/hF5f3TIrt2H2hrK2W9ay0UZuw6ylNDP7MqxumZXbMLtb2dst\naynDapie2dfQazcTbxW3YXa3K64od7tlLV4Nc3ClSPZlWt0yq8MO803Ju1XZ2y1r8WqYg+v5Mk6v\n3ky8VSptmCecANtvX3Q0Vq9p05LlPsrebllLr7dhuowziF69mXirVNowPQvqLqeeWq7VLbOq3JT8\nnHOKjqRz9PTMvqyrW2blNszu4nbL+vTyapie2Q9Q1tUts3IbZndxu2V9vBrmO/X0zN7tlvV75hkY\nP95tmJ3O7ZbZ9Gobpmf2VcpyM/FWWX11t2F2g7KvbpmV2zAX6tlk73bL7NyG2fnKcjPxVqm0YXod\nqB4t45TtZuKt4tUwO5vbLRvTi22YLuOkynYz8Vbxapidze2Wjam0YZZ9Ncyem9lHwCabwHe/69Ut\nG+E2zM7kdsvm9Fobpmf2eHXLZrkNszOddRbssosTfaPchtmDM3u3WzbPq2F2FrdbtkYv3ZS842b2\nkraX9IikP0s6Os+xAJ5/3qtbtoJXw+wsbrdsjcpNycvahplbspc0AvgJsD2wLrCPpFxvCHjGGe1t\nt+zv72/PQDkZKv5uaMPs5eNfrVPbLbvt+Fe3YXZb7K2Q58x+E+DxiJgREf8Efgnsktdg8+bBz36W\nJKl26fZ/MEPF/4lPJPX7665rXzxZ9fLxr5g2LTmpuNtu+ceTVTce/69+NVkc8Zpr+osOpe3yTPar\nAjOrnj+bbsuFV7dsLa+G2RkmT3a7ZStVbkp+771FR9J+eSb7tp759Y0cWm+ffZKWtT//uehIymnO\nHJgyBb7ylaIj6S0TJyb/rt96q+hI2iu3bhxJmwKTImL79PkxwIKIOLHqPcW1ApmZdbGs3Th5JvuR\nwKPANsDzwJ+AfSLi4VwGNDOzmkbmteOImC/pUOB/gRHA2U70ZmbFKPSiKjMza4/Clkto9wVXrSZp\nhqT7JU2V9Kei4xmOpHMkzZY0vWrbcpKul/SYpOskdeyC0DXinyTp2fTvYKqkjrxluqSxkm6S9KCk\nByRNTLd3xfEfIv5uOf5jJN0p6T5JD0k6Pt3eLce/VvyZjn8hM/v0gqtHgW2B54C76LJ6vqSngA0j\n4m9Fx1IPSZ8AXgXOj4j1020/AOZExA/SL9xlI+Lfi4yzlhrxHwfMjYgfFhrcMCStBKwUEfdJWgK4\nB9gV+BJdcPyHiH9PuuD4A0haLCJeT88l/gE4EtiZLjj+UDP+bchw/Iua2bf1gqscZTobXqSIuBV4\nacDmnYHKogjnkfwH7kg14ocu+DuIiL9ExH3p41eBh0muOemK4z9E/NAFxx8gIl5PH44mOYf4El1y\n/KFm/JDh+BeV7Nt6wVVOAvi9pLslfbnoYBq0YkTMTh/PBlYsMpgGHSZpmqSzO/XH8GqSxgETgDvp\nwuNfFf8f001dcfwlLSLpPpLjfFNEPEgXHf8a8UOG419Usu+Fs8KbR8QE4DPAIWmZoWuly49229/L\nacCawHhgFvDfxYYztLQEMgX4RkTMrX6tG45/Gv+vSeJ/lS46/hGxICLGA6sBW0r65IDXO/r4DxJ/\nHxmPf1HJ/jlgbNXzsSSz+64REbPS318ALiMpTXWb2Wk9FkkrA38tOJ5MIuKvkQLOooP/DiSNIkn0\nF0TE5enmrjn+VfFfWIm/m45/RUS8DFwNbEgXHf+Kqvg3ynr8i0r2dwMfkDRO0mhgL+DKgmLJTNJi\nkpZMHy8OfBqYPvSnOtKVwBfTx18ELh/ivR0n/Q9asRsd+ncgScDZwEMR8eOql7ri+NeKv4uO//KV\nEoekRYFPAVPpnuM/aPyVL6rUsMe/sD57SZ8BfszCC66OLySQBkhak2Q2D8mFab/o9PglXQxsBSxP\nUvf7LnAFcAmwOjAD2DMi/l5UjEMZJP7jgD6SH2EDeAr4alUNtmNI2gK4BbifhaWCY0iuKu/4418j\n/mOBfeiO478+yQnYRdJfF0TESZKWozuOf634zyfD8fdFVWZmJdBz96A1M7N3c7I3MysBJ3szsxJw\nsjczKwEnezOzEnCyNzMrASd76zqSlpb0tarnq0i6NKexdpQ0KX28q6R1ql77Ybcvk2Hl4WRv3WhZ\n4OuVJxHxfETskdNYR5CsQQLJqojrVr12GnBUPTuRtGyL4zLLxMneutEJwFrpDRtOlLSG0puaSDpA\n0uXpzSieknSopCMl3SvpjkrSlbSWpGvSVUtvkfTBgYNIGguMjojZkjYDdgJOSsddMyL+DIyrc7XH\nuyRdKOmT6fIDZm3lZG/d6GjgiYiYEBFH8+41vT9MslbIxsB/Aq9ExAbAHcD+6Xt+BhwWERuRzM7/\nZ5BxNgfuBYiI20nWUjkyHfep9D1TgY/XEfPawMXAocCDko4ZsLaMWa5yu+G4WY6GmxnfFBGvAa9J\n+jtwVbp9OvCRdPG6zYBLqybZowfZz+okS8cONfbzwLjhAo6IBSSrFV4taXmSn06ekfTxiLh7uM+b\nNcvJ3nrRvKrHC6qeLyD5N78I8FJ6P4LhDEzuAxeT0sBtafmnsorraRHxs3T70sDeJCssziO5LWFH\nrhRpvcfJ3rrRXGDJBj4ngIiYm9bzPxcRv05r6OtHxP0D3v80sMWAcZca8J6Vgf7qDRExk+RuTgsH\nli4ENiVZZXG/iHiigfjNGuaavXWdiHgRuE3SdEknksysK7PrgXccGvi48nxf4KD0Vm8PkNyPdKDb\ngA2qnv8SOCo92btmum0CybmA4fwKWDsijnWityJ4iWOzIUi6Edi3cmeyAa+tDZwcEYN9UZh1FM/s\nzYZ2MnBwjdcOBn7QxljMGuaZvZlZCXhmb2ZWAk72ZmYl4GRvZlYCTvZmZiXgZG9mVgJO9mZmJfD/\nAaTWw6sIdNJsAAAAAElFTkSuQmCC\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x63429b0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,ylim,title,xlabel,ylabel\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vp = 10.0 #Peak voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vi = 3.0 #Input voltage (in volts) \n",
+ "Vo = Vi - 2.0 #Output voltage (in volts) \n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "t = numpy.linspace(0,2,100)\n",
+ "t1 = numpy.linspace(2,4,100)\n",
+ "t2 = numpy.linspace(4,9,100)\n",
+ "t3 = numpy.linspace(9,11,100)\n",
+ "t4 = numpy.linspace(11,21,100)\n",
+ "t5 = numpy.linspace(21,23,100)\n",
+ "t6 = numpy.linspace(23,28,100)\n",
+ "t7 = numpy.linspace(28,30,100)\n",
+ "t8 = numpy.linspace(30,32,100)\n",
+ "\n",
+ "ylim((0,5))\n",
+ "plot(t1,0.5*t1 -1,'b')\n",
+ "plot(t2,(1*t2)/t2,'b')\n",
+ "plot(t3,1 -0.5*(t3-9))\n",
+ "plot(t5,0.5*(t5-21),'b')\n",
+ "plot(t6,(1*t6)/t6,'b')\n",
+ "plot(t7,1-0.5*(t7-28),'b')\n",
+ "plot(t8,(0*t8/t8),'b')\n",
+ "title(\"Output waveform\")\n",
+ "xlabel(\"time (t) ->\")\n",
+ "ylabel(\"Output voltage (Vo) ->\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.12 , Page Number 869"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x63b38b0>"
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\npvtxRpEAAAAASUVORK5CYII=\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x61964f0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import ylim,xlim,plot,title,xlabel,ylabel\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "VSmax = 20.0 #peak voltage (in volts)\n",
+ "VD2 = 0.7 #Voltage drop across diode D2 (in volts) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vomin = 5.0 - VD2 #Minimum output voltage (in volts) \n",
+ "Vomax = 10.7 #Maximum output voltage (in volts) \n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "t = numpy.linspace(0,4,100)\n",
+ "t1 = numpy.linspace(4,10,100)\n",
+ "t2 = numpy.linspace(10,20,100)\n",
+ "t3 = numpy.linspace(20,24,100)\n",
+ "t4 = numpy.linspace(24,30,100)\n",
+ "t5 = numpy.linspace(30,40,100)\n",
+ "\n",
+ "ylim((0,15))\n",
+ "xlim((0,40))\n",
+ "plot(t,4.3+t-t,'b')\n",
+ "plot(t1,4.3 + 6.4/6*(t1 - 4))\n",
+ "plot(t2,(10.7)+t2-t2,'b')\n",
+ "plot(t3,(4.3+t3)-t3,'b')\n",
+ "plot(t4,4.3 + 6.4/6*(t4 - 24),'b')\n",
+ "plot(t5,(10.7)+t5-t5,'b')\n",
+ "\n",
+ "title(\"Output waveform\")\n",
+ "xlabel(\"t (in ms) ->\")\n",
+ "ylabel(\"Vo (in volt) ->\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.13 , Page Number 872"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x6594970>"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x625a790>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,xlabel,ylabel,title\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vp = 48.0 #Peak-to-peak voltage (in volts)\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,2 * math.pi,100)\n",
+ "y = numpy.sin(x)\n",
+ "plot(x,24 + 24*y)\n",
+ "plot(x,(24)+x-x,'--')\n",
+ "xlabel(\"Time(t)\")\n",
+ "ylabel(\"Output voltage (Vo)\")\n",
+ "title(\"Output waveform\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 33.14 , Page Number 872"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x64a0b30>"
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\nRU5ErkJggg==\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x6264e10>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import math\n",
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,ylim,xlabel,ylabel,title,subplot\n",
+ "\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Vi = 10.0 #Input a.c. voltage (in volts)\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "#Positive Clipping\n",
+ "subplot(211)\n",
+ "k1= numpy.arange(0.0001, 0.500, 0.0005)\n",
+ "k2= numpy.arange(0.500, 1.000, 0.0005)\n",
+ "k3= numpy.arange(1.000,1.500, 0.0005)\n",
+ "k4= numpy.arange(1.500,2.000, 0.0005)\n",
+ "m = numpy.arange(-10,10,0.0005)\n",
+ "\n",
+ "x5=(0.0500*m)/m\n",
+ "x10=(0.500*m)/m\n",
+ "x15=(1.000*m)/m\n",
+ "x25=(1.500*m)/m\n",
+ "\n",
+ "plot(k1,10*k1/k1,'b')\n",
+ "plot(k2,-10*k2/k2,'b')\n",
+ "plot(k3,10*k3/k3,'b')\n",
+ "plot(k4,-10*k4/k4,'b')\n",
+ "plot(x10,m,'b')\n",
+ "plot(x15,m,'b')\n",
+ "plot(x25,m,'b')\n",
+ "\n",
+ "ylim( (-12,12) )\n",
+ "ylabel('Vo')\n",
+ "xlabel('Positive Clipping')\n",
+ "title('Output Waveform 1')\n",
+ "\n",
+ "#Negative Clipping\n",
+ "subplot(212)\n",
+ "k1= numpy.arange(0.0001, 0.500, 0.0005)\n",
+ "k2= numpy.arange(0.500, 1.000, 0.0005)\n",
+ "k3= numpy.arange(1.000,1.500, 0.0005)\n",
+ "k4= numpy.arange(1.500,2.000, 0.0005)\n",
+ "m = numpy.arange(-20,0,0.0005)\n",
+ "\n",
+ "x5=(0.500*m)/m\n",
+ "x10=(0.500*m)/m\n",
+ "x15=(1.000*m)/m\n",
+ "x25=(1.500*m)/m\n",
+ "\n",
+ "plot(k1,0*k1/k1,'b')\n",
+ "plot(k2,-20*k2/k2,'b')\n",
+ "plot(k3,0*k3/k3,'b')\n",
+ "plot(k4,-20*k4/k4,'b')\n",
+ "plot(x10,m,'b')\n",
+ "plot(x15,m,'b')\n",
+ "plot(x25,m,'b')\n",
+ "\n",
+ "ylim( (-22,0) )\n",
+ "ylabel('Vo')\n",
+ "xlabel('t')\n",
+ "title('Output Waveform 2')"
+ ]
+ }
+ ],
+ "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.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter34_5.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter34_5.ipynb
new file mode 100644
index 00000000..cb56befb
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter34_5.ipynb
@@ -0,0 +1,119 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:3fc338a030e4c2c109e9bc75c84604c2cf87b091971f96fe505c5b211472f4a5"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 34 , Time Base Circuits"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 34.1, Page Number 883"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R = 100.0 * 10**3 #Resistance (in ohm)\n",
+ "C = 0.4 * 10**-6 #Capacitance (in Farad)\n",
+ "n = 0.57 #Ratio of peak-peak voltage to the supply voltage \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "f = 1 / (2.3 * R * C * math.log10(1/(1-n))) #Frequency (in Hertz) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Frequency of sweep is \",round(f,2),\" Hz.\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frequency of sweep is 29.66 Hz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 34.2 , Page Number 883"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "n = 0.62 #Ratio of peak-peak voltage to the supply voltage \n",
+ "R = 5.0 * 10**3 #Resistance (in ohm)\n",
+ "C = 0.05 * 10**-6 #Capacitor (in Farad)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "T = 2.3 * R * C * math.log10(1/(1-n)) #Time period of oscillation (in seconds)\n",
+ "f = 1/T #Frequency of oscillation (in Hertz) \n",
+ "f1 = 50.0 #New frequency (in Hertz)\n",
+ "T1 = 1/f1 #New time period of oscillation (in seconds)\n",
+ "R1 = T1 / (2.3 * C * math.log10(1/(1-n))) #New Resistance (in ohm)\n",
+ "f2 = 50.0 #Another new frequency (in Hertz)\n",
+ "C2 = 0.5 * 10**-6 #Capacitance (in Farad) \n",
+ "T2 = 1/f2 #Another new time period (in seconds)\n",
+ "R2 = T2 / (2.3 * C2 * math.log10(1/(1-n))) #New Resistance (in ohm)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The time period and frequency of oscillation in case 1 is \",round(T * 10**3,2),\" ms and \",round(f),\" Hz.\"\n",
+ "print \"New value of R is \",round(R1 * 10**-3),\" kilo-ohm.\"\n",
+ "print \"Value of R with C is 0.5 micro-Farad is \",round(R2 * 10**-3,1),\" kilo-ohm.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The time period and frequency of oscillation in case 1 is 0.24 ms and 4139.0 Hz.\n",
+ "New value of R is 414.0 kilo-ohm.\n",
+ "Value of R with C is 0.5 micro-Farad is 41.4 kilo-ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter35_5.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter35_5.ipynb
new file mode 100644
index 00000000..3c5c201e
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter35_5.ipynb
@@ -0,0 +1,653 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 35 , Operational Amplifiers (OP - Amps)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.1 , Page Number 895"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The common-mode rejection ratio is 90.0 dB.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Adm = 200000.0 #Differential gain\n",
+ "Acm = 6.33 #Common mode gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "CMRR = 20 * math.log10(Adm / Acm) #Common-mode rejection ratio (in Decibels) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The common-mode rejection ratio is \",round(CMRR),\" dB.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.2 , Page Number 896"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The common-mode gain is 0.949 .\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "CMRR = 90.0 #Common-mode rejection ratio (in Decibels)\n",
+ "Adm = 30000.0 #Differential gain\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Acm = 10**(-CMRR/20.0) * Adm #Common-mode gain \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The common-mode gain is \",round(Acm,3),\".\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.3 , Page Number 896"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum operating frequency for the amplifier is 796.0 kHz.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Slew_rate = 0.5 * 10**6 #Slew rate (in volt per second)\n",
+ "Vpk = 100.0 * 10**-3 #Peak-to-peak voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "fmax = Slew_rate / (2 * math.pi * Vpk) #Maximum operating frequency (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The maximum operating frequency for the amplifier is \",round(fmax * 10**-3),\" kHz.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.4 , Page Number 896"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum operating frequency for TLO 741 is 7.958 kHz.\n",
+ "The maximum opearing frequency for TLO 81 is 206.9 kHz.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "Slew_rate1 = 0.5 * 10**6 #Slew rate (in volt per second)\n",
+ "Slew_rate2 = 13.0 * 10**6 #Slew rate (in volt per second)\n",
+ "Vpk = 10.0 #Peak-to-peak voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "fmax = Slew_rate1 / (2 * math.pi * Vpk) #Maximum operating frequency1 (in Hertz)\n",
+ "fmax1 = Slew_rate2 / (2 * math.pi * Vpk) #Maximum operating frequency2 (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The maximum operating frequency for TLO 741 is \",round(fmax * 10**-3,3),\" kHz.\\nThe maximum opearing frequency for TLO 81 is \",round(fmax1 * 10**-3,1),\" kHz.\"\n",
+ "\n",
+ "#Slight variation due to higher precision."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.5 , Page Number 899"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Maximum allowable input voltage (Vin) is 40.0 mV.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "ACL = 200.0 #Closed loop voltage gain\n",
+ "Vout = 8.0 #Output voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vin = - Vout / ACL #Input a.c. voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Maximum allowable input voltage (Vin) is \",abs(Vin * 10**3),\" mV.\" "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.6 , Page Number 900"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum possible output value could be between 10.0 V and -10.0 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "ACL = 150.0 #Closed loop voltage gain\n",
+ "Vin = 200.0 * 10**-3 #Input a.c. voltage (in volts) \n",
+ "V = 12.0 #Voltage (in volts) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vout = ACL * Vin #Output voltage (in volts)\n",
+ "Vpkplus = V -2.0 #maximum positive peak voltage (in volts)\n",
+ "Vpkneg = -V + 2.0 #maximum negative peagk voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The maximum possible output value could be between \",Vpkplus,\" V and \",Vpkneg,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.7 , Page Number 900"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of output voltage increases from 1.0 V to 4.0 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 1.0 * 10**3 #Resistance (in volts)\n",
+ "R2 = 10.0 * 10**3 #Resistance (in volts)\n",
+ "vinmin = 0.1 #Input voltage minimum (in volts)\n",
+ "vinmax = 0.4 #Input voltage maximum (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ACL = R2 / R1 #Closed loop voltage gain\n",
+ "Voutmin = ACL * vinmin #Minimum output voltage (in volts)\n",
+ "Voutmax = ACL * vinmax #Maximum output voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The value of output voltage increases from \",Voutmin,\" V to \",Voutmax,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.8 , Page Number 901"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Output voltage of the inverting amplifier is 2.0 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 1.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 2.0 * 10**3 #Resistance (in ohm)\n",
+ "V1 = 1.0 #Voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ACL = R2 / R1 #Closed loop voltage gain \n",
+ "vo = ACL * V1 #Output voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Output voltage of the inverting amplifier is \",vo,\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.9 , Page Number 901"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Closed-loop gain is 10.0 .\n",
+ "Input impedance is 10.0 kilo-ohm.\n",
+ "Output impedance is 80.0 ohm.\n",
+ "Common-mode rejection ratio is 10000.0 .\n",
+ "Maximum operating frequency is 15.9 kHz.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R2 = 100.0 * 10**3 #Resistance (in ohm)\n",
+ "R1 = 10.0 * 10**3 #Resistance (in ohm) \n",
+ "ACM = 0.001 #Common-mode gain \n",
+ "Slew_rate = 0.5 * 10**6 #Slew rate (in volt per second) \n",
+ "Vpk = 5.0 #Peak voltage (in volts)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ACL = R2 / R1 #Closed loop voltage gain\n",
+ "Zin = R1 #Input impedance of the circuit (in ohm)\n",
+ "Zout = 80.0 #Output impedance of the circuit (in ohm)\n",
+ "CMRR = ACL / ACM #Common mode rejection ratio \n",
+ "fmax = Slew_rate / (2*math.pi*Vpk) #Maximum frequency (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Closed-loop gain is \",ACL,\".\\nInput impedance is \",Zin * 10**-3,\" kilo-ohm.\\nOutput impedance is \",Zout,\" ohm.\\nCommon-mode rejection ratio is \",CMRR,\".\\nMaximum operating frequency is \",round(fmax * 10**-3,1),\" kHz.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.10 , Page Number 904"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Closed loop gain is 11.0 .\n",
+ "CMRR is 11000.0 .\n",
+ "Maximum operating frequency is 14.47 kHz.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R2 = 100.0 * 10**3 #Resistance (in ohm)\n",
+ "R1 = 10.0 * 10**3 #Resistance (in ohm) \n",
+ "Slew_rate = 0.5 * 10**6 #Slew rate (in volt per second) \n",
+ "Vpk = 5.5 #Peak voltage (in volts)\n",
+ "RL = 10.0 * 10**3 #Load resistance (in ohm) \n",
+ "ACM = 0.001 #Common mode gain \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "ACL = (1 + R2/R1) #Closed loop voltage gain \n",
+ "CMRR = ACL / ACM #Common-mode rejection ratio \n",
+ "vin = 1.0 #Voltage (in volts)\n",
+ "Vout = ACL * vin #Output voltage (in volts)\n",
+ "Vpk = 5.5 #Peak-to-peak voltage (in volts) \n",
+ "fmax = Slew_rate/(2*math.pi*Vpk) #Maximum frequency (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Closed loop gain is \",ACL,\".\\nCMRR is \",CMRR,\".\\nMaximum operating frequency is \",round(fmax * 10**-3,2),\" kHz.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.11 , Page Number 905"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "ACL is 1.0 .\n",
+ "CMRR is 1000.0 .\n",
+ "fmax is 26.5 kHz.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "ACL = 1.0 #Closed loop gain\n",
+ "Acm = 0.001 #Common mode gain \n",
+ "Slew_rate = 0.5 * 10**6 #Slew rate (in Volt per second)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "CMRR = ACL / Acm #Common-mode rejection ratio \n",
+ "vin = 1.0 #Voltage (in volts)\n",
+ "Vout = ACL * vin #Output voltage (in volts)\n",
+ "Vpk = 3.0 #Peak-to-peak voltage (in volts) \n",
+ "fmax = Slew_rate/(2*math.pi*Vpk) #Maximum frequency (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"ACL is \",ACL,\".\\nCMRR is \",CMRR,\".\\nfmax is \",round(fmax * 10**-3,1),\" kHz.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.12 , Page Number 906"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Output voltage is 3.52 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V1 = 0.1 #Voltage (in volts)\n",
+ "V2 = 1.0 #Voltage (in volts)\n",
+ "V3 = 0.5 #Voltage (in volts) \n",
+ "R1 = 10.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 10.0 * 10**3 #Resistance (in ohm)\n",
+ "R3 = 10.0 * 10**3 #Resistance (in ohm)\n",
+ "R4 = 22.0 * 10**3 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vout = (-R4/R1*V1) + (-R4/R2*V2) + (-R4/R3*V3) #Output voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Output voltage is \",abs(Vout),\" V.\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.13 , Page Number 907"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.text.Text at 0x64f0810>"
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x6306df0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import numpy\n",
+ "%matplotlib inline\n",
+ "from matplotlib.pyplot import plot,ylabel,xlabel,title\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "#V1 = 2 * sin(wt) #Voltage (in volts)\n",
+ "V2 = 5.0 #Voltage (in volts)\n",
+ "V3 = -100.0 * 10**-3 #Voltage (in volts) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "#Vo = 4 * V1 + V2 + 0.1 * V3 #Output voltage\n",
+ "\n",
+ "#Graph\n",
+ "\n",
+ "x = numpy.linspace(0,10,200)\n",
+ "y = numpy.sin(x)\n",
+ "plot(x,-15 + 8*y)\n",
+ "plot(x,x-x-15,'')\n",
+ "title(\"output waveform\")\n",
+ "ylabel(\"output voltage (Vo)\")\n",
+ "xlabel(\"t\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 35.14 , Page Number 908"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Output voltage is 4.0 V.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "V1 = -2.0 #Voltage (in volts)\n",
+ "V2 = 2.0 #Voltage (in volts)\n",
+ "V3 = -1.0 #Voltage (in volts) \n",
+ "R1 = 200.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 250.0 * 10**3 #Resistance (in ohm)\n",
+ "R3 = 500.0 * 10**3 #Resistance (in ohm)\n",
+ "Rf = 1.0 * 10**6 #Resistance (in ohm)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "Vout = (-Rf/R1*V1) + (-Rf/R2*V2) + (-Rf/R3*V3) #Output voltage (in volts)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Output voltage is \",Vout,\" V.\""
+ ]
+ }
+ ],
+ "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.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter36_5.ipynb b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter36_5.ipynb
new file mode 100644
index 00000000..82205bce
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/chapter36_5.ipynb
@@ -0,0 +1,195 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:18142c4d926311a435ed592a7ec40be6e57bd0d23bda115aad3c84afb60326d1"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 36 , Basic Op-Amp Applications"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 36.1 , Page Number 920"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 1.0 * 10**3 #Resistance (in ohm)\n",
+ "R2 = 100.0 * 10**3 #Resistance (in ohm)\n",
+ "f1 = 159.0 #Frequency (in Hertz)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "C = 1.0/(2*math.pi*R2*f1) #Capacitance (in Farad) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Capacitance required in the circuit is \",round(C * 10**6,2),\" micro-Farad.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Capacitance required in the circuit is 0.01 micro-Farad.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 36.2 , Page Number 921"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 1.0 * 10**3 #Resistance (in ohm)\n",
+ "Rf = 51.0 * 10**3 #Resistance (in ohm)\n",
+ "Cf = 0.01 * 10**-6 #Capacitance (in Farad)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "f = 1.0/(2*math.pi*Rf*Cf) #Frequency (in Hertz)\n",
+ "fmin = 10* f #Minimum frequency required (in Hertz) \n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The cut-off frequency of an integrator circuit is \",round(f),\" Hz.\"\n",
+ "print \"Minimum non-linear operating frequency is \",round(fmin),\" Hz.\"\n",
+ "\n",
+ "#Printing mistake about the value of Cf. It should be 0.01 micro-Farad."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The cut-off frequency of an integrator circuit is 312.0 Hz.\n",
+ "Minimum non-linear operating frequency is 3121.0 Hz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 36.3 , Page Number 922"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = 10.0 * 10**3 #Resistance (in ohm)\n",
+ "C1 = 0.01 * 10**-6 #Capacitor (in Farad)\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "f2 = 1.0/(2*math.pi*R1*C1) #Frequency (in Hertz)\n",
+ "fmax = f2 / 10.0 #Maximum linear operating freqeuncy (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"Cut-off frequency is \",round(f2,1),\" Hz.\"\n",
+ "print \"Maximum linear operating frequency is \",round(fmax),\" Hz.\"\n",
+ "\n",
+ "#Printing mistake in book about the value of f2."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Cut-off frequency is 1591.5 Hz.\n",
+ "Maximum linear operating frequency is 159.0 Hz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 36.4 , Page Number 924"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#Variables\n",
+ "\n",
+ "R1 = R2 = 51.0 * 10**3 #Resistance (in ohm)\n",
+ "C1 = C2 = C = 0.001 * 10**-6 #Capacitance (in Farad) \n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "fo = 1.0/(2*math.pi*R1*C1) #Resonant frequency (in Hertz)\n",
+ "\n",
+ "#Result\n",
+ "\n",
+ "print \"The frequency of oscillations is \",round(fo,1),\" Hz.\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The frequency of oscillations is 3120.7 Hz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/Clipper_waveform_4.png b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/Clipper_waveform_4.png
new file mode 100644
index 00000000..e07115cd
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/Clipper_waveform_4.png
Binary files differ
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/Gate_to_Source_Voltage_vs_Drain_Current_4.png b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/Gate_to_Source_Voltage_vs_Drain_Current_4.png
new file mode 100644
index 00000000..22df6b70
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/Gate_to_Source_Voltage_vs_Drain_Current_4.png
Binary files differ
diff --git a/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/transconductance_curve_4.png b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/transconductance_curve_4.png
new file mode 100644
index 00000000..5acc571a
--- /dev/null
+++ b/A_Textbook_of_Applied_Electronics_by_R_S_Sedha/screenshots/transconductance_curve_4.png
Binary files differ
diff --git a/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/README.txt b/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/README.txt
new file mode 100644
index 00000000..b8b58bb8
--- /dev/null
+++ b/A_textbook_of_Internal_Combustion_Engines_by_R._K._Rajput/README.txt
@@ -0,0 +1,10 @@
+Contributed By: Mohd Rizwan
+Course: mtech
+College/Institute/Organization: Techwords Institute Roorkee
+Department/Designation: Electronics
+Book Title: A textbook of Internal Combustion Engines
+Author: R. K. Rajput
+Publisher: Laxmi Publications, New delhi
+Year of publication: 2007
+Isbn: 817008637X
+Edition: 2 \ No newline at end of file
diff --git a/College_Physics_(volume_2)_by_R._A._Serway_and_J._S._Faughn/README.txt b/College_Physics_(volume_2)_by_R._A._Serway_and_J._S._Faughn/README.txt
new file mode 100644
index 00000000..14211ac9
--- /dev/null
+++ b/College_Physics_(volume_2)_by_R._A._Serway_and_J._S._Faughn/README.txt
@@ -0,0 +1,10 @@
+Contributed By: Ankit Kumar
+Course: btech
+College/Institute/Organization: KIET
+Department/Designation: EN
+Book Title: College Physics (volume 2)
+Author: R. A. Serway and J. S. Faughn
+Publisher: Thomson Learning, USA
+Year of publication: 2003
+Isbn: 0-03-035129-4
+Edition: 6 \ No newline at end of file
diff --git a/Linear_Integrated_Circuit_by_M._S._Sivakumar/README.txt b/Linear_Integrated_Circuit_by_M._S._Sivakumar/README.txt
new file mode 100644
index 00000000..95fff8bf
--- /dev/null
+++ b/Linear_Integrated_Circuit_by_M._S._Sivakumar/README.txt
@@ -0,0 +1,10 @@
+Contributed By: karan singh
+Course: btech
+College/Institute/Organization: Uttarakhand Technical University
+Department/Designation: EEE
+Book Title: Linear Integrated Circuit
+Author: M. S. Sivakumar
+Publisher: S. Chand, New Delhi
+Year of publication: 2013
+Isbn: 81-219-4113-X
+Edition: 1 \ No newline at end of file
diff --git a/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter1.ipynb b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter1.ipynb
new file mode 100644
index 00000000..49519941
--- /dev/null
+++ b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter1.ipynb
@@ -0,0 +1,646 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:0ac98582dd0b2497034e459e869a2a3bd28001d0d4c4b37a61a8ed5d05f228e3"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 1: INTRODUCTION"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "EXAMPLE 1.1: Page Number 8"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Declaration\n",
+ "Eg=24.0; #Generated voltage in V\n",
+ "Ri=0.01; #Internal Resistance in \u03a9\n",
+ "P=100; #Power supplied in watts\n",
+ "\n",
+ "#Calculations\n",
+ "# (i)\n",
+ "I=P/Eg; #Load current in A\n",
+ "V_Ri=I*Ri; #Voltage drop in internal resistance\n",
+ "\n",
+ "# (ii)\n",
+ "V=Eg-(I*Ri); #Terminal Voltage\n",
+ "\n",
+ "#Results\n",
+ "print (\"The voltage drop in internal resistance is %.4f V\"%V_Ri);\n",
+ "print (\"The terminal voltage is %.2f V\"%V);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The voltage drop in internal resistance is 0.0417 V\n",
+ "The terminal voltage is 23.96 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "EXAMPLE 1.2: Page number 10"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Eg=500.0; #Generated voltage in V\n",
+ "Ri=1000.0; #Internal Resistance in \u03a9\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "# (i)\n",
+ "RL=10; #Load resistance of case 1 in \u03a9 \n",
+ "I= Eg/(RL+Ri); #Load current in A\n",
+ "\n",
+ "print(\"The load current for RL=10\u03a9 is %.3f A\"%I);\n",
+ "\n",
+ "# (ii)\n",
+ "RL=50; #Load resistance of case 2 in \u03a9 \n",
+ "I= Eg/(RL+Ri); #Load current in A\n",
+ "\n",
+ "print(\"The load current for RL=50\u03a9 is %.3f A\"%I);\n",
+ "\n",
+ "# (iii)\n",
+ "RL=100; #Load resistance of case 3 in \u03a9 \n",
+ "I= Eg/(RL+Ri); #Load current in A\n",
+ "I=round(I,3);\n",
+ "\n",
+ "print(\"The load current for RL=100\u03a9 is %.3f A\"%I);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The load current for RL=10\u03a9 is 0.495 A\n",
+ "The load current for RL=50\u03a9 is 0.476 A\n",
+ "The load current for RL=100\u03a9 is 0.455 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.3: Page Number 11"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "E=10.0; #voltage of voltage source in V\n",
+ "Ri=10.0; #Internal Resistance of the voltage source in \u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "Isc=E/Ri; #short circuit current in A\n",
+ "I=Isc; #Current value of current source in A\n",
+ "R=Ri; #Internal Resistence of the current source in \u03a9\n",
+ "\n",
+ "#Results\n",
+ "print(\"The current value of the current source= %d A\"%Isc);\n",
+ "print(\"The internal resistance of the current source =%d \u03a9 \"%R);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The current value of the current source= 1 A\n",
+ "The internal resistance of the current source =10 \u03a9 \n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "EXAMPLE 1.4: Page number 11-12"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "I=6.0; # current value of current source in mA\n",
+ "Ri=2000.0; #Internal Resistance of the current source in \u03a9\n",
+ "\n",
+ "#Calcultion\n",
+ "V=(I/1000)*Ri; #Voltage of voltage source in V\n",
+ "R=Ri; #Internal resistance of voltage source in \u03a9\n",
+ "\n",
+ "#Results\n",
+ "print(\"The voltage of voltage source is %d V\"%V);\n",
+ "print(\"The internal resistance of the voltage source is %d \u03a9\"%R);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The voltage of voltage source is 12 V\n",
+ "The internal resistance of the voltage source is 2000 \u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.5: Page number 13\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#variable declaration\n",
+ "E=200.0; #Generated voltage in V\n",
+ "Ri=100.0; #Internal Resistance of generator in \u03a9\n",
+ "\n",
+ "#Calculations\n",
+ "#(i)\n",
+ "RL=100; #Load resistance for 1st case in \u03a9\n",
+ "I=E/(RL+Ri); #Load current in 1st case A\n",
+ "P=(I*I)*RL; #Power delivered to load of 2nd case in watts\n",
+ "Pt=(I*I)*(Ri+RL); #Total power generated in watts\n",
+ "\n",
+ "print(\"Power delivered for RL=100\u03a9 is %d watts\"%P);\n",
+ "print(\"Total power generated for RL=100\u03a9 is %d watts\"%Pt);\n",
+ "\n",
+ "\n",
+ "#(ii)\n",
+ "RL=300; #Load resistance for 2nd case in \u03a9\n",
+ "I=E/(RL+Ri); #Load current in 2nd case in A\n",
+ "P=(I*I)*RL; #Power delivered to load of 2nd case in watts\n",
+ "Pt=(I*I)*(Ri+RL); #Total power generated in watts\n",
+ "\n",
+ "print(\"Power delivered for RL=300\u03a9 is %d watts\"%P);\n",
+ "print(\"Total power generated for RL=300\u03a9 is %d watts\"%Pt);\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power delivered for RL=100\u03a9 is 100 watts\n",
+ "Total power generated for RL=100\u03a9 is 200 watts\n",
+ "Power delivered for RL=300\u03a9 is 75 watts\n",
+ "Total power generated for RL=300\u03a9 is 100 watts\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.6: Page number 14"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V=12.0; #Output from amplifier in V\n",
+ "R_out_eq=15; #Equivalent resistance in \u03a9\n",
+ "\n",
+ "#Calculations\n",
+ "RL=R_out_eq; #Load resistance in \u03a9\n",
+ "Rt=RL+R_out_eq; #Total resistance in \u03a9\n",
+ "I=V/Rt; #Circuit current in A\n",
+ "PL=pow(I,2)*RL; #Power delivered to load in W\n",
+ "\n",
+ "#Results\n",
+ "print(\"Load resistance required is = %d \u03a9\"%RL);\n",
+ "print(\"Power delivered to load = %.1f W\"%PL);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Load resistance required is = 15 \u03a9\n",
+ "Power delivered to load = 2.4 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.7, Page number 14"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V=50.0; #voltage from ac generator in V\n",
+ "R=100.0; #Resistance of internal impedance in \u03a9\n",
+ "XL=50.0; #inductive reactance of internal impedance in \u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "Zi=100+(50j); #Internal impedance in complex form (\u03a9)\n",
+ "ZL=conjugate(Zi); #Load impedance (conjugate of internal impedance ) in \u03a9\n",
+ "Zt=Zi+ZL; #Total impedance in \u03a9\n",
+ "I=real(V/Zt); #Circuit current in A\n",
+ "\n",
+ "Max_Power=pow(I,2)*R; #Maximum power transferred to the load in watts\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print (\"Load impedance %d %dj \u03a9\"%(real(ZL),imag(ZL)));\n",
+ "print(\"Maximum power transferred to the load =%.2f W\"%Max_Power);\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Load impedance 100 -50j \u03a9\n",
+ "Maximum power transferred to the load =6.25 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.8: Page number 16"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Function for calculating parallel resistance\n",
+ "def pR(R1,R2):\n",
+ " return((R1*R2)/(R1+R2));\n",
+ "\n",
+ "\n",
+ "#Variable declaration\n",
+ "E=100.0; #Source voltage in V\n",
+ "R1=10.0; #Resistance of resistor 1 in \u03a9\n",
+ "R2=20.0; #Resistance of resistor 2 in \u03a9\n",
+ "R3=12.0; #Resistance of resistor 3 in \u03a9\n",
+ "R4=8.0; #Resistance of resistor 4 in \u03a9\n",
+ "RL=100.0; #Resistance of load in \u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "Req=R1+pR(R3+R4,R2); #Equivalent resistance after removing RL ,in \u03a9\n",
+ "I=E/Req; #Total circuit current in A\n",
+ "I8=I*R2/(R2+R3+R4);\n",
+ "\n",
+ "#Thevenin's equivalent circuit's parameters\n",
+ "E0=I8*R4; #Thevenin voltage V\n",
+ "R0=pR(pR(R1,R2)+R3,R4); #Thevenin resistance \n",
+ "I_RL=E0/(R0+RL); #Load current in A \n",
+ "\n",
+ "#Result \n",
+ "print (\"Current through load = %.2f A.\"%I_RL);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current through load = 0.19 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.9: Page number 17"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Function for calculating parallel resistance\n",
+ "def pR(R1,R2):\n",
+ " return((R1*R2)/(R1+R2));\n",
+ "\n",
+ "\n",
+ "#Variable declaration\n",
+ "V=20.0; #Voltage source in V\n",
+ "R1=1000.0; #resistance of resistor 1 in \u03a9\n",
+ "R2=1000.0; #resistance of resistor 2 in \u03a9\n",
+ "R3=1000.0; #resistance of resistor 3 in \u03a9\n",
+ "\n",
+ "#calculation\n",
+ "#parameter for Thevenin's equivalent circuit\n",
+ "E0=(V*R3)/(R1+R3); #thevenin voltage in V\n",
+ "R0=pR(R1,R3)+R2; #Thevenins resistance in \u03a9\n",
+ "\n",
+ "#result\n",
+ "print(\"The thevenin voltage = %d V\"%E0);\n",
+ "print(\"The thevenin resistance = %d \u03a9\"%R0);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The thevenin voltage = 10 V\n",
+ "The thevenin resistance = 1500 \u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.10: Page number 18"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V=120.0; #Supply voltage in V\n",
+ "R1=40.0; #Resistor 1's resistance in \u03a9\n",
+ "R2=20.0; #Resistor 2's resistance in \u03a9\n",
+ "R3=60.0; #Resistor 3's resistance in \u03a9\n",
+ "\n",
+ "#Calculations\n",
+ "#Using Thevenin's theorem, Thevenin's voltage and resistance are calculated\n",
+ "E0=(V*R2)/(R1+R2); #Thevenin voltage (voltage across the load resistance RL, after removing RL)in V\n",
+ "R0=(R1*R2)/(R1+R2) + R3; #Thevenin's resistance (Resistance between the terminals of load RL, with RL removed and source voltage shorted)in \u03a9 \n",
+ "RL=R0; #Value of load resistance to be connected for maximum power transfer in \u03a9\n",
+ "Pmax=pow(E0,2)/(4*RL); #Maximum power transferred to load in watts\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of load resistance RL to which maximum power will be transferred = %.2f \u03a9.\"%RL);\n",
+ "print(\"The maximum power transferred to load =%.2f W.\"%Pmax);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of load resistance RL to which maximum power will be transferred = 73.33 \u03a9.\n",
+ "The maximum power transferred to load =5.45 W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.11: Page number 18-19-20"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V=80.0; #Supply voltage in V\n",
+ "R1=100.0; #Resistor 1's resistance in \u03a9\n",
+ "R2=100.0; #Resistor 2's resistance in \u03a9\n",
+ "R3=30.0; #Resistor 3's resistance in \u03a9\n",
+ "R4=80.0; #Resistor 4's resistance in \u03a9\n",
+ "R5=20.0; #Resistor 5's resistance in \u03a9\n",
+ "R6=60.0; #Resistor 6's resistance in \u03a9\n",
+ "R7=20.0; #Resistor 7's resistance in \u03a9\n",
+ "R8=50.0; #Resistor 8's resistance in \u03a9\n",
+ "\n",
+ "#Calculations\n",
+ "#Using Thevenin's theorem,\n",
+ "E0=(V*R2)/(R1+R2); #Thevenin's voltage for the circuit containing V, R1, R2 in V.\n",
+ "R0=(R1*R2)/(R1+R2); #Thevenin's resistance for R1, R2 in \u03a9.\n",
+ "\n",
+ "#Using Thevenin's theorem again on E0, R0 and rest of the circuit resistors.\n",
+ "E0_1=(E0*R4)/(R0+R3+R4); #Thevenin's voltage for the cicruit containing E0, R0, R3, R4 in V\n",
+ "R0_1=((R0+R3)*R4)/(R0+R3+R4); #Thevenin's resistance of R0,R3,R4 (R0 and R3 in series and both in parallel with R4), in \u03a9 \n",
+ "\n",
+ "#Using Thevenin's theorem again on E0_1, R0_1, and rest of the circuit resistors.\n",
+ "E0_2=(E0_1*R6)/(R0_1+R5+R6); #Thevenin's voltage for the circuit containing E0_1, R0_1, R5, R6 in V\n",
+ "R0_2=((R0_1+R5)*R6)/(R0_1+R5+R6); #Thevenin's resistance of R0_1,R5,R6 (R0 and R3 in series and both in parallel with R4), in \u03a9\n",
+ "\n",
+ "\n",
+ "I_50=E0_2/(R0_2+R7+R8); #Current through the 50 \u03a9 resistor in A\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"The current through the 50 \u03a9 resistor =%.1f A.\"%I_50);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The current through the 50 \u03a9 resistor =0.1 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.12: Page number 22\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "from math import floor\n",
+ "#Variable declaration\n",
+ "V=40.0; #Voltage supply in V\n",
+ "R1=4.0; #Resistor 1's resistance in \u03a9\n",
+ "R2=6.0; #Resistor 2's resistance in \u03a9\n",
+ "R3=5.0; #Resistor 3's resistance in \u03a9\n",
+ "R4=8.0; #Resistor 4's resistance in \u03a9\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#Using Norton's theorem,\n",
+ "#calculating Norton current by removing the load resistance R4 and short circuiting those two terminals of the circuit\n",
+ "R=R1 + (R2*R3)/(R2+R3); #Load on source after removing R4 resistor, in \u03a9\n",
+ "I=V/R; #Source current in A\n",
+ "\n",
+ "#Using current dividing rule ,calculating the short circuit current.\n",
+ "I_N=(I*R2)/(R2+R3); #Norton's equivalent current or the short circuit current in A\n",
+ "\n",
+ "R_N=R3 + (R1*R2)/(R1+R2); #Norton's equivalent resistance in \u03a9\n",
+ "\n",
+ "I_8=(I_N*R_N)/(R_N+R4); #Current through the 8 \u03a9 resistance in A\n",
+ "\n",
+ " \n",
+ "\n",
+ "#Results\n",
+ "print(\"The current through the 8\u03a9 resistance =%.2f A.\"%I_8);\n",
+ "\n",
+ "#Note: The answer in the book is 1.55 A, but in the above code the approximate value is obtained, i.e not 1.55A but 1.56A\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The current through the 8\u03a9 resistance =1.56 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1.13 :Page number 23\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V1=30.0; #Voltage source 1, V\n",
+ "V2=18.0; #Voltage source 2, V\n",
+ "R1=20.0; #1st resistor, \u03a9\n",
+ "R2=10.0; #2nd resistor, \u03a9\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Finding Thevenin's Equivalent circuit\n",
+ "I=(V1-V2)/(R1+R2); #Current in the circuit, A\n",
+ "\n",
+ "#Applying Kirchhoff's voltage law to 1st loop of the circuit,\n",
+ "#V1-I*R1-E0=0, where E0 is the voltage across the points X-Y.\n",
+ "E0=V1-I*R1; #Thevenin's voltage source, V\n",
+ "\n",
+ "R0=R1*R2/(R1+R2); #Thevenin's resistance, \u03a9\n",
+ "\n",
+ "#Finding Norton's equivalent circuit\n",
+ "IN=E0/R0; #Norton's equivalent current source, A\n",
+ "RN=R0; #Norton's equivanlent resistance, \u03a9\n",
+ "\n",
+ "#Result\n",
+ "print(\"IN=%.1fA and RN=%.2f \u03a9\"%(IN,RN));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "IN=3.3A and RN=6.67 \u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter10.ipynb b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter10.ipynb
new file mode 100644
index 00000000..c0b0e702
--- /dev/null
+++ b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter10.ipynb
@@ -0,0 +1,1297 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:4bf16723750572755d7939b2e42621cb1f52fcda512b32f42476447ce96a6e93"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 10 : SINGLE STAGE TRANSISTOR AMPLIFIERS\n"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.2 : page number 243-244\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import pi\n",
+ "#Variable declaration\n",
+ "f_min=2.0; #Minimum frequency of operation of amplifier, kHz\n",
+ "f_max=10.0; #Maximum frequency of operation of amplifier, kHz\n",
+ "RE=560.0; #Emitter resistor, \u2126\n",
+ "\n",
+ "#Calculations\n",
+ "#X_CE(Emitter capacitor's capacitive reactance)\n",
+ "#X_CE=1/(2*pi*f_min*CE)=RE/10\n",
+ "#From the above equation.\n",
+ "CE=1/(2*pi*f_min*1000*(RE/10)); #Emitter capacitor, F,\n",
+ "\n",
+ "CE=CE*10**6; #Emitter capacitor, \ud835\udf07F\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print('The value of the emitter capacitor = %.2f \ud835\udf07F'%(CE));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of the emitter capacitor = 1.42 \ud835\udf07F\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.5: Page number 252-253\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Variable declaration\n",
+ "VCC=15.0; #Collector supply voltage in V\n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "R1=10.0; #Resistor R1, k\u2126\n",
+ "R2=5.0; #Resistor R2, k\u2126\n",
+ "RC=1.0; #Collector resistor, k\u2126\n",
+ "RE=2.0; #Emitter resistor, k\u2126\n",
+ "RL=1.0; #Load resistor, k\u2126\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "#For d.c load line, from the equation: VCE=VCC-IC*(RC+RE),\n",
+ "#VCE is maximum when IC=0 and IC is maximum when VCE=0.\n",
+ "VCE_max=VCC; #Maximum collector-emitter voltage, V\n",
+ "IC_max=VCC/(RC+RE); #Maximum collector current, mA\n",
+ "\n",
+ "\n",
+ "#plot\n",
+ "limit = plt.gca()\n",
+ "limit.set_xlim([0,20])\n",
+ "limit.set_ylim([0,6])\n",
+ "VCE_plot=[i for i in range(0,(int)(VCC+1))]; #Plot variable for V_CE\n",
+ "IC_plot=[((VCC-i)/(RC+RE)) for i in (VCE_plot[:])]; #Plot variable for I_C\n",
+ "\n",
+ "p=plot(VCE_plot,IC_plot);\n",
+ "xlabel(\"VCE(V)\");\n",
+ "ylabel(\"IC(mA)\");\n",
+ "title(\"d.c load line\");\n",
+ "show(p);\n",
+ "\n",
+ "\n",
+ "#(ii)\n",
+ "#For operating point:\n",
+ "#Assuming VCC drops almost completely across R1 and R2,\n",
+ "V2=VCC*R2/(R1+R2); #Voltage across resistor R2, V\n",
+ "IE=(V2-VBE)/RE; #Emitter current, mA\n",
+ "IC=IE; #Collector current, mA\n",
+ "VCE=VCC-IC*(RC+RE); #Collector-emitter voltage , V\n",
+ "\n",
+ "print(\"The operating point: VCE=%.2fV and IC=%.2fmA.\"%(VCE,IC));\n",
+ "\n",
+ "\n",
+ "#(iii)\n",
+ "#For a.c load line\n",
+ "RAC=(RC*RL)/(RC+RL); #a.c load, k\u2126\n",
+ "VCE_ac_max=VCE+IC*RAC; #Maximum collector-emitter voltage, V\n",
+ "IC_ac_max=IC+VCE/RAC; #Maximum collector current, mA\n",
+ "print(\"Maximum v_CE=%.2fV and maximum i_C=%.2fmA\"%(VCE_ac_max,IC_ac_max));\n",
+ "\n",
+ "#plot\n",
+ "limit = plt.gca()\n",
+ "limit.set_xlim([0,10])\n",
+ "limit.set_ylim([0,20])\n",
+ "vCE_plot=[0,VCE_ac_max]; #Plot variable for V_CE\n",
+ "iC_plot=[IC_ac_max,0]; #Plot variable for I_C\n",
+ "\n",
+ "p=plot(vCE_plot,iC_plot);\n",
+ "xlabel(\"vCE(V)\");\n",
+ "ylabel(\"iC(mA)\");\n",
+ "title(\"a.c load line\");\n",
+ "show(p);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7fc7c93536d0>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The operating point: VCE=8.55V and IC=2.15mA.\n",
+ "Maximum v_CE=9.62V and maximum i_C=19.25mA\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7fc7c8684290>"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.6: Page number 253-254\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Variable declaration\n",
+ "RC=10; #Collector resistor, k\u2126\n",
+ "RL=30; #Load resistor, k\u2126\n",
+ "VCC=20; #Collector supply voltage, V\n",
+ "IC=1; #Collector current, mA\n",
+ "VCE=10; #Collector-emitter voltage, V\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "#For d.c load line:\n",
+ "#From the equation: VCE=VCC-IC*(RC+RE),\n",
+ "#When VCE=0, IC is maximum.\n",
+ "#Emitter resistor is neglected, assuming it as negligible\n",
+ "IC_max=VCC/RC; #Maximum collector current, mA\n",
+ "\n",
+ "#And, when IC=0, VCE is maximum\n",
+ "VCE_max=VCC; #Maximum collector-emitter voltage, V\n",
+ "\n",
+ "#plot\n",
+ "limit = plt.gca()\n",
+ "limit.set_xlim([0,20])\n",
+ "limit.set_ylim([0,5])\n",
+ "VCE_plot=[0,VCE_max]; #Plot variable for V_CE\n",
+ "IC_plot=[IC_max,0]; #Plot variable for I_C\n",
+ "\n",
+ "p=plot(VCE_plot,IC_plot);\n",
+ "xlabel(\"VCE(V)\");\n",
+ "ylabel(\"IC(mA)\");\n",
+ "title(\"d.c load line\");\n",
+ "show(p);\n",
+ "\n",
+ "#For a.c load line:\n",
+ "RAC=(RC*RL)/(RC+RL); #a.c Load resistor, k\u2126\n",
+ "\n",
+ "VCE_ac_max=VCE+IC*RAC; #Maximum collector-emitter voltage, V\n",
+ "IC_ac_max=IC+ VCE/RAC; #Maximum collector current, mA\n",
+ "\n",
+ "#plot\n",
+ "limit = plt.gca()\n",
+ "limit.set_xlim([0,25])\n",
+ "limit.set_ylim([0,5])\n",
+ "vCE_plot=[0,VCE_ac_max]; #Plot variable for V_CE\n",
+ "iC_plot=[IC_ac_max,0]; #Plot variable for I_C\n",
+ "\n",
+ "p=plot(vCE_plot,iC_plot);\n",
+ "xlabel(\"vCE(V)\");\n",
+ "ylabel(\"iC(mA)\");\n",
+ "title(\"a.c load line\");\n",
+ "show(p);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAXsAAAEZCAYAAAB2AoVaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGMxJREFUeJzt3XtQVPfBxvFnEUww3hUURZR4F1Tw+uqr6RKvtd6pCqnE\nqtQZbW2s7bQ2nViTTqi2WqNp0nZSbWIc0diYmChaEydrrNbYMjgampbQSIpcVNBE0SCw7PsHr6uI\nILvsYS/n+5nZGTm7nN+PM5tnf3n27FmLw+FwCAAQ0IK8PQEAgPEIewAwAcIeAEyAsAcAEyDsAcAE\nCHsAMAHCHj7t29/+tp555pkm7SMvL09BQUGqrq720KzusFqt2rZt233vW7dunVJSUiRJ//3vf9Wm\nTRtxpjO8JdjbEwAaYrFYZLFYvD2NejU0v7u3R0VF6fr16801LaAOVvbwef66GvbXeSMwEfbwKVlZ\nWRo2bJjatm2rpKQklZeX1/vY6upqpaWlqU+fPmrbtq1GjBihCxcuPHCMwsJCzZw5U506dVLfvn31\nxz/+0Xnf6dOnNWbMGHXo0EHdunXTypUrVVlZ6bz/vffe04ABA9S+fXutXLlSDoejUaF+b5VktVq1\ndu1ajRs3Tm3bttWUKVNUWlrqfPypU6c0duxYdejQQXFxcTp27NgDxwAaQtjDZ1RUVGj27NlatGiR\nrl69qnnz5unNN9+stybZtGmTdu/erUOHDunatWv605/+pFatWj1wnKSkJEVFRamoqEh//vOf9fTT\nT+uDDz6QJAUHB2vLli0qLS3V3/72Nx09elQvv/yyJKmkpESJiYlKS0tTaWmpevfurRMnTrhdM6Wn\np+vVV1/VpUuXVFFRoY0bN0qSCgoKNH36dK1du1ZXr17Vxo0blZiYqJKSErfGASTCHj7k1KlTqqqq\n0lNPPaUWLVooMTFRI0eOrPfx27Zt0/PPP6++fftKkgYPHqyOHTs2OEZ+fr5OnjypDRs2qGXLlho6\ndKhSU1O1Y8cOSdKwYcM0atQoBQUFqWfPnlq2bJlzVZ2RkaHY2FjNnTtXLVq00KpVq9S1a1e3/laL\nxaLFixerT58+evjhhzV//nydOXNGkrRz505NmzZNU6dOlSRNnDhRI0aMUEZGhltjARJhDx9SWFio\n7t2719rWs2fPemuS/Px89e7d2+UxOnbsqEceecS5LSoqSgUFBZKknJwcTZ8+XREREWrXrp1+9rOf\nOeuVwsJCRUZG1tpfjx49XBr/bne/UISGhqqsrEyS9Pnnn2vv3r3q0KGD83bixAkVFxe7PRZA2MNn\nREREOEP3ts8//7zemqRHjx7Kzc11aYxu3brpypUrzmCVak6LvB3iy5cv16BBg5Sbm6svv/xSzz//\nvLNn79atm/Lz852/53A4av18L3frnaioKKWkpOjq1avO2/Xr1/XjH//Yrf0BEmEPHzJ27FgFBwdr\n69atqqys1L59+/T3v/+93senpqbqmWeeUW5urhwOh86ePasrV640OEaPHj00duxY/fSnP9WtW7d0\n9uxZbd++XQsXLpQklZWVqU2bNmrVqpX+9a9/6Xe/+53zd6dNm6bs7Gy99dZbqqqq0tatWxtcbT/o\njdv67l+4cKHeffddHTlyRHa7XeXl5bLZbHVeCAFXEPbwGSEhIdq3b59effVVderUSW+88YYSExOd\n99/+YNLtM25Wr16t+fPna/LkyWrXrp2+853v1Hv2zt2r7PT0dOXl5albt26aO3eunnvuOT3++OOS\npI0bN2rXrl1q27atli1bpqSkJOfvdu7cWXv37tWaNWvUuXNn5ebmaty4cfX+Pfeeg3/vSv/e+27/\nHBkZqf379ystLU3h4eGKiorSpk2bDPlQGMzDYvSXl/Tq1Utt27ZVixYtFBISotOnTxs5HADgPgz/\nBK3FYpHNZnvgWRIAAOM0S43DJwkBwLsMD3uLxeI8T/iVV14xejgAwH0YXuOcOHFCERERunz5siZN\nmqQBAwZo/PjxRg8LALiL4WEfEREhSQoLC9OcOXN0+vRpZ9j78tUMAcCXuVqPG1rj3Lx503lZ1xs3\nbujIkSMaPHhwrcfcvpAUt6bffv7zn3t9DoF043hyPH315g5DV/YXL17UnDlzJElVVVX61re+pcmT\nJxs5JADgPgwN++joaOfFnQAA3sMnaAOI1Wr19hQCCsfTszie3mX4J2gbHNxicbt/AgCzcic7WdkD\ngAkQ9gBgAoQ9AJgAYQ8AJkDYA4AJEPYAYAKEPQCYAGEPACZA2AOACRD2AGAChD0AmABhDwAmQNgD\ngAkQ9gBgAoQ9AJgAYQ8AJkDYA4AJEPYAYAKEPQCYAGEPACZA2AOACRD2AGAChD0AmABhDwAmQNgD\ngAkQ9gBgAoQ9AJgAYQ8AJkDYA4AJEPYAYAKEPQCYAGEPACZA2AOACRD2AGAChoe93W5XfHy8ZsyY\n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\ngg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7fc7c8c8ec90>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAXsAAAEZCAYAAAB2AoVaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAG55JREFUeJzt3XtQ1XX+x/HXIS9hXkAFpNAwL6WAQmqkacKu0U2yJAUv\naSrV2rTVZjvZ7qyx64zddBvX7baklpZoV++Zv3E7pnZhN2nytsta0HBNQy1AEYTv749vHkMBOcD3\nnAPf52OGGTi3z+d85zsvPvP5fr6ft8MwDEMAgDbNz9sdAABYj7AHABsg7AHABgh7ALABwh4AbICw\nBwAbIOzR5jmdTvXu3duSzw4PD9eOHTvqfO7ee+/Vn/70J0nSrl27dM0111jSB6AxCHugGRwOhxwO\nx0WfGzNmjP7zn/94smtALYQ9YCHuWYSvIOzhU5555hn1799fXbt2VUREhNavX1/va0+dOqV58+Yp\nPDxcAQEBGjNmjCoqKi7axqFDhxQXF6fAwEBFRkZq06ZNrue2bNmimJgYdevWTX369NGf//znWu9d\nvXq1rrzySvXs2VOLFi1q9Pc6fyopPDxcS5Ys0dChQxUQEKCUlBSdPn3a9fzmzZsVHR2twMBA3XDD\nDdq3b1+j2wLqQtjDp/Tv31+7d+/WTz/9pKeeekrTp09XcXFxna99/PHHlZWVpc8++0zHjh3T888/\nLz+/hk/pqqoqJSYm6pZbbtHRo0e1bNkyTZs2TdnZ2ZKkzp07680339SPP/6oLVu26OWXX9aGDRsk\nSQcPHtSDDz6ot956S4WFhSopKVF+fn6TvqfD4dA777yjjz76SDk5Ofr666/1+uuvS5KysrI0Z84c\npaen69ixY3rggQd0xx13qLKyskltARJhDx9z9913q1evXpKkyZMna8CAAcrMzLzgdTU1NVq5cqWW\nLl2q0NBQ+fn56frrr1eHDh0a/PzPP/9c5eXlmj9/vtq1a6f4+HiNHz9eGRkZkqSxY8cqIiJCkhQV\nFaWUlBTt3LlTkvTuu+8qMTFRo0ePVocOHbRw4cKL/nNpyMMPP6xevXopMDBQiYmJ+uqrryRJ//jH\nP/TAAw9oxIgRcjgcmjFjhjp27KjPP/+8yW0BhD18yqpVqxQTE6PAwEAFBgZq//79KikpueB1P/zw\ngyoqKtSvXz+3Pr+wsPCClTlXXnmlCgoKJElffPGF4uPjFRwcrICAAL366quu9gsLCxUWFuZ6X6dO\nndSjRw93v6LL2X9qkuTv76+ysjJJ0nfffaclS5a4jkFgYKDy8/NVVFTU5LYAwh4+47vvvtP999+v\nF198UceOHdPx48cVGRlZ50XOnj176tJLL9Xhw4fdauPyyy9XXl5erc/87rvvXCE+depU3XnnncrP\nz9eJEyf0m9/8xvXas+896+TJk3X+I/ql+lbqNPTaPn366I9//KOOHz/u+ikrK1NycnKjPws4H2EP\nn1FeXi6Hw6GePXu6pmn2799f52v9/Pw0e/ZsPfbYYyoqKlJ1dbU+++yzi85rx8bGqlOnTnruuedU\nVVUlp9OpzZs3KyUlRZJUVlamwMBAdejQQZmZmVqzZo3rvUlJSdq8ebP27NmjyspKLViwQDU1NfW2\nZRiGW6txzr72vvvu0yuvvKLMzEwZhqHy8nJt2bLFNfIHmoKwh88YPHiw5s2bp5EjR6pXr17av3+/\nRo8e7Xp+165d6tKli+vvxYsXKyoqSiNGjFCPHj305JNP1hu+Z0fNHTp00KZNm/Thhx8qKChIDz30\nkFavXq2BAwdKkl566SUtWLBAXbt21cKFC2uNpiMiIvTiiy9q6tSpuvzyy9W9e/cGb9Y6fw1+Q6P8\nX7522LBhSk9P10MPPaTu3btrwIABWrVqVUOHDrgoh9XFS8LDw9W1a1ddcsklat++fZ0X2wAA1mpn\ndQMOh0NOp1Pdu3e3uikAQD08Mo3DXYQA4F2Wh73D4dC4ceM0fPhwpaenW90cAKAOlk/j7NmzR6Gh\noTp69KhuuukmXXPNNRozZozVzQIAfsHysA8NDZUkBQUF6a677lJmZqYr7N1ZgwwAOMfd6XFLp3FO\nnjyp0tJSSeYa6u3btysqKqrWa86uRbb7z1NPPeX1PvjKD8eCY8GxaPinKSwd2X///fe66667JEln\nzpzRtGnTlJCQYGWTAIA6WBr2ffv2dW3uBADwHu6g9RFxcXHe7oLP4Ficw7E4h2PRPJbfQdtg4w5H\nk+efAMCumpKdjOwBwAYIewCwAcIeAGyAsAcAGyDsAcAGCHsAsAHCHgBsgLAHABsg7AHABgh7ALAB\nwh4AbICwBwAbIOwBwAYIewCwAcIeAGyAsAcAGyDsAcAGCHsAsAHCHgBsgLAHABsg7AHABgh7ALAB\nwh4AbICwBwAbIOwBwAYIewCwAcIeAGyAsAcAGyDsAcAGCHsAsAHCHgBsgLAHABsg7AHABgh7ALAB\n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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7fc7c8a07890>"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.7 : Page number 254-255"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Variabe declaration\n",
+ "VCE_Q=8.0; #Q-point collector emitter voltage, V\n",
+ "IC_Q=1; #Q-point collector current, mA\n",
+ "ic_positive_peak=1.5; #Collector current at positive peak of signal, mA\n",
+ "ic_negative_peak=0.5; #Collector current at negative peak of signal, mA\n",
+ "vce_positive_peak=7; #Collector emitter voltage at positive peak of signal, V\n",
+ "vce_negative_peak=9; #Collector emitter voltage at negative peak of signal, V\n",
+ "\n",
+ "#Plot\n",
+ "vce_plot=[vce_positive_peak,vce_negative_peak]; #Plot variable of vce\n",
+ "ic_plot=[ic_positive_peak,ic_negative_peak]; #Plot variable of ic\n",
+ "limit = plt.gca()\n",
+ "limit.set_xlim([0,10])\n",
+ "limit.set_ylim([0,2])\n",
+ "p=plot(vce_plot,ic_plot);\n",
+ "xlabel(\"vCE(V)\");\n",
+ "ylabel(\"iC(mA)\");\n",
+ "title(\"a.c load line\");\n",
+ "plt.grid();\n",
+ "show(p);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEZCAYAAACXRVJOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAH0xJREFUeJzt3XtwVPX5x/HP5gcUAkrCLQgJBA1IbpBwGSoSCLWopCRF\nQAjU4aqiQpGqrTodQKvFuwwlWKNVEJUkSjsSIeAU2sUAxoxICgg1MBKaC3eIEhSCYX9/QPYYEpLs\nkpOzl/drJtPu7tndJ5/BfbLf51xsDofDIQCA3wuwugAAgGegIQAAJNEQAACX0RAAAJJoCACAy2gI\nAABJNARAkmS32xUWFmbKa4eHh2vz5s11PjZ9+nQtWLBAkpSbm6u+ffuaUgPQGDQEwGQ2m002m63B\nxxISEvTf//63OUsDaqAhABbj2FB4ChoCvM7zzz+viIgIXX/99YqOjtZHH3101W1/+OEHPfroowoP\nD1dQUJASEhJ07ty5Bt9j3759SkxMVHBwsGJiYvTxxx87H1u/fr3i4+PVvn179ejRQ08//XSN5777\n7rvq2bOnOnXqpMWLFzf697py2So8PFyvvPKK+vfvr6CgIKWmpur8+fPOx9etW6e4uDgFBwfr1ltv\n1e7duxv9XkBdaAjwOhEREdq6dau+++47LVq0SPfcc4+OHDlS57aPPfaYdu7cqc8++0ynTp3SSy+9\npICA+v/ZX7hwQcnJybrzzjt1/PhxLVu2TL/5zW9UWFgoSWrXrp3ee+89ffvtt1q/fr3++te/au3a\ntZKkvXv36qGHHtL777+vsrIynTx5UiUlJW79njabTR9++KE++eQTHTx4ULt27dLKlSslSTt37tSs\nWbP05ptv6tSpU5o9e7ZSUlJUWVnp1nsBEg0BXmjChAnq2rWrJGnixInq3bu38vPza2138eJFrVix\nQkuXLtUNN9yggIAA/fznP1erVq3qff28vDydPXtWTzzxhFq0aKGRI0dqzJgxysjIkCSNGDFC0dHR\nkqTY2FilpqZqy5YtkqQ1a9YoOTlZw4YNU6tWrfTMM8802IDqM2/ePHXt2lXBwcFKTk5WQUGBJOmN\nN97Q7NmzNXjwYNlsNk2dOlU/+9nPlJeX5/Z7ATQEeJ1Vq1YpPj5ewcHBCg4O1p49e3Ty5Mla2504\ncULnzp3TTTfd5NLrl5WV1drjqGfPniotLZUkff755xo5cqS6dOmioKAgpaenO9+/rKxMoaGhzucF\n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\nVpdkuaqqKsXHxys5OdnqUixVXl6uCRMmKDIyUlFRUcrLy7O6JMssWbJEMTExio2N1ZQpU3T+/Hmr\nS2o2M2fOVEhIiGJjY533nTp1SqNGjVKfPn10++23N2p3XI9tCI05sM1ftGzZUkuWLNFXX32lvLw8\nLV++3G+zqLZ06VJFRUX5/c4GDz/8sJKSkrRv3z7t2rVLkZGRVpdkidLSUi1btkw7duzQ7t27VVVV\npczMTKvLajYzZszQxo0ba9z3/PPPa9SoUSosLNRtt92m559/vsHX8diG0JgD2/xF165dFRcXJ0lq\n166dIiMjVVZWZnFV1ikpKVFOTo7uvfdev97h4Ntvv1Vubq5mzpwp6dLcrn379hZXZZ0ff/xR33//\nvfN/r7bHoi9KSEhQcHBwjft+euDvtGnT9NFHHzX4Oh7bEBpzYJs/Kioq0s6dOzVkyBCrS7HM7373\nO7300ksKCPDYf77N4uDBg+rcubNmzJihAQMG6L777tP3339vdVmW6N69ux599FH16NFD3bp1U1BQ\nkH75y19aXZaljh496txrMyQkpFFngfDY/6L8fSmgLhUVFZowYYKWLl2qdu3aWV2OJdatW6cuXboo\nPj7er78dSJf+Iv7yyy/10EMP6csvv1Tbtm0btSzgi06fPq3s7GwVFRWprKxMFRUVev/9960uy2PY\nbLZGfaZ6bENozIFt/uTChQsaP3687rnnHo0dO9bqciyzfft2ZWdnq1evXpo8ebL+9a9/aerUqVaX\nZYnQ0FCFhoZq8ODBkqQJEyboyy+/tLgqa2zatEm9evVSx44d1aJFC40bN07bt2+3uixLhYSE6MiR\nI5Kkw4cPq0uXLg0+x2Mbwk8PbKusrFRWVpZSUlKsLssSDodDs2bNUlRUlObPn291OZZavHixiouL\ndfDgQWVmZuoXv/iFVq1aZXVZlujatavCwsJUWFgo6dKHYnR0tMVVWaNnz57Ky8vTDz/8IIfDoU2b\nNikqKsrqsiyVkpLiPGL7nXfeadwfkg4PlpOT4+jTp4/jpptucixevNjqciyTm5vrsNlsjv79+zvi\n4uIccXFxjg0bNlhdluXsdrsjOTnZ6jIsVVBQ4Bg0aJCjX79+jrvuustRXl5udUmWWbRokaNv376O\nmJgYx9SpUx2VlZVWl9RsUlNTHTfccIOjZcuWjtDQUMfbb7/tOHnypOO2225z9O7d2zFq1CjH6dOn\nG3wdDkwDAEjy4CUjAEDzoiEAACTREAAAl9EQAACSaAgAgMtoCAAASTQEAMBlNASgDoWFhUpKSlKf\nPn00cOBATZo0SceOHZPdblf79u0VHx/v/Nm8ebMk6YcfflBiYqIuXryoG2+80XkEcbX58+frxRdf\n1J49ezRjxgwrfi2gXqZdQhPwVufOndOYMWO0ZMkS/epXv5IkbdmyRcePH5fNZtPw4cP18ccf13re\n22+/rfHjxysgIECTJ09WZmamFi5cKEm6ePGi/v73v2v79u0KCwtTSUmJiouLa5zRF7Aa3xDg1558\n8km99tprzttPPfWUli1bpqFDhzqbgSSNGDFC0dHR9Z5hdfXq1fr1r38tSZo8ebKysrKcj3366afq\n2bOnswEkJyf71QVc4B1oCPBrkyZN0gcffOC8/cEHH2jfvn0aMGDAVZ+Tm5tbY8no4MGDqqys1Dff\nfKMePXpIkmJiYhQQEKBdu3ZJkjIzMzVlyhTnawwaNEi5ubkm/VaAe1gygl+Li4vTsWPHdPjwYR07\ndkwdOnSodeWpKyUkJNRaMiorK1NQUFCN+6qXjaKjo7V27Vo988wzzsc6d+7s11e9g2eiIcDv3X33\n3VqzZo2OHDmi1NRUBQYGasuWLS69Rps2bXTu3Lka96Wmpur222/XiBEj1K9fP3Xu3Nn52Llz59Sm\nTZsmqR9oKjQE+L1Jkybp3nvv1cmTJ/Xpp5+qffv2eu6555STk6OkpCRJl2YAHTt2vOprBAcHq6qq\nSpWVlWrVqpUk6cYbb1SnTp30xBNP1LqORWFhoWJiYsz7pQA3MEOA34uKilJFRYVCQ0MVEhKi1q1b\na926dVq2bJn69Omj6Ohovf766+rcubNsNlutGcI//vEPSdLtt99eay4wefJkff311xo3blyN+//9\n739rzJgxzfY7Ao3B9RCAJrJz504tWbKkwSu4nT9/XomJidq2bZsCAvibDJ6Df41AE4mPj9fIkSN1\n8eLFercrLi7WCy+8QDOAx+EbAgBAEt8QAACX0RAAAJJoCACAy2gIAABJNAQAwGX/D/7pwLYLsAND\nAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7fc7c877c550>"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.8 : Page number 256\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=10.0; #Collector supply voltage, V\n",
+ "RC=2.0; #Collector resistor, k\u2126\n",
+ "Rin=1.0; #Input resistance, k\u2126\n",
+ "beta=60.0; #Base current amplification factor\n",
+ "RL=0.5; #Load resistor, k\u2126\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "RAC=(RC*RL)/(RC+RL); #a.c load resistor, k\u2126\n",
+ "Av=beta*(RAC/Rin); #Voltage gain\n",
+ "\n",
+ "#Results\n",
+ "print(\"Voltage gain= %d.\"%Av);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain= 24.\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.9 : Page number 256\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Variable declaration\n",
+ "V_in=1.0; #Input voltage , mV\n",
+ "RC=10.0; #Collector resistor, k\u2126\n",
+ "Rin=2.5; #Input resistance, k\u2126\n",
+ "beta=100.0; #Base current amplification factor\n",
+ "RL=10.0; #Load resistor, k\u2126\n",
+ "\n",
+ "#Calculations\n",
+ "RAC=(RC*RL)/(RC+RL); #Effective load, k\u2126\n",
+ "Av=beta*(RAC/Rin); #Voltage gain\n",
+ "\n",
+ "V_out=V_in*Av; #Output voltage, V\n",
+ "\n",
+ "#Results\n",
+ "print(\"Output voltage= %dmV.\"%V_out);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output voltage= 200mV.\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.10 : Page number 256-257\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "change_in_IB=10.0; #Change in base current, \ud835\udf07A\n",
+ "change_in_IC=1.0; #Change in collector current, mA\n",
+ "change_in_VBE=0.02; #Change in Base-emitter voltage, V\n",
+ "RC=5.0; #Collector resistor, k\u2126\n",
+ "RL=10.0; #Emitter resistor, k\u2126\n",
+ "\n",
+ "#Calculations\n",
+ "#(i)\n",
+ "beta=(change_in_IC*1000)/change_in_IB; #Base current amplification factor\n",
+ "\n",
+ "#(ii)\n",
+ "Rin=(change_in_VBE/change_in_IB)*1000; #Input impedance, k\u2126\n",
+ "\n",
+ "#(iii)\n",
+ "RAC=round((RC*RL)/(RC+RL),1); #a.c load, k\u2126\n",
+ "\n",
+ "#(iv)\n",
+ "Av=beta*RAC/Rin; #Voltage gain\n",
+ "\n",
+ "#(v)\n",
+ "Ap=beta*Av; #Power gain\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"Beta= %d.\"%beta);\n",
+ "print(\"Input impedance=%d k\u2126.\"%Rin);\n",
+ "print(\"a.c load=%.1f k\u2126.\"%RAC);\n",
+ "print(\"Voltage gain= %d.\"%Av);\n",
+ "print(\"Power gain=%d.\"%Ap);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Beta= 100.\n",
+ "Input impedance=2 k\u2126.\n",
+ "a.c load=3.3 k\u2126.\n",
+ "Voltage gain= 165.\n",
+ "Power gain=16500.\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.11 : Page number 257\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "beta=50.0; #Base current amplification factor\n",
+ "RC=3.0; #Collector resistor,k\u2126\n",
+ "RL=6.0; #Load resistor, k\u2126\n",
+ "Rin=0.5; #Input impedance, k\u2126\n",
+ "Vin=1; #Input voltage, mV\n",
+ "\n",
+ "#Calculation\n",
+ "RAC=(RC*RL)/(RC+RL); #a.c load, k\u2126\n",
+ "Av=beta*RAC/Rin; #Voltage gain\n",
+ "Vout=Vin*Av; #Output voltage, V\n",
+ "\n",
+ "#Results\n",
+ "print(\"Output voltage=%dmV\"%Vout);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output voltage=200mV\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.12 : Page number 257-258\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VT=6.0; #Collector potential, V\n",
+ "R1=1.0; #Resistor R1, k\u2126\n",
+ "R2=2.0; #Resistor R2, k\u2126\n",
+ "VB_found=4.0; #Measured base voltage, V\n",
+ "\n",
+ "#Calculations\n",
+ "VB=(VT*R1)/(R1+R2); #Theoretical base voltage, V\n",
+ "\n",
+ "if(VB_found==VB):\n",
+ " print(\"The circuit is operating properly.\");\n",
+ "else:\n",
+ " print(\"The circuit is not operating properly.\");\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The circuit is not operating properly.\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.13 : Page number 258-259\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=10.0; #Collector supply voltage, V\n",
+ "R1=40.0; #Resistor R1, k\u2126\n",
+ "R2=10.0; #Resistor R2, k\u2126\n",
+ "RC=6.0; #Collector resistor, k\u2126\n",
+ "RE=2.0; #Emitter resistor, k\u2126\n",
+ "beta=80; #Base current amplification factor\n",
+ "VBE=0.7; #Base emitter voltage, V\n",
+ "\n",
+ "#Calculations\n",
+ "V2=(VCC*R2)/(R1+R2); #Voltage across resistor R2, V\n",
+ "VE=V2-VBE; #Emitter voltage, V\n",
+ "IE=VE/RE; #Emitter current, mA\n",
+ "re=25/IE; #a.c emitter resistance, \u2126\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"a.c emitter resistance= %.2f \u2126.\"%re);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "a.c emitter resistance= 38.46 \u2126.\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.14 : Page number 262-263\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Variable declaration\n",
+ "VCC=20.0; #Collector supply voltage, V\n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "R1=150.0; #Resistor R1, k\u2126\n",
+ "R2=20.0 #Resistor R2, k\u2126\n",
+ "RC=12.0; #Collector resistor, k\u2126\n",
+ "RE=2.2; #Emitter resistor, k\u2126\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "V2=round(VCC*R2/(R1+R2),2); #Voltage across R2, V\n",
+ "VE=round(V2-VBE,2); #Voltage across emitter resistor, V\n",
+ "IE=round(VE/RE,2); #Emitter current, mA\n",
+ "re=round(25/IE,1); #a.c emitter resistance, \u2126\n",
+ "\n",
+ "\n",
+ "#(i)\n",
+ "#CE(emitter capacitor) connected in the circuit:\n",
+ "Av=(RC*1000)/re; #Voltage gain for emitter capacitor connected.\n",
+ "\n",
+ "print(\"(i)Voltage gain= %d.\"%Av);\n",
+ "\n",
+ "#(ii)\n",
+ "#CE(emitter capacitor) removed from the circuit:\n",
+ "Av=(RC*1000)/(re+RE*1000); #Voltage gain for emitter capacitor removed.\n",
+ "\n",
+ "print(\"(ii)Voltage gain= %.2f.\"%Av);\n",
+ "\n",
+ "#Note: The answer in the text book has been approximated to 5.38 but it's actually coming 5.37.\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i)Voltage gain= 360.\n",
+ "(ii)Voltage gain= 5.37.\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.15 : Page number 263\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "RC=6.0; #Collector resistor, k\u2126\n",
+ "RL=12.0; #Load resistor, k\u2126\n",
+ "re=33.3; #a.c emitter resistance, \u2126\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "RAC=RC*RL/(RC+RL); #a.c effective load, k\u2126\n",
+ "Av=RAC*1000/re; #Voltage gain\n",
+ "\n",
+ "#Result\n",
+ "print(\"Voltage gain= %d.\"%Av);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain= 120.\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.16 : Page number 263-264\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=9.0; #Collector supply voltage, V\n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "R1=240.0; #Resistor R1, k\u2126\n",
+ "R2=30.0 #Resistor R2, k\u2126\n",
+ "RC=20.0; #Collector resistor, k\u2126\n",
+ "RE=3.0; #Emitter resistor, k\u2126\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "#(i)\n",
+ "V2=round(VCC*R2/(R1+R2),1); #Voltage across R2, V\n",
+ "VE=round(V2-VBE,1); #Voltage across emitter resistor, V\n",
+ "IE=round(VE/RE,1); #Emitter current, mA\n",
+ "re=25/IE; #a.c emitter resistance, \u2126\n",
+ "\n",
+ "#(ii)\n",
+ "Av=RC*1000/re; #Voltage gain\n",
+ "\n",
+ "#(iii)\n",
+ "V_C_in=V2; #d.c voltage across input capacitor, V\n",
+ "V_C_E=VE; #d.c vooltage across emitter capacitor, V\n",
+ "\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"(i) a.c emitter resistance=%d \u2126.\"%re);\n",
+ "print(\"(ii) Voltage gain =%d.\"%Av);\n",
+ "print(\"(iii) d.c voltage across input capacitor= %dV and emitter capacitor=%.1fV.\"%(V_C_in,V_C_E));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) a.c emitter resistance=250 \u2126.\n",
+ "(ii) Voltage gain =80.\n",
+ "(iii) d.c voltage across input capacitor= 1V and emitter capacitor=0.3V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.17 : Page number 264-265"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=15.0; #Collector supply voltage, V\n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "R1=40.0; #Resistor R1, k\u2126\n",
+ "R2=10.0 #Resistor R2, k\u2126\n",
+ "RC=2.0; #Collector resistor, k\u2126\n",
+ "RE=1.0; #Emitter resistor, k\u2126\n",
+ "RL=1.0; #Load resistor, k\u2126\n",
+ "beta=100; #Base current amplification factor\n",
+ "\n",
+ "#Calculation\n",
+ "#(i) D.C bias levels\n",
+ "V2=VCC*R2/(R1+R2); #Voltage across R2, V\n",
+ "VE=round(V2-VBE,1); #Voltage across emitter resistor, V\n",
+ "IE=round(VE/RE,1); #Emitter current, mA\n",
+ "IC=IE; #Collector current, mA\n",
+ "IB=IC/beta; #Base current, mA\n",
+ "VC=VCC-IC*RC; #Collector voltage, V\n",
+ "print(\"(i) D.C bias levels: V2=%dV, VE=%.1fV, IE=%.1fmA, IC=%.1fmA, IB=%.3fmA and VC=%.1fV.\"%(V2,VE,IE,IC,IB,VC));\n",
+ "\n",
+ "\n",
+ "#(ii)\n",
+ "Cin_V=V2; #Voltage across Cin capacitor, V\n",
+ "CE_V=VE; #Voltage across CE capacitor, V \n",
+ "CC_V=VC; #Voltage across CC capacitor, V\n",
+ "print(\"(ii) D.c voltage across: Cin=%dV and CE=%.1fV and CC=%.1fV.\"%(Cin_V,CE_V,CC_V));\n",
+ "\n",
+ "#(iii)\n",
+ "re=round(25/IE,1); #a.c emitter resistance, \u2126\n",
+ "print(\"(iii) a.c emitter resistance=%.1f\u2126.\"%re);\n",
+ "\n",
+ "\n",
+ "#(iv)\n",
+ "RAC=round(RC*RL/(RC+RL),3); #Total a.c collector resistance, k\u2126\n",
+ "Av=RAC/(re/1000); #Voltage gain\n",
+ "print(\"(iv) Voltage gain=%.1f.\"%Av);\n",
+ "\n",
+ "#(v)\n",
+ "print(\"(v) VC>VE. Therefore, the transistor is in active state.\" );\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) D.C bias levels: V2=3V, VE=2.3V, IE=2.3mA, IC=2.3mA, IB=0.023mA and VC=10.4V.\n",
+ "(ii) D.c voltage across: Cin=3V and CE=2.3V and CC=10.4V.\n",
+ "(iii) a.c emitter resistance=10.9\u2126.\n",
+ "(iv) Voltage gain=61.2.\n",
+ "(v) VC>VE. Therefore, the transistor is in active state.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.18 : page number 265\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Av=132.0; #Voltage gain\n",
+ "beta=200.0; #Base current amplification factor\n",
+ "P_in=60.0; #Input power, \ud835\udf07W\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "Ap=beta*Av; #Power gain\n",
+ "P_out=Ap*(P_in/10**6); #Output power, W\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"The power gain = %d and output power = %.3fW.\"%(Ap,P_out));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The power gain = 26400 and output power = 1.584W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.19 : page number 265-266\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "IB=200.0; #Base current, microampere\n",
+ "IE=10.0; #Emitter current, mA\n",
+ "R1=27.0; #Resistor R1, kilo ohm\n",
+ "R2=13.0 #Resistor R2, kilo ohm\n",
+ "RC=4.7; #Collector resistor, kilo ohm\n",
+ "RE=2.2; #Emitter resistor, kilo ohm\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "#(i)\n",
+ "IC=IE-(IB/1000); #Collector current, mA\n",
+ "beta=IC/(IB/1000); #Current gain\n",
+ "\n",
+ "print(\"(i) Current gain=%d\"%beta);\n",
+ "\n",
+ "#(ii)\n",
+ "#a.c emitter resistance is neglected, voltage gain=(collector resistor)/(emitter resistor)\n",
+ "Av=RC/RE; #Voltage gain\n",
+ "\n",
+ "print(\"(ii) Voltage gain=%.2f\"%Av);\n",
+ "\n",
+ "#(iii)\n",
+ "Ap=round(beta*Av,0); #Power gain\n",
+ "\n",
+ "#Results\n",
+ "print(\"(iii) Power gain=%d.\"%Ap);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) Current gain=49\n",
+ "(ii) Voltage gain=2.14\n",
+ "(iii) Power gain=105.\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.20 : Page number 266-267\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=30.0; #Collector supply voltage, V\n",
+ "VBE=0.7; #Base emitter voltage, V\n",
+ "R1=45.0; #Resistor R1, k\u2126\n",
+ "R2=15.0 #Resistor R2, k\u2126\n",
+ "RC=10.0; #Collector resistor,k\u2126\n",
+ "RE=7.5; #Emitter resistor, k\u2126\n",
+ "beta=200.0; #Base current amplification factor\n",
+ "\n",
+ "#Calculations\n",
+ "V2=round(VCC*R2/(R1+R2),1); #Voltage across R2, V (Voltage divider rule)\n",
+ "VE=V2; #Voltage across emitter resistor(base-emitter voltage is neglected), V\n",
+ "IE=VE/RE; #Emitter current, mA (OHM's LAW)\n",
+ "re=25/IE; #a.c emitter resistance, ohm\n",
+ "Zin_base=(beta*re)/1000; #input impedance of transistor base,k\u2126\n",
+ "R1_R2=(R1*R2)/(R1+R2); #Parallel resistance between R1 and R2, k\u2126\n",
+ "Zin=((R1_R2)*Zin_base)/(R1_R2+Zin_base); #Input impedance of the amplifier circuit, k\u2126\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"The input impedance of the amplifier circuit= %.2f k\u2126.\"%Zin); \n",
+ "\n",
+ "#Note: The input impedance of the amplifier circuit is approximated as 3.45 k\u2126 in the text book, but actually it's 3.46 k\u2126.\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The input impedance of the amplifier circuit= 3.46 k\u2126.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.21 : Page Number 268-269\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=10.0; #Collector supply voltage, V.\n",
+ "RC=1.5; #Collector resistor, k\u2126.\n",
+ "R1=18.0; #Resistor R1, k\u2126.\n",
+ "R2=4.7; #Resistor R2, k\u2126.\n",
+ "RE1=300.0; #Emitter resistor 1, \u2126.\n",
+ "RE2=900.0; #Emitter resistor 2, \u2126.\n",
+ "VBE=0.7; #Base-emitter voltage, V.\n",
+ "beta=150.0; #Base current amplification factor.\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "V2=round(VCC*R2/(R1+R2),1); #d.c voltage across R2, V. (Voltage divider rule)\n",
+ "VE=round(V2-VBE,1); #d.c voltage across RE, V.\n",
+ "IE=round((VE/(RE1+RE2))*1000,2); #d.c emitter current, mA.(OHM'S LAW)\n",
+ "re=round(25/IE,1); #a.c emitter resistance, \u2126.\n",
+ "Av=RC*1000/(re+RE1); #Voltage gain\n",
+ "Zin_base=(beta*(re+RE1))/1000; #Input impedance of transistor base, k\u2126.\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"The voltage gain of the swamped amplifier= %.2f.\"%Av);\n",
+ "print(\"Input impedance of transistor base of the swamped amplifier= %.2f k\u2126.\"%Zin_base);\n",
+ "\n",
+ "#Note:In the textbook Av is approximated to 4.66and Zin_base to 48.22 kilo ohm, but the actual answers come as 4.67 and 48.21 kilo ohm.\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The voltage gain of the swamped amplifier= 4.67.\n",
+ "Input impedance of transistor base of the swamped amplifier= 48.21 k\u2126.\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.22 : Page number 269\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "RC=1.5; #Collector resistor, k\u2126.\n",
+ "RE1=300.0; #Emitter resistor 1, \u2126.\n",
+ "re=21.5; #a.c emitter resistance, \u2126.\n",
+ "\n",
+ "#Calculations\n",
+ "Av=round(RC*1000/(re+RE1),2); #Voltage gain.\n",
+ "Av_1=round(RC*1000/(2*re+RE1),2); #Voltage gain when re doubles.\n",
+ "change_in_gain=round(Av-Av_1,2); #Change in voltage gain.\n",
+ "change_percentage=change_in_gain*100/Av; #Change percentage\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "if(change_in_gain>0):\n",
+ " print(\"The percentage change from the original value= %.2f%%(decrease)\"%change_percentage);\n",
+ "else:\n",
+ " print(\"The percentage change from the original value= %.2f%%(increase)\"%change_percentage);\n",
+ "\n",
+ "\n",
+ "#Note: The percentage has been approximated in the text book as 6.22%, but the answer comes as 6.42%.\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The percentage change from the original value= 6.42%(decrease)\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.23 : Page number 269-270\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=10.0; #Collector supply voltage, V\n",
+ "VBE=0.7; #Base emitter voltage, V\n",
+ "R1=10.0; #Resistor R1, kilo ohm\n",
+ "R2=2.2; #Resistor R2, kilo ohm\n",
+ "RC=4.0; #Collector resistor, kilo ohm\n",
+ "RE=1.1; #Emitter resistor, kilo ohm\n",
+ "beta=200.0; #Base current amplification factor\n",
+ "RE1=210.0; #Emitter resistor 1 of swamped amplifier, ohm.\n",
+ "RE2=900.0; #Emitter resistor 2 of swamped amplifier, ohm.\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "V2=round(VCC*R2/(R1+R2),1); #d.c voltage across R2, V. (Voltage divider rule)\n",
+ "VE=round(V2-VBE,1); #d.c voltage across RE, V.\n",
+ "IE=(VE/RE); #d.c emitter current, mA.(OHM'S LAW)\n",
+ "re=25/IE; #a.c emitter resistance, ohm.\n",
+ "\n",
+ "\n",
+ "#(i) Zin_base:\n",
+ "Zin_base_standard=(beta*re)/1000; #input impedance of transistor base for standard amplifier , kilo ohm.\n",
+ "Zin_base_swamped=(beta*(re+RE1))/1000; #input impedance of transistor base for swamped amplifier, kilo ohm.\n",
+ "\n",
+ "\n",
+ "#(ii) Zin:\n",
+ "#input impedance for standard amplifier circuit\n",
+ "Zin_standard=(((R1*R2)/(R1+R2))*Zin_base_standard)/(Zin_base_standard +((R1*R2)/(R1+R2))); #kilo ohm\n",
+ "\n",
+ "#input impedance for standard amplifier circuit\n",
+ "Zin_swamped=(((R1*R2)/(R1+R2))*Zin_base_swamped)/(Zin_base_swamped +((R1*R2)/(R1+R2))); #kilo ohm\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"(i) input impedance of transistor base for standard amplifier= %d kilo ohm\"%Zin_base_standard);\n",
+ "print(\" input impedance of transistor base for swamped amplifier= %d kilo ohm\"%Zin_base_swamped);\n",
+ "print(\"(ii) input impedance for standard amplifier= %.2f kilo ohm\"%Zin_standard);\n",
+ "print(\" input impedance for swamped amplifier= %.2f kilo ohm\"%Zin_swamped);\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) input impedance of transistor base for standard amplifier= 5 kilo ohm\n",
+ " input impedance of transistor base for swamped amplifier= 47 kilo ohm\n",
+ "(ii) input impedance for standard amplifier= 1.33 kilo ohm\n",
+ " input impedance for swamped amplifier= 1.74 kilo ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.24 : Page number 270-271\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "RC=4.0; #Collector resistor, kilo ohm\n",
+ "re=25.0; #a.c emitter resistance, ohm (calculated in example 10.23)\n",
+ "RE_1=210.0; #Emitter resistor 1 of swamped amplifier,ohm\n",
+ "\n",
+ "#Calculation\n",
+ "Av_standard=(RC*1000)/re; #Voltage gain of standard common emitter amplifier\n",
+ "Av_swamped=(RC*1000)/(re+RE_1); #Voltage gain of swamped amplifier\n",
+ "\n",
+ "#Results\n",
+ "print(\"The voltage gain of standard amplifier=%d.\"%Av_standard);\n",
+ "print(\"The voltage gain of swamped amplifier=%d.\"%Av_swamped);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The voltage gain of standard amplifier=160.\n",
+ "The voltage gain of swamped amplifier=17.\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.26 : Page number 273-274\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "A_0=1000.0; #Open circuit voltage gain\n",
+ "R_in=2.0; #Input resistance, kilo ohm\n",
+ "R_out=1.0; #Output resistance, ohm\n",
+ "RL=4; #Load resistor across the output, ohm\n",
+ "I_2=0.5; #Output signal current, A.\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "#Since A_0*(I_1*R_in) = I_2*(R_out+RL)\n",
+ "I_1=I_2*(R_out+RL)/(A_0*(R_in*1000)); #Input current, A\n",
+ "V_1=I_1*(R_in*1000); #Input signal voltage, V\n",
+ "V_1=V_1*1000; #Input signal voltage, mV\n",
+ "\n",
+ "print(\"The required input signal voltage =%.1fmV\"%V_1);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The required input signal voltage =2.5mV\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.27 : Page number 274\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "A_0=1000.0; #Open circuit voltage gain\n",
+ "R_in=7.0; #Input resistance, kilo ohm\n",
+ "R_out=15.0; #Output resistance, ohm\n",
+ "RL=35.0; #Load resistor across the output, ohm\n",
+ "R_s=3.0; #Internal resistance, kilo ohm\n",
+ "E_s=10.0; #Input signal voltage, mV.\n",
+ "\n",
+ "#Calculations\n",
+ "#(i)\n",
+ "I_1=E_s*(10**-3)/(R_s*1000+R_in*1000); #Input current, A\n",
+ "V_1=I_1*(R_in*1000); #Voltage across input resistance, V\n",
+ "\n",
+ "#Since, A_v=V_2/V_1 = A_0*RL/(R_out+RL)\n",
+ "A_v=A_0*RL/(R_out+RL); #Voltage gain\n",
+ "V_2=A_v*V_1; #Outout voltage, V\n",
+ "\n",
+ "\n",
+ "#(ii)\n",
+ "P_2=V_2**2/RL; #Output power, W\n",
+ "P_1=V_1**2/(R_in*1000); #Input power, W\n",
+ "A_p=round(P_2/P_1,-6); #Power gain\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"The magnitude of output voltage = %.1fV\"%V_2);\n",
+ "print(\"The power gain =%de-06.\"%(A_p/10**6));\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The magnitude of output voltage = 4.9V\n",
+ "The power gain =98e-06.\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.28 : Page number 274-275\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "A_v=80.0; #Voltage gain\n",
+ "V_2=1.0; #Output voltage, V\n",
+ "A_i=120.0; #Current gain\n",
+ "RL=2; #Load resistor, kilo ohm\n",
+ "\n",
+ "#Calculation\n",
+ "V_1=(V_2/A_v)*1000; #Input signal voltage, mV\n",
+ "\n",
+ "#Since, A_i=A0*R_in/(R_out+RL) and A_v=A0*RL/(R_out+RL)\n",
+ "#So, A_v/A_i=RL/R_in\n",
+ "R_in=RL*A_i/A_v; #Input resistance, kilo ohm\n",
+ "I_1=V_1/R_in; #Input current, \u03bcA\n",
+ "A_p=A_i*A_v; #Power gain\n",
+ "\n",
+ "#Results\n",
+ "print(\"Necessary input signal voltage= %.1fmV\"%V_1);\n",
+ "print(\"Input signal current =%.2f \u03bcA\"%I_1);\n",
+ "print(\"Power gain = %d.\"%A_p);\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Necessary input signal voltage= 12.5mV\n",
+ "Input signal current =4.17 \u03bcA\n",
+ "Power gain = 9600.\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter11.ipynb b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter11.ipynb
new file mode 100644
index 00000000..6e0fb200
--- /dev/null
+++ b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter11.ipynb
@@ -0,0 +1,1025 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:8e425c9c2dfbfee43b3a89e44b0fd7936ba869da73ac3c372e9b23848f1cded1"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#CHAPTER 11 : MULTISTAGE TRANSISTOR AMPLIFIERS"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 11.1 : Page number 285"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "from math import log10\n",
+ "#Variable declaration\n",
+ "#(i)\n",
+ "A_v=30; #Voltage gain\n",
+ "\n",
+ "#(ii)\n",
+ "A_p=100; #Power gain\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "#(i)\n",
+ "A_v_dB=20*log10(A_v); #Voltage gain, dB\n",
+ "A_p_dB=10*log10(A_p); #Power gain, dB\n",
+ "\n",
+ "#Results\n",
+ "print(\"(i) Voltage gain in dB=%.2fdB\"%A_v_dB);\n",
+ "print(\"(ii) Power gain in dB=%ddB\"%A_p_dB);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) Voltage gain in dB=29.54dB\n",
+ "(ii) Power gain in dB=20dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.2 : Page number 285-286\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#(i)\n",
+ "A_p_dB=40.0; #Power gain in dB\n",
+ "A_p_b=A_p_dB/10; #Power gain in bel\n",
+ "A_p=10**A_p_b; #Power gain in number\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) Power gain in number=%d\"%A_p);\n",
+ "\n",
+ "#(ii)\n",
+ "A_p_dB=43.0; #Power gain in dB\n",
+ "A_p_b=A_p_dB/10; #Power gain in bel\n",
+ "A_p=round(10**A_p_b,-4); #Power gain in number\n",
+ "\n",
+ "#Result\n",
+ "print(\"(ii) Power gain in number=%d\"%A_p);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) Power gain in number=10000\n",
+ "(ii) Power gain in number=20000\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.3 : Page number 286\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "from math import log10\n",
+ "\n",
+ "#Variable declaration\n",
+ "Av_1=100.0; #Voltage gain of stage 1\n",
+ "Av_2=200.0; #Voltage gain of stage 2\n",
+ "Av_3=400.0; #Voltage gain of stage 3\n",
+ "\n",
+ "#Calculations\n",
+ "Av_1_dB=20*log10(Av_1); #Voltage gain of stage 1, dB\n",
+ "Av_2_dB=20*log10(Av_2); #Voltage gain of stage 2, dB\n",
+ "Av_3_dB=20*log10(Av_3); #Voltage gain of stage 3, dB\n",
+ "\n",
+ "Av_T=Av_1_dB+Av_2_dB+Av_3_dB; #Total voltage gain\n",
+ "\n",
+ "#Result\n",
+ "print(\"The total voltage gain=%ddB\"%Av_T);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total voltage gain=138dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.4 : Page number 286\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import log10\n",
+ "\n",
+ "#Variable declaration\n",
+ "A_p_absolute=30.0; #Absolute gain of each stage\n",
+ "number_of_stages=5.0; #number of stages\n",
+ "negative_feedback=10.0; #negative feedback, dB\n",
+ "\n",
+ "#Calculations\n",
+ "#(i)\n",
+ "A_p_dB=round(10*log10(A_p_absolute),2); #Power gain of one stage. dB\n",
+ "A_p_T=number_of_stages * A_p_dB; #Total power gain, dB\n",
+ "\n",
+ "#(ii)\n",
+ "A_p_resultant=A_p_T-negative_feedback; #Resultant power gain with negative feedback, dB\n",
+ "\n",
+ "#Results\n",
+ "print(\"The total power gain = %.2fdB.\"%A_p_T);\n",
+ "print(\"The resultant power gain with negative feedback = %.2fdB.\"%A_p_resultant);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total power gain = 73.85dB.\n",
+ "The resultant power gain with negative feedback = 63.85dB.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.5 : Page number 286\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import log10\n",
+ "\n",
+ "#Variable declaration\n",
+ "P_out_2kHz=1.5; #Output power at 2 kHz, W\n",
+ "P_out_20kHz=0.3; #Output power at 20 kHz, W\n",
+ "P_in=10.0; #Input power, mW\n",
+ "\n",
+ "#Calculations\n",
+ "A_p_dB_2kHz=10*log10(P_out_2kHz*1000/P_in); #dB power gain at 2 kHz\n",
+ "A_p_dB_20kHz=10*log10(P_out_20kHz*1000/P_in); #dB power gain at 20 kHz\n",
+ "Fall_in_gain=A_p_dB_2kHz-A_p_dB_20kHz; #Fall in gain from 2kHz to 20kHz\n",
+ "\n",
+ "#Results\n",
+ "print(\"The fall in gain from 2kHz to 20kHz=%.2fdB\"%Fall_in_gain);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The fall in gain from 2kHz to 20kHz=6.99dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.6 : Page number 287\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import log10\n",
+ "\n",
+ "#Variable declaration\n",
+ "A_v=15.0; #Voltage gain, dB\n",
+ "V_1=0.8; #Input signal voltage, V\n",
+ "\n",
+ "#Calculations\n",
+ "#Since, Av(in decibel)=20*log10(V_2/V_1),\n",
+ "V_2=V_1*(10**(A_v/20)); #Output voltage, V\n",
+ "\n",
+ "#Results\n",
+ "print(\"The output voltage= %.1fV.\"%V_2);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The output voltage= 4.5V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.7 : Page number 287\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "A_0_dB=70.0; #Open circuit voltage gain, dB\n",
+ "A_v_dB=67.0; #Voltage gain, dB\n",
+ "R_out=1.5; #Output resistance, kilo ohm\n",
+ "\n",
+ "#Calculations\n",
+ "#Since, A_0_dB-A_v_dB=20*log10(A_0/A_v)\n",
+ "ratio_A0_Av=round(10**((A_0_dB-A_v_dB)/20),2); #Ratio of open-circuit voltage gain to normal voltage gain\n",
+ "\n",
+ "#Since, A_v/A_0 = RL/(R_out+RL)\n",
+ "RL=R_out/(ratio_A0_Av-1); #Load resistor, kilo ohm\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"The load resistance=%.2f kilo ohm.\"%RL);\n",
+ "\n",
+ "#Note: The value of load resistor is calculated to be 3.6585 kilo ohm and approximated to 3.66. But, in the text it has been approximated to 3.65.\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The load resistance=3.66 kilo ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.8 : Page number 287\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "RL=1.0; #Load resistance, kilo ohm\n",
+ "A_v=40.0; #Voltage gain, dB\n",
+ "V_in=10.0; #Input signal voltage, mV\n",
+ "\n",
+ "#Calcultaions\n",
+ "#(i)\n",
+ "#Since, A_v=20*log10(V_out/V_in)\n",
+ "V_out=V_in*(10**(A_v/20))/1000; #Output voltage, V\n",
+ "\n",
+ "#(ii)\n",
+ "P_L=(V_out**2/RL); #The load power, mW\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"(i)The output voltage is %dV.\"%V_out);\n",
+ "print(\"(ii)The load poweris %dmW.\"%P_L);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i)The output voltage is 1V.\n",
+ "(ii)The load poweris 1mW.\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.9 : Page number 287-288\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "from math import log10\n",
+ "\n",
+ "#Variable declaration\n",
+ "P_2=40.0; #Output power, W\n",
+ "R=10.0; #Resistance of speaker, ohm\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "#(i)\n",
+ "A_p_dB=25.0; #Power gain, dB\n",
+ "#Since, A_p_dB=10*log10(P_2/P_1)\n",
+ "P_1=(P_2/10**(A_p_dB/10))*1000; #Input power, mW\n",
+ "\n",
+ "\n",
+ "#(ii)\n",
+ "A_v_dB=40.0; #Voltage gain, dB\n",
+ "\n",
+ "#Since, P=(V**2)/R,\n",
+ "V_2=(P_2*R)**0.5; #Output voltage, V\n",
+ "\n",
+ "#Since, A_v_dB=20*log10(V_2/V_1)\n",
+ "V_1=(V_2/10**(A_v_dB/20))*1000; #Input voltage, mV\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "\n",
+ "print(\"(i)The input power=%.1fmW.\"%P_1);\n",
+ "print(\"(ii)The input voltage=%dmV.\"%V_1);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i)The input power=126.5mW.\n",
+ "(ii)The input voltage=200mV.\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.10 : Page number 288\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "A_v_max=2000.0; #Maximum voltage gain\n",
+ "f_max=2.0; #Frequency at which maximum voltage gain occurs,kHz\n",
+ "A_v=1414.0; #Voltage gain at 50 Hz and 10kHz\n",
+ "f1=50; #Lower frequency at which gain is 1414, Hz\n",
+ "f2=10; #Upper frequency at which gain is 1414, kHz\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, bandwidth is the range of frequency over which gain is greater than or equal to 70.7% of maximum gain\n",
+ "if((A_v/A_v_max)*100 ==70.7): \n",
+ " print(\"(i)The bandwidth is from %dHz to %dkHz.\"%(f1,f2));\n",
+ " print(\"(ii)The lower cut-off frequency=%dHz.\"%f1);\n",
+ " print(\"(iii)The upper cut-off frequency=%dkHz.\"%f2);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i)The bandwidth is from 50Hz to 10kHz.\n",
+ "(ii)The lower cut-off frequency=50Hz.\n",
+ "(iii)The upper cut-off frequency=10kHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.11 : Page number 291\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "A_v=60.0; #Voltage gain of single stage amplifier\n",
+ "R_C=500.0; #Collector load, ohm\n",
+ "R_in=1.0; #Input impedance, kilo ohm\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, there is no loading , second stage gain remains at A_v\n",
+ "#But, due to loading effect of input impedance of second stage, gain of first stage decreases\n",
+ "A_v_2=A_v; #Voltage gain of second stage\n",
+ "R_AC=round((R_C*R_in*1000)/(R_C+R_in*1000),0); #Effective load of first stage, ohm\n",
+ "A_v_1=A_v*R_AC/R_C; #Gain of first stage\n",
+ "A_v_T=A_v_1*A_v_2; #Total gain\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"The total gain=%d.\"%A_v_T);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total gain=2397.\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.12 : Page number 291-292\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Rin=1.0; #Input resistance, kilo ohm\n",
+ "beta=100.0; #base current amplification factor\n",
+ "RC=2.0; #Collector load, kilo ohm\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "R_AC=(RC*Rin)/(RC+Rin); #Effective load on first stage, kilo ohm\n",
+ "A_v_1=round(beta*(R_AC/Rin),0); #Voltage gain of first stage\n",
+ "\n",
+ "#(ii)\n",
+ "A_v_2=round(beta*RC/Rin,0); #Voltage gain of second stage\n",
+ "\n",
+ "#(iii)\n",
+ "A_v_T=A_v_1*A_v_2; #Total voltage gain\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"(i)The voltage gain of first stage =%d.\"%A_v_1);\n",
+ "print(\"(ii)The voltage gain of second stage =%d.\"%A_v_2);\n",
+ "print(\"(iii)The total voltage gain =%d.\"%A_v_T);\n",
+ "\n",
+ "#Note: The approximation inthe text for A_v_1=66.66 is taken as 66 but here it has been taken 67 and therefore the total voltage is 13400 instead of 13200.\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i)The voltage gain of first stage =67.\n",
+ "(ii)The voltage gain of second stage =200.\n",
+ "(iii)The total voltage gain =13400.\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.13 : Page number 292\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "RC=10.0; #Collector load of single stage amplifier, kilo ohm\n",
+ "Rin=1.0; #Input resistance, kilo ohm\n",
+ "beta=100.0; #base current amplification factor\n",
+ "RL=100.0; #Load resistor, ohm\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "R_AC=round((RC*1000)*RL/(RC*1000+RL),-1); #Effective collector load,\n",
+ "A_v=beta*R_AC/(Rin*1000); #Voltage gain\n",
+ "\n",
+ "#Results\n",
+ "print(\"The voltage gain=%d.\"%A_v);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The voltage gain=10.\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.14 : Page number 292-293\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=20.0; #Collector suppply voltage, V\n",
+ "R1=10.0; #resistor R1, kilo ohm\n",
+ "R2=2.2; #resistor R2, kilo ohm\n",
+ "R3=10.0; #resistor R3, kilo ohm\n",
+ "R4=2.2; #resistor R4, kilo ohm\n",
+ "RC_1=3.6; #Collector resistor of first stage, kilo ohm\n",
+ "RC_2=4.0; #Collector resistor of second stage, kilo ohm\n",
+ "RE_1=900.0; #Emitter resistor of first stage, ohm\n",
+ "RE_2=1.0; #Emitter resistor of second stage, kilo ohm\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "#Biasing potential for the second stage is the voltage across R4 resistor,\n",
+ "#so, by voltage divider rule:\n",
+ "VB=VCC*R4/(R3+R4); #Biasing potential for second stage,(Voltage across R4), V\n",
+ "\n",
+ "print(\"The biasing voltage for the second stage=%.1fV.\"%VB);\n",
+ "\n",
+ "#If coupling capacitor C_c is replaced by a wire, RC_1 and R3 become parallel\n",
+ "Req=round((RC_1*R3)/(RC_1+R3),2); #Equivalent resistance of R3 parallel with RC_1, kilo ohm\n",
+ "VB=VCC*R4/(Req+R4); #Biasing voltage if coupling capacitor is replaced by a wire, V\n",
+ "\n",
+ "print(\"The biasing voltage after replacing coupling capacitor by wire=%.2fV.\"%VB);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The biasing voltage for the second stage=3.6V.\n",
+ "The biasing voltage after replacing coupling capacitor by wire=9.07V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.15 : Page number 293-294\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Function for calculating parallel resistance\n",
+ "def pr(r1,r2):\n",
+ " return (r1*r2)/(r1+r2);\n",
+ "\n",
+ "#Variable declaration\n",
+ "VCC=15.0; #Collector supply voltage, V\n",
+ "R1=22.0; #Resistor R1, kilo ohm\n",
+ "R2=3.3; #Resistor R2, kilo ohm\n",
+ "R3=5.0; #Resistor R3, kilo ohm\n",
+ "R4=1.0; #Resistor R4, kilo ohm\n",
+ "R5=15.0; #Resistor R5, kilo ohm\n",
+ "R6=2.5; #Resistor R6, kilo ohm\n",
+ "R7=5.0; #Resistor R7, kilo ohm\n",
+ "R8=1.0; #Resistor R8, kilo ohm\n",
+ "beta=200; #Base current amplification factor\n",
+ "RL=10.0; #Load resistor, kilo ohm\n",
+ "V_BE=0.7; #Base-emitter voltage, V\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "#for 2nd stage\n",
+ "V_R6=round(VCC*R6/(R5+R6),2); #Voltage across R6, V (voltage divider rule)\n",
+ "V_R8=round(V_R6-V_BE,2); #Voltage across R8, V\n",
+ "IE_2=round(V_R8/R8,2); #Emitter current through R8, mA (OHM's LAW)\n",
+ "re_2nd_stage=round(25/IE_2,1); #a.c emitter resistance for 2nd stage, ohm\n",
+ "\n",
+ "#For 1st stage\n",
+ "V_R2=round(VCC*R2/(R1+R2),2); #Voltage across R2, V (voltage divider rule)\n",
+ "V_R4=round(V_R2-V_BE,2); #Voltage across R4, V\n",
+ "IE_1=round(V_R4/R4,2); #Emitter current through R4, mA (OHM's LAW)\n",
+ "re_1st_stage=round(25/IE_1,1); #a.c emitter resistance for 1st stage, ohm\n",
+ "\n",
+ "#(i)\n",
+ "Zin_base_2nd_stage=round((beta*re_2nd_stage)/1000,2); #input resistance of transistor base of 2nd stage, kilo ohm\n",
+ "Zin=round(pr(pr(R5,R6),Zin_base_2nd_stage),2); #Input impedance of the 2nd stage, kilo ohm\n",
+ "R_AC_1st_stage=round(pr(R3,Zin),2); #Effective collector load for 1st stage, kilo ohm\n",
+ "A_v_1=round(R_AC_1st_stage*1000/re_1st_stage,0); #voltage gain of 1st stage\n",
+ "\n",
+ "#(ii)\n",
+ "R_AC_2nd_stage=round(pr(R7,RL),2); #Effective collector load for 2nd stage, kilo ohm\n",
+ "A_v_2=round(R_AC_2nd_stage*1000/re_2nd_stage,1); #voltage gain of 2nd stage\n",
+ "\n",
+ "#(iii)\n",
+ "A_v_overall=A_v_1*A_v_2; #overall voltage gain\n",
+ "\n",
+ "\n",
+ "#results\n",
+ "print(\"(i)The voltage gain of 1st stage=%.0f.\"%A_v_1);\n",
+ "print(\"(i)The voltage gain of 2nd stage=%.1f.\"%A_v_2);\n",
+ "print(\"(i)The overall voltage gain =%d.\"%A_v_overall);\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i)The voltage gain of 1st stage=53.\n",
+ "(i)The voltage gain of 2nd stage=191.4.\n",
+ "(i)The overall voltage gain =10144.\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.16 : Page number 297\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Primary_impedance=1000.0; #Primary impedance, ohm\n",
+ "Load_impedance=10.0; #Load impedance, ohm\n",
+ "\n",
+ "#Calculation\n",
+ "#since,for maximum power transfer primary impedance should be equal to output impedance\n",
+ "#and, impedance of secondary should be equal to load impedance\n",
+ "#therfore, primary_impedance/load_impedance=square of(primary to secondary turn ratio)\n",
+ "n=(Primary_impedance/Load_impedance)**0.5; #Primary to secondary turn ratio\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print('The primary to secondary turn ratio for maximum power transfer=%d.'%n);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The primary to secondary turn ratio for maximum power transfer=10.\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.17 : Page number 297\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "RL=16.0; #Load resistor, ohm\n",
+ "R_p=10.0; #Output impedance of primary, kilo ohm\n",
+ "Vp=10.0; #Terminal voltage of the source, V\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, for maximum power transfer, the impedance of the primary should be equal to output impedance of the source\n",
+ "n=(R_p*1000/RL)**0.5; #Primary to secondary turns ratio\n",
+ "\n",
+ "#Since, power in a transformer remains constant,\n",
+ "#ratio of primary to secondary voltageis equal to primary to secondary turns ratio\n",
+ "Vs=Vp/n; #Voltage across the external load, V\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"The primary to secondary turns ratio=%d.\"%n);\n",
+ "print(\"The voltage across the external load=%.1fV.\"%Vs);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The primary to secondary turns ratio=25.\n",
+ "The voltage across the external load=0.4V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.18 : Page number 297-298\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Rp=300.0; #D.C resistance of primary, ohm\n",
+ "RL=3.0; #Load resistance, ohm\n",
+ "R_out=3.0; #Ouput resistance of the transistor, kilo ohm \n",
+ "\n",
+ "#Calculation\n",
+ "#when no signal is applied, only Rp is seen to be the load.\n",
+ "#But, when a.c signal is applied, RL in secondary reflects as RL*(squre of turns ratio).\n",
+ "#Therefore, load is seen to be Rp in series with the reflected RL in primary.\n",
+ "#i.e, R_out=Rp+(n**2 * RL), where n is the turns ratio\n",
+ "n=((R_out*1000-Rp)/RL)**0.5; #turns ratio\n",
+ "\n",
+ "#Result\n",
+ "print(\"Turns ratio for maximum power transfer=%d.\"%n);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Turns ratio for maximum power transfer=30.\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.19 : Page number 298"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import pi\n",
+ "\n",
+ "#Variable declaration\n",
+ "f=200.0; #Frequency, Hz\n",
+ "Z_out=10.0; #Output impedance of the transistor, kilo ohm\n",
+ "Z_in=2.5; #Input impedance of the next stage, kilo ohm\n",
+ "\n",
+ "#Calculation\n",
+ "#For perfect impedance matching,\n",
+ "#Z_out should be equal to primary impedance\n",
+ "#Z_out=2*pi*f*(primary inductance)\n",
+ "Lp=(Z_out*1000)/(2*pi*f); #Primary inductance, H\n",
+ "\n",
+ "#for the secondary side,\n",
+ "#Z_in should be equal to impedance of secondary\n",
+ "Ls=(Z_in*1000)/(2*pi*f); #Secondary inductance, H\n",
+ "\n",
+ "\n",
+ "#result\n",
+ "print(\"The primary inductance=%.0fH.\"%Lp);\n",
+ "print(\"The secondary inductance=%.0fH.\"%Ls);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The primary inductance=8H.\n",
+ "The secondary inductance=2H.\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.20 : Page number 299\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Lp=8.0; #Primary inductance, H\n",
+ "Ls=2.0; #Secondary inductance, H\n",
+ "K=10**-5; #Inductance to turns ratio, constant\n",
+ "\n",
+ "#Calculations\n",
+ "Np=(Lp/K)**0.5; #Primary turns\n",
+ "Ns=(Ls/K)**0.5; #Secondary turns\n",
+ "\n",
+ "#Result\n",
+ "print(\"The primary turns=%.0f.\"%Np);\n",
+ "print(\"The secondary turns=%.0f.\"%Ns);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The primary turns=894.\n",
+ "The secondary turns=447.\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.21 : Page number 300-301\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Variable declaration\n",
+ "VCC=12.0; #Collector supply voltage, V\n",
+ "R1=100.0; #Resistor R1, kilo ohm\n",
+ "R2=22.0; #Resistor R2, kilo ohm\n",
+ "R3=22.0; #Resistor R3, kilo ohm\n",
+ "R4=4.7; #Resistor R4, kilo ohm\n",
+ "R5=10.0; #Resistor R5, kilo ohm\n",
+ "R6=10.0; #Resistor R6, kilo ohm\n",
+ "beta=125; #Base current amplification factor\n",
+ "V_BE=0.7; #Base-emitter voltage, V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#(i) D.C voltages\n",
+ "#For 1st stage:\n",
+ "V_B1=VCC*R2/(R1+R2); #Voltage at the base of 1st transistor, V (Voltage across R2, using voltage divider rule)\n",
+ "V_E1=V_B1-V_BE; #Emitter voltage of the 1st transistor, V\n",
+ "I_E1=round(V_E1/R4,2); #Emitter current of 1st transistor, mA (OHM's LAW)\n",
+ "I_C1=I_E1; #Collector current of 1st transistor, mA(approximately equals to emitter current)\n",
+ "V_C1=VCC-I_C1*R3; #Collector voltage of 1st transistor, V\n",
+ "\n",
+ "#For 2nd stage:\n",
+ "V_B2=V_C1; #Voltage at the base of 2nd transistor, V (equals to collector voltage of 1st transistor)\n",
+ "V_E2=V_C1-V_BE; #Emitter voltage of the 2nd transistor, V\n",
+ "I_E2=V_E2/R6; #Emitter current of 2nd transistor, mA (OHM's LAW)\n",
+ "I_C2=I_E2; #Collector current 2nd transistor, mA(approximately equals to emitter current)\n",
+ "V_C2=VCC-I_C2*R5; #Collector voltage of 2nd transistor, V\n",
+ "\n",
+ "print(\"(i) D.C voltages\");\n",
+ "print(\"First stage: VB1=%.2fV , VE1=%.2fV and VC1=%.2fV\"%(V_B1,V_E1,V_C1));\n",
+ "print(\"First stage: VB2=%.2fV , VE2=%.2fV and VC2=%.2fV\"%(V_B2,V_E2,V_C2));\n",
+ "\n",
+ "#(ii)Voltage gain\n",
+ "#First stage\n",
+ "re_1=25/I_E1; #a.c emitter resistance of 1st transistor, ohm\n",
+ "re_2=25/I_E2; #a.c emitter resistance of 2nd transistor, ohm\n",
+ "Zin_2nd_stage=beta*re_2/1000; #Input impedance of 2nd stage, kilo ohm\n",
+ "R_AC=R3*Zin_2nd_stage/(R3+Zin_2nd_stage); #Total a.c collector load, kilo ohm\n",
+ "A_v1=round(R_AC*1000/re_1,0); #Voltage gain of first stage\n",
+ "\n",
+ "print(\"The voltage gain of first stage=%d.\"%A_v1);\n",
+ "\n",
+ "#Second stage\n",
+ "R_AC=R5; #Total a.c collector load for 2nd stage, kilo ohm(Due to no loading effect, equal to R5)\n",
+ "A_v2=round(R5*1000/re_2,0); #Voltage gain of 2nd stage\n",
+ "\n",
+ "print(\"The voltage gain of second stage=%d.\"%A_v2);\n",
+ "\n",
+ "A_vT=A_v1*A_v2; #Overall voltage gain\n",
+ "\n",
+ "print(\"Overall voltage gain=%d.\"%A_vT);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) D.C voltages\n",
+ "First stage: VB1=2.16V , VE1=1.46V and VC1=5.18V\n",
+ "First stage: VB2=5.18V , VE2=4.48V and VC2=7.52V\n",
+ "The voltage gain of first stage=66.\n",
+ "The voltage gain of second stage=179.\n",
+ "Overall voltage gain=11814.\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter12.ipynb b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter12.ipynb
new file mode 100644
index 00000000..05e3d9d8
--- /dev/null
+++ b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter12.ipynb
@@ -0,0 +1,968 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:1e9209171152811793fc18d1ee8c80ddcef574d69421ec87eeaa8fb87a304f6d"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 12: TRANSISTOR AUDIO POWER AMPLIFIERS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.1 : Page number 308\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=10.0; #Collector supply voltage, V\n",
+ "R1=10.0; #Resistor R1, kilo ohm\n",
+ "R2=2.2; #Resistor R2, kilo ohm\n",
+ "RC=3.6; #Collector resistor, kilo ohm\n",
+ "RE=1.1; #Emitter resistor, kilo ohm\n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "I1=VCC/(R1+R2); #Current through R1 and R2, mA (OHM's LAW)\n",
+ "V2=I1*R2; #Voltage across R2 resistor, V (OHM's LAW)\n",
+ "VE=V2-VBE; #Emitter voltage, V\n",
+ "IE=VE/RE; #Emitter current, mA (OHM's LAW)\n",
+ "IC=IE; #Collector current, mA (approximately equal to emitter current)\n",
+ "I_T=I1+IC; #Total current drawn from the supply, mA\n",
+ "P_dc=VCC*I_T; #Total power drawn from the supply, mW\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"The total power drawn from the supply=%.1fmW.\"%P_dc);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total power drawn from the supply=18.2mW.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.2 : Page number 309\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_L=10.6; #Voltage across load, V.(from a.c voltmeter, therfore r.m.s value)\n",
+ "R_L=200.0; #Load resistance, ohm\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, power =V**2/R,\n",
+ "P_O=(V_L**2/R_L)*1000; #A.C output power, mW\n",
+ "\n",
+ "#Result\n",
+ "print(\"The a.c output power = %.1fmW.\"%P_O);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The a.c output power = 561.8mW.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.3 : Page number 309\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "RL=100.0; #Load resistance, ohm\n",
+ "V_PP=18.0; #Peak-to-peak a.c voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, V(r.m.s)=(V(peak-to-peak)/2)/sqrt(2)\n",
+ "VL=V_PP/(2*(2**0.5)); #r.m.s value, V\n",
+ "\n",
+ "#Since, power=(square of voltage)/resistance\n",
+ "P_O_max=(VL**2/RL)*1000; #Maximum possible a.c load power, mW\n",
+ "\n",
+ "#Result\n",
+ "print(\"The maximum possible a.c load power=%dmW.\"%P_O_max);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum possible a.c load power=405mW.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.4 : Page number 310\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_battery=12.0; #Battery voltage, V\n",
+ "P_out=2.0; #Output power, W\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, Power=Current*Voltage\n",
+ "IC=(P_out/V_battery)*1000; #Maximum collector current , mA\n",
+ "\n",
+ "#Result\n",
+ "print(\"The maximum collector current=%.1fmA.\"%IC);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum collector current=166.7mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.5 : Page number 310\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_battery=12.0; #Battery voltage, V\n",
+ "RL=4.0; #Collector load, kilo ohm\n",
+ "\n",
+ "#Calculation\n",
+ "IC_max=V_battery/RL; #Maximum collector current, mA\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"The maximum collector current=%dmA.\"%IC_max);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum collector current=3mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.6 : Page number 310-311\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "P=50.0; #Power supplied by power amplifier, W\n",
+ "R=8.0; #Resistance of speaker, ohm\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "#Since, Power=Voltage _square/Resistance,\n",
+ "V=(P*R)**0.5; #a.c output voltage, V\n",
+ "\n",
+ "#(ii)\n",
+ "I=V/R; #a.c output current, A (OHM's LAW)\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The a.c output voltage=%dV.\"%V);\n",
+ "print(\"(ii) The a.c output current=%.1fA.\"%I);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The a.c output voltage=20V.\n",
+ "(ii) The a.c output current=2.5A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.7 : Page number 315\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=20.0; #Collector supply voltage, V\n",
+ "ib_peak=10.0; #Base current(peak), mA\n",
+ "RB=1.0; #Base resistance, kilo ohm\n",
+ "RC=20.0; #Collector resistance, ohm\n",
+ "beta=25.0; #Base current amplification factor\n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "IB=round(VCC-VBE/RB,1); #Base current, mA (OHM's LAW)\n",
+ "IC=int(beta*IB); #Collector current, mA\n",
+ "VCE=VCC-(IC/1000)*RC; #Collector emitter voltage, V (KVL)\n",
+ "\n",
+ "#(i)\n",
+ "ic_peak=beta*ib_peak; #Collector current(peak), mA\n",
+ "P_o_ac=(ic_peak/1000)**2*RC/2; #Output power, W\n",
+ "\n",
+ "#(ii)\n",
+ "P_dc=VCC*IC/1000; #Input power, W\n",
+ "\n",
+ "#(iii)\n",
+ "collector_efficiency=(P_o_ac/P_dc)*100; #Collector efficiency of the amplifier circuit,\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The output power=%.3fW.\"%P_o_ac);\n",
+ "print(\"(ii) The input power=%.1fW.\"%P_dc);\n",
+ "print(\"(iii) The collector efficiency=%.1f%%.\"%collector_efficiency);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The output power=0.625W.\n",
+ "(ii) The input power=9.6W.\n",
+ "(iii) The collector efficiency=6.5%.\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.8 : Page number 317\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "P_dc=10.0; #zero signal power dissipation, W\n",
+ "P_o=4.0; #a.c output power, W\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "Collector_eff=(P_o/P_dc)*100; #collector efficiency\n",
+ "\n",
+ "#(ii)\n",
+ "#Zero signal power is the maximum power dissipation in a transistor, therefore,\n",
+ "Power_rating=P_dc; #Power rating of the transistor, W\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The collector efficiency=%d%%.\"%Collector_eff);\n",
+ "print(\"(i) The power rating of the transistor=%dW.\"%Power_rating);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The collector efficiency=40%.\n",
+ "(i) The power rating of the transistor=10W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.9 : Page number 317-318\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "RL=100.0; #Secondary load, ohm\n",
+ "n=10.0; #Transformer turn ratio\n",
+ "IC=100.0; #Zero signal collector current, mA\n",
+ "\n",
+ "#Calculation\n",
+ "RL_reflected=n**2*RL; #Reflected load as seen by the primary of the transformer, ohm\n",
+ "P_o_ac_max=(IC/1000)**2*RL_reflected/2; #Maximum a.c power output, W \n",
+ "\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"The maximum a.c power output=%dW.\"%P_o_ac_max);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum a.c power output=50W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.10 : Page number 318\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=5.0; #Collector supply voltage, V\n",
+ "IC=50.0; #Zero signal collector current, mA\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "P_o_max=VCC*IC/2; #Maximum a.c output power, mW\n",
+ "\n",
+ "#(ii)\n",
+ "P_dc=VCC*IC; #D.C input power, mW\n",
+ "#Since, maximum power is dissipated in the zero signal conditions\n",
+ "Power_rating=P_dc; #Power rating of transistor, mW\n",
+ "\n",
+ "#(iii)\n",
+ "Max_collector_eff=(P_o_max/P_dc)*100; #Maximum collector efficiency\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The maximum a.c output power=%dmW\"%P_o_max);\n",
+ "print(\"(ii) The power rating of the transistor=%dmW.\"%Power_rating);\n",
+ "print(\"(iii) The maximum collector efficiency =%d%%.\"%Max_collector_eff);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The maximum a.c output power=125mW\n",
+ "(ii) The power rating of the transistor=250mW.\n",
+ "(iii) The maximum collector efficiency =50%.\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.11 : Page number 318\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "\n",
+ "#Variable declaration\n",
+ "ic_max=160.0; #Maximum a.c collector current, mA\n",
+ "ic_min=10.0; #Minimum a.c collector current, mA\n",
+ "vce_max=12.0; #Maximum collector-emitter voltage, V\n",
+ "vce_min=2.0; #Minimum collector-emitter voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "vce_pp=vce_max-vce_min; #peak to peak collector emitter voltage, V\n",
+ "ic_pp=ic_max-ic_min; #peak to peak collector current, V\n",
+ "P_o=(vce_pp/(2*sqrt(2)))*(ic_pp/(2*sqrt(2))); #a.c output power, mW\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"The a.c output power=%.1fmW.\"%P_o);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The a.c output power=187.5mW.\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.12 : Page number 319-320\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt \n",
+ "\n",
+ "#Variable declaration\n",
+ "VCC=12.0; #Battey voltage, V\n",
+ "IC_max_change=100.0; #maximum collector current change, mA\n",
+ "RL=5.0; #Loudspeaker resistance, ohm\n",
+ "\n",
+ "#Calculation\n",
+ "VCE_max_change=VCC; #Maximum collector-emitter voltage change\n",
+ "#(i) Loud speaker directly connected in the collector\n",
+ "Vmax_speaker=(IC_max_change/1000)*RL; #Maximum voltage across the loudspeaker, V\n",
+ "P_speaker_directly_coupled=Vmax_speaker*IC_max_change; #Power developed in the loudspeaker,mW\n",
+ "\n",
+ "#(ii) Loudspeaker transformer coupled\n",
+ "Z_out=(VCE_max_change/IC_max_change)*1000; #Output impedance of transistor, ohm\n",
+ "\n",
+ "#For max power transfer, primary impedance should be Z_out\n",
+ "RL_reflected=Z_out; #Load resistance as seen by primary, ohm\n",
+ "n=sqrt(RL_reflected/RL); #Turns ratio of transformer\n",
+ "Vp=VCC; #Transformer primary voltage, V\n",
+ "Vs=Vp/n; #Transformer secondary voltage, V\n",
+ "IL=Vs/RL; #Load current, A\n",
+ "P_speaker_transformer_coupled=IL**2*RL*1000; #Power delivered to the speaker, mW\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The power transferred to the speaker when directly coupled=%dmW.\"%P_speaker_directly_coupled);\n",
+ "print(\"(ii) The power trasnferred to the speaker when transformer-coupled=%dmW.\"%P_speaker_transformer_coupled);\n",
+ "print(\" The turns ratio=%.1f.\"%n);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The power transferred to the speaker when directly coupled=50mW.\n",
+ "(ii) The power trasnferred to the speaker when transformer-coupled=1200mW.\n",
+ " The turns ratio=4.9.\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.13 : Page number 320-321\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "\n",
+ "#Variable declaration\n",
+ "beta=100.0; #Base current amplification factor\n",
+ "RL=81.6; #Load resistance, ohm\n",
+ "VCE_peak=30.0; #Peak value of collector voltage, V\n",
+ "IC_peak=35.0; #Peak value of collector current, mA\n",
+ "VCE_min=5.0; #Minimum value of collector voltage, V\n",
+ "IC_min=1.0; #Minimum value of collector current, mA\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "IC_zero_signal=(IC_peak-IC_min)/2 +1; #Zero signal collector current, mA\n",
+ "\n",
+ "#(ii)\n",
+ "IB_zero_signal=IC_zero_signal/beta; #Zero signal base current, mA\n",
+ "\n",
+ "#(iii)\n",
+ "VCE_zero_signal=(VCE_peak-VCE_min)/2 +5; #Zero signal collector-emitter voltage, V\n",
+ "VCC=VCE_zero_signal; #Collector supply voltage,V (due to transformer coupling, aproximately equal to zero signal VCE)\n",
+ "P_dc=VCC*IC_zero_signal; #d.c input power, mW\n",
+ "VCE_ac=(VCE_peak-VCE_min)/(2*sqrt(2)); #a.c output voltage, V\n",
+ "IC_ac=(IC_peak-IC_min)/(2*sqrt(2)); #a.c output current, mA\n",
+ "P_ac=VCE_ac*IC_ac; #a.c output power, mW\n",
+ "\n",
+ "#(iv)\n",
+ "collector_eff=(P_ac/P_dc)*100; #Collector efficiency\n",
+ "\n",
+ "#(v)\n",
+ "#a.c resistance RL'=negative inverse of slope of the d.c load line\n",
+ "slope=(IC_peak-IC_min)/(VCE_min-VCE_peak); #Slope of he d.c load line, kilo mho\n",
+ "RL_ac=-(1/slope)*1000; #a.c resistance, ohm\n",
+ "n=sqrt(RL_ac/RL); #Transformer turn ratio\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The approximate value of zero signal collector current=%dmA.\"%IC_zero_signal);\n",
+ "print(\"(ii) The zero signal base current=%.2fmA.\"%IB_zero_signal);\n",
+ "print(\"(iii) The d.c input power= %dmW and a.c output power =%dmW.\"%(P_dc,P_ac));\n",
+ "print(\"(iv) The collector efficiency=%.1f%%.\"%collector_eff);\n",
+ "print(\"(v) The turn ratio of the transformer=%d.\"%n);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The approximate value of zero signal collector current=18mA.\n",
+ "(ii) The zero signal base current=0.18mA.\n",
+ "(iii) The d.c input power= 315mW and a.c output power =106mW.\n",
+ "(iv) The collector efficiency=33.7%.\n",
+ "(v) The turn ratio of the transformer=3.\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.14 : Page number 321-322\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "\n",
+ "#Variable declaration\n",
+ "RL=13.0; #Load resistance, ohm\n",
+ "RL_reflected=325.0; #Load resistance, when referred to primary, ohm\n",
+ "VCC=20.0; #Supply voltage, V\n",
+ "IC=58.0; #Quiscent value of collector current, mA\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "n=sqrt(RL_reflected/RL); #Transformer turn ratio\n",
+ "\n",
+ "#(ii)\n",
+ "P_ac=(((IC/1000)**2)*RL_reflected/2)*1000; #A.C output power, mW\n",
+ "\n",
+ "#(iii)\n",
+ "P_dc=VCC*IC; #d.c input power, mW\n",
+ "collector_eff=(P_ac/P_dc)*100; #Collector efficiency\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) Transformer turn ratio=%d.\"%n);\n",
+ "print(\"(ii) The a.c output power=%dmW.\"%P_ac);\n",
+ "print(\"(iii) The collector efficiency=%d%%.\"%collector_eff);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) Transformer turn ratio=5.\n",
+ "(ii) The a.c output power=546mW.\n",
+ "(iii) The collector efficiency=47%.\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.15 : Page number 323\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "P_total=4.0; #Total power dissipated by the power transistor, W\n",
+ "T_j_max=90.0; #Maximum junction temperature, degree celsius\n",
+ "theta=10.0; #Thermal resistance, degree celsius per watt\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, Total power dissipation=half of(max. junc. temp. - ambient temp.)\n",
+ "T_amb=T_j_max-(P_total*theta); #Ambient temperature, degree celsius\n",
+ "\n",
+ "#Result\n",
+ "print(\"The ambient temperature=%d degree celsius.\"%T_amb);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The ambient temperature=50 degree celsius.\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.16 : Page number 323-324\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "theta=300.0; #Thermal resistance, degree celsius per watt\n",
+ "T_j_max=90.0; #Maximum junction temperature, degree celsius\n",
+ "T_amb=30.0; #Ambient temperature, degree celsius\n",
+ "\n",
+ "#Calculation\n",
+ "#(i) Without heat sink\n",
+ "P_total=((T_j_max-T_amb)/theta)*1000; #Maximum permissible power dissipation without sink, mW\n",
+ "\n",
+ "print(\"(i)The maximum permissible power dissipation without heat sink=%dmW.\"%P_total);\n",
+ "\n",
+ "#(ii) With heat sink\n",
+ "theta=60.0; #reduced thermal resistance, degree celsius per watt\n",
+ "P_total=((T_j_max-T_amb)/theta)*1000; #Maximum permissible power dissipation with heat sink, mW\n",
+ "\n",
+ "print(\"(ii)The maximum permissible power dissipation with heat sink=%dmW.\"%P_total);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i)The maximum permissible power dissipation without heat sink=200mW.\n",
+ "(ii)The maximum permissible power dissipation with heat sink=1000mW.\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.17 : Page number 324\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "theta=20.0; #Thermal resistance, degree celsius per watt\n",
+ "T_j_max=200.0; #Maximum junction temperature, degree celsius\n",
+ "T_amb=25.0; #Ambient temperature, degree celsius\n",
+ "VCE=4.0; #Collector-emitter voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "P_total=(T_j_max-T_amb)/theta; #Maximum permissible power dissipation, W\n",
+ "\n",
+ "#since, the max. power dissipation=VCE_max*IC_max,therefore\n",
+ "IC_max=P_total/VCE; #Maximum collector current, A\n",
+ "\n",
+ "print(\"The maximum collector current that the transistor can carry without destruction=%.2fA.\"%IC_max);\n",
+ "\n",
+ "#The ambient temperature rises\n",
+ "T_amb=75.0; #The risen ambibent temperature, degree celsius\n",
+ "P_total=(T_j_max-T_amb)/theta; #Maximum permissible power dissipation, W\n",
+ "IC_max=P_total/VCE; #Maximum collector current, A\n",
+ "\n",
+ "print(\"The maximum collector current for the risen ambient temperature=%.2fA.\"%IC_max);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum collector current that the transistor can carry without destruction=2.19A.\n",
+ "The maximum collector current for the risen ambient temperature=1.56A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.18 : Page number 328-329\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import pi\n",
+ "\n",
+ "#Variable declaration\n",
+ "VCC=12.0; #Supply voltage, V\n",
+ "RL=8.0; #Driving load, ohm\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "IC_sat=VCC/(2*RL); #Collector saturation current, A\n",
+ "P_o_max=round(VCC*IC_sat*0.25,2); #Maximum load power, W\n",
+ "\n",
+ "#(ii)\n",
+ "P_dc=round(VCC*IC_sat/round(pi,2),2); #d.c input power, W\n",
+ "\n",
+ "#(iii)\n",
+ "Collector_eff=(P_o_max/P_dc)*100; #Collector efficiency\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The maximum load power =%.2fW.\"%P_o_max);\n",
+ "print(\"(ii) The d.c input power=%.2fW.\"%P_dc);\n",
+ "print(\"(iii) The collector efficiency=%.1f%%.\"%Collector_eff);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The maximum load power =2.25W.\n",
+ "(ii) The d.c input power=2.87W.\n",
+ "(iii) The collector efficiency=78.4%.\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.19 : Page number 329\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "P_T=10.0; #Power rating of each transistor, W\n",
+ "max_eff=0.785; #Maximum collector effciency\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, input power=max. a.c power + Power rating of transistor\n",
+ "#And, max. efficiency=max. a.c power/input d.c power\n",
+ "P_2T=2*P_T; #Total power dissipation by two transistors\n",
+ "P_o_max=(max_eff*P_2T)/(1-max_eff); #Maximum output a.c power, W\n",
+ "\n",
+ "#result\n",
+ "print(\"The maximum output power that can be obtained=%.2fW.\"%P_o_max);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum output power that can be obtained=73.02W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.20 : Page number 329\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "eff=60.0/100; #Efficiency of the amplifier\n",
+ "P_T=2.5; #Power dissipated by each transistor, W\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, input power=max. a.c power + Power rating of transistor\n",
+ "#And, max. efficiency=max. a.c power/input d.c power\n",
+ "P_2T=2*P_T; #Total power dissipated by both transistors, W\n",
+ "P_ac=(eff*P_2T)/(1-eff); #Output a.c power, W\n",
+ "P_dc=P_ac+P_2T; #Input d.c power, W\n",
+ "\n",
+ "#Result\n",
+ "print(\"The a.c output power= %.1fW.\"%P_ac);\n",
+ "print(\"The d.c input power= %.1fW.\"%P_dc);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The a.c output power= 7.5W.\n",
+ "The d.c input power= 12.5W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 12.21 : Page number 329-330\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=10.0; #Supply voltage, V\n",
+ "RL=10.0; #Load resistance, ohm\n",
+ "\n",
+ "#Calculation\n",
+ "IC_sat=(VCC/(2*RL))*1000; #Saturated collector current, mA\n",
+ "VCE_off=VCC/2; #Collector-emitter voltage in off state, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"1st end point of a.c load line, IC(sat)=%dmA.\"%IC_sat);\n",
+ "print(\"2nd end point of a.c load line, VCE(off)=%dV.\"%VCE_off);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "1st end point of a.c load line, IC(sat)=500mA.\n",
+ "2nd end point of a.c load line, VCE(off)=5V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter13.ipynb b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter13.ipynb
new file mode 100644
index 00000000..8c036515
--- /dev/null
+++ b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter13.ipynb
@@ -0,0 +1,1147 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:950272de386b8a006089886b37042be2cbcff413c494ad9f74eae7a1268e49ba"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 13: AMPLIFIERS WITH NEGATIVE FEEDBACK"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.1 : Page number 338\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Av=3000.0; #Voltage gain without feedback\n",
+ "m_v=0.01; #Feedback fraction\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, Gain_with_feedback= Gain_without_feedback/(1+Gain_without_feedback*feedback_fraction),\n",
+ "Avf=Av/(1+Av*m_v); #Voltage gain of the amplifier with negative feedback\n",
+ "\n",
+ "#Result\n",
+ "print(\"The voltage gain of the amplifier with negative feedback=%.0f.\"%Avf);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The voltage gain of the amplifier with negative feedback=97.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.2 : Page number 339\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Av=140.0; #Voltage gain\n",
+ "Avf=17.5; #Voltage gain with negative feedback\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, Avf=Av/(1+Av*mv), so,\n",
+ "mv=(Av-Avf)/(Av*Avf); #Fraction of output fedback to the input\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"The fraction of output fedback to the input=1/%.0f.\"%(1.0/mv));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The fraction of output fedback to the input=1/20.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.3 : Page number 339\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Av=100.0; #Voltage gain\n",
+ "Avf=50.0; #Voltage gain with negative feedback\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "#Since, Gain_with_feedback= Gain_without_feedback/(1+Gain_without_feedback*feedback_fraction),\n",
+ "mv=(Av-Avf)/(Av*Avf); #The fraction of output fedback to input\n",
+ "\n",
+ "#(ii) Overall gain is to be 75:\n",
+ "Avf=75.0; #The required overall gain\n",
+ "#Since, Gain_with_feedback= Gain_without_feedback/(1+Gain_without_feedback*feedback_fraction),\n",
+ "Av=Avf/(1-Avf*mv); #The required value of amplifier gain\n",
+ "\n",
+ "#result\n",
+ "print(\"(i) The fraction of output fedback to input=%.2f.\"%mv);\n",
+ "print(\"(ii) The required amplifier gain for overall gain to be 75=%d.\"%Av);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The fraction of output fedback to input=0.01.\n",
+ "(ii) The required amplifier gain for overall gain to be 75=300.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.4 : Page number 339-340\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Vout=10.0; #output voltage , V\n",
+ "Vin_f=0.5; #Input votage for amplifier with feedback, V\n",
+ "Vin=0.25; #Input votage for amplifier without feedback, V\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "Av=Vout/Vin; #Voltage gain without negative feedback\n",
+ "\n",
+ "#(ii)\n",
+ "Avf=Vout/Vin_f; #Voltage gain with negative feedback\n",
+ "#Since, Gain_with_feedback= Gain_without_feedback/(1+Gain_without_feedback*feedback_fraction),\n",
+ "mv=(Av-Avf)/(Av*Avf); #Feedback fraction\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The voltage gain without feedback=%d.\"%Av);\n",
+ "print(\"(ii) The feedback fraction = 1/%d.\"%(1/mv));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The voltage gain without feedback=40.\n",
+ "(ii) The feedback fraction = 1/40.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.5 : Page number 340\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Av=50.0; #Gain without feedback\n",
+ "Avf=25.0; #Gain with negative feedback\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, Gain_with_feedback= Gain_without_feedback/(1+Gain_without_feedback*feedback_fraction),\n",
+ "mv=(Av-Avf)/(Av*Avf); #Feedback fraction\n",
+ "\n",
+ "#(i)\n",
+ "#percentage of reduction without feedback\n",
+ "Av_reduced=40.0; #Reduced amplifier gain due to ageing\n",
+ "percentage_of_reduction=((Av-Av_reduced)/Av)*100; #Percentage of reduction in stage gain\n",
+ "\n",
+ "print(\"(i) The percentage of reduction in stage gain without feedback=%d%%.\"%percentage_of_reduction);\n",
+ "\n",
+ "#(ii)\n",
+ "#Since, Gain_with_feedback= Gain_without_feedback/(1+Gain_without_feedback*feedback_fraction),\n",
+ "Avf_reduced=round(Av_reduced/(1+mv*Av_reduced),1); #Reduced net gain with negative feedback \n",
+ "percentage_of_reduction_f=((Avf-Avf_reduced)/Avf)*100; #Percentage of reduction in net gain with feedback\n",
+ "\n",
+ "print(\"(ii) The percentage of reduction in net gain with feedback=%.1f%%\"%percentage_of_reduction_f);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The percentage of reduction in stage gain without feedback=20%.\n",
+ "(ii) The percentage of reduction in net gain with feedback=11.2%\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.6 : Page number 340\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Av=100.0; #Gain\n",
+ "mv=0.1; #feedback fraction\n",
+ "Av_fall=6.0; #fall in gain, dB\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, Gain_with_feedback= Gain_without_feedback/(1+Gain_without_feedback*feedback_fraction),\n",
+ "Avf=round(Av/(1+Av*mv),2); #Total system gain with feedback\n",
+ "\n",
+ "#Since, fall in gain=20*log10(Av/Av_1)\n",
+ "Av1=round(Av/10**(Av_fall/20),0); #New absolute voltage gain without feedback\n",
+ "#Since, Gain_with_feedback= Gain_without_feedback/(1+Gain_without_feedback*feedback_fraction),\n",
+ "Avf_new=round(Av1/(1+Av1*mv),2); #New net system gain with feedback\n",
+ "\n",
+ "percentage_change=((Avf-Avf_new)/Avf)*100; #Percentage change in system gain\n",
+ "\n",
+ "#Result\n",
+ "print(\"The percentage change in system gain=%.2f%%\"%percentage_change);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The percentage change in system gain=8.36%\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.7 : Page number 341\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Av=500.0; #Voltage gain without feedback\n",
+ "Avf=100.0; #Voltage gain with negative feedback\n",
+ "Av_fall_percentage=20.0; #Gain fall percentage due to ageing\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, Gain_with_feedback= Gain_without_feedback/(1+Gain_without_feedback*feedback_fraction),\n",
+ "mv=(Av-Avf)/(Av*Avf); #Feedback fraction\n",
+ "Av_reduced=((100-Av_fall_percentage)/100)*Av; #Reduced voltage gain\n",
+ "Avf_reduced=round(Av_reduced/(1+Av_reduced*mv),1); #Reduced total gain of the system\n",
+ "percentage_fall=((Avf-Avf_reduced)/Avf)*100; #Percentage of fall in total system gain\n",
+ "\n",
+ "#Result\n",
+ "print(\"The feedback fraction=%.3f.\"%mv);\n",
+ "print(\"The percentage fall in system gain=%.1f%%.\"%percentage_fall);\n",
+ "\n",
+ "#Note: The percentage gain is calculated in the text as 4.7% due to approximation of Avf to 95.3 whose actual approximation will be (95.238)~95.2. So, the percentage fall calculated here is 4.8%\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The feedback fraction=0.008.\n",
+ "The percentage fall in system gain=4.8%.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.8 : Page number 341\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import log10\n",
+ "\n",
+ "#Variable declaration\n",
+ "Av=100000.0; #Open loop voltage gain\n",
+ "f_dB=10.0; #Negative feedback, dB\n",
+ "\n",
+ "#Calculation\n",
+ "Av_dB=20*log10(Av); #dB voltage gain without feedback, dB\n",
+ "Avf_dB=Av_dB-f_dB; #dB voltage gain with feedback, dB\n",
+ "Avf=10**(Avf_dB/20); #Voltage gain with feedback\n",
+ "\n",
+ "#Since, Gain_with_feedback= Gain_without_feedback/(1+Gain_without_feedback*feedback_fraction),\n",
+ "mv=(Av-Avf)/(Av*Avf); #feedback fraction\n",
+ "\n",
+ "#Result\n",
+ "print(\"The voltage gain with feedback=%d.\"%Avf);\n",
+ "print(\"The feedback fraction=%.2e.\"%mv);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The voltage gain with feedback=31622.\n",
+ "The feedback fraction=2.16e-05.\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.9 : Page number 341-342\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Ao=1000.0; #Open circuit voltage gain\n",
+ "Rout=100.0; #Output resistance, ohm\n",
+ "RL=900.0; #Resistive load, ohm\n",
+ "mv=1/50; #feedback fraction\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, Av=Ao*RL/(Rout+RL)\n",
+ "Av=Ao*RL/(Rout+RL); #Voltage gain without feedback\n",
+ "Avf=Av/(1+Av*mv); #Voltage gain with feedback\n",
+ "\n",
+ "#Result\n",
+ "print(\"The voltage gain with feedback=%.1f.\"%Avf);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The voltage gain with feedback=900.0.\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.10 : Page number 342\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Avf=100.0; #Voltage gain with feedback\n",
+ "vary_f=1; #Vary percentage in voltage gain with feedback\n",
+ "vary_wf=20; #Vary percentage in voltage gain without feedback\n",
+ "\n",
+ "#Calculation\n",
+ "#Avf=Av/(1+Av*mv)\n",
+ "print(\"%d=Av/(1+Av*mv) ------Eq. 1\"%Avf); #Equation 1\n",
+ "\n",
+ "#considering variation in gains\n",
+ "Avf_vary=Avf*(1- vary_f/100.0); #Gain with feedback, considering variation\n",
+ "print(\"%d=%.1f*Av/(1+%.1f*Av*mv) ------Eq. 2\"%(Avf_vary,(1-vary_wf/100.0),(1-vary_wf/100.0))); #Equation 2\n",
+ "\n",
+ "#Solving the above two equations\n",
+ "print(\"%d + %.1f*Av*mv=%.1fAv ------Eq. 3 from Eq. 2\"%(Avf_vary,Avf_vary*(1-vary_wf/100.0),(1-vary_wf/100.0))); #Equation 3\n",
+ "\n",
+ "#multiplying Eq. 1 with (Avf_vary*(1-vary_wf/100.0))/100=0.792\n",
+ "print(\"%.1f + %.1f*Av*mv=%.3fAv ------Eq. 4 from Eq. 1\"%(Avf*Avf_vary*(1-vary_wf/100.0)/100.0,Avf*Avf_vary*(1-vary_wf/100.0)/100.0,Avf_vary*(1-vary_wf/100.0)/100.0)); #Equation 4\n",
+ "\n",
+ "print(\"Subtracting Eq.4 from Eq.3\" );\n",
+ "print(\"%.1f = %.3f*Av\"%(Avf_vary-Avf*Avf_vary*(1-vary_wf/100.0)/100.0,(1-vary_wf/100.0)-Avf_vary*(1-vary_wf/100.0)/100.0));\n",
+ "Av=(Avf_vary-Avf*Avf_vary*(1-vary_wf/100.0)/100.0)/((1-vary_wf/100.0)-Avf_vary*(1-vary_wf/100.0)/100.0);\n",
+ "print(\"Av=%.0f.\"%Av);\n",
+ "mv=(Av-Avf)/(Av*Avf);\n",
+ "print(\"mv=%.4f.\"%mv);\n",
+ " "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "100=Av/(1+Av*mv) ------Eq. 1\n",
+ "99=0.8*Av/(1+0.8*Av*mv) ------Eq. 2\n",
+ "99 + 79.2*Av*mv=0.8Av ------Eq. 3 from Eq. 2\n",
+ "79.2 + 79.2*Av*mv=0.792Av ------Eq. 4 from Eq. 1\n",
+ "Subtracting Eq.4 from Eq.3\n",
+ "19.8 = 0.008*Av\n",
+ "Av=2475.\n",
+ "mv=0.0096.\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.11 : Page number 345\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Av=10000.0; #Volage gain without feedback\n",
+ "R1=2.0; #Resistor R1, kilo ohm\n",
+ "R2=18.0; #Resistor R2, kilo ohm\n",
+ "Vin=1.0; #input voltage, mV\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "mv=R1/(R1+R2); #feedback fraction\n",
+ "\n",
+ "#(ii)\n",
+ "#Since, Gain_with_feedback= Gain_without_feedback/(1+Gain_without_feedback*feedback_fraction),\n",
+ "Avf=round(Av/(1+Av*mv),0); #Voltage gain with feedback\n",
+ "\n",
+ "#(iii)\n",
+ "Vout=Avf*Vin; #Output voltage, mV\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) Feedback fraction=%.1f.\"%mv);\n",
+ "print(\"(ii) Voltage gain with feedback=%d.\"%Avf);\n",
+ "print(\"(iii) Output voltage=%dmV.\"%Vout);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) Feedback fraction=0.1.\n",
+ "(ii) Voltage gain with feedback=10.\n",
+ "(iii) Output voltage=10mV.\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.12 : Page number 345-346\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Av=10000.0; #Volateg gain without feedback\n",
+ "Zin=10.0; #Input impedance, kilo ohm\n",
+ "Zout=100.0; #Output impedance, ohm\n",
+ "R1=10.0; #Resistor R1, kilo ohm\n",
+ "R2=90.0; #Resistor R2, kilo ohm\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "mv=R1/(R1+R2); #Feedback fraction\n",
+ "\n",
+ "#(ii)\n",
+ "#Since, Gain_with_feedback= Gain_without_feedback/(1+Gain_without_feedback*feedback_fraction),\n",
+ "Avf=round(Av/(1+Av*mv),0); #Voltage gain with feedback\n",
+ "\n",
+ "#(iii)\n",
+ "Zin_feedback=((1+Av*mv)*Zin)/1000; #Increased input impedance due to negative feedback, mega ohm\n",
+ "\n",
+ "#(iv)\n",
+ "Zout_feedback=Zout/(1+Av*mv); #Decreased output impedance due to negative feedback, ohm\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) Feedback fraction=%.1f.\"%mv);\n",
+ "print(\"(ii) The voltage gain with feedback=%d.\"%Avf);\n",
+ "print(\"(iii) Increased input impedance due to negative feedback=%.0f mega ohm\"%Zin_feedback);\n",
+ "print(\"(iv) Decreased output impedance due to negative feedback=%.1f ohm.\"%Zout_feedback);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) Feedback fraction=0.1.\n",
+ "(ii) The voltage gain with feedback=10.\n",
+ "(iii) Increased input impedance due to negative feedback=10 mega ohm\n",
+ "(iv) Decreased output impedance due to negative feedback=0.1 ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.13 : Page number 346\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Av=150.0; #Voltage gain\n",
+ "D=5/100.0; #Distortion\n",
+ "mv=10/100.0; #Feedback fraction\n",
+ "\n",
+ "#Calculation\n",
+ "Dvf=round((D/(1+Av*mv))*100,3); #Distortion with negative feedback\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"Distortion with negative feedback=%.3f%%\"%Dvf);\n",
+ "\n",
+ "#Note: In the text, value of Dvf=0.3125% has been approximated to 0.313%. But, here the approximation is done to 0.312%\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Distortion with negative feedback=0.313%\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.14 : Page number 346\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Av=1000.0; #Voltage gain\n",
+ "f1=1.5; #Lower cut-off frequency, kHz\n",
+ "f2=501.5; #Upper cut-off frequency, kHz\n",
+ "mv=1/100.0; #Feedbcack fraction\n",
+ "\n",
+ "#Calculation\n",
+ "f1_f=(f1/(1+mv*Av))*1000; #New lower cut-off frequency, Hz\n",
+ "f2_f=(f2*(1+mv*Av))/1000; #New upper cut-off frequency, MHz\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"The new lower cut-off frequency=%.1fHz\"%f1_f);\n",
+ "print(\"The new upper cut-off frequency=%.2fMHz\"%f2_f);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The new lower cut-off frequency=136.4Hz\n",
+ "The new upper cut-off frequency=5.52MHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.15 : Page number 348\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Ai=200.0; #Current gain without feedback\n",
+ "mi=0.012; #Current attenuation\n",
+ "\n",
+ "#Calculation\n",
+ "Aif=Ai/(1+Ai*mi);\n",
+ "\n",
+ "#Result\n",
+ "print(\"The effective current gain=%.2f.\"%Aif);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The effective current gain=58.82.\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.16 : Page number 349\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Ai=240.0; #Current gain\n",
+ "Zin=15.0; #Input impedance without feedback, kilo ohm\n",
+ "mi=0.015; #Current feedback fraction\n",
+ "\n",
+ "#Calculations\n",
+ "Zin_f=Zin/(1+mi*Ai); #Input impedance with feedback, kilo ohm\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"The input impedance when negative feedback is applied=%.2f kilo ohm\"%Zin_f);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The input impedance when negative feedback is applied=3.26 kilo ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.17 : Page number 349\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Ai=200.0; #Current gain without feedback\n",
+ "Zout=3.0; #Output impedance without feedback, kilo ohm\n",
+ "mi=0.01; #current feedback fraction\n",
+ "\n",
+ "#Calculation\n",
+ "Zout_f=Zout*(1+mi*Ai); #Output impedance with negative feedback, kilo ohm\n",
+ "\n",
+ "#Result\n",
+ "print(\"The output impedance with negative feedback=%dkilo ohm.\"%Zout_f);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The output impedance with negative feedback=9kilo ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.18 : Page number 349\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Ai=250.0; #Current gain without feedback\n",
+ "BW=400.0; #Bandwidth, kHz\n",
+ "mi=0.01; #current feedback fraction\n",
+ "\n",
+ "#Calculation\n",
+ "BW_f=BW*(1+mi*Ai); #Bandwidth when negative feedback is applied, kHz\n",
+ "\n",
+ "#Result\n",
+ "print(\"Bandwidth when negative feedback is applied=%dkHz.\"%BW_f);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Bandwidth when negative feedback is applied=1400kHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.19 : Page number 350-351\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Variable declaration\n",
+ "VCC=18.0; #Supply voltage, V\n",
+ "R1=16.0; #Resistor R1, kilo ohm\n",
+ "R2=22.0; #Resistor R2, kilo ohm\n",
+ "RE=910.0; #Emitter resistor, ohm\n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "\n",
+ "#Calculations\n",
+ "V2=VCC*R2/(R1+R2); #Voltage across R2, V (Voltage divider rule)\n",
+ "VE=V2-VBE; #Emitter voltage, V\n",
+ "IE=(VE/RE)*1000; #Emitter current, mA (OHM's LAW)\n",
+ "\n",
+ "#D.C load line\n",
+ "IC_sat=(VCC/RE)*1000; #Collector saturation current, mA\n",
+ "VCE_off=VCC; #Collector-emitter voltage in off state, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"Value of VE=%.2fV and IE=%.2fmA\"%(VE,IE));\n",
+ "\n",
+ "#Plotting\n",
+ "VCE_plot=[0,VCE_off]; #Plotting variable for VCE\n",
+ "IC_plot=[IC_sat,0]; #Plotting variable for IC\n",
+ "p=plot(VCE_plot,IC_plot);\n",
+ "limit = plt.gca()\n",
+ "limit.set_xlim([0,20])\n",
+ "limit.set_ylim([0,25])\n",
+ "xlabel('VCE(V)');\n",
+ "ylabel('IC(mA)');\n",
+ "title('d.c load line');\n",
+ "plt.grid();\n",
+ "show(p);\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of VE=9.72V and IE=10.68mA\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAYEAAAEZCAYAAABxbJkKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X2czXX6x/HXGeQmwxAGoVHIMGNmEJGbkYgaN5nIVHbc\nbf0osWqlWjfZcrPJTbpdN6m1bktSZMl2rKjEjki1k81oMINxU6ZiMOf3x2dNTWY0M77nfM853/fz\n8ZjHds7cnMv1ODvXfK/r+/l8XB6Px4OIiDhSiN0BiIiIfVQEREQcTEVARMTBVARERBxMRUBExMFU\nBEREHExFQALSwIEDGTdu3GX9jLS0NEJCQsjNzbUoqp/Fx8czf/78Aj83ceJEBgwYAMC3335LaGgo\nulNb7FLa7gBESsLlcuFyuewOo1CXiu+Xz9erV49Tp075KiyRi+hKQAJWoP71HKhxS3BSEZCAkJKS\nQvPmzalUqRL9+/fn9OnThX5tbm4ukydPpkGDBlSqVImWLVty4MCB33yNQ4cO0bNnT6666ioaNmzI\nvHnz8j63bds22rRpQ5UqVahduzYjRozg7NmzeZ/fsGEDjRs3JiwsjBEjRuDxeIr0y/7XLan4+HjG\njx9Pu3btqFSpErfeeivHjh3L+/qPP/6Ytm3bUqVKFWJjY9m0adNvvobIpagIiN/Lycmhd+/eJCcn\nc+LECfr27cubb75ZaLvl2WefZenSpbz33nt8//33vPrqq1SoUOE3X6d///7Uq1ePjIwM3njjDR5/\n/HE++OADAEqXLs3s2bM5duwYH330ERs3buTFF18EICsri8TERCZPnsyxY8e47rrr2LJlS4nbVUuW\nLGHhwoUcOXKEnJwcpk+fDsDBgwdJSEhg/PjxnDhxgunTp5OYmEhWVlaJXkcEVAQkAHz88cecO3eO\nkSNHUqpUKRITE7nhhhsK/fr58+fz9NNP07BhQwCio6OpWrXqJV8jPT2drVu3Mm3aNK644gpiYmIY\nOnQor7/+OgDNmzenVatWhISEcM0113Dffffl/RW+du1aoqKi6NOnD6VKlWLUqFHUrFmzRP9Wl8vF\noEGDaNCgAeXKlaNfv37s3LkTgEWLFnHbbbfRrVs3AG655RZatmzJ2rVrS/RaIqAiIAHg0KFDXH31\n1fmeu+aaawptt6Snp3PdddcV+zWqVq3KlVdemfdcvXr1OHjwIACpqakkJCRQq1YtKleuzBNPPJHX\npjl06BB16tTJ9/Pq1q1brNf/pV8WkPLly5OdnQ3A/v37WbFiBVWqVMn72LJlC5mZmSV+LREVAfF7\ntWrVyvtlfMH+/fsLbbfUrVuXvXv3Fus1ateuzfHjx/N+4YK5ffPCL/dhw4bRpEkT9u7dy3fffcfT\nTz+d18evXbs26enped/n8XjyPf61kraJ6tWrx4ABAzhx4kTex6lTpxgzZkyJfp4IqAhIAGjbti2l\nS5fmueee4+zZs6xcuZJPP/200K8fOnQo48aNY+/evXg8Hnbt2sXx48cv+Rp169albdu2PPbYY5w5\nc4Zdu3axYMEC7r33XgCys7MJDQ2lQoUKfPXVV7z00kt533vbbbexZ88e3nrrLc6dO8dzzz13yb/O\nf2tgXNjn7733Xt555x3Wr1/P+fPnOX36NG63+6ICKVIcKgLi98qUKcPKlStZuHAhV111FcuXLycx\nMTHv8xcWXF24A2j06NH069ePrl27UrlyZX7/+98XejfRL/8qX7JkCWlpadSuXZs+ffowadIkbr75\nZgCmT5/O4sWLqVSpEvfddx/9+/fP+95q1aqxYsUKxo4dS7Vq1di7dy/t2rUr9N/z6zUEv74y+PXn\nLjyuU6cOb7/9NpMnT6ZGjRrUq1ePZ5991iuL3cQ5XN46VCY9PZ3f/e53HDlyBJfLxX333cdDDz3E\nxIkTmTdvHtWrVwdgypQpeYMuERHxLa8VgczMTDIzM4mNjSU7O5sWLVqwatUqli9fTmhoKKNHj/bG\ny4qISDF4bduImjVr5t3lULFiRSIjI/N6l1oxKSLiH3wyE0hLSyMlJYUbb7wRgDlz5hATE8OQIUM4\nefKkL0IQEZECeL0IZGdnc+eddzJ79mwqVqzIsGHD2LdvHzt37qRWrVo8/PDD3g5BREQK4bWZAMDZ\ns2dJSEige/fujBo16qLPp6Wl0aNHD3bv3p0/KD/eHVJExJ8V91e6164EPB4PQ4YMoUmTJvkKQEZG\nRt5/v/XWW0RHRxf6/fqw5mPChAm2xxBMH8qn8umvHyXhtcHwli1bWLRoEc2aNSMuLg6AyZMns2TJ\nEnbu3InL5aJ+/fq88sor3gpB/ictLc3uEIKK8mkt5dNeXisC7dq1K3ARS/fu3b31kiIiUkxaMewA\nAwcOtDuEoKJ8Wkv5tJdXB8Ml5XK5StzfEhFxqpL87tSVgAO43W67Qwgqyqe1lE97qQiIiDiY2kEi\n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\nVARERBzs/wEyuwnCdMXkIQAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f109441f290>"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.20 : Page number 352\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=10.0; #Supply voltage, V\n",
+ "R1=10.0; #Resistor R1, kilo ohm\n",
+ "R2=10.0; #Resistor R2, kilo ohm\n",
+ "RE=5.0; #Emitter resistance, kilo ohm\n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "V2=VCC*R2/(R1+R2); #Voltage across R2, V (Voltage divider rule)\n",
+ "VE=V2-VBE; #Emitter voltage, V\n",
+ "IE=(VE/RE); #Emitter current, mA (OHM's LAW)\n",
+ "re=25/IE; #a.c emitter resistance, ohm\n",
+ "Av=RE*1000/(re+RE*1000); #Voltage gain\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"The voltage gain of the emitter follower circuit=%.3f.\"%Av);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The voltage gain of the emitter follower circuit=0.994.\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.21 : Page number 352-353\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "RE=5.0; #Emitter resistance, kilo ohm\n",
+ "re=29.1; #a.c emitter resistance, ohm\n",
+ "RL=5.0; #Load resistance, kilo ohm\n",
+ "\n",
+ "#Calculation\n",
+ "RE_ac=(RE*RL)/(RE+RL); #New effective value of emitter resistance, kilo ohm\n",
+ "Av=RE_ac*1000/(re+RE_ac*1000); #Voltage gain\n",
+ "\n",
+ "#Result\n",
+ "print(\"The voltage gain=%.3f\"%Av);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The voltage gain=0.988\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.22 : Page number 354\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "def pr(r1,r2): #Function for calculating parallel resistance\n",
+ " return (r1*r2)/(r1+r2);\n",
+ "\n",
+ "#Variable declaration\n",
+ "VCC=10.0; #Supply voltage, V\n",
+ "R1=10.0; #Resistor R1, kilo ohm\n",
+ "R2=10.0; #Resistor R2, kilo ohm\n",
+ "RE=4.3; #Emitter resistor, kilo ohm\n",
+ "RL=10.0; #Load resistance, kilo ohm\n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "beta=200.0; #Base current amplification factor\n",
+ "\n",
+ "#Calculation\n",
+ "V2=VCC*R2/(R1+R2); #Voltage across R2, V (Voltage divider rule)\n",
+ "VE=V2-VBE; #Emitter voltage, V\n",
+ "IE=(VE/RE); #Emitter current, mA (OHM's LAW)\n",
+ "re=25/IE; #a.c emitter resistance, ohm\n",
+ "RE_eff=pr(RE,RL); #Effective external emitter resistance, kilo ohm\n",
+ "Zin_base=beta*(re/1000+RE_eff); #Input impedance of the base of the transistor, kilo ohm\n",
+ "Zin=pr(pr(R1,R2),Zin_base); #Input impedance of emitter follower, kilo ohm\n",
+ "#Approximate value of input impedance taken as parallel resistance of R1 and R2 and ignoring Zin_base due to its relatively large value\n",
+ "Zin_approx=pr(R1,R2); #Approximate input impedance, kilo ohm\n",
+ "\n",
+ "#Result\n",
+ "print(\"The input impedance of the emitter follower =%.2f kilo ohm\"%Zin);\n",
+ "print(\"The approximate value of the input impedance=%d kilo ohm\"%Zin_approx);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The input impedance of the emitter follower =4.96 kilo ohm\n",
+ "The approximate value of the input impedance=5 kilo ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.23 : Page number 355\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "def pr(r1,r2): #Function for calculating parallel resistance\n",
+ " return (r1*r2)/(r1+r2);\n",
+ "\n",
+ "\n",
+ "#Variable declaration\n",
+ "re=20.0; #a.c emitter resistance, ohm\n",
+ "R1=3.0; #Resistor R1, kilo ohm\n",
+ "R2=4.7; #Resistor R2, kilo ohm\n",
+ "RS=600.0; #Source resistance, kilo ohm\n",
+ "beta=200.0; #Base current amplification factor\n",
+ "\n",
+ "#Calculation\n",
+ "Rin_ac=pr(pr(R1,R2)*1000,RS); #Input a.c resistance, ohm\n",
+ "Zout=re + Rin_ac/beta; #Output impedance, ohm\n",
+ "\n",
+ "#Result\n",
+ "print(\"The output impedance=%.1f ohm\"%Zout);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The output impedance=22.3 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.24 : Page number 358\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=10.0; #Supply voltage, V\n",
+ "R1=120.0; #Resistor R1, kilo ohm\n",
+ "R2=120.0; #Resistor R2, kilo ohm\n",
+ "RE=3.3; #Emitter resistor, kilo ohm\n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "beta_1=70.0; #Base current amplification factor of 1st transistor\n",
+ "beta_2=70.0; #Base current amplification factor of 2nd transistor\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "V2=VCC*R2/(R1+R2); #Voltage across R2, V (Voltage divider rule)\n",
+ "IE_2=(V2-2*VBE)/RE; #Emitter current, mA (OHM's LAW)\n",
+ "\n",
+ "#(ii)\n",
+ "Zin=(beta_1*beta_2*RE)/1000; #Input impedance, mega ohm\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) d.c value of current in RE=%.2fmA\"%IE_2);\n",
+ "print(\"(ii) Input impedance=%.2f mega ohm.\"%Zin);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) d.c value of current in RE=1.09mA\n",
+ "(ii) Input impedance=16.17 mega ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 13.25 : Page number 358-359\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=12.0; #Supply voltage, V\n",
+ "R1=20.0; #Resistor R1, kilo ohm\n",
+ "R2=10.0; #Resistor R2, kilo ohm\n",
+ "RC=4.0; #Collector resistor, kilo ohm\n",
+ "RE=2.0; #Emitter resistor, kilo ohm\n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "beta=100.0; #Base current amplification factor of 1st transistor\n",
+ "\n",
+ "#Calculation\n",
+ "#(i) D.C Bias levels\n",
+ "VB1=VCC*R2/(R1+R2); #Base voltage of 1st transistor, V (Voltage divider rule)\n",
+ "VE1=VB1-VBE; #Emitter voltage of 1st transistor, V\n",
+ "VB2=VE1; #Base voltage of 2nd transistor, V\n",
+ "VE2=VB2-VBE; #Emitter voltage of 2nd transistor, V\n",
+ "IE2=VE2/RE; #Emitter current of 2nd transistor, mA (OHM' LAW)\n",
+ "IE1=IE2/beta; #Emitter current of 1st transistor, mA (IE~IC=beta*IB, here IB2=IE1)\n",
+ "\n",
+ "#(ii) A.C analysis\n",
+ "re1=25/IE1; #a.c emitter resistance of 1st transistor\n",
+ "re2=25/IE2; #a.c emitter resistance of 2nd transistor\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) D.C Bias levels: \\n VB1= %dV, VE1=%.1fV, VB2=%.1fV, VE2=%.1fV, IE2=%.1fmA and IE1=%.3fmA.\"%(VB1,VE1,VB2,VE2,IE2,IE1));\n",
+ "print(\"(ii) A.C Analysis: \\n re1=%d ohm and re2=%.2f ohm \"%(re1,re2));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) D.C Bias levels: \n",
+ " VB1= 4V, VE1=3.3V, VB2=3.3V, VE2=2.6V, IE2=1.3mA and IE1=0.013mA.\n",
+ "(ii) A.C Analysis: \n",
+ " re1=1923 ohm and re2=19.23 ohm \n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter14.ipynb b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter14.ipynb
new file mode 100644
index 00000000..5e35882c
--- /dev/null
+++ b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter14.ipynb
@@ -0,0 +1,502 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:ec0d27209d08b0b95750f66ce9ee21af5ef586e23d0bf0ea218aa20a4ce63e43"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#CHAPTER 14: SINUSOIDAL OSCILLATORS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.1 : Page number 371-372\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "from math import pi\n",
+ "\n",
+ "#Variable declaration\n",
+ "L1=58.6; #Inductance, micro henry\n",
+ "C1=300.0; #Capacitance, pF\n",
+ "\n",
+ "#Calculation\n",
+ "f=(1/(2*round(pi,2)*sqrt(L1*10**-6*C1*10**-12)))/1000; #Frequency of oscillation, kHz\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"frequency of oscillation=%dkHz\"%f);\n",
+ "\n",
+ "\n",
+ "#Note : The frequency has been calculated in the text as 1199kHz but here the answer gets approximated to 1200kHz.\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "frequency of oscillation=1200kHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.2 : Page number 372\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import pi\n",
+ "\n",
+ "#Variable declaration\n",
+ "L1=1.0; #Inductance , mH\n",
+ "f=1.0; #frequency of oscillation, GHz\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, f=1/(2*pi*sqrt(L1*C1)),\n",
+ "C1=(1/(L1*10**-3*(f*10**12*2*pi)**2))*10**12; #Capacitance, pF\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"The Capacitance of the capacitor of the LC oscillator=%.2epF\"%C1);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The Capacitance of the capacitor of the LC oscillator=2.53e-11pF\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.3 : Page number 373-374\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import pi\n",
+ "from math import sqrt\n",
+ "\n",
+ "#Variable declaration\n",
+ "C1=0.001; #Capacitor C1, microfarad\n",
+ "C2=0.01; #Capacitor C2, microfarad\n",
+ "L=15.0; #Inductance, microhenry\n",
+ "\n",
+ "#Calculation\n",
+ "CT=C1*C2/(C1+C2); #Total capacitance\n",
+ "\n",
+ "#(i) Operating frequency\n",
+ "f=(1/(2*pi*sqrt(CT*10**-6*L*10**-6)))/1000; #Operating frequency, kHz\n",
+ "\n",
+ "#(ii) Feedback fraction\n",
+ "mv=C1/C2; #Feedback fraction\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The operating frequency=%dkHz\"%f);\n",
+ "print(\"(ii) The feedback fraction=%.1f\"%mv);\n",
+ "\n",
+ "#Note : The operating frequency is calculated in the text as 1361kHz but here it has been approximated to 1362kHz\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The operating frequency=1362kHz\n",
+ "(ii) The feedback fraction=0.1\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.4 : Page number 374: Page number\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import pi\n",
+ "\n",
+ "#Variable declaration\n",
+ "mv=0.25; #Feedback fraction\n",
+ "L=1.0; #Inductance, mH\n",
+ "f=1.0; #Operating frequeny, MHz\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, f=1/(2*pi*sqrt(L*C))\n",
+ "CT=round((1/(L*10**-3*(2*pi*f*10**6)**2))*10**12,1); #Total capacitance, pF\n",
+ "\n",
+ "#Since, mv=C1/C2 and CT=C1*C2/(C1+C2) or CT=C2/(1+ (C2/C1)),\n",
+ "#From the above equations, substituting value of mv and calculaing value of C2,\n",
+ "C2=CT*(1+(1/mv)); #Capacitance of C2 capactior, pF\n",
+ "C1=mv*C2; #Capacitance of C1 capacitor, pF\n",
+ "\n",
+ "#Result\n",
+ "print(\"C1=%.1fpF and C2=%.1fpF\"%(C1,C2));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C1=31.6pF and C2=126.5pF\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.5 : Page number 375-376\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "from math import pi\n",
+ "\n",
+ "#Variable decalaration\n",
+ "L1=1000.0; #Inductance of L1 inductor, microhenry\n",
+ "L2=100.0; #Inductance of L2 inductor, microhenry\n",
+ "M=20.0; #Mutual inductance, microhenry\n",
+ "C=20.0; #Capacitance, pF\n",
+ "\n",
+ "#Calculation\n",
+ "LT=L1+L2+2*M; #Total inductance, microhenry\n",
+ "\n",
+ "#(i) Operating frequency\n",
+ "f=(1/(2*pi*sqrt(LT*10**-6*C*10**-12)))/1000; #Operating frequency, kHz\n",
+ "\n",
+ "#(ii)\n",
+ "mv=L2/L1; #feedback fraction\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The operating frequency=%dkHz.\"%f);\n",
+ "print(\"(ii) The feedback fraction=%.1f.\"%mv);\n",
+ "\n",
+ "#Note : The operating frequecy has been calculated in the text as 1052kHz but here it gets approximated to 1054kHz\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The operating frequency=1054kHz.\n",
+ "(ii) The feedback fraction=0.1.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.6 : Page number 376\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import pi\n",
+ "\n",
+ "#Variable declaration\n",
+ "C=1.0; #Capacitance, pF\n",
+ "f=1.0; #Frequency, MHz\n",
+ "mv=0.2; #Feedback frequency\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "LT=(1/(C*10**-12*(2*pi*f*10**6)**2))*1000; #Total inductance, mH\n",
+ "\n",
+ "#Since, mv=L2/L1 or L2=mv*L1 and L1+L2=LT or L1(1+mv)=LT,\n",
+ "L1=LT/(1+mv); #Inductance of L1 inductor, mH\n",
+ "L2=L1*mv; #inductance of L2 inductor, mH\n",
+ "\n",
+ "#Result\n",
+ "print(\"L1=%.1fmH and L2=%.2fmH.\"%(L1,L2));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "L1=21.1mH and L2=4.22mH.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.7 : Page number 378\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "from math import pi\n",
+ "\n",
+ "#Variable declaration\n",
+ "R1=1.0; #Resistor R1, mega ohm\n",
+ "R2=R1; #Resistor R2, mega ohm\n",
+ "R3=R1; #Resistor R3, mega ohm\n",
+ "C1=68.0; #Capacitor C1, pF\n",
+ "C2=C1; #Capacitor C2, pF\n",
+ "C3=C1; #Capacitor C3, pF\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "R=R1*10**6; #Resistance of the resistors of phase shift circuit, ohm\n",
+ "C=C1*10**-12; #Capacitance of the capacitors of phase shift circuit, F\n",
+ "fo=1/(2*pi*R*C*sqrt(6)); #Frequency of oscillation, Hz\n",
+ "\n",
+ "#Result\n",
+ "print(\"The frequency of oscillation=%dHz\"%fo);\n",
+ "\n",
+ "#Note: The frequency of oscillation had been calculated in the text as 954Hz, but here it gets approximated to 955 HZ.\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The frequency of oscillation=955Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.8 : Page number 378\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import pi\n",
+ "from math import sqrt\n",
+ "\n",
+ "#Variable declaration\n",
+ "C=5.0; #Capacitance of the capacitors of phase shift circuit, pF\n",
+ "fo=800.0; #Required frequency of oscillation, kHz\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, fo=1/(2*pi*R*C*sqrt(6))\n",
+ "R=(1/(2*pi*C*10**-12*fo*10**3*sqrt(6)))/1000; #Resistance of the resistors of phase shift circuit, kilo ohm\n",
+ "\n",
+ "#Result\n",
+ "print(\"R=%.1f kilo ohm.\"%R);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "R=16.2 kilo ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.9 : Page number 380\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import pi\n",
+ "\n",
+ "#Variable declaration\n",
+ "#Resistance of R1 and R2 resistors of the R-C bridge circuit\n",
+ "R1=220.0; #kilo ohm \n",
+ "R2=220.0; #kilo ohm\n",
+ "\n",
+ "#Capacitance of C1 and C2 the capacitors of the R-C bridge circuit\n",
+ "C1=250.0; #pF\n",
+ "C2=250.0; #pF\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, R1=R2 and C1=C2, R1=R2 is taken as R and C1=C2 is taken as C\n",
+ "#And, f=1/(2*pi*sqrt(R1*R2*C1*C2))is transformed to f=1/(2*pi*R*C).\n",
+ "R=R1*10**3; #kilo ohm\n",
+ "C=C1*10**-12; #pF\n",
+ "f=1/(2*pi*R*C); #Frequency of oscillation, Hz\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"The frequency of oscillation=%dHz.\"%f);\n",
+ "\n",
+ "\n",
+ "#Note : The frequency of oscillation is calculated in the text as 2892Hz but here it gets approximated to 2893 Hz.\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The frequency of oscillation=2893Hz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 14.11 : Page number 384\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "from math import pi\n",
+ "\n",
+ "#Variable declaration\n",
+ "#a.c equivalent values of the crystal:\n",
+ "L=1.0; #Inductance , H\n",
+ "C=0.01; #Capacitance , pF\n",
+ "R=1000.0; #Resistance , ohm\n",
+ "Cm=20.0; #Mounting capacitance, pF\n",
+ "\n",
+ "#Calculation\n",
+ "fs=(1/(2*round(pi,2)*sqrt(L*C*10**-12)))/1000; #Series resonant frrequency, kHz\n",
+ "CT=(C*Cm/(C+Cm)); #Total capacitance, pF\n",
+ "fp=(1/(2*round(pi,2)*sqrt(L*CT*10**-12)))/1000; #Prallel resonant frequency, kHz\n",
+ "\n",
+ "#Result\n",
+ "print(\"fs=%.0fkHz and fp=%.0fkHz.\"%(fs,fp));\n",
+ "\n",
+ "#Note: fs and fp are calculated in the text as 1589kHz and 1590kHz, but here it gets approximated to 1592kHz and 1593kHz\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "fs=1592kHz and fp=1593kHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter15.ipynb b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter15.ipynb
new file mode 100644
index 00000000..e649cc91
--- /dev/null
+++ b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter15.ipynb
@@ -0,0 +1,482 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:034eec32676d4e7abdedfb3bf68426d81a2d1483fc668bcbfdb5be18cec2e406"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 15: TRANSISTOR TUNED AMPLIFIERS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.1 : Page number 394"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "from math import pi\n",
+ "\n",
+ "#Variable declaration\n",
+ "C=250.0*10**-12; #Capacitor of parallel resonant circuit, F\n",
+ "L=1.25*10**-3; #Inductor of the parallel resonant circuit, H\n",
+ "R=10.0; #Resistor of the parallel resonant circuit, ohm\n",
+ "\n",
+ "#Calculation\n",
+ "#(i) Resonant frequency\n",
+ "fr=((1/(2*pi))*sqrt((1/(L*C))-(R/L)**2))/1000; #Resonant frequecy, kHz\n",
+ "\n",
+ "#(ii) Impedance of the circuit at resonance\n",
+ "Zr=(L/(C*R))/1000; #Impedance of the circuit at resonance, kilo ohm\n",
+ "\n",
+ "#(iii) Quality factor of the circuit\n",
+ "Q=2*pi*(fr*10**3)*L/R; #Quality factor of the circuit\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The resonant frequency=%.1fkHz.\"%fr);\n",
+ "print(\"(ii) The impedance of the circuit at resonance=%d kilo ohm.\"%Zr);\n",
+ "print(\"(iii) The quality factor of the circuit=%.1f.\"%Q);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The resonant frequency=284.7kHz.\n",
+ "(ii) The impedance of the circuit at resonance=500 kilo ohm.\n",
+ "(iii) The quality factor of the circuit=223.6.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.2 : Page number 394-395\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "from math import pi\n",
+ "\n",
+ "#Variable declaration\n",
+ "C=100.0*10**-12; #Capacitor of parallel resonant circuit, F\n",
+ "L=100.0*10**-6; #Inductor of the parallel resonant circuit, H\n",
+ "R=10.0; #Resistor of the parallel resonant circuit, ohm\n",
+ "V=10.0; #Supply voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "#(i) Resonant frequency\n",
+ "fr=((1/(2*pi))*sqrt((1/(L*C))-(R/L)**2))/1000; #Resonant frequecy, kHz\n",
+ "\n",
+ "#(ii) Impedance of the circuit at resonance\n",
+ "Zr=(L/(C*R))/10**6; #Impedance of the circuit at resonance, mega ohm\n",
+ "\n",
+ "I=V/Zr; #Line current at resonance, microampere\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The resonant frequency=%.2fkHz.\"%fr);\n",
+ "print(\"(ii) The impedance of the circuit at resonance=%.1f mega ohm.\"%Zr);\n",
+ "print(\"The line current at resonance=%d micro ampere.\"%I);\n",
+ "\n",
+ "#Note : The resonant frequency in the text has been calculated as 1592.28 kHz, but here it gets approximated to 1591.47 kHz.\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The resonant frequency=1591.47kHz.\n",
+ "(ii) The impedance of the circuit at resonance=0.1 mega ohm.\n",
+ "The line current at resonance=100 micro ampere.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.3 : Page number 395\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "from math import pi\n",
+ "\n",
+ "#Variable declaration\n",
+ "C=250.0*10**-12; #Capacitor of parallel resonant circuit, F\n",
+ "Zr=500.0*10**3; #Dynamic impedance, ohm\n",
+ "R=10.0; #Resistance of the coil, ohm\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "#Since,Zr=L/CR,\n",
+ "L=(Zr*C*R)*10**3; #Inductance of the coil, mH\n",
+ "\n",
+ "#(ii) Resonant frequency\n",
+ "fr=((1/(2*pi))*sqrt((1/(L*10**-3*C))-(R/(L*10**-3))**2))/1000; #Resonant frequecy, kHz\n",
+ "\n",
+ "#(iii) Quality factor of the circuit\n",
+ "Q=2*pi*(fr*10**3)*(L*10**-3)/R; #Quality factor of the circuit\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The inductance of the coil=%.2fmH.\"%L);\n",
+ "print(\"(ii) The resonant frequency=%.1fkHz.\"%fr);\n",
+ "print(\"(iii) The quality factor of the circuit=%.1f.\"%Q);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The inductance of the coil=1.25mH.\n",
+ "(ii) The resonant frequency=284.7kHz.\n",
+ "(iii) The quality factor of the circuit=223.6.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.4 : Page number 397\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Q=60.0; #Quality factor of the tuned amplifier\n",
+ "fr=1200.0; #Resonant frequency, kHz\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "BW=fr/Q; #Bandwidth, kHz\n",
+ "\n",
+ "#(ii)\n",
+ "f1=fr-(BW/2); #Lower cut-off frequency, kHz\n",
+ "f2=fr+(BW/2); #Upper cut-off frequency, kHz\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The bandwidth=%dkHz\"%BW);\n",
+ "print(\"(ii) The lower and upper cut-off frequencies are=%dkHz and %dkHz.\"%(f1,f2));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The bandwidth=20kHz\n",
+ "(ii) The lower and upper cut-off frequencies are=1190kHz and 1210kHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.5 : Page number 397\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "fr=2.0; #Resonant frequency, MHz\n",
+ "BW=50.0; #Bandwidth, kHz\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, bandwidth=resonant_frequency/quality_factor\n",
+ "Q=(fr*10**6)/(BW*10**3); #Quality factor\n",
+ "\n",
+ "#Result\n",
+ "print(\"The quality factor=%d\"%Q);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The quality factor=40\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.7 : Page number 400\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "from math import pi\n",
+ "\n",
+ "#Variable declaration\n",
+ "C=0.1*10**-6; #Capacitor of parallel resonant circuit, F\n",
+ "L=33.0*10**-3; #Inductor of the parallel resonant circuit, H\n",
+ "R=25.0; #Resistor of the parallel resonant circuit, ohm\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "fr=(1/(2*pi*sqrt(L*C)))/1000; #Resonant frequency, kHz\n",
+ "\n",
+ "#(ii)\n",
+ "XL=2*pi*(fr*10**3)*L; #Inductive reactance, ohm\n",
+ "Q=round(XL/R,0); #Quality factor\n",
+ "\n",
+ "#(iii)\n",
+ "BW=(fr*10**3)/Q; #Bandwidth\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The resonant frequency=%.2fkHz\"%fr);\n",
+ "print(\"(ii) The quality factor= %d.\"%Q);\n",
+ "print(\"(iii) The bandwidth=%dHz.\"%BW);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The resonant frequency=2.77kHz\n",
+ "(ii) The quality factor= 23.\n",
+ "(iii) The bandwidth=120Hz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.8 : Page number 401-402\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "BW_dt=200.0; #Bandwidth, kHz\n",
+ "fr=10.0; #Operating frequency, MHz\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, BW_dt=k*fr (i.e.,co-efficient_of_coupling * operating_frequency)\n",
+ "k=BW_dt/(fr*10**3); #co-efficient of coupling\n",
+ "\n",
+ "#Result\n",
+ "print(\"The co-efficient of coupling=%.2f.\"%k);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The co-efficient of coupling=0.02.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.9 : Page number 405\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "from math import pi\n",
+ "\n",
+ "#Variable declaration\n",
+ "C=500.0*10**-12; #Capacitor of parallel resonant circuit, F\n",
+ "L=50.7*10**-6; #Inductor of the parallel resonant circuit, H\n",
+ "R=10.0; #Resistor of the parallel resonant circuit, ohm\n",
+ "RL=1.0; #Load resistance, mega ohm\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "fr=round((1/(2*pi*sqrt(L*C)))/1000); #Resonant frequency, Hz\n",
+ "\n",
+ "#(ii)\n",
+ "R_dc=R; #d.c load, ohm\n",
+ "XL=2*pi*(fr*1000)*L; #Inductive reactance, ohm\n",
+ "Q_coil=round(XL/R,1); #Quality factor\n",
+ "R_P=(Q_coil*XL)/1000 ; #Equivalent parallel resistance, kilo ohm\n",
+ "R_AC=(R_P*RL*10**3)/(R_P+RL*10**3); #A.C load,kilo ohm\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The resonant frequency=%dkHz\"%fr);\n",
+ "print(\"(ii) d.c load=%d ohm and a.c load=%d kilo ohm.\"%(R_dc,R_AC));\n",
+ "\n",
+ "#Note: In the text resonant frequency has been wrongly calculated to 106kHz but its actual value is approximately 1000kHz\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The resonant frequency=1000kHz\n",
+ "(ii) d.c load=10 ohm and a.c load=10 kilo ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.10 : Page number 406-407\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "RL=50.0; #Load resistance, ohm\n",
+ "n=5; #Turns ratio of the transformer\n",
+ "VCC=50.0; #Supply voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "R_ac=n**2*RL; #A.C load, ohm\n",
+ "\n",
+ "#(ii)\n",
+ "P_o_max=VCC**2/(2*R_ac); #Maximum load power, W\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The a.c load=%d ohm\"%R_ac);\n",
+ "print(\"(ii) Maximum load power=%dW\"%P_o_max);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The a.c load=1250 ohm\n",
+ "(ii) Maximum load power=1W\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 15.11 : Page number 407\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "P_D=4.0; #Maximum power dissipation, mW\n",
+ "P_o_max=1.0; #Maximum load power, W\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "max_collector_eff=(P_o_max/(P_o_max+(P_D/1000)))*100; #Maximum collector efficiency\n",
+ "\n",
+ "#Result\n",
+ "print(\"The maximum collector efficiency=%.1f%%\"%max_collector_eff);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum collector efficiency=99.6%\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter16.ipynb b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter16.ipynb
new file mode 100644
index 00000000..b2262b8f
--- /dev/null
+++ b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter16.ipynb
@@ -0,0 +1,936 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:d4ffda068787fb0974622fa8de40f7d54b5df2a00735e870e01cb9df45be78f9"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 16 : MODULATION AND DEMODULATION"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.2 : Page number 416-417\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variabledeclaration\n",
+ "V_pp_max=16.0; #Maximum peak-to-peak voltage of an AM wave, mV\n",
+ "V_pp_min=4.0; #Minimum peak-to-peak voltage of an AM wave, mV\n",
+ "\n",
+ "#Calculation\n",
+ "Vmax=V_pp_max/2; #Maximum voltage of AM wave, mV\n",
+ "Vmin=V_pp_min/2; #Minimum voltage of AM wave, mV\n",
+ "m=(Vmax-Vmin)/(Vmax+Vmin); #Modulation factor.\n",
+ "\n",
+ "#Result\n",
+ "print(\"The modulation factor=%.1f.\"%m);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The modulation factor=0.6.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.3 : Page number 417\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Es=50.0; #signalvoltage amplitude, V\n",
+ "Ec=100.0; #Carrier voltage amplitude, V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "m=Es/Ec; #Modulation factor\n",
+ "\n",
+ "#Result\n",
+ "print(\"Modulation factor=%.1f.\"%m);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Modulation factor=0.5.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.4 : Page number 419\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "fc=2500.0; #Carrier frequency, kHz\n",
+ "f1=50.0; #Lower frequency of the audio signal, Hz\n",
+ "f2=15000.0; #Upper frequency of the audio signal, Hz\n",
+ "\n",
+ "#Calculation\n",
+ "fl_usb=fc+(f1/1000); #Lower frequency of upper sideband, kHz\n",
+ "fu_usb=fc+(f2/1000); #Upper frequency of upper sideband, kHz\n",
+ "\n",
+ "fu_lsb=fc-(f1/1000); #Lower frequency of upper sideband, kHz\n",
+ "fl_lsb=fc-(f2/1000); #Upper frequency of upper sideband, kHz\n",
+ "\n",
+ "#Since, f1=50Hz is negligible with respect to f2=15000Hz,\n",
+ "BW=(fc+(f2/1000))-(fc-(f2/1000)); #Bandwidth, kHz\n",
+ "\n",
+ "#Result\n",
+ "print(\"The upper sideband=%.2fkHz to %dkHz.\"%(fl_usb,fu_usb));\n",
+ "print(\"The lower sideband=%dkHz to %.2fkHz.\"%(fl_lsb,fu_lsb));\n",
+ "print(\"The bandwidth=%dkHz\"%BW);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The upper sideband=2500.05kHz to 2515kHz.\n",
+ "The lower sideband=2485kHz to 2499.95kHz.\n",
+ "The bandwidth=30kHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.5 : Page number 420\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "from math import pi\n",
+ "\n",
+ "#Variable declaration\n",
+ "EC=5.0; #Carrier amplitude, V\n",
+ "m=0.6; #modulation factor\n",
+ "ws=6280.0; #angular frequency of signal, radians/s\n",
+ "wc=211*10**4; #angular frequency of carrier, radians/s\n",
+ "\n",
+ "#Calculation\n",
+ "fs=(ws/(2*pi))/1000; #Signal frequency, kHz\n",
+ "fc=(wc/(2*pi))/1000; #Carrier frequency, kHz\n",
+ "\n",
+ "#(i)\n",
+ "Max_amp=EC+m*EC; #Maximum amplitude of AM wave, V\n",
+ "Min_amp=EC-m*EC; #Minimum amplitude of AM wave, V\n",
+ "\n",
+ "#(ii)\n",
+ "frequency_components=[fc-fs,fc,fc+fs]; #frequency components, kHz\n",
+ "amplitudes=[m*EC/2,EC,m*EC/2]; #Corresponding amplitudes, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The maximum and minimum amplitudes of AM wave=%dV and %dV.\"%(Max_amp,Min_amp));\n",
+ "print(\"(ii) The frequency components of the AM wave=%.0f,%.0f,%.0f.\"%(frequency_components[0],frequency_components[1],frequency_components[2]));\n",
+ "print(\" The corresponding amplitudes are =%.1fV, %dV, %.1fV.\"%(amplitudes[0],amplitudes[1],amplitudes[2]));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The maximum and minimum amplitudes of AM wave=8V and 2V.\n",
+ "(ii) The frequency components of the AM wave=335,336,337.\n",
+ " The corresponding amplitudes are =1.5V, 5V, 1.5V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.6 : Page number 420-421\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "fc=1000.0; #Carrier frequency, kHz\n",
+ "fs=5.0; #Signal frequency, kHz\n",
+ "m=0.5; #Modulation factor\n",
+ "EC=100.0; #Amplitude of the carrier, V\n",
+ "\n",
+ "#Calculation\n",
+ "f_lsb=fc-fs; #Lower sideband frequency,kHz\n",
+ "f_usb=fc+fs; #Upper sideband frequency, kHz\n",
+ "Amplitude=m*EC/2; #Amplitude of each sideband, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"The lower and upper sideband frequencies are=%dkHz and %dkHz.\"%(f_lsb,f_usb));\n",
+ "print(\"The amplitude of each sideband =%dV\"%Amplitude);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The lower and upper sideband frequencies are=995kHz and 1005kHz.\n",
+ "The amplitude of each sideband =25V\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.7 : Page number 421\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "EC=10.0; #Carrier amplitude, V\n",
+ "ES=6.0; #Signal amplitude, V\n",
+ "fc=10.0; #Carrier frequency, MHz\n",
+ "fs=5/1000.0; #Signal frequency. MHz\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "m=ES/EC; #Modulation factor\n",
+ "\n",
+ "#(ii)\n",
+ "f_lsb=fc-fs; #Lower sideband frequency,MHz\n",
+ "f_usb=fc+fs; #Upper sideband frequency, MHz\n",
+ "\n",
+ "#(iii)\n",
+ "Amplitude=m*EC/2; #Amplitude of each sideband, V\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The modulation factor=%.1f.\"%m);\n",
+ "print(\"(ii) The lower and upper sideband frequencies are=%.3fMHz and %.3fMHz.\"%(f_lsb,f_usb));\n",
+ "print(\"(iii) The amplitude of each sideband =%dV\"%Amplitude);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The modulation factor=0.6.\n",
+ "(ii) The lower and upper sideband frequencies are=9.995MHz and 10.005MHz.\n",
+ "(iii) The amplitude of each sideband =3V\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.8 : Page number 423\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Pc=500.0; #Carrier power, W\n",
+ "m=1.0; #Modulation factor\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "Ps=(1/2.0)*m**2*Pc; #Sideband power, W\n",
+ "\n",
+ "#(ii)\n",
+ "PT=Pc+Ps; #Power of AM wave, W\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The power in sidebands=%dW\"%Ps);\n",
+ "print(\"(ii) The power of AM wave=%dW\"%PT);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The power in sidebands=250W\n",
+ "(ii) The power of AM wave=750W\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Exmaple 16.9 : Page number 423\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Pc=50.0; #Power of carrier, kW\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "m=80/100.0; #Modulation factor\n",
+ "Ps=(1/2.0)*m**2*Pc; #Sideband Power, kW\n",
+ "print(\"(i) The sideband power for 80%% modulation=%dkW.\"%Ps);\n",
+ "\n",
+ "#(ii)\n",
+ "m=10/100.0; #Modulation factor\n",
+ "Ps=(1/2.0)*m**2*Pc; #Sideband Power, kW\n",
+ "print(\"(ii) The sideband power for 10%% modulation=%.2fkW.\"%Ps);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The sideband power for 80% modulation=16kW.\n",
+ "(ii) The sideband power for 10% modulation=0.25kW.\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.10 : Page number 423-424\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Pc=40.0; #Carrier power, kW\n",
+ "m=100/100.0; #Modulation index\n",
+ "amplifier_eff=72/100.0; #Efficiency of modulated RF amplifier\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)Carrier power remains same after modulation\n",
+ "\n",
+ "#(ii)\n",
+ "Ps=(1/2.0)*(m**2)*Pc; #Sideband power\n",
+ "P_audio=Ps/amplifier_eff; #Required audio power, kW\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The carrier power=%dkW.\"%Pc);\n",
+ "print(\"(ii) The required audio power=%.1fkW.\"%P_audio);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The carrier power=40kW.\n",
+ "(ii) The required audio power=27.8kW.\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.11 : Page number 424\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "fs=1.0; #Signal frequency, kHz\n",
+ "fc=500.0; #Carrier frequency, kHz\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "sideband_f=[fc-fs,fc+fs]; #Sideband frequencies, kHz\n",
+ "\n",
+ "#(ii)\n",
+ "BW=(fc+fs)-(fc-fs); #Bandwidth required, kHz\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The sideband frequencies=%dkHz and %dkHz.\"%(sideband_f[0],sideband_f[1]));\n",
+ "print(\"(ii) The bandwidth required=%dkHz\"%BW);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The sideband frequencies=499kHz and 501kHz.\n",
+ "(ii) The bandwidth required=2kHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.12 : Page number 424\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "\n",
+ "#Variable declaration\n",
+ "IC=8.0; #Antenna current due to carrier,A\n",
+ "m=40/100.0; #Modulation index\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, Ps=(1/2)*m\u00b2*Pc and PT=Pc+Ps (Total_power=carrier_power+signal_power)\n",
+ "#that implies, (PT/Pc)=1+(m\u00b2/2),\n",
+ "#So, square_of(Total_current/Carrier_current)=(IT/IC)\u00b2=1+(m\u00b2/2).\n",
+ "IT=IC*sqrt(1+(m**2/2.0)); #Total current, A\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"The total antenna current=%.2fA.\"%IT);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total antenna current=8.31A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.13 : Page number 424\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "\n",
+ "#Variable declaration\n",
+ "IC=8.0; #Antenna current when only carrier is sent, A\n",
+ "IT=8.93; #Total antenna current, A\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, Ps=(1/2)*m\u00b2*Pc and PT=Pc+Ps (Total_power=carrier_power+signal_power)\n",
+ "#that implies, (PT/Pc)=1+(m\u00b2/2),\n",
+ "#So, square_of(Total_current/Carrier_current)=(IT/IC)\u00b2=1+(m\u00b2/2).\n",
+ "m=sqrt((((IT/IC)**2)-1)*2)*100; #The %age of modulation\n",
+ "\n",
+ "#Result\n",
+ "print(\"The %%age of modulation=%.1f%%.\"%m);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The %age of modulation=70.1%.\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.14 : Page number 425\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "\n",
+ "#Variable declaration\n",
+ "Vc=100.0; #Carrier voltage, V\n",
+ "V_T=110.0; #The total voltage after modulation, V\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, Ps=(1/2)*m\u00b2*Pc and PT=Pc+Ps (Total_power=carrier_power+signal_power)\n",
+ "#that implies, (PT/Pc)=1+(m\u00b2/2),\n",
+ "#So, square_of(Total_voltage/Carrier_voltage)=(V_T/Vc)\u00b2=1+(m\u00b2/2).\n",
+ "m=sqrt((((V_T/Vc)**2)-1)*2); #The %age of modulation\n",
+ "\n",
+ "#Result\n",
+ "print(\"The modulation index =%.3f.\"%m);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The modulation index =0.648.\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.15 : Page number 425-426\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Vc=5.0; #Carrier voltage, V\n",
+ "V_lsb=2.5; #Lower sideband component, V\n",
+ "V_usb=2.5; #Upper sideband component, V\n",
+ "R=2.0; #Resistor driven by AM wave, k\u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, power=(r.m.s_voltage)\u00b2/resistance\n",
+ "#(i)\n",
+ "Pc=round((0.707*Vc)**2/R,2); #Carrier power mW\n",
+ "\n",
+ "#(ii)\n",
+ "P_lower=round((0.707*V_lsb)**2/R,3); #Power delivered by lower sideband, mW\n",
+ "\n",
+ "#(iii)\n",
+ "P_upper=round((0.707*V_usb)**2/R,3); #Power delivered by upper sideband, mW\n",
+ "\n",
+ "P_T=round(Pc+P_lower+P_upper,3); #Total power delivered by the AM wave, mW\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The carrier power=%.2fmW\"%Pc);\n",
+ "print(\"(ii) The power delivered by lower sideband=%.3fmW\"%P_lower);\n",
+ "print(\"(iii) The power delivered by upper sideband=%.3fmW\"%P_upper);\n",
+ "print(\"The total power delivered by the AM wave=%.3fmW\"%P_T);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The carrier power=6.25mW\n",
+ "(ii) The power delivered by lower sideband=1.562mW\n",
+ "(iii) The power delivered by upper sideband=1.562mW\n",
+ "The total power delivered by the AM wave=9.374mW\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.16 : Page number 428\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "from math import pi\n",
+ "\n",
+ "#Variable declaration\n",
+ "wc=6e08; #Carrier angular frequency, rad/s\n",
+ "ws=1250.0; #Signal angular frequency, rad/s\n",
+ "mf=5; #Modulation index\n",
+ "Ec=12.0; #Carrier amplitude, V\n",
+ "R=10.0; #Resistor, \u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "fc=wc/(2*pi); #Carrier frequency, Hz\n",
+ "\n",
+ "#(ii)\n",
+ "fs=ws/(2*pi); #Signal frequency, Hz\n",
+ "\n",
+ "#(iv)\n",
+ "delta_f=mf*fs; #Maximum frequency deviation, Hz\n",
+ "\n",
+ "#(v)\n",
+ "P=(Ec/sqrt(2))**2/R; #Power dissipated, W\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The carrier frequency=%.1fe06 Hz.\"%(fc/10**6));\n",
+ "print(\"(ii) The signal frequency=%.0f Hz.\"%fs);\n",
+ "print(\"(iii) The modulation index=%d.\"%mf);\n",
+ "print(\"(iv) The maximum frequency deviation=%.0fHz.\"%delta_f);\n",
+ "print(\"(v) The power dissipated=%.1fW.\"%P);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The carrier frequency=95.5e06 Hz.\n",
+ "(ii) The signal frequency=199 Hz.\n",
+ "(iii) The modulation index=5.\n",
+ "(iv) The maximum frequency deviation=995Hz.\n",
+ "(v) The power dissipated=7.2W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.17 : Page number 428-429\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import pi\n",
+ "\n",
+ "#Variable declaration\n",
+ "fc=25.0; #Carrier frequency, MHz\n",
+ "fs=400.0; #Signal frequency, Hz\n",
+ "Ec=4.0; #Carrier amplitude, V\n",
+ "delta_f=10.0; #Maximum frequency deviation, kHz\n",
+ "\n",
+ "#Calculation\n",
+ "wc=2*pi*fc*10**6; #Carrier angular frequency, rad/s\n",
+ "ws=2*pi*fs; #Signal angular frequency, rad/s\n",
+ "mf=delta_f*1000/fs; #Modulation index\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"e=%dcos(%.2et + %dsin%dt)\"%(Ec,wc,mf,ws));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "e=4cos(1.57e+08t + 25sin2513t)\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.18 : Page number 429\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "delta_f=50.0; #Maximum frequency deviation, kHz\n",
+ "fs=5.0; #Modulating frequency, kHz\n",
+ "\n",
+ "#Calculation\n",
+ "mf=delta_f/fs; #Modulation index\n",
+ "\n",
+ "#Result\n",
+ "print(\"The modulation index=%d\"%mf);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The modulation index=10\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.19 : Page number 429\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "fc=1000.0; #Carrier frequency, kHz\n",
+ "fs=15.0; #Modulating frequency, kHz\n",
+ "\n",
+ "#Calculation\n",
+ "first_3_usb_f=[fc+fs,fc+2*fs,fc+3*fs]; #First three upper sideband frequncies, kHz\n",
+ "first_3_lsb_f=[fc-fs,fc-2*fs,fc-3*fs]; #First three lowerr sideband frequncies, kHz\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"The first three upper sideband frequencies=%dkHz ,%dkHz and %dkHz.\"%(first_3_usb_f[0],first_3_usb_f[1],first_3_usb_f[2]));\n",
+ "print(\"The first three lower sideband frequencies=%dkHz ,%dkHz and %dkHz.\"%(first_3_lsb_f[0],first_3_lsb_f[1],first_3_lsb_f[2]));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The first three upper sideband frequencies=1015kHz ,1030kHz and 1045kHz.\n",
+ "The first three lower sideband frequencies=985kHz ,970kHz and 955kHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.20 : Page number 429\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "fs=15.0; #Modulating frequency, kHz\n",
+ "delta_f=75.0; #Maximum frequency deviation, kHz\n",
+ "\n",
+ "#Calculation\n",
+ "BW=2*(delta_f+fs); #Bandwidth, kHz\n",
+ "\n",
+ "#Result\n",
+ "print(\"The bandwidth of the FM signal=%dkHz.\"%BW);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The bandwidth of the FM signal=180kHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.21 : Page number 429\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "k=75.0; #Frequency deviation constant, kHz/V\n",
+ "Es=2.0; #Amplitude of signal, V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "delta_f=k*Es; #Maximum frequency deviation, kHz\n",
+ "\n",
+ "#Result\n",
+ "print(\"The maximum frequency deviation=%dkHz.\"%delta_f);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum frequency deviation=150kHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 16.22 : Page number 429-430\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "fs1=500.0; #First audio frequency, Hz\n",
+ "fs2=200.0; #Second audio frequency (decreased), Hz\n",
+ "Es=2.4; #AF voltage, V\n",
+ "delta_f1=4.8; #Frequency deviation,kHz\n",
+ "\n",
+ "#Calculation\n",
+ "k=delta_f1/Es; #Frequency deviation constant, kHz/V\n",
+ "Es=7.2; #AF voltage, V (increased)\n",
+ "delta_f2=k*Es; #2nd frequency deviation, kHz\n",
+ "Es=10.0; #AF voltage, V (increased)\n",
+ "delta_f3=k*Es; #3rd frequency deviation, kHz\n",
+ "\n",
+ "mf1=delta_f1/(fs1/1000); #Modulation index in 1st case\n",
+ "mf2=delta_f2/(fs1/1000); #Modulation index in 2nd case\n",
+ "mf3=delta_f3/(fs2/1000); #Modulation index in 3rd case\n",
+ "\n",
+ "#Result\n",
+ "print(\"The frequency deviation in second case=%.1fkHz.\"%delta_f2);\n",
+ "print(\"The frequency deviation in third case=%dkHz.\"%delta_f3);\n",
+ "print(\"The modulation index in 1st case=%.1f\"%mf1);\n",
+ "print(\"The modulation index in 2nd case=%.1f\"%mf2);\n",
+ "print(\"The modulation index in 3rd case=%d\"%mf3);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The frequency deviation in second case=14.4kHz.\n",
+ "The frequency deviation in third case=20kHz.\n",
+ "The modulation index in 1st case=9.6\n",
+ "The modulation index in 2nd case=28.8\n",
+ "The modulation index in 3rd case=100\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter17.ipynb b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter17.ipynb
new file mode 100644
index 00000000..2c9a49a5
--- /dev/null
+++ b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter17.ipynb
@@ -0,0 +1,877 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:33d9a7285654630dd24f2d6229210244e78961e0605c11041ed1b2f130cb19a1"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 17 : REGULATED D.C POWER SUPPLY"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.1 : Page number 444\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_NL=400.0; #Output voltage with no-load, V\n",
+ "V_FL=300.0; #Output voltage with full-load, V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "percentage_voltage_regulation=((V_NL-V_FL)/V_FL)*100; #Percentage of voltage regulation\n",
+ "\n",
+ "#Result\n",
+ "print(\"The percentage of voltage regulation=%.2f%%.\"%percentage_voltage_regulation);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The percentage of voltage regulation=33.33%.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.2 : Page number 444\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_regulation=1.0; #%age voltage regulation\n",
+ "V_NL=30.0; #Output voltage with no-load,V\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, %age_of_voltage_regulation=((V_NL-V_FL)/V_FL)*100\n",
+ "V_FL=V_NL/(1+(V_regulation/100)); #Output voltage with full-load, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"The full-load voltage=%.1fV.\"%V_FL);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The full-load voltage=29.7V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.3 : Page number 445\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_NL_A=30.0; #Output voltage of supply A with no-load, V\n",
+ "V_FL_A=25.0; #Output voltage of supply A with full-load, V\n",
+ "V_NL_B=30.0; #Output voltage of supply B with no-load, V\n",
+ "V_FL_B=29.0; #Output voltage of supply B with full-load, V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "V_regulation_A=((V_NL_A-V_FL_A)/V_FL_A)*100; #%age of voltage regulation in power supply A\n",
+ "V_regulation_B=((V_NL_B-V_FL_B)/V_FL_B)*100; #%age of voltage regulation in power supply B\n",
+ "\n",
+ "#Result\n",
+ "if(V_regulation_A<V_regulation_B):\n",
+ " print(\"Power supply A is better than B.\");\n",
+ "else :\n",
+ " print(\"Power supply B is better than A.\");\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power supply B is better than A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.4 : Page number 445\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_NL=500.0; #Output voltage with no-load, V\n",
+ "V_FL=300.0; #Output voltage with full-load, V\n",
+ "I_FL=120.0; #Output current with full-load, mA\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "Regulation=((V_NL-V_FL)/V_FL)*100; #Voltage regulation percentage\n",
+ "\n",
+ "#(ii)\n",
+ "RL_min=V_FL/I_FL; #Minimum load resistance, k\u03a9\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The voltage regulation=%.1f%%.\"%Regulation);\n",
+ "print(\"(ii)The minimum load resistance=%.1fk\u03a9.\"%RL_min);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The voltage regulation=66.7%.\n",
+ "(ii)The minimum load resistance=2.5k\u03a9.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.5 : Page number 445\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VL_1=10.5; #Initial output voltage with load, V\n",
+ "VL_2=10.0; #Decreased output voltage with additional load, V\n",
+ "IL_1=1.0; #Initial load current, A\n",
+ "IL_added=1.0; #Added load current, A\n",
+ "\n",
+ "#Calculation\n",
+ "delta_VL=VL_1-VL_2; #Change in output voltage, V\n",
+ "delta_IL=IL_added; #Change in load current, A\n",
+ "\n",
+ "#(i)\n",
+ "Zo=delta_VL/delta_IL; #Output impedance of power supply, \u03a9 (OHM's LAW)\n",
+ "\n",
+ "#(ii)\n",
+ "#Since, Output_impedance=change_in_output_voltage/change_in_output_current\n",
+ "#Zo=(V_NL-VL_1)/delta_IL,\n",
+ "delta_IL=IL_1; #Change in load current, A\n",
+ "V_NL=VL_1+(delta_IL*Zo); #Output voltage with no load, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The output impedance=%.1f\u03a9.\"%Zo);\n",
+ "print(\"(ii) The output voltage with no-load=%dV.\"%V_NL);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The output impedance=0.5\u03a9.\n",
+ "(ii) The output voltage with no-load=11V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.6 : Page number 446\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Zo=0.01; #Output impedance, \u03a9\n",
+ "IL_max=1.0; #Maximum output current, A\n",
+ "IL_min=0.5 #Minimum output current, A\n",
+ "f=10.0; #Frequency, kHz\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, Zo=delta_VL/delta_IL\n",
+ "delta_IL=IL_max-IL_min; #Maximum change in output current, A\n",
+ "delta_VL=(Zo*delta_IL)*1000; #Fluctuations in output voltage, mV\n",
+ "\n",
+ "#Result\n",
+ "print(\"The output voltage will have %dmV peak-to-peak fluctuation at a rate of %dkHz.\"%(delta_VL,f));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The output voltage will have 5mV peak-to-peak fluctuation at a rate of 10kHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.7 : Page number 446\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "delta_Vout=10.0; #Change in output voltage, \u03bcV\n",
+ "delta_Vin=5.0; #Change in input voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "Line_regulation=delta_Vout/delta_Vin; #Line regulation, \u03bcV/V\n",
+ "\n",
+ "#Result\n",
+ "print(\"The line regulation of the voltage regulator=%d\u03bcV/V.\"%Line_regulation);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The line regulation of the voltage regulator=2\u03bcV/V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.8 : Page number 449-450\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Vin=24.0; #Input voltage, V\n",
+ "Vz=12.0; #Zener voltage, V\n",
+ "Rs=160.0; #Series resistance, \u03a9\n",
+ "RL_max=float('inf'); #Maximum load resistance, \u03a9\n",
+ "RL_min=200.0; #Minimum load resistance, \u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "Vout=Vz; #Output voltage,(equal to zener regulated voltage), V\n",
+ "Is=((Vin-Vout)/Rs)*1000; #Current through series resistance, mA\n",
+ "\n",
+ "#(ii)\n",
+ "IL_min=Vout/RL_max; #Minimum load current, A\n",
+ "IL_max=(Vout/RL_min)*1000; #Maximum load current, mA\n",
+ "\n",
+ "#(iii)\n",
+ "IZ_min=Is-IL_max; #Minimum zener current, mA\n",
+ "IZ_max=Is-IL_min; #Maximum zener current, mA\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The current through the series resistance=%dmA\"%Is);\n",
+ "print(\"(ii) The minimum and maximum load currents are=%dA and %dmA\"%(IL_min,IL_max));\n",
+ "print(\"(iii) The minimum and maximum zener currents are=%dmA and %dmA\"%(IZ_min,IZ_max));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The current through the series resistance=75mA\n",
+ "(ii) The minimum and maximum load currents are=0A and 60mA\n",
+ "(iii) The minimum and maximum zener currents are=15mA and 75mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.9 : Page number 450\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VZ=15.0; #Zener voltage, V\n",
+ "Vin_min=22.0 #Minimum input voltage, V\n",
+ "Vin_max=40.0 #Maximum input voltage, V\n",
+ "Vout=VZ; #Regulated output voltage, V\n",
+ "IL_max=100.0; #Maximum load current, mA\n",
+ "IL_min=20.0; #Minimum load current, mA\n",
+ "\n",
+ "#Calculation\n",
+ "RS_max=(Vin_min-Vout)/(IL_max/1000); #Maximum value of series resistance, \u03a9 (OHM'S lAW)\n",
+ "\n",
+ "#Result\n",
+ "print(\"The maximum load resistance to hold the voltage constant=%d\u03a9.\"%RS_max);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum load resistance to hold the voltage constant=70\u03a9.\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.10 : Page number 450-451\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Vz=3.3; #Zener voltage, V\n",
+ "Iz_min=3.0; #Minimum zener current, mA\n",
+ "Iz_max=100.0; #Maximum zener current, mA\n",
+ "RL_max=2.0; #Maximum load resistance, k\u03a9\n",
+ "RL_min=500.0; #Minimum load resistance, \u03a9\n",
+ "Vin=20.0; #Input voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "Rs_min=(Vin-Vz)/(Iz_max/1000); #Minimum series resistance required, \u03a9\n",
+ "\n",
+ "#Result\n",
+ "print(\"The minimum series resistance required to limit the zener current=%.0f\u03a9.\"%Rs_min);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The minimum series resistance required to limit the zener current=167\u03a9.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.11 : Page number 451\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Vz=3.3; #Zener voltage, V\n",
+ "Iz_min=3.0; #Minimum zener current, mA\n",
+ "Iz_max=100.0; #Maximum zener current, mA\n",
+ "RL_max=2.0; #Maximum load resistance, k\u03a9\n",
+ "RL_min=500.0; #Minimum load resistance, \u03a9\n",
+ "Vin=20.0; #Input voltage, V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "IL_max=(Vz/RL_min)*1000; #Maximum load current, mA\n",
+ "Rs_max=((Vin-Vz)/(IL_max+Iz_min))*1000; #Maximum series resistance, \u03a9\n",
+ "\n",
+ "#Result\n",
+ "print(\"The maximum allowable value of series resistance=%d\u03a9.\"%Rs_max);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum allowable value of series resistance=1739\u03a9.\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.12 : Page number 452\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Vz=10.0; #Zener voltage, V\n",
+ "beta=100.0; #Base current amplification factor\n",
+ "RL=1000.0; #Load resistance, \u03a9\n",
+ "VBE=0.5; #Base-emitter voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "Vout=Vz-VBE; #Output voltage, V\n",
+ "IL=(Vout/RL)*1000; #Load current, mA\n",
+ "\n",
+ "#Result\n",
+ "print(\"The output voltage=%.1fV.\"%Vout);\n",
+ "print(\"The load current=%.1fmA\"%IL);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The output voltage=9.5V.\n",
+ "The load current=9.5mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.3 : Page number 452\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "IC=1.0; #Required current(collector current), A\n",
+ "Vout=6.0; #Constant output voltage, V\n",
+ "Vin=10.0; #Supply voltage, V\n",
+ "beta=50.0; #Base current amplification factor\n",
+ "VBE=0.5; #Base-emitter voltage, V\n",
+ "Iz=10.0; #Minimum zener current, mA\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "IB=(IC/beta)*1000; #Base current, mA\n",
+ "\n",
+ "#Since, Vout=Vz-VBE;\n",
+ "Vz=Vout+VBE; #Zener breakdown voltage, V\n",
+ "\n",
+ "#(ii)\n",
+ "V_Rs=Vin-Vz; #Voltage across series resistance Rs, V\n",
+ "Rs=(V_Rs/(IB+Iz))*1000; #Series resistance, \u03a9\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The zener breakdown voltage=%.1fV\"%Vz);\n",
+ "print(\"(ii)The series resistance=%.0f\u03a9.\"%Rs);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The zener breakdown voltage=6.5V\n",
+ "(ii)The series resistance=117\u03a9.\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.14: Page number 452-453\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Vz=12.0; #Zener voltage, V\n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "Vin=20.0; #Input voltage, V\n",
+ "RS=220.0; #Series resistance, \u03a9\n",
+ "RL=1.0; #Load resistance, k\u03a9\n",
+ "beta=50.0; #Base current amplification factor\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "Vout=Vz-VBE; #Output voltage, V\n",
+ "\n",
+ "#(ii)\n",
+ "V_RS=Vin-Vz; #Voltage across series resistance, RS, V\n",
+ "IR=(V_RS/RS)*1000; #Current through series resistance, mA\n",
+ "IL=Vout/RL; #Load current, mA\n",
+ "\n",
+ "#Since, IL is emitter current and emitter current is approx. equal to collector current,\n",
+ "IC=IL; #Collector current, mA\n",
+ "IB=IC/beta; #Base current, mA\n",
+ "Iz=IR-IB; #Zener current, mA\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The output voltage=%.1fV.\"%Vout);\n",
+ "print(\"(ii) The zener current=%dmA\"%Iz);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The output voltage=11.3V.\n",
+ "(ii) The zener current=36mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.15 : Page number 453-454\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import ceil\n",
+ "from math import floor\n",
+ "\n",
+ "#Variable declaration\n",
+ "IL_min=0; #Minimum load current, A\n",
+ "IL_max=1.0; #Maximum load current, A\n",
+ "Vin_min=12.0; #Minimum input voltage, V\n",
+ "Vin_max=18.0; #Maximum input voltage, V\n",
+ "Iz_min=1.0; #Minimum zener current, mA\n",
+ "Vz=8.5; #Zener voltage, V\n",
+ "beta=50.0; #Base current amplification factor\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "IB_max=(IL_max/beta)*1000; #Maximum base current, mA\n",
+ "I_RS=Iz_min+IB_max; #Current through the series resistance, mA\n",
+ "RS=((Vin_min-Vz)/I_RS)*1000; #Series resistance, \u03a9\n",
+ "\n",
+ "#(ii)\n",
+ "V_RS_max=Vin_max-Vz; #Maximum voltage across series resistance, V\n",
+ "P_max_RS=ceil((V_RS_max**2/RS)*1000)/1000; #Maximum power dissipation in series resistance RS, W\n",
+ "\n",
+ "#(iii)\n",
+ "I_RS_max=V_RS_max/floor(RS); #Maximum current through series resistance,mA\n",
+ "Iz_max=I_RS_max; #Maximum zener current, mA\n",
+ "P_z_max=Vz*Iz_max; #Maximum power dissipated in zener diode, W\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The series resistance=%d\u03a9.\"%RS);\n",
+ "print(\"(ii) The maximum power dissipated in series resistance=%.3fW.\"%P_max_RS);\n",
+ "print(\"(iii)The maximum power dissipated in zener diode=%.3fW.\"%P_z_max);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The series resistance=166\u03a9.\n",
+ "(ii) The maximum power dissipated in series resistance=0.542W.\n",
+ "(iii)The maximum power dissipated in zener diode=0.486W.\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.16 : Page number 456\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "R1=2.0; #Resistor R1, k\u03a9\n",
+ "R2=1.0; #Resistor R2, k\u03a9\n",
+ "Vz=6.0; #Zener voltage, V\n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "m=R2/(R1+R2); #Feedback fraction\n",
+ "A_CL=1/m; #Closed-loop voltage gain\n",
+ "Vout=A_CL*(Vz+VBE); #Regulated output voltage, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"The regulated output voltage=%.1fV\"%Vout);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The regulated output voltage=20.1V\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.17 : Page number 456\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "R1=30.0; #Resistor R1, k\u03a9\n",
+ "R2=10.0; #Resistor R2, k\u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "m=R2/(R1+R2); #Feedback fraction\n",
+ "A_CL=1/m; #Closed-loop voltage gain\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"The closed-loop voltage gain=%d.\"%A_CL);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The closed-loop voltage gain=4.\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.18 : Page number 457\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Vin=22.0; #Input voltage, V\n",
+ "Rs=130.0; #Series resistance, \u03a9\n",
+ "Vz=8.3; #Zener voltage, V\n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "RL=100.0; #Load resistance, \u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "Vout=Vz+VBE; #Output voltage, V\n",
+ "\n",
+ "#(ii)\n",
+ "IL=(Vout/RL)*1000; #Load current, mA (OHM's LAW)\n",
+ "IS=((Vin-Vout)/Rs)*1000; #Current through series resistance, mA (OHM's LAW)\n",
+ "IC=IS-IL; #Collector current, mA\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The regulated output voltage=%dV\"%Vout);\n",
+ "print(\"(ii) Various currents for the shunt regulator are: IL=%dmA , IS=%dmA and IC=%dmA\"%(IL,IS,IC));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The regulated output voltage=9V\n",
+ "(ii) Various currents for the shunt regulator are: IL=90mA , IS=100mA and IC=10mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.20 : Page number 463\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "R1=240.0; #Resistor R1 of the regulator, \u03a9\n",
+ "R2=2.4; #Variable resistance R2 of the regulator, k\u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "Vout=1.25*(R2*1000/R1 + 1); #Regulated output voltage, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"The regulated output voltage=%.2fV.\"%Vout);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The regulated output voltage=13.75V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 17.21 : Page number 463\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Vout_adj=8.0; #Output voltage (adjusted), V\n",
+ "Vd=40.0; #Input/output differential rating, V\n",
+ "\n",
+ "#Calculation\n",
+ "Vin_max=Vout_adj+Vd; #Maximum allowable input voltage, V\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"The maximum allowable input voltage=%dV.\"%Vin_max);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum allowable input voltage=48V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter18.ipynb b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter18.ipynb
new file mode 100644
index 00000000..34ff63b3
--- /dev/null
+++ b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter18.ipynb
@@ -0,0 +1,815 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:5aefee63b41b58f0caeac1aa6be18e130e4530aaaa6bc5e9bbc45b3687d3f8e9"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 18 : SOLID-STATE SWITCHING CIRCUITS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.1 : Page number 472"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=10; #Supply voltage, V\n",
+ "RC=1.0; #Collector resistor, k\u03a9\n",
+ "RB=47.0; #Base resistor, k\u03a9\n",
+ "beta=100.0; #Base current amplification factor\n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "IC_sat=VCC/RC; #Collector saturation current, mA\n",
+ "IB=IC_sat/beta; #Base current, mA\n",
+ "V=IB*RB+VBE; #Input voltage, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"Input voltage required to saturate the transistor switch=%.1fV.\"%V);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input voltage required to saturate the transistor switch=5.4V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.2 : Page number 475"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=10; #Supply voltage, V\n",
+ "RC=1.0; #Collector resistor, k\u03a9\n",
+ "ICBO=10.0; #Collector leakage current, \u03bcA\n",
+ "V_knee=0.7; #Knee voltage, V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "IC=ICBO; #Collector current, \u03bcA\n",
+ "VCE=VCC-(ICBO/1000)*RC; #Collector-emitter voltage, V\n",
+ "\n",
+ "print(\"(i) The collector emitter voltage at cut-off=%.2fV.\"%VCE);\n",
+ "\n",
+ "#(ii)\n",
+ "#Since, saturation current=IC_sat=(VCC-V_knee)/RC; \n",
+ "VCE=V_knee; #Collector-emitter voltage, V\n",
+ "\n",
+ "print(\"(ii) The collector emitter voltage at saturation=%.1fV.\"%VCE);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The collector emitter voltage at cut-off=9.99V.\n",
+ "(ii) The collector emitter voltage at saturation=0.7V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.3 : Page number 475-476"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=10; #Supply voltage, V\n",
+ "RC=1; #Collector resistor, k\u03a9\n",
+ "VBB=2; #Supply voltage to base, V\n",
+ "RB=2.7; #Base resistor, k\u03a9\n",
+ "V_knee=0.7; #Knee voltage, V\n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "IB=round((VBB-VBE)/RB,2); #Base current, mA\n",
+ "Ic_sat=(VCC-V_knee)/RC; #Collector saturation current, mA\n",
+ "beta_min=Ic_sat/IB; #Minimum value of base current amplification factor\n",
+ "print(\"(i) Minimum \u03b2=%.1f.\"%beta_min);\n",
+ "\n",
+ "#(ii)\n",
+ "VBB=1; #Supply voltage to base(changed), V\n",
+ "beta=50; #Base current amplification factor\n",
+ "IB=(VBB-VBE)/RB; #Base current, mA\n",
+ "IC=beta*IB; #Collector current,mA\n",
+ "\n",
+ "if(IC<Ic_sat):\n",
+ " print(\"(ii) The transistor will not be saturated.\");\n",
+ "else:\n",
+ " print(\"(ii) The transistor will be saturated.\");\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) Minimum \u03b2=19.4.\n",
+ "(ii) The transistor will not be saturated.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.4 : Page number 480"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "R2=10; #Resistor R2, k\u03a9\n",
+ "R3=10; #Resistor R3, k\u03a9\n",
+ "C1=0.01; #Capacitor of 1st transistor, \u03bcF\n",
+ "C2=0.01; #Capacitor of 2nd transistor, \u03bcF\n",
+ "\n",
+ "#Calculation\n",
+ "R=R2*1000; #Resistance, \u03a9\n",
+ "C=C1*10**-6; #Capacitance, F\n",
+ "T=round((1.4*R*C)*1000,2); #Time period,m sec\n",
+ "f=1/(T*10**-3); #Frequency, Hz\n",
+ "f=f/1000; #Frequency, kHz\n",
+ "\n",
+ "#Result\n",
+ "print(\"Time period of the square wave=%.2f m sec.\"%T);\n",
+ "print(\"Time frequency of the square wave=%d kHz.\"%f);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Time period of the square wave=0.14 m sec.\n",
+ "Time frequency of the square wave=7 kHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.6 : Page number 485"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "R=10; #Resistance in differentiating circuit, k\u03a9\n",
+ "C=2.2; #Capacitance in differentiating circuit, \u03bcF\n",
+ "d_ei=10; #Change in input voltage, V\n",
+ "dt=0.4; #Time in which change occurs, s\n",
+ "\n",
+ "#Calculation\n",
+ "eo=R*1000*C*10**-6*d_ei/dt\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"The output voltage=%.2fV.\"%eo);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The output voltage=0.55V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.7 : Page number 489"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Vin_peak=12; #Peak value of input voltage, V\n",
+ "V_D=0.7; #Forward bias voltage of diode, V\n",
+ "\n",
+ "#Calculation\n",
+ "Vout_peak=Vin_peak-V_D; #Peak value of output voltage, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"The peak output voltage=%.1fV.\"%Vout_peak);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The peak output voltage=11.3V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.8 : Page number 489"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Vin_peak=10; #Peak value of input voltage, V\n",
+ "R=1; #Input resistor, k\u03a9\n",
+ "RL=4; #Load resistor, k\u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "Vout_peak=(Vin_peak*RL)/(R+RL); #Peak output voltage, V\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"The peak output voltage=%dV.\"%Vout_peak);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The peak output voltage=8V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.9 : Page number 490"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Vin=-10; #Input voltage, V\n",
+ "V_D=0.7; #Forward bias voltage of the diode, V\n",
+ "R=1; #Resistance, k\u03a9\n",
+ "\n",
+ "\n",
+ "print(\"The diode will be forward biased for the negative half-cycle of input signal.\");\n",
+ "Vout=-V_D; #Output voltage, V\n",
+ "V_R=Vin-(-V_D); #Voltage across resistor R, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"The output voltage=%.1fV.\"%Vout);\n",
+ "print(\"The voltage across R=%.1fV.\"%V_R);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The diode will be forward biased for the negative half-cycle of input signal.\n",
+ "The output voltage=-0.7V.\n",
+ "The voltage across R=-9.3V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.10 : Page number 490-491"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_F=0.7; #Forward bias voltage of diode, V\n",
+ "R=200.0; #Input resistor of the circuit, \u03a9\n",
+ "RL=1.0; #Load resistor, k\u03a9\n",
+ "Vin_peak=10.0; #Peak input voltage, V\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Positive half-cycle:\n",
+ "print(\"During the positive half cycle, the diode is foward biased and can be replaced by battery of %.1fV.\"%V_F);\n",
+ "print(\"Therefore, Vout=%.1fV.\"%V_F);\n",
+ "\n",
+ "#Negative half-cycle:\n",
+ "print(\"During the negative half cycle, the diode is reverse biased and hence behaves as an open circuit.\");\n",
+ "Vout_peak=RL*(-Vin_peak)/(R/1000+RL);\n",
+ "print(\"Therefore, Vout_peak=%.2fV.\"%Vout_peak);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "During the positive half cycle, the diode is foward biased and can be replaced by battery of 0.7V.\n",
+ "Therefore, Vout=0.7V.\n",
+ "During the negative half cycle, the diode is reverse biased and hence behaves as an open circuit.\n",
+ "Therefore, Vout_peak=-8.33V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.12 : Page number 491"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sin\n",
+ "from math import pi\n",
+ "V_biasing=10.0; #Biasing voltage, V\n",
+ "vin=[30*sin(t/10.0) for t in range(0,(int)(2*pi*10))] #input voltage waveform, V\n",
+ "p=plot(vin);\n",
+ "xlabel('t-->');\n",
+ "ylabel('Vin(V)');\n",
+ "title('Input waveform');\n",
+ "show(p);\n",
+ "vout=[]; #Output voltage waveform, V\n",
+ "for v in vin[:]:\n",
+ " if(v-V_biasing)>0 : #Diode is forward biased.\n",
+ " vout.append(v-V_biasing);\n",
+ " else: #Diode is reverse biased.\n",
+ " vout.append(0);\n",
+ " \n",
+ "p=plot(vout);\n",
+ "xlabel('t-->');\n",
+ "ylabel('Vout(V)');\n",
+ "title('Output waveform');\n",
+ "show(p);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nUQAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f15a24cd1d0>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nBIiIDOz/AUzB4hO0oBxxAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f15a23a9e90>"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.13 : Page number 492"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "Vin=[]; #Input voltage waveform, V\n",
+ "t1=50; #Assumed time interval, s\n",
+ "t2=100; #Assumed time interval, s\n",
+ "V_biasing=10; #Biasing voltage, V\n",
+ "for t in range(0,151): #time interval from 0s to 151s\n",
+ " if(t<=t1): \n",
+ " Vin.append(15); #Value of input voltage for time 0 to t1 seconds \n",
+ " elif(t<=t2 and t>t1):\n",
+ " Vin.append(-30); #Value of input voltage for time t1 to t2 seconds\n",
+ " else :\n",
+ " Vin.append(15); #Value of input voltage after t2 seconds\n",
+ "\n",
+ "p=plot(Vin);\n",
+ "limit = plt.gca()\n",
+ "limit.set_xlim([0,160])\n",
+ "limit.set_ylim([-35,20])\n",
+ "xlabel('t-->');\n",
+ "ylabel('Vin(V)');\n",
+ "title('Input waveform');\n",
+ "show(p);\n",
+ "\n",
+ "vout=[]; #Output voltage waveform, V\n",
+ "for v in Vin[:]: #Loop iterating input voltage \n",
+ " if(v<=0):\n",
+ " vout.append(0); #Diode reverse biased\n",
+ " else:\n",
+ " vout.append(v-V_biasing); #Diode forward biased\n",
+ "\n",
+ "p=plot(vout);\n",
+ "limit = plt.gca()\n",
+ "limit.set_xlim([0,160])\n",
+ "limit.set_ylim([-35,20])\n",
+ "xlabel('t-->');\n",
+ "ylabel('Vout(V)');\n",
+ "title('Output waveform');\n",
+ "show(p);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nQ+VgQAAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f15a25d35d0>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\no4/0t7/9zbnMnXIeOXJEGRkZCg0NVYcOHXT8+HH17NlTubm5bpVTKns+jRgxQpJ05513ysPDQ6dP\nn65QzlpVGHfccYcOHTqkjIwMFRUVadWqVRo2bJjdsSSVvbuYPHmygoODNX36dOfyYcOGafny5ZKk\n5cuXO4vEDgsWLFBmZqbS09OVmJioe++9V++8845bZZSk1q1bq23btkpLS5NU9sJ82223aejQoW6V\ns3379tq9e7cuXLggY4y2bNmi4OBgt8t52fX+zsOGDVNiYqKKioqUnp6uQ4cOKTw83LacycnJWrRo\nkZKSklS/fn3ncnfKGRISotzcXKWnpys9PV3+/v7au3evfHx83CqnJA0fPlzbtm2TJKWlpamoqEgt\nW7asWM6qmWapOR999JHp3Lmz6dixo1mwYIHdcZw++eQT43A4TGhoqOnevbvp3r272bhxozlz5oyJ\njIw0gYGBJioqyuTl5dkd1RhjTEpKivMsKXfM+MUXX5g77rjD3H777ebBBx80+fn5bplz7ty5Jigo\nyHTr1s2MHz/eFBUVuUXOMWPGmDZt2hgvLy/j7+9vli5desNc8+fPNx07djRdunQxycnJtuV8++23\nTadOnUy7du2cz6PHH3/cbXLWrVvX+XheqUOHDs5Jb3fLWVRUZB5++GHTrVs306NHD/Pxxx9XOGet\n/CwpAEDNq1VDUgAA+1AYAABLKAwAgCUUBgDAEgoDAGAJhQEAsITCAFxQUFCgN954w+4YgC0oDMAF\neXl5WrJkieV1gZsJhQG4YNasWTpy5IjCwsL09NNP33DdBx98UA888IDWr1+vkpKSGkoIVB/+pzfg\ngqNHj2rIkCHav3+/pfW3b9+upUuXateuXRo9erQmTZqkjh07VnNKoHpwhAG4wNX3V3379tXy5cv1\n+eefS5KCgoK0du3a6ogGVDsKA6ig2bNnKywsTD169NClS5fUvXt3hYWFad68ec51Lly4oHfffVcj\nRozQ5s2b9corr6h///72hQYqgSEpwAVnzpxRz549lZGR8aPrPv300/rggw80ZMgQTZ48WaGhodUf\nEKhGFAbgorFjx+o///mP7rvvPr3wwgvXXW/jxo2KjIxU3bp1azAdUH0oDACAJcxhAAAsoTAAAJZQ\nGAAASygMAIAlFAYAwBIKAwBgCYUBALCEwgAAWPL/AAJNjJBx3DtUAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f15a2496cd0>"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.14 : Page number 492-493"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "Vin=[]; #Input voltage waveform, V\n",
+ "t1=50; #Assumed time interval, s\n",
+ "t2=100; #Assumed time interval, s\n",
+ "V_biasing=5; #Biasing voltage, V\n",
+ "for t in range(0,151): #time interval from 0s to 151s\n",
+ " if(t<=t1): \n",
+ " Vin.append(10); #Value of input voltage for time 0 to t1 seconds \n",
+ " elif(t<=t2 and t>t1):\n",
+ " Vin.append(-10); #Value of input voltage for time t1 to t2 seconds\n",
+ " else :\n",
+ " Vin.append(0);\n",
+ " \n",
+ "p=plot(Vin);\n",
+ "limit = plt.gca()\n",
+ "limit.set_xlim([0,101])\n",
+ "limit.set_ylim([-20,20])\n",
+ "xlabel('t-->');\n",
+ "ylabel('Vin(V)');\n",
+ "title('Input waveform');\n",
+ "show(p);\n",
+ "\n",
+ "vout=[]; #Output voltage waveform, V\n",
+ "for v in Vin[:]: #Loop iterating input voltage \n",
+ " if(v<=0):\n",
+ " vout.append(v); #Diode reverse biased\n",
+ " else:\n",
+ " vout.append(v-V_biasing); #Diode forward biased\n",
+ "\n",
+ "p=plot(vout);\n",
+ "limit = plt.gca()\n",
+ "limit.set_xlim([0,101])\n",
+ "limit.set_ylim([-20,20])\n",
+ "xlabel('t-->');\n",
+ "ylabel('Vout(V)');\n",
+ "title('Output waveform');\n",
+ "show(p);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nBHydAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f4f12db9190>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f4f12c80dd0>"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.15 : Page number 493"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "Vin=[]; #Input voltage waveform, V\n",
+ "t1=50; #Assumed time interval, s\n",
+ "t2=100; #Assumed time interval, s\n",
+ "V_D1=0.6; #Forward Biasing voltage of the 1st diode, V\n",
+ "V_D2=0.6; #Forward Biasing voltage of the 2nd diode, V\n",
+ "for t in range(0,151): #time interval from 0s to 151s\n",
+ " if(t<=t1): \n",
+ " Vin.append(10); #Value of input voltage for time 0 to t1 seconds \n",
+ " elif(t<=t2 and t>t1):\n",
+ " Vin.append(-10); #Value of input voltage for time t1 to t2 seconds\n",
+ " else :\n",
+ " Vin.append(0);\n",
+ " \n",
+ "p=plot(Vin);\n",
+ "limit = plt.gca()\n",
+ "limit.set_xlim([0,110])\n",
+ "limit.set_ylim([-20,20])\n",
+ "xlabel('t-->');\n",
+ "ylabel('Vin(V)');\n",
+ "title('Input waveform');\n",
+ "show(p);\n",
+ "\n",
+ "vout=[]; #Output voltage waveform, V\n",
+ "for v in Vin[:]: #Loop iterating input voltage \n",
+ " if(v<=0):\n",
+ " vout.append(-V_D1); #Diode D1 forward biased, \n",
+ " else:\n",
+ " vout.append(V_D2); #Diode D2 forward biased\n",
+ "\n",
+ "p=plot(vout);\n",
+ "limit = plt.gca()\n",
+ "limit.set_xlim([0,110])\n",
+ "limit.set_ylim([-1,1])\n",
+ "xlabel('t-->');\n",
+ "ylabel('Vout(V)');\n",
+ "title('Output waveform');\n",
+ "show(p);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f15a2417c90>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nffHFF8rMzNRrr72mQ4cOKTk5WQkJCTp8+LDi4+OVnJzs7lJr3SuvvKLIyEjnCjVv7/MjjzyikSNH\n6tChQ/r8888VHh7u1X3Ozc3Vq6++qr179+rAgQMqKytTSkqKV/V5ypQpSk1NtdxXWf8OHjyotWvX\n6uDBg0pNTdX06dN1+fJld5RdyZR0A7B7927LqqXnnnvOPPfcc26sqH7ccccdZseOHaZHjx4mPz/f\nGGPMyZMnTY8ePdxcWe3Kyckx8fHxJj093YwePdoYY7y6z0VFRaZLly7X3O/NfT5x4oQJCQkxZ8+e\nNSUlJWb06NFm+/btXtfnY8eOmV69ejm3K+vfj1dejhgxwuzZs6d+i/2fBnvEYMcT4LKzs7V//34N\nGDBABQUF8vf3lyT5+/uroKDAzdXVrkcffVQvvPCCGjX6/19Rb+7zsWPH1L59e02ZMkV9+vTRb37z\nG33//fde3eegoCA99thj6tSpkwIDA9WqVSslJCR4dZ+lyn+P8/LyFBwc7Gznzve0BhsMdjsBrri4\nWHfffbdeeeUV3XjjjZbHHA6HV/08/vrXv6pDhw6KiYmpdCmyt/W5tLRU+/bt0/Tp07Vv3z61aNHi\nmiEUb+tzYWGhNm3apOzsbOXl5am4uFjvv/++pY239fnHquufu/reYIMhKChIOTk5zu2cnBxL2nqT\nkpIS3X333Zo0aZLGjRsnqfyTxpUzy0+ePKkOHTq4s8RatXv3bm3atEldunRRYmKi0tPTNWnSJK/u\nc3BwsIKDg9WvXz9J0vjx47Vv3z517NjRa/uclpamLl26qG3btvLx8dFdd92lPXv2eHWfpcr/7/74\nPe3EiRMKCgpyS40NNhiuPgHu0qVLWrt2rcaOHevusmqdMUbTpk1TZGSkZs+e7bx/7NixWrVqlSRp\n1apVzsDwBosWLVJOTo6OHTumlJQU/fKXv9R7773n1X3u2LGjQkJCdPjwYUnlb5o9e/bUmDFjvLbP\nnTt3VmZmpi5cuCBjjNLS0hQZGenVfZYq/787duxYpaSk6NKlSzp27JiOHDmi/v37u6dIt8xs1JKt\nW7ea7t27m65du5pFixa5u5w68cknnxiHw2F69+5toqOjTXR0tNm2bZs5c+aMiY+PN926dTMJCQmm\nsLDQ3aXWiYyMDDNmzBhjjPH6Pn/22Wemb9++5mc/+5m58847TVFRkdf3ed68eSY8PNz06tXL3H//\n/ebSpUte1eeJEyeagIAA4+vra4KDg83KlSur7N+zzz5runbtanr06GFSU1PdVjcnuAEALBrsUBIA\noG4QDAAAC4IBAGBBMAAALAgGAIAFwQAAsCAYgBo6d+6c3njjDXeXAdQ6ggGoocLCQr3++usutwUa\nCoIBqKE5c+bo6NGjiomJ0ZNPPlll2zvvvFN33HGHNm/erNLS0nqqEKgZznwGauj48eMaPXq0Dhw4\n4FL7Xbt2aeXKldqzZ48mTJigqVOnqmvXrnVcJfDTccQA1NBP/UwVGxurVatWae/evZKk8PBwbdiw\noS5KA64LwQDUgrlz5yomJkZ9+vTR5cuXFR0drZiYGM2fP9/Z5sKFC1q9erXuuusu7dixQ8uWLdOw\nYcPcVzRQCYaSgBo6c+aMbrnlFmVnZ1fb9sknn9S6des0evRoTZs2Tb179677AoEaIhiA63Dffffp\n888/1+23367nn3++0nbbtm1TfHy8mjRpUo/VATVDMAAALJhjAABYEAwAAAuCAQBgQTAAACwIBgCA\nBcEAALAgGAAAFgQDAMDi/wAfN3vR+U6XwgAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f15a23368d0>"
+ ]
+ }
+ ],
+ "prompt_number": 42
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.16 : Page number 493-494"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import matplotlib.pyplot as plt\n",
+ "from math import sin\n",
+ "from math import pi\n",
+ "\n",
+ "VZ=20; #Assumed zener voltage, V\n",
+ "VF=0.7; #Assumed forward biasing voltage of the zener diode, V\n",
+ "Vin=[]; #Input voltage waveform, V\n",
+ "for t in range(0,(int)(2*pi*10)): #time interval from 0s to 151s\n",
+ " Vin.append(30*sin(t/10.0));\n",
+ " \n",
+ "p=plot(Vin);\n",
+ "xlabel('t-->');\n",
+ "ylabel('Vin(V)');\n",
+ "title('Input waveform');\n",
+ "show(p);\n",
+ "\n",
+ "vout=[]; #Output voltage waveform, V\n",
+ "for v in Vin[:]: #Loop iterating input voltage \n",
+ " if(v<=-VF):\n",
+ " vout.append(-VF); #Zener diode forward biased, \n",
+ " elif(v>=VZ):\n",
+ " vout.append(VZ); #Input voltage exceeds zener voltage\n",
+ " else:\n",
+ " vout.append(v); #Zener diode reverse biased\n",
+ "\n",
+ "p=plot(vout);\n",
+ "limit = plt.gca()\n",
+ "limit.set_xlim([0,80])\n",
+ "limit.set_ylim([-1,40])\n",
+ "xlabel('t-->');\n",
+ "ylabel('Vout(V)');\n",
+ "title('Output waveform');\n",
+ "show(p);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nUQAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f15a2639290>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nLAEiIg37P3SDpk3uSVOuAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f15a232f110>"
+ ]
+ }
+ ],
+ "prompt_number": 54
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 18.17 : Page number 494"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import matplotlib.pyplot as plt\n",
+ "from math import sin\n",
+ "from math import pi\n",
+ "\n",
+ "VZ1=20; #Assumed zener voltage, V\n",
+ "VF1=0.7; #Assumed forward biasing voltage of the zener diode, V\n",
+ "VZ2=20; #Assumed zener voltage, V\n",
+ "VF2=0.7; #Assumed forward biasing voltage of the zener diode, V\n",
+ "Vin=[]; #Input voltage waveform, V\n",
+ "for t in range(0,(int)(2*pi*10)): #time interval from 0s to 151s\n",
+ " Vin.append(30*sin(t/10.0));\n",
+ " \n",
+ "p=plot(Vin);\n",
+ "xlabel('t-->');\n",
+ "ylabel('Vin(V)');\n",
+ "title('Input waveform');\n",
+ "show(p);\n",
+ "\n",
+ "vout=[]; #Output voltage waveform, V\n",
+ "for v in Vin[:]: #Loop iterating input voltage \n",
+ " if(v<=-(VZ1+VF2)):\n",
+ " vout.append(-(VZ1+VF2)); #Zener diode forward biased, \n",
+ " elif(v>=VZ2+VF1):\n",
+ " vout.append(VZ2+VF1); #Input voltage exceeds zener voltage\n",
+ " else:\n",
+ " vout.append(v); #Zener diode reverse biased\n",
+ "\n",
+ "p=plot(vout);\n",
+ "limit = plt.gca()\n",
+ "limit.set_xlim([0,80])\n",
+ "limit.set_ylim([-40,40])\n",
+ "xlabel('t-->');\n",
+ "ylabel('Vout(V)');\n",
+ "title('Output waveform');\n",
+ "show(p);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nUQAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f15a2723990>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAYkAAAEZCAYAAABiu9n+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XtYVNXCBvB3EPKeN3BQIMcURASFNMwuOoiQlpKmoWBI\naqfPTEstDUsTSwUtK+1kdUyL9CTaMW+pJGhD9nmhk1oYKVqi3PMCKN64re+PnfOJso2BGdYMvL/n\n8Ym57XnBnJe99tp7aYQQAkRERFWwkx2AiIisF0uCiIhUsSSIiEgVS4KIiFSxJIiISBVLgoiIVLEk\niGzYnDlz4OTkhI4dO8qOQvUUS4Ksxueffw4fHx80b94cHTp0wOTJk1FUVFTt1+t0OuzZs8dsecy9\nPXM7c+YM3n33XRw7dgw5OTmy41A9xZIgq7B06VJERUVh6dKluHjxIg4cOIDTp08jKCgIpaWl1dqG\nRqOBOc8NNff2zO3MmTNo164d2rVrZ/Jry8rKLJCI6iVBJFlRUZFo0aKF+OqrryrdX1xcLJycnMTq\n1auFEEJERkaKOXPmGB//7rvvhKurqxBCiKefflrY2dmJpk2bihYtWoi3335bnDp1Smg0GvGvf/1L\ndOzYUXTo0EG88847xtebur1b9e/fX2zcuFEIIcQPP/wgNBqN2L59uxBCiKSkJOHr6yuEEOLkyZMi\nICBAtGvXTjg6OoqxY8eKwsJCIYQQsbGxYtSoUZW2++KLL4oXX3xRCCFEYWGhmDBhgujQoYNwcXER\nc+bMEeXl5SIxMVE0bdpU2NnZiRYtWojx48cLIYTYsmWL8PLyEq1btxZ6vV789ttvxu126tRJLF68\nWPj4+IgmTZqIkydPCo1GIz777DPh5uYm2rRpIz7++GORkpIifHx8ROvWrcWUKVOq95dI9RZLgqTb\nuXOnsLe3F+Xl5bc9FhkZKcLCwoQQQjzzzDNi7ty5xsdu/lAXQgidTid2795tvH2jJMLDw8WVK1dE\namqqcHJyEklJSTXa3q3eeOMNMXXqVCGEEAsXLhRdunQRr776qhBCiLlz54pp06YJIZSSSEpKEiUl\nJeLs2bOif//+xsdOnz4tmjVrJi5duiSEEKKsrEx06NBBHDx4UAghxPDhw8WkSZPElStXxJ9//in8\n/f3FJ598IoQQwmAwVMp7/Phx0bx5c5GUlCTKysrEkiVLRNeuXUVpaakQQikJPz8/kZWVJa5du2b8\n+Tz//PPi+vXrYteuXaJx48ZixIgR4uzZsyI7O1u0b99eJCcnq/4MqP7jcBNJd+7cOTg6OsLO7vb/\nHZ2dnXH+/HnjbVGD4Z958+ahadOm8Pb2xvjx47Fu3bpabe+GAQMGIDk5GQCwd+9ezJ4923g7OTkZ\nAwYMAAB06dIFgYGBcHBwgKOjI6ZPn2583j333IP77rsPmzZtAgDs2bMHzZo1g7+/P/Lz87Fz5068\n9957aNq0KZycnDBt2jTEx8dXmX39+vUYOnQoAgMD0ahRI7zyyiu4evUq9u3bB0AZPnvxxRfh4uKC\nxo0bG183d+5c3HXXXQgKCkKLFi0QFhYGR0dHdOzYEY888ggOHz5c458R2T6WBEnn6OiIc+fOoaKi\n4rbHcnNz4ejoWKvtu7m5Gb++5557zHaQ94EHHkB6ejr+/PNPHDlyBOPGjUNmZibOnz+PH3/8Ef37\n9wcA5OfnY8yYMXB1dUWrVq0QERFRqfjCw8ONxfXll19i7NixAIDTp0+jtLQUHTp0QJs2bdCmTRtM\nmjQJZ8+erTJPbm4u7rnnHuNtjUYDNzc3ZGdnV/mzuEGr1Rq/btq06W23i4uLa/LjoXqCJUHS9evX\nD40bN8bGjRsr3V9cXIyEhAQEBgYCAJo3b44rV64YH8/Ly6v0fI1GU+X2z5w5U+lrFxeXWm3vhmbN\nmqF37954//334ePjAwcHBzz44INYunQpunbtirZt2wIAXnvtNTRq1AhHjx5FUVER1qxZU6kQR40a\nBYPBgOzsbGzevBnh4eEAlA/0xo0b4/z58ygoKEBBQQGKioqQmppaZZ6OHTvi9OnTxttCCGRmZhq/\n3+p8T1WpyWuo/mBJkHStWrXCvHnzMHXqVHz77bcoLS1FRkYGQkND4ebmhoiICACAr68vduzYgYKC\nAuTl5eH999+vtB2tVovff//9tu0vWLAAV69exa+//orPP/8co0ePrtX2bjZgwAB8+OGHxqElvV6P\nf/7zn8bbgFJ2zZs3x913343s7Gy8/fbblbbh5OQEvV6PZ555Bvfeey+6desGAOjQoQOCg4MxY8YM\nXLp0CRUVFfj999/x/fffV5klNDQU27dvx549e1BaWoqlS5eiSZMmePDBB+/4Pfyd2gzJke1jSZBV\nmDlzJhYtWoRXXnkFrVq1wgMPPIBOnTph9+7dcHBwAABERESgV69e0Ol0GDx4MMaMGVPpt9zZs2dj\nwYIFaNOmDd59913j/QMGDEDXrl0xaNAgzJw5E4MGDarV9m42YMAAFBcXG4eW+vfvj8uXLxtvA8ox\nkUOHDqFVq1YYNmwYRo4cedtv5+Hh4di9e7dxL+KGL774AiUlJfDy8kLbtm3x1FNPVdrjuXk7Hh4e\nWLt2LaZOnQonJyds374d27Ztg729verPvTp7CdyTaNg0QvKvCeXl5ejTpw9cXV2xbds2XLhwAaNH\nj8bp06eh0+mwYcMGtG7dWmZEslEZGRm49957UVZWVuVBcSL6e9L/5SxbtgxeXl7G31ZiY2MRFBSE\n9PR0BAYGIjY2VnJCIqKGS2pJZGVlYceOHXj22WeN455bt25FZGQkACAyMhKbN2+WGZFsHIdKiGpH\naklMnz4db7/9dqWhgPz8fOMUPK1Wi/z8fFnxyMbpdDqUl5dzqImoFqT96/nmm2/Qvn17+Pn5qc6e\n0Gg0/E2QiEgi9WkPFrZv3z5s3boVO3bswLVr13Dx4kVERERAq9UiLy8Pzs7OyM3NRfv27W97LYuD\niKhmTJ2rJG1PYtGiRcjMzMSpU6cQHx+PgQMHYs2aNQgJCUFcXBwAIC4uDsOHD6/y9UK57pRV/5k3\nb570DMzJnMzJjDf+1ITVDNbe2DuIiopCYmIiPDw8sGfPHkRFRUlORkTUcEkbbrrZgAEDjGeotm3b\nFklJSZITERERYEV7EvWRXq+XHaFamNO8mNO8bCGnLWSsKelnXNeEta8YRkRkjWry2ck9CSIiUsWS\nICIiVSwJIiJSxZIgIiJVLAkiIlLFkiAiIlUsCSIiUsWSICIiVSwJIiJSxZIgIiJVLAkiIlLFkiAi\nIlUsCSIiUsWSICIiVSwJIiJSxZIgIiJVLAkiIlIlrSSuXbuGvn37wtfXF97e3oiOjgYAXLhwAUFB\nQfDw8EBwcDAKCwtlRSQiavCkLl965coVNGvWDGVlZXj44YexbNkybNy4EY6Ojpg1axYWL16MgoIC\nxMbGVnodly8lIjKdzS1f2qxZMwBASUkJSktLodFosHXrVkRGRgIAIiMjsXnzZpkRiYgaNKklUVFR\nAV9fX2i1WgQHB8Pf3x/5+fnQarUAAK1Wi/z8fJkRiYgaNHuZb25nZ4cjR46gqKgII0aMwNGjRys9\nrtFooNFoqnztjWMYAKDX66HX6y2YlIjI9hgMBhgMhlptQ+oxiZu99dZbaNasGVauXAmDwQBnZ2fk\n5uYiICAAx44dq/RcHpMgIjKdTR2TOHfunHHm0tWrV5GYmIju3bsjJCQEcXFxAIC4uDgMHz5cVkQi\nogZP2p5EamoqIiMjUV5ejoqKCowePRpz5szBhQsXEBoaijNnzkCn02HDhg1o3bp15dDckyAiMllN\nPjutZrjJFCwJIiLT2dRwExERWT+WBBERqWJJEBGRKpYEERGpYkkQEZEqlgQREaliSRARkSqWBBER\nqWJJEBGRKpYEERGpYkkQEZEqlgQREaliSRARkSqWBBERqWJJEBGRKpYEERGpYkkQEZEqlgQREali\nSRARkSppJZGZmYmAgAD06NED3t7eWL58OQDgwoULCAoKgoeHB4KDg1FYWCgrIhFRg6cRpq6KbSZ5\neXnIy8uDr68viouL0bt3b2zevBmfffYZHB0dMWvWLCxevBgFBQWIjY2tHLoGi3mbW0UFUFwsNYI0\nGg3QsqXsFERkqpp8dkoriVsNHz4cU6ZMwZQpU5CcnAytVou8vDzo9XocO3as0nNll8T588DQoUBq\nKmDXAAfsysoANzfgsceAxx8HHnkEaNxYdioi+js1+ey0t1AWk2RkZODw4cPo27cv8vPzodVqAQBa\nrRb5+fmS01WWmQk8+igQEgLs26f8Vt3QCAEcOQJs3w7MnQukpQEffgg8/bTsZERkbtJLori4GCNH\njsSyZcvQ8pYxDI1GA43Kp3B0dLTxa71eD71eb8GUit9+AwYPBl58EXj5ZYu/ndXSaAA/P+XPnDlK\nYQQFAQEBgIuL7HREdIPBYIDBYKjVNqQON5WWlmLo0KEYMmQIpk2bBgDw9PSEwWCAs7MzcnNzERAQ\nYBXDTSkpyt7DkiXAuHF1+tY2Yd484PBhYMuWhrl3RWQLavLZKW1EXQiBiRMnwsvLy1gQABASEoK4\nuDgAQFxcHIYPHy4rolFBATB8OPCvf7Eg1Lz2GvDHH8D69bKTEJE5SduT+OGHH9C/f3/07NnTOKQU\nExMDf39/hIaG4syZM9DpdNiwYQNat25dOXQd70k89xzg4KCMu5O6gweBJ54Ajh4FHB1lpyGiW9n0\n7CZT1GVJ7N0LjBmjHJxt1apO3tKmzZgB/PknsHat7CREdCubGm6yBdevA//zP8CyZSyI6nrrLWD/\nfmXmExHZPpbEHbz9NtClCzBypOwktqN5c+CTT4AXXgCuXJGdhohqi8NNKtLTgQcfBA4dAu65x6Jv\nVS+NGQO4uyt7FkRkHXhMwkyEAAYNUs6qnj7dYm9Tr2VnA716KUNP7u6y0xARwGMSZvPVV8C5c8DU\nqbKT2C4XFyAqSvkZ2t6vIUR0A0viFpcvA6+8AnzwAWAv/Xx02/bSS8plTDZtkp2EiGqKw023eOMN\n4MQJYN06i2y+wTEYgMhIZQpx8+ay0xA1bDwmUUunTgH3369ci8jV1eybb7DGjlUO/sfEyE5C1LCx\nJGppxAilJF57zeybbtBycoCePZXrX917r+w0RA0XD1zXwq5dwC+/KGcMk3l17KjMEps1S3YSIjIV\n9yQAlJYq0zVjY5UrvZL5Xb0KeHoCa9YA/fvLTkPUMHFPooY++UQ5BjFsmOwk9VfTpkoJz5ihLP1K\nRLahwe9JFBUBHh5AYqIybk6WI4RyFvukScqMJyKqWzxwXQNRUcDZs8CqVWbZHP2NAweUa2EdPw60\naCE7DVHDwpIwUUYG0Ls3kJqqHFylujF2rHLhxDfflJ2EqGFhSZho7FjlukI3LZdNdSAzE/D1VWaT\ncU1sorrDkjDBjz8qq6ilp3PYQ4aoKOX6WJ9+KjsJUcPBkqgmIQC9HoiIAJ591ny5qPoKC5UJAwYD\n4OUlOw1Rw8ApsNW0bRtw4QIwfrzsJA1X69bAq68Cs2fLTkJEdyK1JCZMmACtVgsfHx/jfRcuXEBQ\nUBA8PDwQHByMwsJCs75nebnywRQbCzRqZNZNk4leeEG5TtYPP8hOQkRqpJbE+PHjkZCQUOm+2NhY\nBAUFIT09HYGBgYiNjTXre65dC7RtCzz2mFk3SzXQpImyct2sWVxzgshaSS2JRx55BG3atKl039at\nWxH515lWkZGR2Lx5s9ne79o15VLgsbGARmO2zVItjB2rrOGxZYvsJERUFas7JpGfnw+tVgsA0Gq1\nyM/PN9u2P/5YuUbTQw+ZbZNUS40aKaUdFQWUlclOQ0S3suq11zQaDTQqv/JH33Ryg16vh16vv+O2\nLl5U1jNISjJjQDKLwYOBJUuAL74AJkyQnYao/jAYDDAYDLXahvQpsBkZGRg2bBhSU1MBAJ6enjAY\nDHB2dkZubi4CAgJw7NixSq+pyTSu6Gjgjz+UDyKyPvv2AWFhynkrjRvLTkNUP9WLKbAhISGIi4sD\nAMTFxWH48OG13uaffyprVs+fX+tNkYU8+KBygcVPPpGdhIhuJnVPIiwsDMnJyTh37hy0Wi3efPNN\nPPHEEwgNDcWZM2eg0+mwYcMGtG7dutLrTG3DadOUy1MvX27u74DM6eeflaGnkye5HjaRJfCM6yrc\nuE7Qr78Czs4WDka1NmaMMrmAJ9kRmR9LogqTJiln95r5dAuykPR0ZfbZiRPK3xsRmQ9L4hZ//AH4\n+ytrF7RrVwfByCyefVbZ61uwQHYSovqFJXGLZ54BdDpeCtzWnDkD+PkBaWnAX6fMEJEZsCRu8ttv\nQP/+ykHQVq3qKBiZzUsvKSfavfuu7CRE9QdL4iajRyu/jUZF1VEoMqvcXMDbm6sGEpkTS+IvnEpZ\nP7zyCnD9unKOCxHVHkviL088AQQEKOdHkO3680+ge3flcuJubrLTENk+i5ZEQUEBcnJy0LRpU+h0\nOtjZyTtZ+07f6H//q5TEyZNA06Z1HIzMbvZsoKBAuTgjEdWO2UuisLAQK1aswLp163D9+nW0b98e\n165dQ15eHvr164fJkycjICCg1sFNdadvdOhQZahpypQ6DkUWcf480K2bUv46new0RLbN7CURFBSE\niIgIDBs2rNK6D0II/PTTT1i7di28vb3xbB0vFK32jR48CIwapZyI1aRJnUYiC3rjDSA7G1i1SnYS\nItvW4I9JDBkChIQAzz8vIRRZTEEB4OEB7N8PdO0qOw2R7TL7VWC9vLywYMEC/P7777UKVhf271dO\nvuJ6BPVPmzbA1KnKUqdEVLfuWBJffvkliouLERwcjPvvvx/vvfcecnJy6iqbSebNA15/nWsR1Fcv\nvQTs2KFc24mI6k61h5sOHDiA+Ph4fP311+jSpQvCwsLw3HPPWTpflW7dZdq7Fxg3TrlG0113SYlE\ndWDBAqUkuHAUUc1Y/JiEEAIGgwHTp09HWloaSkpKTA5pDrd+owMHAmPHAhMnSolDdeTiRaBLF+CH\nH5QZT0RkGoutTJeSkoIZM2agU6dOiI6OxqRJk6xm2Ck5GTh9WtmToPrt7ruVEyR5bIKo7txxT+K1\n117D+vXr0aZNG4SFhWH06NFwdXWty3xVurkNBw4EIiKA8eMlh6I6cfGiMsPp++8BT0/ZaYhsS032\nJOzv9GCTJk2QkJAAd3f3WgWzlBt7EU8/LTsJ1ZWb9yb+/W/ZaYjqvzsONwUEBNyxIIqKipCammr2\nUNU1fz4wZw7g4CAtAkkwZQqQmKhcDp6ILOuOJbFx40b069cPb775JrZv346UlBQkJydj1apViIiI\nwNChQ3H16lWzh0pISICnpyfc3d2xePHiKp+TnKwsThMRYfa3Jyt3993A9OnAm2/KTkJU//3t7Kbz\n589j48aN2LdvH3Jzc9G0aVN0794djz/+OB5++GGzByovL0e3bt2QlJQEFxcX3H///Vi3bh26d+/+\n/6E1Guj1ApGRyupz1PBcuqTMdEpOVq4US0R/z2JTYP/44w/ce++9f3ufOezfvx/z589HQkICACA2\nNhYAEHXT6kEajQZduggcOwbY3/GoCtVnsbHAL78AX34pOwmRbbDYFNhRo0bddt9TTz1l0htVV3Z2\nNtxuWjzA1dUV2dnZtz1vzhwWREP3wgtAUhKPTRBZ0h0/Zn/77TekpaWhsLAQX3/9NYQQ0Gg0uHjx\nIq5du2aRQBqNplrP++OPaERHK1/r9Xro9XqL5CHr1bIlMGOGMtOJexNEtzMYDDAYDLXaxh1LIj09\nHdu2bUNRURG2bdtmvL9ly5ZYuXJlrd5YjYuLCzIzM423MzMzqzw34803oy3y/mRbXnhBOTbx2288\nNkF0q1t/gZ4/f77J26jWMYn9+/ejX79+Jm+8JsrKytCtWzfs3r0bHTt2hL+/f5UHrm3wCudkITw2\nQVQ9FjtwPf6W05lvDAmtXr3apDerrp07d2LatGkoLy/HxIkTMXv27NvenyVBN3CmE1H1WKwk/vOf\n/xiL4erVq9i0aRM6duyIDz74oGZJa4klQbeKjQV+/hlYt052EiLrVWcr01VUVOChhx7C/v37TX2p\nWbAk6FaXLinXdPruO8DLS3YaIutksSmwt0pPT8fZs2dr8lIii7gx04lnYROZV7XONGjRooVxuEmj\n0UCr1apeLoNIlhsznX79FejRQ3YaovqhRsNNsnG4idQsWQL89BOwfr3sJETWx6LHJLZs2YLvv/8e\nGo0GAwYMwLBhw2oU0hxYEqTm8mVlbyIpCfD2lp2GyLpYrCSioqLw448/YuzYsRBCID4+Hn369EFM\nTEyNw9YGS4Lu5J13gIMHga++kp2EyLpYrCR8fHxw5MgRNGrUCIBypVZfX19pa0mwJOhOLl9WZjp9\n+y3Qs6fsNETWw2KzmzQaDQoLC423CwsLq32NJaK61rw5MHOmsigVEdXOHfckJk+ejPDwcGRlZeHV\nV19FQEAAhBBITk5GbGwsxowZU5dZjbgnQX/nyhVlb2LHDsDXV3YaIutg9uGm999/H+vXr0dOTg4G\nDRqETp06wdfXF/7+/nB2dq514JpiSVB1LFsG7NkDbNkiOwmZS0EB0KaN7BS2y2LHJDIyMhAfH4/4\n+HhcvXoV4eHhCAsLg4eHR43D1gZLgqrj2jXA3R34+mvg/vtlp6HaKi9XjjF9+ilQR9cbrXfq5LIc\nhw8fxvjx45Gamory8nKT3sxcWBJUXR99BGzdCuzcKTsJ1da//w2sWAH88APAQ6I1Y7ED12VlZdi6\ndSvCw8MxePBgeHp64uuvv65RSKK6NHGistbEvn2yk1BtlJUB0dHKAlMsiLp1xz2JXbt2IT4+Htu3\nb4e/vz/CwsIQEhKCFi1a1GXG23BPgkyxapWy1sTu3bKTUE2tXg2sXascY6KaM/tw08CBAxEWFoaR\nI0eibdu2tQ5oLiwJMkVpqbLOxKefAlzl1vZcvw5066YMNz30kOw0tq3OLhUuG0uCTPXFF0pJJCdz\nuMLWrFgBfPONMp2ZaoclQaSivFy5Muzy5UBwsOw0VF1Xryoz1DZvBvr0kZ3G9tXZehJEtqZRI+Wg\n52uvAfz9wnZ8/LEyfZkFIQ9LghqMkSOBigrlvAmyfsXFwOLFvLyKbFJK4quvvkKPHj3QqFEjHDp0\nqNJjMTExcHd3h6enJ3bt2iUjHtVTdnbAwoXAnDnK8BNZt/feAwIDeZFG2aSUhI+PDzZt2oT+/ftX\nuj8tLQ3r169HWloaEhISMHnyZFRUVMiISPXU4MGAkxOwZo3sJHQn584pl1XhcrTySSkJT0/PKi/p\nsWXLFoSFhcHBwQE6nQ5du3ZFSkqKhIRUX2k0wKJFyolZ16/LTkNqYmOB0FBlASmSy6qOSeTk5MDV\n1dV429XVFdnZ2RITUX308MPKTKeVK2UnoapkZQGffQbMnSs7CQGAvaU2HBQUhLy8vNvuX7RokUlL\nn6qtWxEdHW38Wq/XQ8+zpMgECxYAjz0GjB+vrD9B1mP+fOC554AOHWQnsX0GgwEGg6FW27BYSSQm\nJpr8GhcXF2RmZhpvZ2VlwcXFpcrn3lwSRKby8wP69wfefx94/XXZaeiG48eVcyLS02UnqR9u/QV6\nfg2mikkfbrr5xI6QkBDEx8ejpKQEp06dwokTJ+Dv7y8xHdVnCxcqM2jOnpWdhG6YOxd4+WWuGWFN\npJTEpk2b4ObmhgMHDuDxxx/HkCFDAABeXl4IDQ2Fl5cXhgwZghUrVnCZVLKYrl2BsDBl6Ink++9/\nlcuAT50qOwndjJfloAbtzz+Vi/+lpHAmjUxCAAEBwNixwD/+ITtN/cXLchCZqH17YPp0HpeQ7Ztv\nlGG/8eNlJ6FbcU+CGrzLlwEPD+WAKZc5rXtlZYCPD/DOO8Djj8tOU79xT4KoBpo3V06umzmTF/+T\nYdUqZbrrY4/JTkJV4Z4EEfjbrCyXLikLCm3bBvTuLTtN/cc9CaIasrdXrjg6c6aykh3VjXfeAQYO\nZEFYM+5JEP1FCCAoCBg+HJgyRXaa+i8nR9l7O3QI6NRJdpqGgSvTEdVSaqpyeepjxwArWta9Xnrm\nGcDZWbmYH9UNlgSRGTz/PODgoCx1SpZx8CDw5JNKGbdsKTtNw8GSIDKDs2cBLy/g+++VE+3IvCoq\ngAcfVMo4MlJ2moaFB66JzMDJSVkLe8YM2Unqp7VrleM/ERGyk1B1cE+CqAolJcpB1ffe4/x9c7p0\nCfD0VNYZ79tXdpqGh3sSRGZy113A0qXKJTu4gp35LFwIDBrEgrAl3JMguoOQEOCBB5ThJ6qdkyeV\nn2VqKhcUkoUHronM7NQp5XpOP/4IdO4sO43tEkI5k33AAODVV2Wnabg43ERkZp07KwewX3pJdhLb\ntnEjcOYMJwPYIu5JEP2N69eBXr2AJUuU4ScyzcWLypTi+Hjg4Ydlp2nYONxEZCG7dwMTJwK//qpc\nNZaq78UXgStXgE8/lZ2EWBJEFhQeDuh0wKJFspPYjv/+Fxg6VCnXdu1kpyGWBJEF5eYCPXsqexU9\ne8pOY/3KypSpri+9BIwbJzsNATZ04HrmzJno3r07evXqhSeffBJFRUXGx2JiYuDu7g5PT0/s2rVL\nRjyiKnXoAMTEABMmKB+AdGf//CfQqhXPrLZ1UkoiODgYv/76K37++Wd4eHggJiYGAJCWlob169cj\nLS0NCQkJmDx5MioqKmREJKrSxIlAmzbKOgik7rvvlEL95BNAo5GdhmpDSkkEBQXBzk556759+yIr\nKwsAsGXLFoSFhcHBwQE6nQ5du3ZFSkqKjIhEVdJogJUrlZL47TfZaazT8ePAmDHAunWAu7vsNFRb\n0s+TWL16NR776+I4OTk5cHV1NT7m6uqK7OxsWdGIqqTTAW++qQw7lZfLTmNdzp1TDlQvWqSsOEe2\nz95SGw4KCkJeXt5t9y9atAjDhg0DACxcuBB33XUXwsPDVbejUdlXjY6ONn6t1+uh1+trlZfIFJMm\nARs2AMuW8QSxG65fV9aIGDlSGZYj+QwGAwwGQ622IW120+eff46VK1di9+7daNKkCQAg9q8lqqKi\nogAAgwdVEd01AAALgUlEQVQPxvz589H3lquBcXYTWYOTJ5XZO/36AS1aKOdPtGihLFjUEP38M3D3\n3cBXXwF20scoqCo2MwU2ISEBL7/8MpKTk+Ho6Gi8Py0tDeHh4UhJSUF2djYGDRqEkydP3rY3wZIg\na3HsGHDiBFBcDFy+rPy3oc58atxY2YNo1kx2ElJjMyXh7u6OkpIStP1rEeF+/fphxYoVAJThqNWr\nV8Pe3h7Lli3Do48+etvrWRJERKazmZKoLZYEEZHpbOZkOiIisg0sCSIiUsWSICIiVSwJIiJSxZIg\nIiJVLAkiIlLFkiAiIlUsCSIiUsWSICIiVSwJIiJSxZIgIiJVLAkiIlLFkiAiIlUsCSIiUsWSICIi\nVSwJIiJSxZIgIiJVLAkiIlIlpSTmzp2LXr16wc/PD48++ihyc3ONj8XExMDd3R2enp7YtWuXjHhE\nRPQXKWtcX7p0CS1btgQAfPDBB0hLS8NHH32EtLQ0hIeH48cff0R2djYGDRqE9PR02NlV7jKucU1E\nZDqbWeP6RkEAQHFxsbEEtmzZgrCwMDg4OECn06Fr165ISUmREZGIiADYy3rj119/HWvWrEGrVq1g\nMBgAADk5OXjggQeMz3F1dUV2drakhEREZLE9iaCgIPj4+Nz2Z9u2bQCAhQsX4syZMxg7diw++OAD\n1e1oNBpLRSQior9hsT2JxMTEaj0vPDwcjz/+OKKjo+Hi4oLMzEzjY1lZWXBxcanyddHR0cav9Xo9\n9Hp9beISEdU7BoPBOFJTU1IOXJ84cQLu7u4AlAPXe/fuxYYNG4wHrlNSUowHrk+ePHnb3gQPXBMR\nma4mn51SjknMnj0bx48fh52dHXQ6HT7++GMAgJeXF0JDQ+Hl5QV7e3usWLGCw01ERBJJ2ZOoLe5J\nEBGZzmamwBIRkW1gSRARkSqWBBERqWJJEBGRKpYEERGpYkkQEZEqlgQREaliSRARkSqWBBERqWJJ\nEBGRKpYEERGpYkkQEZEqlgQREaliSRARkSqWBBERqWJJEBGRKpYEERGpYkkQEZEqlgQREamSWhJL\nly6FnZ0dLly4YLwvJiYG7u7u8PT0xK5duySmIyIiaSWRmZmJxMREdOrUyXhfWloa1q9fj7S0NCQk\nJGDy5MmoqKiQFbHWDAaD7AjVwpzmxZzmZQs5bSFjTUkriRkzZmDJkiWV7tuyZQvCwsLg4OAAnU6H\nrl27IiUlRVLC2rOV/3GY07yY07xsIactZKwpKSWxZcsWuLq6omfPnpXuz8nJgaurq/G2q6srsrOz\n6zoeERH9xd5SGw4KCkJeXt5t9y9cuBAxMTGVjjcIIVS3o9FoLJKPiIj+nkbc6RPaAo4ePYrAwEA0\na9YMAJCVlQUXFxccPHgQn332GQAgKioKADB48GDMnz8fffv2rRyaxUFEVCOmfuTXeUncqnPnzvjp\np5/Qtm1bpKWlITw8HCkpKcjOzsagQYNw8uRJlgIRkSQWG26qrpsLwMvLC6GhofDy8oK9vT1WrFjB\ngiAikkj6ngQREVkvmzvjOiEhAZ6ennB3d8fixYtlxzGaMGECtFotfHx8jPdduHABQUFB8PDwQHBw\nMAoLCyUmVGRmZiIgIAA9evSAt7c3li9fDsC6sl67dg19+/aFr68vvL29ER0dbXUZb1ZeXg4/Pz8M\nGzYMgHXm1Ol06NmzJ/z8/ODv7w/AOnMWFhZi1KhR6N69O7y8vHDw4EGry3n8+HH4+fkZ/7Rq1QrL\nly+3upwA8N5778Hb2xs+Pj4IDw/H9evXTc8pbEhZWZno0qWLOHXqlCgpKRG9evUSaWlpsmMJIYT4\n/vvvxaFDh4S3t7fxvpkzZ4rFixcLIYSIjY0Vr776qqx4Rrm5ueLw4cNCCCEuXbokPDw8RFpamtVl\nvXz5shBCiNLSUtG3b19x4MABq8t4w9KlS0V4eLgYNmyYEMI6/951Op04f/58pfusMee4cePEqlWr\nhBDK331hYaFV5ryhvLxcODs7izNnzlhdzqysLNG5c2dx7do1IYQQoaGh4vPPPzc5p02VxL59+8Sj\njz5qvB0TEyNiYmIkJqrs1KlTlUqiW7duIi8vTwihfDh369ZNVjRVTzzxhEhMTLTarJcvXxb33Xef\nOHjwoFVmzMzMFIGBgWLPnj1i6NChQgjr/HvX6XTi3Llzle6ztpyFhYWic+fOt91vbTlv9u2334qH\nH35YCGF9ObOysoSbm5u4cOGCKC0tFUOHDhW7du0yOadNDTdlZ2fDzc3NeNvaT7bLz8+HVqsFAGi1\nWuTn50tOVFlGRgYOHz6Mvn37Wl3WiooK+Pr6QqvVIjg4GP7+/laXEQCmT5+Ot99+G3Z2//9PyRpz\najQaDBo0CH369MHKlSsBWF/OU6dOwcnJCePHj8d9992Hf/zjH7h8+bLV5bxZfHw8wsLCAFjfz9PF\nxQUvv/wy7rnnHnTs2BGtW7dGUFCQyTltqiRseaaTRqOxqvzFxcUYOXIkli1bhpYtW1Z6zBqy2tnZ\n4ciRI8jKysLBgwdx9OjRSo9bQ8ZvvvkG7du3h5+fn+rcc2vICQD/+7//i8OHD2Pnzp348MMPsXfv\n3kqPW0POsrIyHDp0CJMnT8ahQ4fQvHlzxMbGVnqONeS8oaSkBNu2bcNTTz1122PWkLOgoABbt25F\nRkYGcnJyUFxcjLVr11Z6TnVy2lRJuLi4IDMz03g7MzOz0mU8rI1WqzWedZ6bm4v27dtLTqQoLS3F\nyJEjERERgeHDhwOw3qytWrVCQEAAvv32W6vLuG/fPmzduhWdO3dGWFgY9uzZg4iICKvLCQAdOnQA\nADg5OWHEiBFISUmxupyurq5wdXXF/fffDwAYNWoUDh06BGdnZ6vKecPOnTvRu3dvODk5AbC+f0NJ\nSUno3Lkz2rVrB3t7ezz55JPYv3+/yT9PmyqJPn364MSJE8jIyEBJSQnWr1+PkJAQ2bFUhYSEIC4u\nDgAQFxdn/ECWSQiBiRMnwsvLC9OmTTPeb01Zz507Z5xxcfXqVSQmJqJ79+5WlREAFi1ahMzMTJw6\ndQrx8fEYOHAg1qxZY3U5r1y5gkuXLgEALl++jF27dsHHx8fqcjo7O8PNzQ3p6ekAlA+5Hj16YNiw\nYVaV84Z169YZh5oA6/o3BACdOnXCgQMHcPXqVQghkJSUBC8vL9N/nhY/emJmO3bsEB4eHqJLly5i\n0aJFsuMYjRkzRnTo0EE4ODgIV1dXsXr1anH+/HkRGBgo3N3dRVBQkCgoKJAdU+zdu1doNBrRq1cv\n4evrK3x9fcXOnTutKusvv/wi/Pz8RM+ePYW3t7d46623hBDCqjLeymAwGGc3WVvOP/74Q/Tq1Uv0\n6tVL9OjRw/jvxtpyCiHEkSNHRJ8+fUTPnj3FiBEjRGFhoVXmLC4uFu3atRMXL1403meNOefNmyc8\nPT2Ft7e3GDdunCgpKTE5J0+mIyIiVTY13ERERHWLJUFERKpYEkREpIolQUREqlgSRESkiiVBRESq\nWBJEJigqKsJHH30kOwZRnWFJEJmgoKAAK1asqPZziWwdS4LIBFFRUfj999/h5+eHWbNm3fG5I0aM\nwBNPPIFt27ahrKysjhISmRfPuCYywenTpzF06FCkpqZW6/nJyclYvXo19u/fj6eeegoTJkxAly5d\nLJySyHy4J0FkAlN/pxowYADi4uLw008/AQA8PT2xadMmS0QjsgiWBFENzZkzB35+frjvvvuMiyT5\n+fkZ1+QGlKvYfvnll3jyySeRmJiI5cuXY9CgQfJCE5mIw01EJjh//jx69+6NjIyMv33urFmz8J//\n/AdDhw7FxIkT0atXL8sHJDIzlgSRicaOHYtffvkFQ4YMwZIlS1Sft3PnTgQGBuKuu+6qw3RE5sWS\nICIiVTwmQUREqlgSRESkiiVBRESqWBJERKSKJUFERKpYEkREpIolQUREqlgSRESk6v8AbU8ybWOZ\nXb8AAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f15a2583910>"
+ ]
+ }
+ ],
+ "prompt_number": 55
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter19.ipynb b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter19.ipynb
new file mode 100644
index 00000000..5c74053c
--- /dev/null
+++ b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter19.ipynb
@@ -0,0 +1,1666 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:e80dba2d461291c68fb06b32e702542441b6f13e4e124da0b4826c1be4471e9c"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 19 : FIELD EFFECT TRANSISTORS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.1 : Page number 515\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "I_DSS=12.0; #Shorted gate drain current, mA\n",
+ "V_GS_off=-5.0; #Gate-source cut-off voltage, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"ID=%d[1 + VGS/%d]\u00b2mA.\"%(I_DSS,abs(V_GS_off)));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "ID=12[1 + VGS/5]\u00b2mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.2 : Page number 515\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "I_DSS=32.0; #Shorted gate drain current, mA\n",
+ "V_GS_off=-8.0; #Gate-source cut-off voltage, V\n",
+ "V_GS=-4.5; #Gate-source voltage, V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "I_D=I_DSS*(1-(V_GS/V_GS_off))**2; #Drain current mA\n",
+ "\n",
+ "#Result\n",
+ "print(\"The drain current=%.2fmA.\"%I_D);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The drain current=6.12mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 41
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.3 : Page number 515\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "\n",
+ "#Variable declaration\n",
+ "I_DSS=10.0; #Shorted gate drain current, mA\n",
+ "V_GS_off=-6.0; #Gate-source cut-off voltage, V\n",
+ "I_D=5.0; #Drain current mA\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "#Since, I_D=I_DSS*[1 - (V_GS/V_GS_off)]\u00b2\n",
+ "V_GS=V_GS_off*(1-sqrt(I_D/I_DSS)); #Gate-source voltage, V\n",
+ "\n",
+ "#(ii)\n",
+ "V_P=-V_GS_off; #Pinch-off voltage, V \n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) VGS=%.2fV.\"%V_GS);\n",
+ "print(\"(ii) VP=%dV\"%V_P);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) VGS=-1.76V.\n",
+ "(ii) VP=6V\n"
+ ]
+ }
+ ],
+ "prompt_number": 42
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.4 : Page number 515-516\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_GS_off=-4.0; #Gate-source cut-off voltage, V\n",
+ "I_DSS=12.0; #Shorted gate drain current, mA\n",
+ "R_D=560.0; #Drain resistor, \u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "V_P=-V_GS_off; #Pinch-off voltage, V\n",
+ "V_DS=V_P; #Minimum drain-source voltage for JFET to be in constant current region, V\n",
+ "I_D=I_DSS; #Maximum drain current, mA (V_GS=0)\n",
+ "V_RD=(I_D/1000)*R_D; #Voltage across drain resistor, V (OHM's LAW)\n",
+ "V_DD=V_DS+V_RD; #Minimum value of supply voltage to drain, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"The minimum value of VDD required =%.2fV.\"%V_DD);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The minimum value of VDD required =10.72V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 43
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.5 : Page number 516\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "I_DSS=3.0; #Shorted gate drain current, mA\n",
+ "V_GS_off=-6.0; #Gate-source cut-off voltage, V\n",
+ "V_GS=-2.0; #Gate-source voltage, V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "I_D=I_DSS*(1-(V_GS/V_GS_off))**2; #Drain current mA\n",
+ "\n",
+ "#Result\n",
+ "print(\"The drain current=%.2fmA.\"%I_D);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The drain current=1.33mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 44
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.6 : Page number 516"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VGS_off=4; #Gate-source cut-off voltage, V\n",
+ "VGS=6; #Gate source voltage, V\n",
+ "\n",
+ "print(\"p-channel JFET requires a positive gate-to-source voltage to pass drain current.\");\n",
+ "print(\"More positive voltage, the less the drain current. \");\n",
+ "print(\"Any further increase in VGS keeps the JFET cut-off. Therefore, ID=0A.\");"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "p-channel JFET requires a positive gate-to-source voltage to pass drain current.\n",
+ "More positive voltage, the less the drain current. \n",
+ "Any further increase in VGS keeps the JFET cut-off. Therefore, ID=0A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 45
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.7 : Page number 517-518\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_GS=15.0; #Gate-source voltage, V\n",
+ "I_G=1e-03; #Gate current, \u03bcA\n",
+ "\n",
+ "#Calculation\n",
+ "R_GS=(V_GS/(I_G*10**-6))/10**6; #Gate to source resistance, M\u03a9 (OHM's LAW)\n",
+ "\n",
+ "#Result\n",
+ "print(\"The gate to source resistance=%dM\u03a9.\"%R_GS);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The gate to source resistance=15000M\u03a9.\n"
+ ]
+ }
+ ],
+ "prompt_number": 47
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.8 : Page number 518\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Variable declaration\n",
+ "V_GS_max=-3.1; #Maximum gate to source voltage, V\n",
+ "V_GS_min=-3.0; #Minimum gate to source voltage, V\n",
+ "I_D_max=1.3; #Maximum drain current, mA\n",
+ "I_D_min=1.0; #Minimum drain current, mA\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "delta_V_GS=abs(V_GS_max-V_GS_min); #Change in gate to source voltage, V\n",
+ "delta_I_D=I_D_max-I_D_min; #Change in drain current, mA\n",
+ "g_fs=(delta_I_D/delta_V_GS)*1000; #Transconductance, \u03bc mho\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"Transconductance=%.0f \u03bc mho\"%g_fs);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Transconductance=3000 \u03bc mho\n"
+ ]
+ }
+ ],
+ "prompt_number": 50
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.9 : Page number 518\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_GS=[0,0,-0.2]; #Readings of Gate-source voltage, V\n",
+ "V_DS=[7,15,15]; #Readings of Drain-source voltage, V\n",
+ "ID=[10,10.25,9.65]; #Readings of drain current, mA\n",
+ "\n",
+ "\n",
+ "#Displaying the readings:\n",
+ "print(\"VGS= %dV %dV %.1fV\"%(V_GS[0],V_GS[1],V_GS[2]));\n",
+ "print(\"VDS= %dV %dV %dV\"%(V_DS[0],V_DS[1],V_DS[2]));\n",
+ "print(\"ID = %dV %.2fV %.2fV\"%(ID[0],ID[1],ID[2]));\n",
+ "\n",
+ "#Calculations\n",
+ "#(i)\n",
+ "#V_GS constant at 0V,\n",
+ "delta_VDS=V_DS[1]-V_DS[0]; #Change in drain-source voltage, V\n",
+ "delta_ID=ID[1]-ID[0]; #Change in drain current, mA\n",
+ "rd=delta_VDS/delta_ID; #a.c drain resistance, k\u03a9\n",
+ "\n",
+ "#(ii)\n",
+ "#V_DS constant at 15V,\n",
+ "delta_VGS=V_GS[2]-V_GS[1]; #Change in gate-source voltage, V\n",
+ "delta_ID=ID[2]-ID[1]; #Change in drain current, mA\n",
+ "g_fs=round((delta_ID/delta_VGS)*1000,); #Transconductance, \u03bc mho\n",
+ "\n",
+ "#(iii)\n",
+ "amplification_factor=rd*1000*g_fs*10**-6; #Amplification factor\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The a.c drain resistance=%dk\u03a9.\"%rd);\n",
+ "print(\"(ii) The transconductance=%d \u03bc mho.\"%g_fs);\n",
+ "print(\"(iii) The amplification factor=%d.\"%amplification_factor );\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "VGS= 0V 0V -0.2V\n",
+ "VDS= 7V 15V 15V\n",
+ "ID = 10V 10.25V 9.65V\n",
+ "(i) The a.c drain resistance=32k\u03a9.\n",
+ "(ii) The transconductance=3000 \u03bc mho.\n",
+ "(iii) The amplification factor=96.\n"
+ ]
+ }
+ ],
+ "prompt_number": 53
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.10 : Page number 519\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "g_mo=4000.0; #Maximum transconductance, \u03bcS\n",
+ "V_GS=-3.0; #Gate to source voltage, V\n",
+ "V_GS_off=-8.0; #Gate-source cut-off voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "g_m=g_mo*(1-(V_GS/V_GS_off)); #Transconductance, \u03bcS\n",
+ "\n",
+ "#Result\n",
+ "print(\"The transconductance=%d \u03bcS.\"%g_m);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The transconductance=2500 \u03bcS.\n"
+ ]
+ }
+ ],
+ "prompt_number": 54
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.11 : Page number 519\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "g_mo=5000.0; #Maximum transconductance, \u03bcS\n",
+ "V_GS=-4.0; #Gate to source voltage, V\n",
+ "V_GS_off=-6.0; #Gate-source cut-off voltage, V\n",
+ "I_DSS=3.0; #Shorted-gate drain current, mA\n",
+ "\n",
+ "#Calculation\n",
+ "g_m=g_mo*(1-(V_GS/V_GS_off)); #Transconductance, \u03bcS\n",
+ "I_D=(I_DSS*(1-(V_GS/V_GS_off))**2)*1000; #Drain current \u03bcA\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"The transconductance=%.0f \u03bcS.\"%g_m);\n",
+ "print(\"The drain current=%d \u03bcA.\"%I_D);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The transconductance=1667 \u03bcS.\n",
+ "The drain current=333 \u03bcA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 55
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.12 : Page number 520\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_GS_off=-8.0; #Gate-source cut-off voltage, V\n",
+ "I_DSS=16.0; #Shorted-gate drain current, mA\n",
+ "R_D=2.2; #Drain resistor, k\u03a9\n",
+ "R_G=1.0; #Gate resistor, M\u03a9\n",
+ "V_DD=10.0; #Drain supply voltage, V\n",
+ "V_GG=-5.0; #Gate supply voltage, V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "V_GS=V_GG; #Gate-source voltage, V\n",
+ "I_D=I_DSS*(1-(V_GS/V_GS_off))**2; #Drain current \u03bcA\n",
+ "V_DS=V_DD-I_D*R_D; #Drain-source voltage, V (Kirchhoff's voltage law)\n",
+ "\n",
+ "#Result\n",
+ "print(\"The gate-source voltage=%dV.\"%V_GS);\n",
+ "print(\"The drain current=%.2fmA.\"%I_D);\n",
+ "print(\"The drain-source voltage=%.2fV.\"%V_DS);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The gate-source voltage=-5V.\n",
+ "The drain current=2.25mA.\n",
+ "The drain-source voltage=5.05V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 56
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.13 : Page number 521\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "I_D=5.0; #Drain current mA\n",
+ "V_DD=15.0; #Drain supply voltage, V\n",
+ "V_G=0; #Gate voltage, V\n",
+ "R_D=1.0; #Drain resistor, k\u03a9\n",
+ "R_S=470.0; #Source resistor, \u03a9\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "V_S=(I_D/1000)*R_S; #Source voltage, V (OHM's LAW)\n",
+ "V_D=V_DD-I_D*R_D; #Drain voltage, V (Kirchhoff's voltage law)\n",
+ "V_DS=V_D-V_S; #Drain-source voltage, V\n",
+ "V_GS=V_G-V_S; #Gate-source voltage, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"The drain-source voltage=%.2fV.\"%V_DS);\n",
+ "print(\"The gate-source voltage=%.2fV.\"%V_GS);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The drain-source voltage=7.65V.\n",
+ "The gate-source voltage=-2.35V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 57
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.14 : Page number 521\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_GS=-5.0; #Gate-source voltage, V\n",
+ "I_D=6.25; #Drain current mA\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "R_S=abs(V_GS/(I_D/1000)); #Required source resistor, \u03a9 (OHM's LAW)\n",
+ "\n",
+ "#Result\n",
+ "print(\"The required source resistor=%d \u03a9.\"%R_S);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The required source resistor=800 \u03a9.\n"
+ ]
+ }
+ ],
+ "prompt_number": 58
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.15 : Page number : 521\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "I_DSS=25.0; #Shorted gate drain current, mA\n",
+ "V_GS_off=15.0; #Gate-source cut-off voltage, V\n",
+ "V_GS=5.0; #Gate-source voltage, V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "I_D=I_DSS*(1-(V_GS/V_GS_off))**2; #Drain current mA\n",
+ "R_S=V_GS/(I_D/1000); #Required source resistor, \u03a9 (OHM's LAW)\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"The source resistance=%.0f\u03a9.\"%R_S);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The source resistance=450\u03a9.\n"
+ ]
+ }
+ ],
+ "prompt_number": 59
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.16 : Page number 522\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "I_DSS=15.0; #Shorted gate drain current, mA\n",
+ "V_GS_off=-8.0; #Gate-source cut-off voltage, V\n",
+ "V_DD=12.0; #Drain supply voltage,V\n",
+ "V_D=V_DD/2; #Drain voltage(half of V_DD), V\n",
+ "\n",
+ "#Calculation\n",
+ "I_D=I_DSS/2; #Drain current(approximately half of I_DSS), mA\n",
+ "V_GS=V_GS_off/3.4; #Gate-source voltage, V\n",
+ "R_S=abs(V_GS/(I_D/1000)); #Source resistor, \u03a9 (OHM's LAW)\n",
+ "#Since,V_D=V_DD-I_D*R_D; \n",
+ "R_D=(V_DD-V_D)/(I_D/1000); #Drain resistor, \u03a9 (OHM's LAW)\n",
+ "\n",
+ "#Result\n",
+ "print(\" RS=%d \u03a9 and RD=%d \u03a9.\"%(R_S,R_D));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " RS=313 \u03a9 and RD=800 \u03a9.\n"
+ ]
+ }
+ ],
+ "prompt_number": 60
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.17 : Page number 522\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "\n",
+ "#Variable declaration\n",
+ "I_DSS=5.0; #Shorted gate drain current, mA\n",
+ "V_GS_off=-2.0; #Gate-source cut-off voltage, V\n",
+ "V_DS=10.0; #Drain-source voltage,V\n",
+ "I_D=1.5; #Drain current, mA\n",
+ "V_DD=20.0; #Drain supply voltage,V\n",
+ "V_G=0; #Gate voltage, V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, Drain current, I_D=I_DSS*(1-(V_GS/V_GS_off))**2; \n",
+ "V_GS=V_GS_off*(1-sqrt(I_D/I_DSS)); #Gate-source voltage, V\n",
+ "\n",
+ "#Since, V_GS=V_G-V_S,\n",
+ "V_S=V_G-V_GS; #Source voltage, V\n",
+ "\n",
+ "R_S=V_S/I_D; #Source resistor, k\u03a9\n",
+ "\n",
+ "#Since, V_DD=I_D*R_D +V_DS+ I_D*R_S,\n",
+ "R_D=(V_DD-I_D*R_S-V_DS)/I_D; #Drain resistor, k\u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "print(\"The source resistance=%.1f k\u03a9\"%R_S);\n",
+ "print(\"The drain resistance=%d k\u03a9.\"%R_D);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The source resistance=0.6 k\u03a9\n",
+ "The drain resistance=6 k\u03a9.\n"
+ ]
+ }
+ ],
+ "prompt_number": 61
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.18 : Page number 522-523\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_DD=30.0; #Drain supply voltage, V\n",
+ "R_D=5.0; #Drain resistor, k\u03a9\n",
+ "I_D=2.5; #Drain current, mA\n",
+ "R_S=200.0; #Source resistor, \u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "V_DS=V_DD-I_D*(R_D+(R_S/1000)); #Drain-source voltage, V\n",
+ "\n",
+ "#(ii)\n",
+ "V_GS=-(I_D/1000)*R_S; #Gate-source voltage, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"The drain-source voltage=%dV.\"%V_DS);\n",
+ "print(\"The gate-source voltage=%.1fV.\"%V_GS);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The drain-source voltage=17V.\n",
+ "The gate-source voltage=-0.5V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 62
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.19 : Page number 523"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "ID_1=2.15; #First stage drain current, mA\n",
+ "ID_2=9.15; #Second stage drain current, mA\n",
+ "VDD=30; #Drain supply voltage, V\n",
+ "RS_1=0.68; #Source resistance of 1st stage, k\u03a9\n",
+ "RS_2=0.22; #Source resistance of 2nd stage, k\u03a9\n",
+ "RD_1=8.2; #Drain resistor of 1st stage, k\u03a9\n",
+ "RD_2=2; #Drain resistor of 2nd stage, k\u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "V_RD1=ID_1*RD_1; #Voltage drop across 8.2k\u03a9\n",
+ "VD_1=VDD-V_RD1; #Drain voltage of 1st stage, V\n",
+ "VS_1=ID_1*RS_1; #D.C potential of source of first stage, V\n",
+ "V_RD2=ID_2*RD_2; #Voltage drop across 2k\u03a9\n",
+ "VD_2=VDD-V_RD2; #Drain voltage of 2nd stage, V\n",
+ "VS_2=ID_2*RS_2; #D.C potential of source of 2nd stage, V\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"drain voltage of 1st stage=%.2fV.\"%VD_1);\n",
+ "print(\"Source voltage of 1st stage=%.2fV.\"%VS_1);\n",
+ "print(\"drain voltage of 2nd stage=%.1fV.\"%VD_2);\n",
+ "print(\"Source voltage of 2nd stage=%.2fV.\"%VS_2);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "drain voltage of 1st stage=12.37V.\n",
+ "Source voltage of 1st stage=1.46V.\n",
+ "drain voltage of 2nd stage=11.7V.\n",
+ "Source voltage of 2nd stage=2.01V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 63
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.20 : Page number 524"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VDD=12; #Drain supply voltage, V\n",
+ "VD=7; #Drain voltage, V\n",
+ "R1=6.8; #Resistor R1, M\u03a9\n",
+ "R2=1; #Resistor R2, M\u03a9\n",
+ "RS=1.8; #Source resistance, k\u03a9\n",
+ "RD=3.3; #Drain resistor, k\u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "ID=(VDD-VD)/RD; #Second stage drain current, mA\n",
+ "VS=ID*RS; #Source voltage, V\n",
+ "VG=VDD*R2/(R1+R2); #Drain voltage, V\n",
+ "VGS=VG-VS; #Drain-source voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "print(\"Drain current=%.2fmA.\"%ID);\n",
+ "print(\"Gate-source voltage=%.1fV.\"%VGS);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Drain current=1.52mA.\n",
+ "Gate-source voltage=-1.2V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 65
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.21 : Page number 524-525"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "\n",
+ "#Variable declaration\n",
+ "VDD=30; #Drain supply voltage, V\n",
+ "ID=2.5; #Drain current, mA\n",
+ "VDS=8; #Drain-source voltage, V\n",
+ "VGS_off=-5; #Gate-source cutoff voltage, V\n",
+ "R1=1; #Resistor R1, M\u03a9\n",
+ "R2=500; #Resistor R2, k\u03a9\n",
+ "IDSS=10; #Shorted gate drain current, mA\n",
+ "\n",
+ "#Calculation\n",
+ "#ID=IDSS*square_of(1-(VGS/VGS_off))\n",
+ "VGS=VGS_off*(1-sqrt(ID/IDSS)); #Gate-source voltage, V\n",
+ "V2=VDD*R2/(R1*1000+R2); #Voltage across R2, V\n",
+ "\n",
+ "\n",
+ "#V2=VGS+ID*RS\n",
+ "RS=(V2-VGS)/ID; #Source resistor, k\u03a9\n",
+ "\n",
+ "#Result\n",
+ "print(\"Source resistor, RS=%dk\u03a9.\"%RS);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Source resistor, RS=5k\u03a9.\n"
+ ]
+ }
+ ],
+ "prompt_number": 66
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Example 19.22 : Page number 528-529\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VDD=20.0; #Drain supply voltage, V\n",
+ "RS=50.0; #Source resistor, \u03a9\n",
+ "RD=150.0; #Drain resistor, \u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "VDS_max=VDD; #Maximum drain source voltage, V\n",
+ "ID_max=(VDD/(RD+RS))*1000; #Maximum drain current, mA\n",
+ "\n",
+ "\n",
+ "#plot\n",
+ "x=[i for i in range(0,(int)(VDS_max+1))]; #Plot variable for V_DS\n",
+ "y=[(i/(RD+RS))*1000 for i in reversed(x[:])]; #Plot variable for ID\n",
+ "p=plot(x,y);\n",
+ "xlabel(\"VDS(V)\");\n",
+ "ylabel(\"ID(mA)\");\n",
+ "title(\"d.c load line\");\n",
+ "show(p);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAYcAAAEZCAYAAAB8culNAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHtRJREFUeJzt3Xl0VOXBx/HfAEEBQcKSCSFAFEghBEMo+ys4gBMVIU2J\nbNa8MbK0Wn2l2CrSo6b1CGOLUmLRnhaBqDUsghAVcUETFEU8EoHD0sgSCJCkhRANIFuc9480Y0IW\nsszMnTvz/ZyTY5j1yZwxT773ufeOxel0OgUAQCXNjB4AAMD3MDkAAKphcgAAVMPkAACohskBAFAN\nkwMAoBomB/iVe++9V0888USTHiMvL0/NmjXTDz/84KZR/chms+nll1+u8brU1FQlJSVJko4ePaq2\nbduKPc1hlBZGDwBwJ4vFIovFYvQwalXX+Cpf3r17d5WWlnprWEA1lAP8jln/2jbruOGfmBxgajk5\nORo4cKDatWunqVOn6vz587Xe9ocfftD8+fPVq1cvtWvXToMGDdKxY8eu+hwnTpxQfHy8OnbsqN69\ne2vp0qWu67Zv367hw4crODhYYWFheuihh3Tp0iXX9R988IH69Omj9u3b66GHHpLT6azXJHDlpi2b\nzaYnn3xSN998s9q1a6fbbrtNp06dct1+27ZtGjFihIKDgzVgwABlZ2df9TmAujA5wLQuXryohIQE\nJScn6/Tp05o0aZLWrl1b62ab5557TitXrtS7776r7777TsuXL1fr1q2v+jxTp05V9+7dVVBQoDfe\neEPz5s3Txx9/LElq0aKFFi9erFOnTunzzz/X5s2b9eKLL0qSTp48qcTERM2fP1+nTp1Sz549tXXr\n1kZv9srIyNCKFSv073//WxcvXtTChQslScePH9f48eP15JNP6vTp01q4cKESExN18uTJRj0PIDE5\nwMS2bdumy5cv6+GHH1bz5s2VmJiowYMH13r7l19+Wc8884x69+4tSerfv786dOhQ53Pk5+frs88+\n07PPPquWLVsqJiZGM2bM0CuvvCJJGjhwoIYMGaJmzZqpR48emjVrluuv9o0bNyo6OloTJ05U8+bN\nNXv2bIWGhjbqZ7VYLEpJSVGvXr107bXXavLkyfr6668lSa+99prGjRun22+/XZJ06623atCgQdq4\ncWOjnguQmBxgYidOnFDXrl2rXNajR49aN9vk5+erZ8+eDX6ODh06qE2bNq7LunfvruPHj0uScnNz\nNX78eHXp0kXXX3+9fv/737s295w4cULh4eFVHq9bt24Nev7KKk8srVq10pkzZyRJR44c0Zo1axQc\nHOz62rp1qwoLCxv9XACTA0yrS5curl/SFY4cOVLrZptu3brpwIEDDXqOsLAwFRcXu34RS+W7mVb8\n0r///vsVFRWlAwcO6Ntvv9UzzzzjWicICwtTfn6+635Op7PKv6/U2M1N3bt3V1JSkk6fPu36Ki0t\n1aOPPtqoxwMkJgeY2IgRI9SiRQulpaXp0qVLWrdunb788stabz9jxgw98cQTOnDggJxOp3bt2qXi\n4uI6n6Nbt24aMWKEHn/8cV24cEG7du3SsmXLdM8990iSzpw5o7Zt26p169bav3+/XnrpJdd9x40b\npz179ujNN9/U5cuXlZaWVudf81dbqK7t+nvuuUdvvfWW3n//fZWVlen8+fPKysqqNnECDcHkANMK\nCgrSunXrtGLFCnXs2FGrV69WYmKi6/qKA8kq9kiaM2eOJk+erLi4OF1//fWaOXNmrXs3Vf4rPiMj\nQ3l5eQoLC9PEiRP1xz/+UWPGjJEkLVy4UK+//rratWunWbNmaerUqa77durUSWvWrNHcuXPVqVMn\nHThwQDfffHOtP8+Vx0BcWRJXXlfx7/DwcG3YsEHz589XSEiIunfvrueee84jB/EhcFg89WE/9913\nn9555x2FhIRo9+7dkqTi4mJNmTJFR44cUUREhFavXq327dtLkhYsWKBly5apefPmSktLU1xcnCeG\nBQCoB4+VQ0pKijZt2lTlMofDIbvdrtzcXI0dO1YOh0OStHfvXq1atUp79+7Vpk2b9MADD/BXDwAY\nyGOTw8iRIxUcHFzlsszMTCUnJ0uSkpOTtX79eknShg0bNG3aNAUFBSkiIkK9evXS9u3bPTU0AMBV\neHXNoaioSFarVZJktVpVVFQkqfouf+Hh4SymAYCBDFuQvtoJ0nz55GkA4O+8elZWq9WqwsJChYaG\nqqCgQCEhIZKkrl27Vtn/+9ixY9UObpKYMACgsRq675FXyyE+Pl7p6emSpPT0dCUkJLguX7lypS5e\nvKjDhw/rm2++0ZAhQ2p8jDNnnPq//3MqLMypDRucrhOZ8dXwr6eeesrwMfjTF68nr6evfjWGxyaH\nadOmacSIEfrXv/6lbt26afny5Zo7d64++OADRUZG6qOPPtLcuXMlSVFRUZo8ebKioqJ0xx136MUX\nX6y1Etq0kRYvljIypDlzpKQk6SrHMQEAGshjm5UyMjJqvPzDDz+s8fJ58+Zp3rx59X78UaOknTul\nefOk/v2ll16S4uMbNVQAwBVMfYQ0FdE0NpvN6CH4FV5P9+L1NJbHjpD2BIvFUuv2s7NnyyvijTeo\nCACorK7fnbXex18mhwpbtkj33ScNH15eFVc5XT8A+L3GTA6m3qxUk4q1iA4dytciMjONHhEAmI/f\nlUNlVAQAUA7VUBEA0Dh+XQ6VUREAAhXlUIcrK+Ktt4weEQD4roAph8qoCACBhHKoJyoCAOoWkOVQ\nGRUBwN9RDo1ARQBAdQFfDpVREQD8EeXQRFQEAJSjHGpBRQDwF5SDG1ERAAIZ5VAPVAQAM6McPIRz\nNAEINJRDA1ERAMyGcvAC1iIABALKoQmoCABmQDl4GRUBwF9RDm5CRQDwVZSDgagIAP6EcvAAKgKA\nL6EcfAQVAcDsKAcPoyIAGI1y8EFUBAAzohy8iIoAYATKwcdREQDMgnIwCBUBwFsoBxOhIgD4MsrB\nB1ARADyJcjApKgKAr6EcfAwVAcDdKAc/QEUA8AWGTA6LFi1SdHS0+vfvr7vvvlsXLlxQcXGx7Ha7\nIiMjFRcXp5KSEiOG5hPatCmvhowM6Te/kZKSpOJio0cFIJB4fXI4fvy4XnjhBX311VfavXu3ysrK\ntHLlSjkcDtntduXm5mrs2LFyOBzeHprPoSIAGMWQcrh8+bLOnTvn+m9YWJgyMzOVnJwsSUpOTtb6\n9euNGJrPoSIAGMHrk0PXrl31yCOPqHv37goLC1P79u1lt9tVVFQkq9UqSbJarSoqKvL20HzalRWR\nmWn0iAD4sxbefsLTp08rMzNTeXl5uv766zVp0iS99tprVW5jsVhksVhqvH9qaqrre5vNJpvN5sHR\n+paKikhMlFJSpDVr2KMJQHVZWVnKyspq0mN4fVfWNWvW6L333tPSpUslSa+++qq2bdumjz76SB9/\n/LFCQ0NVUFCg0aNHa//+/VUHGwC7stbX2bPS449La9dKf/ubNGGC0SMC4KtMsStrjx49tG3bNn3/\n/fdyOp368MMPFRUVpQkTJig9PV2SlJ6eroSEBG8PzVTatJHS0qTXX5dmz2YtAoB7GXIQXGpqqlat\nWqUWLVpo4MCBWrp0qUpLSzV58mQdPXpUERERWr16tdq3b191sJRDjagIAHVpzO9OjpD2I9nZ5UdX\njxjBWgSAH5lisxI855ZbpF27pOBgjosA0DSUg5+iIgBUoBzgQkUAaArKIQBQEUBgoxxQIyoCQENR\nDgGGigACD+WAq6IiANQH5RDAqAggMFAOaBAqAkBtKAdIoiIAf0Y5oNGoCACVUQ6ohooA/AvlALeg\nIgBQDqgTFQGYH+UAt6MigMBEOaDeqAjAnCgHeBQVAQQOygGNkp0tTZ8uDR9ORQC+jnKA19xyi7Rz\nJxUB+CvKAU3GWgTg2ygHGIK1CMD/UA5wKyoC8D2UAwxHRQD+gXKAx1ARgG+gHOBTqAjAvCgHeAUV\nARiHcoDPoiIAc6Ec4HVUBOBdlANMgYoAfB/lAENt2SKlpFARgCdRDjCdUaOoCMAXUQ7wGaxFAJ5B\nOcDUWIsAfAflAJ9ERQDuQznAb1ARgLEMmRxKSkp01113qW/fvoqKitIXX3yh4uJi2e12RUZGKi4u\nTiUlJUYMDT6kTRspLU16/XVp9mwpKUkqLjZ6VEBgMGRyePjhhzVu3Djt27dPu3btUp8+feRwOGS3\n25Wbm6uxY8fK4XAYMTT4ICoC8D6vrzl8++23io2N1aFDh6pc3qdPH2VnZ8tqtaqwsFA2m0379++v\nOljWHAIeaxFAw5lizeHw4cPq3LmzUlJSNHDgQM2cOVNnz55VUVGRrFarJMlqtaqoqMjbQ4MJUBGA\nd3h9crh8+bJ27NihBx54QDt27FCbNm2qbUKyWCyyWCzeHhpMgrUIwPNaePsJw8PDFR4ersGDB0uS\n7rrrLi1YsEChoaEqLCxUaGioCgoKFBISUuP9U1NTXd/bbDbZbDYvjBq+qKIiHn+8vCL+9jdpwgSj\nRwUYLysrS1lZWU16DEOOcxg1apSWLl2qyMhIpaam6ty5c5Kkjh076rHHHpPD4VBJSUmNRcGaA2rC\nWgRQu8b87jRkcti5c6dmzJihixcvqmfPnlq+fLnKyso0efJkHT16VBEREVq9erXat29fdbBMDqjD\n2bPlFbF2LRUBVGaayaGxmBxQH1QEUJUp9lYCPI09moCmoxzg16gIwAvlcPbsWZWVlTXoCQAjURFA\n49RZDmVlZVq1apX++c9/6ssvv1TLli114cIFderUSePHj9cvf/lL9erVy3uDpRzQBFQEApXby2HM\nmDE6cOCAFixYoIKCAh07dkz/+c9/9Omnn2ro0KF67LHH9OqrrzZp0IC3UBFA/dVZDhcvXlTLli3r\nfIBLly4pKCjI7QOrCeUAd6EiEEjcXg41TQxnzpzRq6++qjvvvFOSvDYxAO5ERQB1q9eC9IULF7Ru\n3TpNmjRJYWFh2rx5s371q195emyAR3GOJqB2dU4O7733nu69917deOONWrt2rZKSktShQwetWLFC\nEzj8FH6CigCqq3PNoVmzZho5cqSWL1+uG2+8UZJ0ww036PDhw14bYGWsOcDTWIuAP3L7msOOHTs0\nbNgw2e122e12LV26lOMc4NeoCKBcvY6Qdjqd+uyzz5SRkaG1a9cqJiZGEydO1KxZs7wxRhfKAd5E\nRcBfeOXEe2VlZdq8ebNWrlypZcuWNejJmorJAd7GmV7hDzw6OezcuVNHjhzR5cuXXU+SmJjY8FE2\nAZMDjEJFwMw8NjmkpKRo9+7d6tevn5o1+3GZYvny5Q0fZRMwOcBIVATMymOTQ1RUlPbs2WP45zoz\nOcAXUBEwG4+dlXXYsGHau3dvowYF+Bv2aEIgqFc5ZGdnKz4+XlarVddcc035HS0W7dq1y+MDrIxy\ngK+hImAGHtus1LNnTy1atEjR0dFV1hwiIiIaPMimYHKAL2ItAr7OY5PD8OHD9fnnnzd6YO7C5ABf\nRkXAV3lscnjggQdUUlKiCRMmuM7UarFYNHHixMaNtJGYHODrqAj4Io9NDvfee2+NeyqxKytQMyoC\nvsQrR0gbickBZkJFwFe4fVfWp59+WsV1nOB+8+bNeov9+IAa8XkRMLMWdV3Zv39/TZgwQddcc40G\nDhyozp076/z58zpw4IBycnJ06623at68ed4aK2BKFcdFPP54+XERVATMoF6blXJzc7V161YVFBSo\ndevW6tu3r0aOHKnWrVt7Y4wubFaC2bEWASOw5gCYAGsR8DaPnD5jxYoVGjhwoFq3bq3WrVtr0KBB\nSk9Pb/QggUDHWgTMoM7JIT09XYsXL9Zzzz2nEydO6Pjx4/rTn/6ktLQ0vfLKK94aI+CXOEcTfFmd\nm5WGDh2qlStX6oYbbqhyeV5enqZMmaIvvvjC4wOsjM1K8FcVaxH/8z/laxHBwUaPCP7E7ZuVSktL\nq00MUvk5lUpLSxs2OgC1qqiI9u2l6GgqAsarc3K49tprG3UdgIa7ci3if/9XOn3a6FEhUNW5WalV\nq1bq1atXjdcdPHhQ586d89jAasJmJQQK9miCO7l9V9a8vLw678wpuwHPYi0C7sBxDoAfoiLQVG6f\nHK677rpaPzfaYrHou+++a9gIm4jJAYGMikBjuX1vpTNnzqi0tLTGr6ZODGVlZYqNjdWE//4ZVFxc\nLLvdrsjISMXFxamkpKRJjw/4G/Zogjdd9QhpT1m8eLGioqJcZeJwOGS325Wbm6uxY8fK4XAYNTTA\nZ7FHE7zFkMnh2LFj2rhxo2bMmOFKnczMTCUnJ0uSkpOTtX79eiOGBpgCFQFPM2Ry+M1vfqM///nP\natbsx6cvKiqS1WqVJFmtVhUVFRkxNMA0qAh4ktcnh7ffflshISGKjY2tdYHEYrHUuhAOoCoqAp5Q\n54f9eMJnn32mzMxMbdy4UefPn9d3332npKQkWa1WFRYWKjQ0VAUFBQoJCanx/qmpqa7vbTabbDab\ndwYO+LCKikhMLN+jac0a9mgKZFlZWcrKymrSYxh6nEN2drYWLlyot956S48++qg6duyoxx57TA6H\nQyUlJdUWpdmVFbg6jovAlTzyeQ6eVrH5aO7cufrggw8UGRmpjz76SHPnzjV4ZIA5sRYBd+AIacCP\nURGQOH0GgFpwdHVgM+VmJQCexx5NaCjKAQgwVETgoRwAXBUVgfqgHIAARkUEBsoBQINQEagN5QBA\n0o8VMWJEeUV06GD0iOAulAOARquoiOBgqX9/KiLQUQ4AqmEtwr9QDgDcgrUIUA4A6kRFmB/lAMDt\nqIjARDkAqDcqwpwoBwAeRUUEDsoBQKNQEeZBOQDwGirCv1EOAJqMivBtlAMAQ1AR/odyAOBWVITv\noRwAGI6K8A+UAwCPqVwRf/kLZ3o1CuUAwKdUrgjO9GoulAMAr+DzIoxDOQDwWXxehLlQDgC8jorw\nLsoBgClcWRGZmUaPCFeiHAAYiorwPMoBgOlQEb6JcgDgMyoqYvhwKS2NinAXygGAqVVURIcOVITR\nKAcAPom1CPehHAD4DdYijEU5APB5VETTUA4A/BIV4X2UAwBTyc6Wpk8v36OJiqgfygGA37vlFmnn\nTvZo8jSvTw75+fkaPXq0+vXrp+joaKWlpUmSiouLZbfbFRkZqbi4OJWUlHh7aABMok2b8mrIyJDm\nzJGSkqTiYqNH5V+8PjkEBQVp0aJF2rNnj7Zt26YlS5Zo3759cjgcstvtys3N1dixY+VwOLw9NAAm\nM2oUFeEphq85JCQk6MEHH9SDDz6o7OxsWa1WFRYWymazaf/+/VVuy5oDgNps2fLj0dWsRVRlujWH\nvLw85eTkaOjQoSoqKpLVapUkWa1WFRUVGTk0ACZDRbhXC6Oe+MyZM0pMTNTixYvVtm3bKtdZLBZZ\nLJYa75eamur63mazyWazeXCUAMykYi0iMbG8ItasCcyKyMrKUlZWVpMew5DNSpcuXdL48eN1xx13\naPbs2ZKkPn36KCsrS6GhoSooKNDo0aPZrASg0c6elebNk954Q3rpJSk+3ugRGccUm5WcTqemT5+u\nqKgo18QgSfHx8UpPT5ckpaenKyEhwdtDA+BH2KOpabxeDp9++qlGjRqlm266ybXpaMGCBRoyZIgm\nT56so0ePKiIiQqtXr1b79u2rDpZyANAIgV4RjfndafjeSg3B5ACgKQJ1jyZTbFYCAKOwR1P9UQ4A\nAlIgVQTlAAD1REXUjXIAEPD8vSIoBwBoBCqiOsoBACqpqIhhw6S0NP+oCMoBAJqooiI6dgzsiqAc\nAKAW/rIWQTkAgBsF8loE5QAA9WDmiqAcAMBDAq0iKAcAaCCzVQTlAABeEAgVQTkAQBOYoSIoBwDw\nMn+tCMoBANzEVyuCcgAAA/lTRVAOAOABvlQRlAMA+AizVwTlAAAeZnRFUA4A4IPMWBGUAwB4kREV\nQTkAgI8zS0VQDgBgEG9VBOUAACbiyxVBOQCAD/BkRVAOAGBSvlYRlAMA+Bh3VwTlAAB+wBcqgnIA\nAB/mjoqgHADAzxhVEZQDAJhEYyuCcgAAP+bNiqAcAMCEGlIRlAMABAhPV4RPTQ6bNm1Snz591Lt3\nbz377LNGDwcAfFqbNuXVkJEhzZkjJSVJxcXueWyfmRzKysr04IMPatOmTdq7d68yMjK0b98+o4fl\n17Kysowegl/h9XQvXs/680RF+MzksH37dvXq1UsREREKCgrS1KlTtWHDBqOH5df4n8+9eD3di9ez\nYdxdET4zORw/flzdunVz/Ts8PFzHjx83cEQAYD7uqogW7h1W41ksFqOHAAB+oaIiEhPL92hqDJ+Z\nHLp27ar8/HzXv/Pz8xUeHl7tdkwi7vWHP/zB6CH4FV5P9+L1NI7PHOdw+fJl/eQnP9HmzZsVFham\nIUOGKCMjQ3379jV6aAAQcHymHFq0aKG//vWvuu2221RWVqbp06czMQCAQXymHAAAvsNn9la6Gg6Q\nc6+IiAjddNNNio2N1ZAhQ4wejqncd999slqt6t+/v+uy4uJi2e12RUZGKi4uTiUlJQaO0Fxqej1T\nU1MVHh6u2NhYxcbGatOmTQaO0Fzy8/M1evRo9evXT9HR0UpLS5PU8PeoKSYHDpBzP4vFoqysLOXk\n5Gj79u1GD8dUUlJSqv2ycjgcstvtys3N1dixY+VwOAwanfnU9HpaLBbNmTNHOTk5ysnJ0e23327Q\n6MwnKChIixYt0p49e7Rt2zYtWbJE+/bta/B71BSTAwfIeQZbFBtn5MiRCg4OrnJZZmamkpOTJUnJ\nyclav369EUMzpZpeT4n3Z2OFhoZqwIABkqTrrrtOffv21fHjxxv8HjXF5MABcu5nsVh06623atCg\nQfrHP/5h9HBMr6ioSFarVZJktVpVVFRk8IjM74UXXlBMTIymT5/OZrpGysvLU05OjoYOHdrg96gp\nJgeObXC/rVu3KicnR++++66WLFmiTz75xOgh+Q2LxcJ7tonuv/9+HT58WF9//bW6dOmiRx55xOgh\nmc6ZM2eUmJioxYsXq23btlWuq8971BSTQ30PkEP9denSRZLUuXNn/fznP2fdoYmsVqsKCwslSQUF\nBQoJCTF4ROYWEhLi+gU2Y8YM3p8NdOnSJSUmJiopKUkJCQmSGv4eNcXkMGjQIH3zzTfKy8vTxYsX\ntWrVKsXHxxs9LNM6d+6cSktLJUlnz57V+++/X2VPETRcfHy80tPTJUnp6emu/yHROAUFBa7v33zz\nTd6fDeB0OjV9+nRFRUVp9uzZrssb/B51msTGjRudkZGRzp49ezrnz59v9HBM7dChQ86YmBhnTEyM\ns1+/fryeDTR16lRnly5dnEFBQc7w8HDnsmXLnKdOnXKOHTvW2bt3b6fdbneePn3a6GGaxpWv58sv\nv+xMSkpy9u/f33nTTTc5f/aznzkLCwuNHqZpfPLJJ06LxeKMiYlxDhgwwDlgwADnu+++2+D3KAfB\nAQCqMcVmJQCAdzE5AACqYXIAAFTD5AAAqIbJAQBQDZMDAKAaJgcAQDVMDoCkMWPG6P33369y2V/+\n8heNGzdOrVq10sCBAxUVFaWhQ4e6jjKVyk+4N378eA0YMED9+vXTnXfe6bquoKBAEyZM0Pfff6+O\nHTu6jkqvkJCQoNWrV+udd97RU0895dkfEGgorxyyB/i4v//9786UlJQqlw0bNsy5ZcsWZ3R0tOuy\nQ4cOOQcMGOBcvny50+l0OmfNmuVMS0tzXb97927X97/97W+dmZmZTqfT6bz77rud6enprutKSkqc\nnTp1cn7//ffOH374wRkbG+s8d+6cJ340oFEoB0BSYmKi3nnnHV2+fFlS+amOT5w4UeVU8ZJ0ww03\n6Pnnn3d9ulZhYaG6du3quj46Otr1/bp161wfUjNt2jStXLnSdd2bb76p22+/Xddee60sFotsNpve\nfvttj/18QEMxOQCSOnTooCFDhmjjxo2SpJUrV2rKlCk1ntY4NjZW+/fvlyT9+te/1vTp0zVmzBjN\nnz/fdcK4w4cPKzg4WEFBQZKkuLg47dixQ6dPn3Y9/rRp01yPOWjQIE6bDp/C5AD8V+W/7letWqVp\n06bV+GlklS+Li4vToUOHNHPmTO3fv1+xsbE6efKkCgoK1LlzZ9ftWrZsqfj4eK1Zs0YnT57U119/\nrdtuu811fefOnXXixAkP/nRAwzA5AP8VHx+vzZs3KycnR+fOnVNsbGyNt8vJyVFUVJTr38HBwZo2\nbZpeeeUVDR48WFu2bFHr1q11/vz5KvermHzWrl2rhIQENW/e3HXd+fPn1apVK8/8YEAjMDkA/3Xd\ndddp9OjRSklJ0d13313jbfLy8vS73/1ODz30kCTp448/1rlz5yRJpaWlOnjwoHr06KHevXsrLy+v\nyn1tNptyc3O1ZMmSKpuUJCk3N5fPLIBPYXIAKpk2bZp2795d5Zf3wYMHXbuyTpkyRQ8//LDrg9q/\n+uorDR48WDExMRoxYoRmzpypn/70p2rTpo169uypgwcPuh7HYrFo0qRJKi4u1i233FLlebOysqrs\nBgsYjc9zADxk/fr1+uqrr/T000/XebuioiL94he/0IcffuilkQFX18LoAQD+KiEhQadOnbrq7fLz\n8/X88897YURA/VEOAIBqWHMAAFTD5AAAqIbJAQBQDZMDAKAaJgcAQDX/D6nl1pVwH0dBAAAAAElF\nTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7fafb8158f50>"
+ ]
+ }
+ ],
+ "prompt_number": 68
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.23 : Page number 529"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VDD=20; #Drain supply voltage, V\n",
+ "RD=500.0; #Drain resistor, \u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "VDS_max=VDD; #Maximum drain source voltage, v \n",
+ "ID_max=(VDD/RD)*1000; #Maximum drain current, mA\n",
+ "\n",
+ "#Plot\n",
+ "x=[i for i in range(0,(int)(VDS_max+1))]; #Plot variable for V_DS\n",
+ "y=[(i/RD)*1000 for i in reversed(x[:])]; #Plot variable for ID\n",
+ "p=plot(x,y);\n",
+ "xlabel(\"VDS(V)\");\n",
+ "ylabel(\"ID(mA)\");\n",
+ "title(\"d.c load line\");\n",
+ "show(p);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAYEAAAEZCAYAAABxbJkKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X1UVHX+B/D3RdEkMVFxgNBgfUgQZAYJzaM5PoAPCaGc\nREoixKx2t3JxJbeVxDyxeLaHRbfd05YpqWG0KlkZm7mNlT3YUUiyPKzmKOGAi0BJSDzd3x/8mAUF\nZIa5c++d+36d4znMDMN8mDPOm/f93jtXEEVRBBERaZKb3AMQEZF8GAJERBrGECAi0jCGABGRhjEE\niIg0jCFARKRhDAFSpQcffBAZGRl9+hlmsxlubm5obW110FT/YzQasW3bti5vy8zMRFJSEgDgwoUL\n8PT0BPfUJrn0l3sAInsIggBBEOQeo1s9zdfx+tGjR+PKlSvOGovoOmwCpFpq/etZrXOTa2IIkCoU\nFRUhPDwcQ4YMwbJly9DQ0NDt97a2tiIrKwtjx47FkCFDEBERgR9++OGGj3Hx4kXExsZi+PDhGDdu\nHF599VXrbceOHcOdd94JLy8v+Pn54bHHHkNTU5P19kOHDmHChAkYOnQoHnvsMYii2Ks3+2s3SRmN\nRjz99NOYPn06hgwZgnnz5uHy5cvW7//iiy8wbdo0eHl5Qa/X48iRIzd8DKKeMARI8RobGxEXF4fk\n5GTU1NTg3nvvxd69e7vd3PL8889jz549eP/99/HTTz9h+/bt8PDwuOHjLFu2DKNHj4bFYsE///lP\nPPXUU/joo48AAP3790dOTg4uX76Mzz//HIcPH8bf/vY3AEBVVRXi4+ORlZWFy5cvY8yYMTh69Kjd\nm6vy8vKwY8cOXLp0CY2NjXjuuecAAOXl5Vi0aBGefvpp1NTU4LnnnkN8fDyqqqrsehwigCFAKvDF\nF1+gubkZTzzxBPr164f4+Hjccccd3X7/tm3b8Oyzz2LcuHEAgNDQUAwbNqzHxygrK8Nnn32GzZs3\nY8CAAQgLC8PKlSvx+uuvAwDCw8MRGRkJNzc33HbbbVi1apX1r/CDBw8iJCQES5YsQb9+/bB69Wr4\n+PjY9bsKgoCUlBSMHTsWN910E5YuXYri4mIAwK5du7Bw4ULMnz8fADB37lxERETg4MGDdj0WEcAQ\nIBW4ePEibr311k7X3Xbbbd1ubikrK8OYMWNsfoxhw4bh5ptvtl43evRolJeXAwBKS0uxaNEi+Pr6\n4pZbbsEf//hH62aaixcvwt/fv9PPGzVqlE2P31HHABk0aBDq6uoAAOfPn8dbb70FLy8v67+jR4+i\noqLC7sciYgiQ4vn6+lrfjNudP3++280to0aNwpkzZ2x6DD8/P1RXV1vfcIG23Tfb39wfffRRBAcH\n48yZM/jxxx/x7LPPWrfj+/n5oayszHo/URQ7Xb6WvZuJRo8ejaSkJNTU1Fj/XblyBenp6Xb9PCKA\nIUAqMG3aNPTv3x9btmxBU1MT9u3bh6+++qrb71+5ciUyMjJw5swZiKKIkydPorq6usfHGDVqFKZN\nm4Y//OEP+OWXX3Dy5Em89tprWL58OQCgrq4Onp6e8PDwwOnTp/H3v//det+FCxfi1KlT2L9/P5qb\nm7Fly5Ye/zq/0YJxd7cvX74c77zzDj744AO0tLSgoaEBJpPpuoAksgVDgBTP3d0d+/btw44dOzB8\n+HDk5+cjPj7eenv7AVftewClpaVh6dKliI6Oxi233IKHHnqo272JOv5VnpeXB7PZDD8/PyxZsgTP\nPPMMZs+eDQB47rnn8MYbb2DIkCFYtWoVli1bZr3viBEj8NZbb2HdunUYMWIEzpw5g+nTp3f7+1x7\nDMG1zeDa29ov+/v74+2330ZWVhZGjhyJ0aNH4/nnn5fkYDfSDkHqk8q0tLQgIiIC/v7+eOedd1Bd\nXY2EhAScP38eAQEByM/Px9ChQ6UcgYiIuiF5E8jJyUFwcLD1r5ns7GxERUWhtLQUc+bMQXZ2ttQj\nEBFRNyQNgR9++AEHDx7EypUrrds5Dxw4gOTkZABAcnIyCgoKpByBiIh6IGkI/O53v8Of//xnuLn9\n72EqKyuh0+kAADqdDpWVlVKOQEREPZAsBN59912MHDkSBoOh270dlP4hYERErk6yTxH97LPPcODA\nARw8eBANDQ346aefkJSUBJ1Oh4qKCvj4+MBisWDkyJFd3p/hQERkH1v295GsCWRlZaGsrAznzp3D\nnj17MHv2bOzcuROxsbHIzc0FAOTm5iIuLq7bn7FzpwhvbxHr14toaBCtH8rFf7b927Bhg+wzuNI/\nPp98PpX8z1ZOO06g/S/7devW4dChQxg/fjz+/e9/Y926dd3eZ/ly4Ouv2/5FRADHjztrWiIibXDK\nSWVmzpyJmTNnAgCGDRuGDz/8sNf39fUF3n4b2L0bWLAAePhhYP16YOBAqaYlItIOVRwxLAhsBX1h\nNBrlHsGl8Pl0LD6f8pL8iGF7CYLQ5fYtUWxrBWlpbAVERNfq7r2zO6poAh2xFRAROY7qQqBd+1rB\nk0+2rRVkZAC//CL3VERE6qLaEADYCoiI+krVIdCOrYCIyD4uEQJA163gxAm5pyIiUjaXCYF2HVvB\n/PltraCxUe6piIiUyeVCAGArICLqLZcMgXbtrSA9na2AiKgrLh0CAFsBEVFPXD4E2rEVEBFdTzMh\nALAVEBFdS1Mh0I6tgIiojSZDAGArICICNBwC7dgKiEjLNB8CAFsBEWkXQ6ADtgIi0hqGwDXYCohI\nSyQNgYaGBkyZMgV6vR4hISHIzMwEAGRmZsLf3x8GgwEGgwGFhYVSjmEXtgIi0gLJTy9ZX18PDw8P\nNDc3Y/r06cjJyUFhYSE8PT2RlpbW/WA2niJNShZL26kszWZgxw4gPFzuiYiIuqa400t6eHgAABob\nG9HU1ARBEABAMW/wvcFWQESuSvIQaG1thV6vh06nQ3R0NCIjIwEAW7duRVhYGFJTU1FbWyv1GH3G\ntQIickWSh4CbmxuKi4vxww8/4Msvv8SpU6fw6KOP4ty5cyguLoavry/WrFkj9RgOw1ZARK5E8jWB\njjZt2gQPD49Ob/pmsxkxMTEoKSnpPJggYMOGDdbLRqMRRqPRWaP2CtcKiEhuJpMJJpPJennjxo02\nbW6XNASqqqrQv39/DB06FFevXsW8efOwbt06hIeHw8fHBwDw4osv4quvvsIbb7zReTAFLQz3RBSB\n3buBtLS2QMjIAAYMkHsqItIqW987JQ2BkpISJCcno6WlBa2trUhISMD69evxwAMPoLi4GIIgIDAw\nEC+//DJ0Ol3nwVQSAu3YCohICRQVAn2hthAA2AqISH6K20VUS7gHERGpDUNAAtyDiIjUgiEgEbYC\nIlIDhoDE2AqISMkYAk7AVkBESsUQcCK2AiJSGoaAk7EVEJGSMARkwlZARErAEJARWwERyY0hoABs\nBUQkF4aAQrAVEJEcGAIKw1ZARM7EEFAgtgIichaGgIK1t4K1a9kKiEgaDAGFEwQgKYmtgIikwRBQ\nCbYCIpICQ0BF2AqIyNEYAirEVkBEjsIQUCm2AiJyBMlCoKGhAVOmTIFer0dISAgyMzMBANXV1YiK\nisL48eMRHR2N2tpaqUbQBLYCIuoLSU80X19fDw8PDzQ3N2P69OnIycnB3r17MWLECKSnp2Pz5s2o\nqalBdnb29YOp8ETzcrNY2k5wbzYDO3YA4eFyT0REzqaoE817eHgAABobG9HU1ARBEHDgwAEkJycD\nAJKTk1FQUCDlCJrCVkBEtpI0BFpbW6HX66HT6RAdHY3IyEhUVlZCp9MBAHQ6HSorK6UcQXO4VkBE\ntugv5Q93c3NDcXExfvzxRyxevBjffPNNp9sFQYAgCN3ev30dAQCMRiOMRqNEk7qe9lawe3dbK3j4\n4bZmMGCA3JMRkSOZTCaYTCa77y/pmkBHmzZtgoeHB1555RWYTCb4+PjAYrFg1qxZOH369PWDcU3A\nYbhWQKQdilkTqKqqsu75c/XqVRw6dAhBQUGIjY1Fbm4uACA3NxdxcXFSjUD/j2sFRNQdyZpASUkJ\nkpOT0dLSgtbWViQkJGD9+vWorq7G0qVLceHCBQQEBCA/Px9Dhw69fjA2AUmwFRC5NlvfO522OchW\nDAHpiCKwaxewZg3XCohcjWI2B5FycQ8iImrHENAwrhUQEUNA49gKiLSNIUAA2AqItIohQFZsBUTa\nwxCg67AVEGkHQ4C6xFZApA0MAeoRWwGRa2MI0A2xFRC5LoYA9RpbAZHrYQiQTdgKiFwLQ4DswlZA\n5BoYAmQ3tgIi9WMIUJ+xFRCpF0OAHIKtgEidGALkUGwFROrCECCHYysgUg+GAEmGrYBI+RgCJCm2\nAiJlkzQEysrKMGvWLEycOBEhISHYsmULACAzMxP+/v4wGAwwGAwoLCyUcgxSALYCImWS9ETzFRUV\nqKiogF6vR11dHSZPnoyCggLk5+fD09MTaWlp3Q/GE827LIul7QT3ZjOwYwcQHi73RESuQ1Enmvfx\n8YFerwcADB48GEFBQSgvLwcAvsFrGFsBkXI4bU3AbDajqKgIU6dOBQBs3boVYWFhSE1NRW1trbPG\nIIXgWgGRMki6OahdXV0djEYj1q9fj7i4OFy6dAne3t4AgIyMDFgsFmzbtq3zYIKADRs2WC8bjUYY\njUapRyUZiCKwaxewZk3bZqKMDGDAALmnIlIHk8kEk8lkvbxx40abtrRIHgJNTU1YtGgRFixYgNWr\nV193u9lsRkxMDEpKSjoPxjUBzeFaAVHfKWpNQBRFpKamIjg4uFMAWCwW69f79+9HaGiolGOQSnCt\ngMj5JG0Cn376Ke666y5MmjQJgiAAALKyspCXl4fi4mIIgoDAwEC8/PLL0Ol0nQdjE9A0tgIi+9j6\n3umUNQF7MASIawVEtlPU5iCivuAeRETSYwiQ4rWvFaSnc62AyNEYAqQKggAsX85WQORoDAFSFe5B\nRORYDAFSHa4VEDkOQ4BUi62AqO8YAqRqbAVEfWNTCPz8889oaWmRahYiu7EVENmnxxBoaWnBG2+8\ngbvvvhsjR47E7bffDh8fHwQFBWHt2rU4c+aMs+YkuiG2AiLb9XjE8MyZMzFnzhzExcVh4sSJ6Nev\nHwDg8uXL+Oijj5CXl4e4uDgkJSU5fjAeMUx9wKONSasc+rERjY2NGHCD/zlNTU1wd3fv/YS9HYwh\nQA7AzyAirXHox0Z0FQB1dXXYuXMn7r77bgCQJACIHIVrBUQ969XC8C+//IJ9+/bh3nvvhZ+fHw4f\nPoxHHnlE6tmIHIJrBUTd63Fz0L/+9S/k5eXh0KFDMBqNSEhIwOOPPw6z2Sz9YNwcRBLgWgG5Ooeu\nCbi5uWHGjBnYvn07fvWrXwEAAgMDce7cub5PeqPBGAIkIa4VkKty6JrAiRMnMHXqVERFRSEqKgqv\nvvoqjxMgl8C1AqI2vTqpjCiK+Oyzz5CXl4e9e/ciLCwMS5YswapVq6QbjE2AnIStgFyJ5GcWa2lp\nweHDh7Fnzx689tprNg/YWwwBciauFZCrkCwEvv76a5w/fx7Nzc3WB4iPj7dvyt4MxhAgGbAVkNpJ\nEgIpKSkoKSnBxIkT4eb2v2WE7du393i/srIyPPDAA7h06RIEQcCqVavw+OOPo7q6GgkJCTh//jwC\nAgKQn5+PoUOH9ukXIXIUtgJSM0lCIDg4GKdOnYIgCDYNU1FRgYqKCuj1etTV1WHy5MkoKCjA9u3b\nMWLECKSnp2Pz5s2oqalBdnZ2n34RIkdjKyA1kuRE81OnTsW3335r8zA+Pj7Q6/UAgMGDByMoKAjl\n5eU4cOAAkpOTAQDJyckoKCiw+WcTSY17EJEW9KoJHDlyBLGxsdDpdBg4cGDbHQUBJ0+e7PUDmc1m\nzJw5E9988w1Gjx6NmpoaAG17Hg0bNsx62ToYmwApCFsBqYWt7539e/NNK1aswM6dOxESEtJpTaC3\n6urqEB8fj5ycHHh6ena6TRCEbjczZWZmWr82Go0wGo02PzaRI7S3gl272loB1wpIKUwmE0wmk933\n71UTuPPOO/H555/b9QBNTU1YtGgRFixYgNWrVwMAJkyYAJPJBB8fH1gsFsyaNQunT5/uPBibACkU\nWwEpmSQLw7/+9a9RW1uLmJgY6yeLCoKAJUuW9Hg/URSRnJyM4cOH48UXX7Ren56ejuHDh+PJJ59E\ndnY2amtruTBMqsI9iEipJAmBBx98sMtNNjfaRfTTTz/FXXfdhUmTJlnv/6c//QmRkZFYunQpLly4\nwF1ESdXYCkhpJD9i2FkYAqQWbAWkJA7dRXTTpk2orq7u9vbDhw/jnXfe6f10RC6I5ysgNetx76DQ\n0FDExMRg4MCBCA8Ph7e3NxoaGnDmzBkUFRVh7ty5eOqpp5w1K5GicQ8iUqNebQ4qLS3F0aNHYbFY\n4OHhgaCgIMyYMQMeHh7SDcbNQaRiXCsguXBNgEghuFZAcnD4x0bs2LED4eHh8PDwgIeHByIiIpCb\nm9unIYm0gGsFpAY9rgnk5uYiJycHL7zwAgwGA0RRRFFREdauXQtBEPDAAw84a04i1eJaASlZj5uD\npkyZgj179iAwMLDT9WazGQkJCfjyyy+lG4ybg8gFca2ApObQzUFXrly5LgAAICAgAFeuXLF9OiKN\nu/aTSZ9+mp9MSvLqMQRuuukmu24jou51XCsoLuZaAcmrx81BgwYNwtixY7u87ezZs6ivr5duMG4O\nIg3ouAfRI48A69dzrYD6xqG7iJrN5h7vHBAQ0OsHshVDgLSEawXkKDxOgEil2ArIERwaAoMHD+72\nhC+CIOCnn36yfcLeDsYQII1iK6C+YBMgcgFsBWQvSU40T0TOxT2IyFkYAkQKxuMKSGoMASKFYysg\nKTEEiFSCrYCkwBAgUhG2AnI0SUNgxYoV0Ol0CA0NtV6XmZkJf39/GAwGGAwGFBYWSjkCkUtiKyBH\nkTQEUlJSrnuTFwQBaWlpKCoqQlFREebPny/lCEQui62AHEHSEJgxYwa8vLyuu577/xM5DlsB9YUs\nawJbt25FWFgYUlNTUVtbK8cIRC6FrYDsJfkRw2azGTExMSgpKQEAXLp0Cd7e3gCAjIwMWCwWbNu2\n7frBBAEbNmywXjYajTAajVKOSuQSeLSxtphMJphMJuvljRs3KutjI64Ngd7exo+NIOobfgaRNin+\nYyMsFov16/3793fac4iIHIdrBdQbkjaBxMREHDlyBFVVVdDpdNi4cSNMJhOKi4shCAICAwPx8ssv\nQ6fTXT8YmwCRw7AVaAc/RZSIusS1Am1Q/OYgIpIH9yCirjAEiDSm41rBggVcK9A6hgCRBrW3guJi\ntgKtYwgQaRj3ICKGAJHGca1A2xgCRASArUCrGAJEZMVWoD0MASK6DluBdjAEiKhLbAXawBAgoh6x\nFbg2hgAR3RBbgetiCBBRr7EVuB6GABHZhEcbuxaGABHZxc+PrcAVMASIyG5cK1A/hgAR9dm1awUZ\nGWwFasEQICKH6NgKvv6arUAtGAJE5FBsBerCECAih2MrUA9JQ2DFihXQ6XQIDQ21XlddXY2oqCiM\nHz8e0dHRqK2tlXIEIpJRV63gl1/knoo6kjQEUlJSUFhY2Om67OxsREVFobS0FHPmzEF2draUIxCR\nzLpqBcePyz0VtRNEW05Lbwez2YyYmBiUlJQAACZMmIAjR45Ap9OhoqICRqMRp0+fvn4wQYDEoxGR\nk4kisGsXsGYN8PDDwPr1wMCBck/lWmx973T6mkBlZSV0Oh0AQKfTobKy0tkjEJFM2AqUp7+cDy4I\nAgRB6Pb2zMxM69dGoxFGo1H6oYhIcu1rBbt2AQsWsBX0hclkgslksvv+smwOMplM8PHxgcViwaxZ\ns7g5iEjDLJa2EDh3DtixA5g8We6J1E3xm4NiY2ORm5sLAMjNzUVcXJyzRyAiBWlvBenpba2AexA5\nl6RNIDExEUeOHEFVVRV0Oh2eeeYZ3HPPPVi6dCkuXLiAgIAA5OfnY+jQodcPxiZApDlsBX1n63un\n5JuD7MUQINIm7kHUN4rfHERE1BPuQeRcDAEiUqT2tYInn+RagZQYAkSkWIIALF/OViAlhgARKR5b\ngXQYAkSkCmwF0mAIEJGqsBU4FkOAiFSnYys4eZKtoC8YAkSkWr6+QEEBW0FfMASISNW4VtA3DAEi\ncglcK7APQ4CIXAZbge0YAkTkctgKeo8hQEQuia2gdxgCROTS2Ap6xhAgIpfHVtA9hgARaQZbwfUY\nAkSkKWwFnTEEiEiT2lvBunXAwoXabQWynV4yICAAQ4YMQb9+/eDu7o5jx451HoynlyQiJ3Glcxur\n5hzDgYGBOH78OIYNG9bl7QwBInImUQR27wbS0tR9bmNVnWOYb/JEpBRaXSuQLQQEQcDcuXMRERGB\nV155Ra4xiIg60doeRLJtDrJYLPD19cV///tfREVFYevWrZgxY8b/BuPmICKSmRrXCmx97+wv4Sw9\n8vX1BQB4e3tj8eLFOHbsWKcQAIDMzEzr10ajEUaj0YkTEpHWtbeC3bvbWoES1wpMJhNMJpPd95el\nCdTX16OlpQWenp74+eefER0djQ0bNiA6Ovp/g7EJEJGCqKUVqKIJVFZWYvHixQCA5uZm3H///Z0C\ngIhIadTQCuwh25rAjbAJEJFSKbkVqGoXUSIiNXKlPYgYAkREduh4XMHJk+o9roAhQETUB76+QEGB\nelsBQ4CIqI/UfLQxQ4CIyEHUuFbAECAiciC1tQKGABGRBNTSChgCREQSUUMrYAgQEUlMya2AIUBE\n5ARKbQUMASIiJ1JaK2AIEBE5mZJaAUOAiEgm17aC9eud3woYAkREMurYCkpKnN8KGAJERAog12cQ\nMQSIiBSiq7WCEyekfUyGABGRwnRcK5g/v60VNDZK81gMASIiBXJWK2AIEBEpWHsrSE+XphXIFgKF\nhYWYMGECxo0bh82bN8s1BhGR4knZCmQJgZaWFvz2t79FYWEhvv32W+Tl5eG7776TYxRNMJlMco/g\nUvh8Ohafz96TohXIEgLHjh3D2LFjERAQAHd3dyxbtgxvv/22HKNoAv+TORafT8fi82kbR7cCWUKg\nvLwco0aNsl729/dHeXm5HKMQEamSo1qBLCEgCIIcD0tE5FK6agW26u/4sW7s1ltvRVlZmfVyWVkZ\n/P39r/s+hoXjbNy4Ue4RXAqfT8fi8ykfQRRF0dkP2tzcjNtvvx2HDx+Gn58fIiMjkZeXh6CgIGeP\nQkSkabI0gf79++Ovf/0r5s2bh5aWFqSmpjIAiIhkIEsTICIiZVDcEcM8iMyxAgICMGnSJBgMBkRG\nRso9juqsWLECOp0OoaGh1uuqq6sRFRWF8ePHIzo6GrW1tTJOqB5dPZeZmZnw9/eHwWCAwWBAYWGh\njBOqS1lZGWbNmoWJEyciJCQEW7ZsAWD761NRIcCDyBxPEASYTCYUFRXh2LFjco+jOikpKde9MWVn\nZyMqKgqlpaWYM2cOsrOzZZpOXbp6LgVBQFpaGoqKilBUVIT58+fLNJ36uLu748UXX8SpU6fwxRdf\n4KWXXsJ3331n8+tTUSHAg8ikwS1+9psxYwa8vLw6XXfgwAEkJycDAJKTk1FQUCDHaKrT1XMJ8PVp\nLx8fH+j1egDA4MGDERQUhPLycptfn4oKAR5E5niCIGDu3LmIiIjAK6+8Ivc4LqGyshI6nQ4AoNPp\nUFlZKfNE6rZ161aEhYUhNTWVm9bsZDabUVRUhClTptj8+lRUCPC4AMc7evQoioqK8P777+Oll17C\nJ598IvdILkUQBL5u++DRRx/FuXPnUFxcDF9fX6xZs0bukVSnrq4O8fHxyMnJgaenZ6fbevP6VFQI\n9PYgMuo9X19fAIC3tzcWL17MdQEH0Ol0qKioAABYLBaMHDlS5onUa+TIkdY3qpUrV/L1aaOmpibE\nx8cjKSkJcXFxAGx/fSoqBCIiIvCf//wHZrMZjY2NePPNNxEbGyv3WKpVX1+PK1euAAB+/vlnfPDB\nB532zCD7xMbGIjc3FwCQm5tr/c9HtrNYLNav9+/fz9enDURRRGpqKoKDg7F69Wrr9Ta/PkWFOXjw\noDh+/HhxzJgxYlZWltzjqNr3338vhoWFiWFhYeLEiRP5fNph2bJloq+vr+ju7i76+/uLr732mnj5\n8mVxzpw54rhx48SoqCixpqZG7jFV4drnctu2bWJSUpIYGhoqTpo0SbznnnvEiooKucdUjU8++UQU\nBEEMCwsT9Xq9qNfrxffff9/m1ycPFiMi0jBFbQ4iIiLnYggQEWkYQ4CISMMYAkREGsYQICLSMIYA\nEZGGMQSIiDSMIUCaMnv2bHzwwQedrvvLX/6ChQsXYtCgQQgPD0dwcDCmTJliPeoSaPvQuEWLFkGv\n12PixIm4++67rbdZLBbExMTg6tWrGD58uPUo7XZxcXHIz8/He++9hw0bNkj7CxLZyimHthEpxD/+\n8Q8xJSWl03VTp04VP/74YzEkJMR63ffffy/q9Xpx+/btoiiK4qpVq8QtW7ZYby8pKbF+/fvf/148\ncOCAKIqieN9994m5ubnW22pra8URI0aIV69eFVtbW0WDwSDW19dL8asR2YVNgDQlPj4e7733Hpqb\nmwG0fQTvxYsXO32EOQAEBgbihRdesJ6tqaKiArfeeqv19pCQEOvX+/bts54MJTExEXv27LHetn//\nfsyfPx833XQTBEGA0WjEu+++K9nvR2QrhgBpyrBhwxAZGYmDBw8CAPbs2YOEhIQuP27XYDDg9OnT\nAIDf/OY3SE1NxezZs5GVlWX94LNz587By8sL7u7uAIDo6GicOHECNTU11p+fmJho/ZkRERH8OG9S\nFIYAaU7Hv9bffPNNJCYmdnl2q47XRUdH4/vvv8dDDz2E06dPw2AwoKqqChaLBd7e3tbvGzBgAGJj\nY/HWW2+hqqoKxcXFmDdvnvV2b29vXLx4UcLfjsg2DAHSnNjYWBw+fBhFRUWor6+HwWDo8vuKiooQ\nHBxsvezl5YXExES8/vrruOOOO/Dxxx/Dw8MDDQ0Nne7XHjJ79+5FXFwc+vXrZ72toaEBgwYNkuYX\nI7IDQ4ACWByAAAABFUlEQVQ0Z/DgwZg1axZSUlJw3333dfk9ZrMZa9euxWOPPQYA+Oijj1BfXw8A\nuHLlCs6ePYvbbrsN48aNg9ls7nRfo9GI0tJSvPTSS502BQFAaWkpPzOfFIUhQJqUmJiIkpKSTm/S\nZ8+ete4impCQgCeeeMJ6wu7jx4/jjjvuQFhYGKZNm4aHHnoIkydPxs0334wxY8bg7Nmz1p8jCALu\nvfdeVFdXY+bMmZ0e12Qyddq9lEhuPJ8AUR8VFBTg+PHj2LRpU4/fV1lZifvvvx8ffvihkyYjurH+\ncg9ApHZxcXG4fPnyDb+vrKwML7zwghMmIuo9NgEiIg3jmgARkYYxBIiINIwhQESkYQwBIiINYwgQ\nEWnY/wGORYC0smnRPgAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7fafb804f310>"
+ ]
+ }
+ ],
+ "prompt_number": 71
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.24 : Page number 530-531"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VDD=20; #Drain supply voltage, V\n",
+ "RD=12.0; #Drain resistor, k\u03a9\n",
+ "RL=8.0; #Load resistor, k\u03a9\n",
+ "RG=1.0; #Gate resistor, M\u03a9\n",
+ "gm=1.0; #transconductance, mA/V\n",
+ "\n",
+ "#Calculation\n",
+ "gm=gm*10**-3; #transconductance, mho\n",
+ "RAC=(RD*RL)/(RD+RL); #Total a.c load, k\u03a9\n",
+ "Av=gm*RAC*1000; #Voltage gain\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"Voltage gain=%.1f.\"%Av);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain=4.8.\n"
+ ]
+ }
+ ],
+ "prompt_number": 73
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.25 : Page number 531"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "gm=3000; #transconductance, \u03bcmho\n",
+ "RD=10; #Drain resistance, k\u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "Av=gm*10**-6*RD*1000; #Voltage gain\n",
+ "\n",
+ "#Result\n",
+ "print(\"Voltage gain=%d.\"%Av);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain=30.\n"
+ ]
+ }
+ ],
+ "prompt_number": 74
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.26 : Page number 531"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "IDSS=8; #Shorted gate drain current, mA\n",
+ "VGS_off=-10; #Gate-source cut-off voltage, V\n",
+ "ID=1.9; #Drain current, mA\n",
+ "RD=3.3; #Drain resistance, k\u03a9\n",
+ "RS=2.7; #Source resistor, k\u03a9\n",
+ "vin=100; #Input voltage, mV\n",
+ "\n",
+ "#Calculation\n",
+ "VGS=-ID*RS; #Gate-source voltage, V\n",
+ "gmo=2*IDSS*10**-3/abs(VGS_off); #Maximum transconductance, S\n",
+ "gm=gmo*(1-(VGS/VGS_off)); #Transconductance, S\n",
+ "Av=gm*RD*1000; #Voltage gain\n",
+ "vout=Av*vin; #Output voltage, mA\n",
+ "\n",
+ "#Result\n",
+ "print(\"Output voltage=%dmV(r.m.s).\"%vout);\n",
+ " \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output voltage=257mV(r.m.s).\n"
+ ]
+ }
+ ],
+ "prompt_number": 76
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.27 : Page number 531-532"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "RL=4.7; #Load resistor, \u03a9\n",
+ "RD=3.3; #Drain resistance, k\u03a9\n",
+ "gm=779*10**-6; #Transconductance, S\n",
+ "vin=100; #Input voltage, mV\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "RAC=RD*RL/(RD+RL); #Total a.c drain resistance, k\u03a9\n",
+ "Av=gm*RAC*1000; #Voltage gain\n",
+ "vout=Av*vin; #Output voltage, mA\n",
+ "\n",
+ "#Result\n",
+ "print(\"Output voltage=%dmV(r.m.s).\"%vout);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output voltage=151mV(r.m.s).\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.28 : Page number 532-533"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "RD=1.5; #Drain resistance, k\u03a9\n",
+ "gm=4; #Transconductance, mS\n",
+ "RS=560; #Source resistance, \u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "Av=gm*10**-3*RD*1000/(1+gm*10**-3*RS);\n",
+ "print(\"Voltage gain=%.2f.\"%Av);\n",
+ "\n",
+ "#If RS is bypassed by a capacitor\n",
+ "Av=gm*10**-3*RD*1000;\n",
+ "print(\"Voltage gain, if RS resistor is bypassed=%d.\"%Av);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain=1.85.\n",
+ "Voltage gain, if RS resistor is bypassed=6.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.29 : Page number 533"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "from math import sqrt\n",
+ "\n",
+ "IDSS=10; #Shorted gate drain current, mA\n",
+ "VGS_off=-3.5; #Gate-source cut-off voltage, V\n",
+ "RD=1.5; #Drain resistance, k\u03a9\n",
+ "RS=750; #Source resistance, \u03a9\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#From d.c biasing\n",
+ "ID=2.3; #Drain current, mA\n",
+ "VGS=round(VGS_off*(1-sqrt(ID/IDSS)),1); #Gate-source voltage, V\n",
+ "gm=round(round((2*IDSS/abs(VGS_off)),1)*round((1-(VGS/VGS_off)),3),2); #Transconductance, mS\n",
+ "\n",
+ "\n",
+ "#(i)\n",
+ "Av=gm*RD; #Voltage gain with RS resistor bypassed\n",
+ "print(\"(i) Voltage gain with RS bypassed=%.3f.\"%Av);\n",
+ "\n",
+ "#(ii)\n",
+ "Av=Av/(1+gm*(RS/1000.0));\n",
+ "print(\"(ii) Voltage gain with RS unbypassed=%.2f.\"%Av);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) Voltage gain with RS bypassed=4.155.\n",
+ "(ii) Voltage gain with RS unbypassed=1.35.\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.30 : Page number 539-540"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "IDSS=10.0; #Shorted gate drain current, mA\n",
+ "VGS_off=-8.0; #Gate-source cut-off voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "if(VGS_off<0):\n",
+ " print(\"(i) n-channel D-MOSFET\");\n",
+ "else:\n",
+ " print(\"(i) p-channel D-MOSFET\");\n",
+ " \n",
+ "\n",
+ "#(ii)\n",
+ "VGS=-3.0; #Gate-source voltage, V\n",
+ "ID=IDSS*(1-(VGS/VGS_off))**2; #Drain current mA\n",
+ "print(\"(ii) Drain current=%.2fmA\"%ID);\n",
+ "\n",
+ "#(iii)\n",
+ "VGS=3.0; #Gate-source voltage, V\n",
+ "ID=IDSS*(1-(VGS/VGS_off))**2; #Drain current mA\n",
+ "print(\"(iii) Drain current=%.1fmA\"%ID);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) n-channel D-MOSFET\n",
+ "(ii) Drain current=3.91mA\n",
+ "(iii) Drain current=18.9mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.31 : Page number 540\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "IDSS=1.0; #Shorted gate drain current, mA\n",
+ "VGS_off=-6.0; #Gate-source cut-off voltage, V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#Point 1\n",
+ "VGS=0; #Gate source voltage, V \n",
+ "ID=IDSS; #Drain current, mA\n",
+ "print(\"Point 1: VGS=%dV and ID=%dmA.\"%(VGS,ID));\n",
+ "\n",
+ "#Point 2\n",
+ "VGS=VGS_off; #Gate source voltage, V \n",
+ "ID=0; #Drain current, mA\n",
+ "print(\"Point 2: VGS=%dV and ID=%dmA.\"%(VGS,ID));\n",
+ "\n",
+ "#locating more points by changing VG values\n",
+ "VGS=-3; #Gate source voltage, V \n",
+ "ID=IDSS*(1-(VGS/VGS_off))**2; #Drain current mA\n",
+ "print(\"Point 3: VGS=%dV and ID=%.2fmA.\"%(VGS,ID));\n",
+ "\n",
+ "VGS=-1; #Gate source voltage, V \n",
+ "ID=IDSS*(1-(VGS/VGS_off))**2; #Drain current mA\n",
+ "print(\"Point 4: VGS=%dV and ID=%.3fmA.\"%(VGS,ID));\n",
+ "\n",
+ "VGS=1; #Gate source voltage, V \n",
+ "ID=IDSS*(1-(VGS/VGS_off))**2; #Drain current mA\n",
+ "print(\"Point 5: VGS=%dV and ID=%.2fmA.\"%(VGS,ID));\n",
+ "\n",
+ "VGS=3; #Gate source voltage, V \n",
+ "ID=IDSS*(1-(VGS/VGS_off))**2; #Drain current mA\n",
+ "print(\"Point 6: VGS=%dV and ID=%.2fmA.\"%(VGS,ID));"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Point 1: VGS=0V and ID=1mA.\n",
+ "Point 2: VGS=-6V and ID=0mA.\n",
+ "Point 3: VGS=-3V and ID=0.25mA.\n",
+ "Point 4: VGS=-1V and ID=0.694mA.\n",
+ "Point 5: VGS=1V and ID=1.36mA.\n",
+ "Point 6: VGS=3V and ID=2.25mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.32 : Page number 541"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VDD=18; #Drain supply voltage, V\n",
+ "RD=620.0; #Drain resistor, \u03a9\n",
+ "IDSS=12.0; #Shorted gate drain current, mA\n",
+ "VGS_off=-8.0; #Gate-source cut-off voltage, V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "ID=IDSS; #Drain current, mA\n",
+ "VDS=VDD-IDSS*(RD/1000); #Drain source voltage, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"Drain source voltage=%.1fV.\"%VDS);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Drain source voltage=10.6V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.33 : Page number 542"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VDD=15; #Drain supply voltage\n",
+ "RD=620.0; #Drain resistor, \u03a9\n",
+ "RL=8.2; #Load resistor, k\u03a9\n",
+ "vin=500.0; #Input voltage, V\n",
+ "IDSS=12.0; #Shorted gate drain current, mA\n",
+ "gm=3.2; #Transconductance, mS\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "VDS=VDD-IDSS*(RD/1000.0); #Drain source voltage, V\n",
+ "\n",
+ "#(ii)\n",
+ "RAC=RD*RL*1000/(RD+RL*1000); #Total a.c drain resistace, \u03a9\n",
+ "vout=(gm/1000.0)*RAC*vin; #Output voltage, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) Drain source voltage=%.2fV.\"%VDS);\n",
+ "print(\"(ii) Output voltage=%dmV\"%vout);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) Drain source voltage=7.56V.\n",
+ "(ii) Output voltage=922mV\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.34 : Page number 545"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "ID_on=500.0; #Drain current for MOSFET ON, mA\n",
+ "VGS_on=10.0; #Gate-source voltage for MOSFET ON, V\n",
+ "VGS_th=1.0; #Threshold value of gate-source voltage, V\n",
+ "VGS=5; #Gate-source voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "K=round(ID_on/(VGS_on-VGS_th)**2,2); #Constant for a E-MOSFET, mA/V\u00b2\n",
+ "ID=K*(VGS-VGS_th)**2; #Drain current, mA\n",
+ "\n",
+ "#Result\n",
+ "print(\"Drain current=%.1fmA\"%ID);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Drain current=98.7mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.35 : Page number 545"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "ID_on=3.0; #Drain current for MOSFET ON, mA\n",
+ "VGS_on=10.0; #Gate-source voltage for MOSFET ON, V\n",
+ "VGS_th=3.0; #Threshold value of gate-source voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "K=round((ID_on/(VGS_on-VGS_th)**2),3); #Constant for a E-MOSFET, mA/V\u00b2\n",
+ "print(\"K=%.3fe-03A/V\u00b2.\"%K);\n",
+ "\n",
+ "#Determining different points for plotting\n",
+ "VGS=5; #Gate-source voltage, V\n",
+ "ID=K*(VGS-VGS_th)**2; #Drain current, mA\n",
+ "print(\"For VGS=5V, Drain current=%.3fmA\"%ID);\n",
+ "VGS=8; #Gate-source voltage, V\n",
+ "ID=K*(VGS-VGS_th)**2; #Drain current, mA\n",
+ "print(\"For VGS=8V, Drain current=%.3fmA\"%ID);\n",
+ "VGS=10; #Gate-source voltage, V\n",
+ "ID=K*(VGS-VGS_th)**2; #Drain current, mA\n",
+ "print(\"For VGS=10V, Drain current=%.dmA\"%ID);\n",
+ "VGS=12; #Gate-source voltage, V\n",
+ "ID=K*(VGS-VGS_th)**2; #Drain current, mA\n",
+ "print(\"For VGS=12V, Drain current=%.2fmA\"%ID);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "K=0.061e-03A/V\u00b2.\n",
+ "For VGS=5V, Drain current=0.244mA\n",
+ "For VGS=8V, Drain current=1.525mA\n",
+ "For VGS=10V, Drain current=2mA\n",
+ "For VGS=12V, Drain current=4.94mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.36 : Page number 546-547"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VDD=24.0; #Drain supply voltage, V\n",
+ "RD=470.0; #Drain resistor, \u03a9\n",
+ "R1=100.0; #Resistor R1, k\u03a9\n",
+ "R2=15.0; #Resistor R2, k\u03a9\n",
+ "ID_on=500.0; #Drain current for MOSFET ON, mA\n",
+ "VGS_on=10.0; #Gate-source voltage for MOSFET ON, V\n",
+ "VGS_th=1.0; #Threshold value of gate-source voltage, V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "VGS=VDD*R2/(R1+R2); #Gate-source voltage, V (Voltage divider rule)\n",
+ "K=round((ID_on/(VGS_on-VGS_th)**2),2); #Constant for a E-MOSFET, mA/V\u00b2\n",
+ "ID=K*(VGS-VGS_th)**2; #Drain current, mA\n",
+ "VDS=VDD-(ID/1000)*RD; #Drain-source voltage, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"Drain-source voltage=%.1fV.\"%VDS);\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Drain-source voltage=10.8V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.37 : Page number 547"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VDD=20.0; #Drain supply voltage, V\n",
+ "RD=1.0; #Drain resistor, k\u03a9\n",
+ "RG=5.0; #Gate resistor , M\u03a9\n",
+ "ID_on=10.0; #Drain current for MOSFET ON, mA\n",
+ "\n",
+ "#Calculation\n",
+ "#since, VGS=VDS\n",
+ "ID=ID_on; #Drain current, mA\n",
+ "VDS=VDD-ID*RD; #Drain-source voltage, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"Drain current=%dmA.\"%ID);\n",
+ "print(\"Drain-source voltage=%dV.\"%VDS);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Drain current=10mA.\n",
+ "Drain-source voltage=10V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 19.38 : Page number 547-548"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VDD=10.0; #Drain supply voltage, V\n",
+ "RD=3.0; #Drain resistor, k\u03a9\n",
+ "R1=1.0; #Resistor R1, M\u03a9\n",
+ "R2=1.0; #Resistor R2, M\u03a9\n",
+ "ID_on=10.0; #Drain current for MOSFET ON, mA\n",
+ "VGS_on=10.0; #Gate-source voltage for MOSFET ON, V\n",
+ "VGS_th=1.5; #Threshold value of gate-source voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "K=round((ID_on/(VGS_on-VGS_th)**2),3); #Constant for a E-MOSFET, mA/V\u00b2\n",
+ "VGS=VDD*R2/(R1+R2); #Gate-source voltage, V (Voltage divider rule)\n",
+ "ID=K*(VGS-VGS_th)**2; #Drain current, mA\n",
+ "\n",
+ "#Result\n",
+ "print(\"Drain current=%.2fmA.\"%ID);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Drain current=1.69mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter2.ipynb b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter2.ipynb
new file mode 100644
index 00000000..06a555a6
--- /dev/null
+++ b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter2.ipynb
@@ -0,0 +1,125 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:c0ff4f67576afe73a11c06eedd0a50709b7f5831737f83db1cd640098e3e9740"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 2 : ELECTRONIC EMISSION"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.1: Page number 31\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#variable declaration\n",
+ "\n",
+ "from math import exp\n",
+ "from math import pi\n",
+ "\n",
+ "l=5.0; #length of tungsten filament in cm\n",
+ "d=0.01; #diameter of the filament in cm\n",
+ "T=2500.0; #operating temperature in K\n",
+ "A=60.2*pow(10,4); #constant, depending upon the type of thermionic emitter, in amp/m\u00b2/K\u00b2\n",
+ "phi=4.517; #work function of emitter in eV\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "b=round(11600*phi,-1); #constant for a metal, in K\n",
+ "Js=round(A*T*T*exp(-b/T),-2); #Emission current density in amp/m\u00b2\n",
+ "a=pi*(d/100)*(l/100); #Surface area of the cathode in m\u00b2\n",
+ "E_I=Js*a; #Emission current in A\n",
+ "\n",
+ "#Result\n",
+ "print(\"emission current =%.3f A\"%E_I);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "emission current =0.047 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.2:Page number 31\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import log\n",
+ "\n",
+ "#Variable declaration\n",
+ "Js=0.1; #Emission current density in amp/cm\u00b2\n",
+ "A=60.2; #Constant depending upon the type of thermionic emitter, in amp/cm\u00b2/K\u00b2\n",
+ "T=1900.0; #Absolute temperature in K\n",
+ "\n",
+ "\n",
+ "#calculations\n",
+ "#Calculating b according to the formula Js=A*T\u00b2*exp(-b/T) for emission current density\n",
+ "b=-T*(log(Js/(A*T*T))); #constant for emitter, in K\n",
+ "phi= round(b/11600,2); # work function in eV\n",
+ "\n",
+ "print (\"Work function of the tungsten wire = %.2f eV\"%phi);\n",
+ "\n",
+ "if(phi==4.52):\n",
+ "\tprint(\"Given sample is pure Tungsten\");\n",
+ "elif(phi!=4.52 and phi>=2.63 and phi<=4.52):\n",
+ "\tprint (\"The sample is not pure Tungsten\");\n",
+ " \n",
+ "#Note : In the text book, the work function has been approximated to 3.56eV, but in the code it calculates as 3.52eV\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Work function of the tungsten wire = 3.52 eV\n",
+ "The sample is not pure Tungsten\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter20.ipynb b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter20.ipynb
new file mode 100644
index 00000000..cad31534
--- /dev/null
+++ b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter20.ipynb
@@ -0,0 +1,677 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:369e36634d005b832372dcae6796c76b979f32b499d8baadce951517f2201533"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 20 : SILICON CONTROLLED RECTIFIERS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.2 : Page number 559\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "I=50.0; #Surge current, A\n",
+ "t=12.0; #Time for which surge current lasts, ms\n",
+ "circuit_fusing_rating_max=90; #Maximum circuit fusing rating, A\u00b2s\n",
+ "\n",
+ "#Calculation\n",
+ "circuit_fusing_rating=I**2*(t*10**-3); #Circuit fusing rating, A\u00b2s\n",
+ "\n",
+ "#Result\n",
+ "if(circuit_fusing_rating<circuit_fusing_rating_max):\n",
+ " print(\"The device will not be destroyed.\");\n",
+ "else:\n",
+ " print(\"The device will be destroyed.\");\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The device will not be destroyed.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.3 : Page number 559\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "I2_t_rating=50.0; #circuit fuse rating, A\u00b2s\n",
+ "Is=100.0; #Surge current, A\n",
+ "\n",
+ "#Calculation\n",
+ "t_max=(I2_t_rating/Is**2)*1000; #Maximum allowable duration, ms\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"The maximum allowable duration =%dms\"%t_max);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum allowable duration =5ms\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.4 : Page number 559\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Variable declaration\n",
+ "R=220.0; #Gate resistor, \u03a9\n",
+ "I_G=7.0; #Gate current, mA\n",
+ "V_GK=0.7; #Junction voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "V_in=V_GK+(I_G/1000)*R; #Input voltage, V (Kirchhoff's voltage law)\n",
+ "\n",
+ "#Result\n",
+ "print(\"The required input voltage=%.2fV.\"%V_in);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The required input voltage=2.24V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.5 : Page number 564\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import asin\n",
+ "from math import cos\n",
+ "from math import pi\n",
+ "\n",
+ "#Variable declaration\n",
+ "I_G=1.0; #Gate current, mA\n",
+ "V_m=200.0; #Peak value of input sinusoidal voltage, V\n",
+ "v=100.0; #Forward breakdown voltage of SCR, V\n",
+ "R_L=100.0; #Load resistance, \u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "#v=Vm*sin(theta)\n",
+ "#Finding angle theta, for input voltage (v)= (V_f)forward_breakdown_voltage\n",
+ "theta=asin(v/V_m); #angle for input voltage = forward breakdown voltage, rad\n",
+ "theta=theta*180/pi; #angle for input voltage = forward breakdown voltage, degrees\n",
+ "\n",
+ "alpha=round(theta,0); #Firing angle, degrees\n",
+ "\n",
+ "#(ii)\n",
+ "phi=180-alpha; #Conduction angle, degrees\n",
+ "\n",
+ "#(iii)\n",
+ "V_avg=(V_m/(2*pi))*(1+cos(alpha*pi/180)); #Average voltage, V\n",
+ "I_avg=V_avg/R_L; #Average current, A\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The firing agle=%d\u00b0\"%alpha);\n",
+ "print(\"(ii) The conduction angle=%.0f\u00b0\"%phi);\n",
+ "print(\"(iii) The average current=%.4fA \"%I_avg);\n",
+ "\n",
+ "#Note: In the text book has approximated the average current to 0.5925A but in the code it gets approximated to 0.5940A.\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The firing agle=30\u00b0\n",
+ "(ii) The conduction angle=150\u00b0\n",
+ "(iii) The average current=0.5940A \n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.6 : Page number 564\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import asin\n",
+ "from math import cos\n",
+ "from math import pi\n",
+ "from math import floor\n",
+ "\n",
+ "\n",
+ "#Variable declaration\n",
+ "I_G=1.0; #Gate current, mA\n",
+ "V_m=400.0; #Peak value of input sinusoidal voltage, V\n",
+ "v=150.0; #Forward breakdown voltage of SCR, V\n",
+ "R_L=200.0; #Load resistance, \u03a9\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "#v=Vm*sin(theta)\n",
+ "#Finding angle theta, for input voltage (v)= (V_f)forward_breakdown_voltage\n",
+ "theta=asin(v/V_m); #angle for input voltage = forward breakdown voltage, rad\n",
+ "theta=theta*180/pi; #angle for input voltage = forward breakdown voltage, degrees\n",
+ "\n",
+ "alpha=theta; #Firing angle, degrees\n",
+ "\n",
+ "#(ii)\n",
+ "V_av=floor((V_m/(2*pi))*(1+cos(alpha*pi/180))*10)/10; #Average voltage, V\n",
+ "\n",
+ "#(iii)\n",
+ "I_av=V_av/R_L; #Average current, A\n",
+ "\n",
+ "#(iv)\n",
+ "P_out=V_av*I_av; #Output power, W\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The firing agle=%d\u00b0\"%alpha);\n",
+ "print(\"(ii) The average output voltage=%.1f V\"%V_av);\n",
+ "print(\"(iii) The average current=%.3fA \"%I_av);\n",
+ "print(\"(iv) The output power=%.2f W\"%P_out);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The firing agle=22\u00b0\n",
+ "(ii) The average output voltage=122.6 V\n",
+ "(iii) The average current=0.613A \n",
+ "(iv) The output power=75.15 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.7 : Page number 564-565\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import asin\n",
+ "\n",
+ "#Variable declaration\n",
+ "v=180.0; #Forward breakdown voltage, V\n",
+ "V_m=240.0; #Peak value of input voltage, V\n",
+ "w=314.0; #Angular frequency of input ,rad/s\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#v=Vm*sin(w*t)\n",
+ "#So, t=asin(v/Vm)/w\n",
+ "t=(asin(v/V_m)/w)*1000; #Time for which SCR remains off, ms\n",
+ "\n",
+ "#Result\n",
+ "print(\"The SCR remains off for %.1f ms.\"%t);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The SCR remains off for 2.7 ms.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.8 : Page number 565\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import pi\n",
+ "from math import cos\n",
+ "from math import floor\n",
+ "\n",
+ "#Variable declaration\n",
+ "I_dc=1.0; #d.c load current, A\n",
+ "alpha=30.0; #Firing angle, \u00b0\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "I_av=I_dc; #Average current(= d.c current), A\n",
+ "\n",
+ "#Since, Iav=(Vm/(2*pi*RL))*(1+cos(alpha)) and Im=Vm/RL\n",
+ "I_m=floor((2*pi*I_av/(1+cos(alpha*pi/180)))*100)/100; #Peak-load current, A\n",
+ "\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"Peak-load current=%.2f A.\"%I_m);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Peak-load current=3.36 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.9: Page number 565\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "from math import pi\n",
+ "from math import sin\n",
+ "\n",
+ "#Variable declaration\n",
+ "alpha=60.0; #Firing angle, \u00b0\n",
+ "P=100.0; #Power rating of tungsten lamp, W\n",
+ "V=110.0; #Voltage rating of tungsten lamp, V\n",
+ "V_ac=110.0; #a.c supply voltage, V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "V_m=V_ac*sqrt(2); #Peak value of input voltage, V\n",
+ "\n",
+ "alpha=alpha*pi/180; #firing angle, rad\n",
+ "\n",
+ "#Since, E_rms\u00b2=(1/2*pi) \u222b V_m\u00b2sin\u00b2(theta) d(theta), limits: alpha to pi\n",
+ "# E_rms\u00b2=Vm\u00b2*((2*(pi-alpha) + sin(2*alpha))/(8*pi)),\n",
+ "# E_rms=Vm*sqrt((2*(pi-alpha) + sin(2*alpha))/(8*pi)),\n",
+ "E_rms=round(V_m*sqrt((2*(pi-alpha) + sin(2*alpha))/(8*pi))); #r.m.s voltage developed in the lamp, V\n",
+ "\n",
+ "\n",
+ "RL=V**2/P; #Load resistance, \u03a9\n",
+ "\n",
+ "I_rms=E_rms/RL; #r.m.s current developed in the lamp, A\n",
+ "\n",
+ "#Result\n",
+ "print(\"The r.m.s voltage developed in the lamp=%d V.\"%E_rms);\n",
+ "print(\"The r.m.s current developed in the lamp=%.2f A.\"%I_rms);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The r.m.s voltage developed in the lamp=70 V.\n",
+ "The r.m.s current developed in the lamp=0.58 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.10 : Page number 567\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import cos\n",
+ "from math import pi\n",
+ "\n",
+ "#Variable declaration\n",
+ "RL=100.0; #Load resistance, \u03a9\n",
+ "V_m=200.0; #Peak a.c voltage, V\n",
+ "alpha=60; #firing angle, \u00b0\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "V_av=(V_m/pi)*(1+cos(alpha*pi/180)); #D.C output voltage, V\n",
+ "\n",
+ "#(ii)\n",
+ "I_av=V_av/RL; #Load current, A\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) d.c output voltage=%.1f V.\"%V_av);\n",
+ "print(\"(ii) Load current=%.3f A\"%I_av);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) d.c output voltage=95.5 V.\n",
+ "(ii) Load current=0.955 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.11: Page number 567\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "from math import pi\n",
+ "from math import sin\n",
+ "\n",
+ "#Variable declaration\n",
+ "alpha=60.0; #Firing angle, \u00b0\n",
+ "P=100.0; #Power rating of tungsten lamp, W\n",
+ "V=110.0; #Voltage rating of tungsten lamp, V\n",
+ "V_ac=110.0; #a.c supply voltage, V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "V_m=round(V_ac*sqrt(2)); #Peak value of input voltage, V\n",
+ "\n",
+ "alpha=alpha*pi/180; #firing angle, rad\n",
+ "\n",
+ "#Since, E_rms\u00b2=(1/2*pi) \u222b V_m\u00b2sin\u00b2(theta) d(theta), limits: alpha to pi\n",
+ "# E_rms\u00b2=Vm\u00b2*((2*(pi-alpha) + sin(2*alpha))/(8*pi)),\n",
+ "# E_rms=Vm*sqrt((2*(pi-alpha) + sin(2*alpha))/(8*pi)),\n",
+ "E_rms=V_m*sqrt((2*(pi-alpha) + sin(2*alpha))/(4*pi)); #r.m.s voltage developed in the lamp, V\n",
+ "\n",
+ "RL=V**2/P; #Load resistance, \u03a9\n",
+ "\n",
+ "I_rms=E_rms/RL; #r.m.s current developed in the lamp, A\n",
+ "\n",
+ "#Result\n",
+ "print(\"The r.m.s voltage developed in the lamp=%.1f V.\"%E_rms);\n",
+ "print(\"The r.m.s current developed in the lamp=%.2f A.\"%I_rms);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The r.m.s voltage developed in the lamp=98.9 V.\n",
+ "The r.m.s current developed in the lamp=0.82 A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.12 : Page number 572\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=15; #Suuply voltage, V\n",
+ "V_T=0.7; #Gate trigger voltage, V\n",
+ "I_T=7.0; #Gate trigger current, mA\n",
+ "I_H=6.0; #Holding current. mA\n",
+ "R_Vin=1; #Resistance at Vin, k\u03a9\n",
+ "R_VCC=100; #Resistance at Vcc, \u03a9\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#(i) when SCR is off, there is no current, therefore no voltage drop across the resistor\n",
+ "V_out=VCC; #Output voltage, when SCR is off, V\n",
+ "\n",
+ "#(ii)\n",
+ "V_in=V_T+I_T*R_Vin; #Input voltage required to trigger the SCR, V\n",
+ "\n",
+ "#(iii)\n",
+ "#Since, I_H=(Vcc-VT)/R_Vin;\n",
+ "VCC_SCR_open=(I_H/1000)*R_VCC+V_T; #Decreased value of supply voltage at which SCR opens, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The output voltage when SCR is off=%dV.\"%V_out);\n",
+ "print(\"(ii) The input voltage required to trigger the SCR=%.1f V.\"%V_in);\n",
+ "print(\"(iii) The decreased supply voltage at which SCR opens=%.1f V.\"%VCC_SCR_open);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The output voltage when SCR is off=15V.\n",
+ "(ii) The input voltage required to trigger the SCR=7.7 V.\n",
+ "(iii) The decreased supply voltage at which SCR opens=1.3 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.13 : Page number 572-573\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Vz=5.6; #zener voltage, V\n",
+ "V_T=0.7; #Trigger voltage of SCR, V\n",
+ "\n",
+ "#Calculation\n",
+ "VCC=Vz+V_T; #Required supply voltage to turn on the crowbar, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"The required supply voltage to turn on the crowbar=%.1fV.\"%VCC);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The required supply voltage to turn on the crowbar=6.3V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.14 : Page number 573\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Vz=12; #Zener breakdown voltage, V\n",
+ "V_T=1.5; #Trigger voltage, V\n",
+ "tolerance_z=10.0; #Tolerance of zener diode, %\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "Vz_max=Vz*(1+tolerance_z/100); #Maximum value of zener breakdown, V\n",
+ "Vz_min=Vz*(1-tolerance_z/100); #Minimum value of zener breakdown, V\n",
+ "V_crowbar=Vz_max+V_T; #Maximum value of supply voltage for crowbarring, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"The maximum value of supply voltage for crowbarring=%.1fV\"%V_crowbar);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum value of supply voltage for crowbarring=14.7V\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 20.15 : Page number 573\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=25.0; #Supply voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "#When brights light is on, LASCR conducts and thus gets short circuited to ground, hence,\n",
+ "V_out=0; #Output voltage, V\n",
+ "\n",
+ "print(\"Output voltage when bright light is on=%dV\"%V_out);\n",
+ "\n",
+ "\n",
+ "#When brights light is off, LASCR stops conducting and thus no current through resistor, hence,\n",
+ "V_out=VCC; #Output voltage, V\n",
+ "print(\"Output voltage when bright light is off=%dV\"%V_out);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output voltage when bright light is on=0V\n",
+ "Output voltage when bright light is off=25V\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter21.ipynb b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter21.ipynb
new file mode 100644
index 00000000..acca0cfa
--- /dev/null
+++ b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter21.ipynb
@@ -0,0 +1,467 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:412bf04e25192c77f9fa9664d995cc0ae6446a81f631fb5e0e755ebfa36436bf"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 21 : POWER ELECTRONICS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 21.3: Page number 585\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_GT=2; #Gate triggering voltage, V\n",
+ "V_F=0.7; #Forward voltage for diode D1\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)Triggering only by a positive gate voltage,\n",
+ "#A diode is connected at the gatewith the n-side connected to thegate of the device,\n",
+ "V_A=V_F+V_GT; #Required voltage to trigger the device, V\n",
+ "\n",
+ "print(\"The required voltage to trigger the device only by positive voltage=%.1fV.\"%V_A);\n",
+ "\n",
+ "#(ii)\n",
+ "print(\"In order to trigger the triac only by negative voltage, the direction of diode D1 is reversed.\");\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The required voltage to trigger the device only by positive voltage=2.7V.\n",
+ "In order to trigger the triac only by negative voltage, the direction of diode D1 is reversed.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 21.4 : Page number 585-586\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "R=50.0; #Resitor, \u03a9\n",
+ "V=50.0; #Supply voltage, V\n",
+ "V_drop=1.0; #Drop across the triac in conduction, V\n",
+ "\n",
+ "#Calculation\n",
+ "#(i) Ideal triac\n",
+ "#Since the triac is ideal, voltage drop across it is zero,\n",
+ "I=V/R; #Current through the 50 \u03a9 resistor, A\n",
+ "\n",
+ "print(\"(i) The cuurent through the 50 \u03a9 resistor when the triac is ideal=%dA.\"%I);\n",
+ "\n",
+ "#(ii) Triac has a drop of 1V\n",
+ "I=(V-V_drop)/R; #Current through the 50 \u03a9 resistor, A\n",
+ "\n",
+ "print(\"(ii) The current through the 50 \u03a9 resistor when the triac has a drop of 1V=%.2fA.\"%I);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The cuurent through the 50 \u03a9 resistor when the triac is ideal=1A.\n",
+ "(ii) The current through the 50 \u03a9 resistor when the triac has a drop of 1V=0.98A.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 21.5 : Page number 588-589\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_GT=2; #Gate triggering voltage, V\n",
+ "V_BO=20; #Breakover voltage,V\n",
+ "\n",
+ "#Calculation\n",
+ "print(\"The triggering level is raised by using a diac.\");\n",
+ "V_A=V_BO+V_GT; #Gate trigger signal, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"In order to turn on the triac, the gate trigger signal=%dV.\"%V_A);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The triggering level is raised by using a diac.\n",
+ "In order to turn on the triac, the gate trigger signal=22V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 21.6 : Page number 589\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_BO=30; #Breakover voltage of diac, V\n",
+ "V_GT=1; #Trigger voltage of the triac, V\n",
+ "I_T=10; #Trigger current, mA\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "V_A=V_BO+V_GT; #Voltage required for triggering the triac, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"The minimum capacitor voltage that will trigger the triac=%d V.\"%V_A);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The minimum capacitor voltage that will trigger the triac=31 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 21.7 : Page number 593\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Variable declaration\n",
+ "eta=0.6; #Intrinsic stand-off ratio for UJT\n",
+ "R_BB=10; #Inter-base resistance, k\u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, RBB=RB1+RB2 and eta=RB1/(RB1+RB2),\n",
+ "#eta=RB1/RBB.\n",
+ "R_B1=eta*R_BB; #Resistance of the bar between B1 and emitter junction, k\u03a9\n",
+ "R_B2=R_BB-R_B1; #Resistance of the bar between B2 and emitter junction, k\u03a9 \n",
+ "\n",
+ "#Result\n",
+ "print(\"Resistance of the bar between B1 and emitter junction=%d k\u03a9.\"%R_B1);\n",
+ "print(\"Resistance of the bar between B2 and emitter junction=%d k\u03a9.\"%R_B2);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Resistance of the bar between B1 and emitter junction=6 k\u03a9.\n",
+ "Resistance of the bar between B2 and emitter junction=4 k\u03a9.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 21.8 : Page number 593\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_BB=10; #Interbase voltage, V\n",
+ "eta=0.65; #Intrinsic stand-off ratio for UJT\n",
+ "V_D=0.7; #Voltage drop in the pn junction, V\n",
+ "\n",
+ "#Calculation\n",
+ "V_stand_off=eta*V_BB; #Stand off voltage, V\n",
+ "V_P=V_stand_off+V_D; #Peak-point voltage, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"Stand off voltage=%.1f V.\"%V_stand_off);\n",
+ "print(\"Peak-point voltage=%.1f V.\"%V_P);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Stand off voltage=6.5 V.\n",
+ "Peak-point voltage=7.2 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 21.9 : Page number 593\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_BB=25; #Interbase voltage, V\n",
+ "eta_max=0.86; #Maximum intrinsic stand-off ratio for UJT\n",
+ "eta_min=0.74; #Minimum intrinsic stand-off ratio for UJT\n",
+ "V_D=0.7; #Voltage drop in the pn junction, V\n",
+ "\n",
+ "#Calculation\n",
+ "V_P_max=eta_max*V_BB+V_D; #Maximum peak-point, V\n",
+ "V_P_min=eta_min*V_BB+V_D; #Minimum peak-point, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"Maximum peak-point voltage=%.1fV\"%V_P_max);\n",
+ "print(\"Minimum peak-point voltage=%.1fV\"%V_P_min);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum peak-point voltage=22.2V\n",
+ "Minimum peak-point voltage=19.2V\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 21.10 : Page number 593-594\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "eta=0.65; #Intrinsic stand-off ratio for UJT\n",
+ "R_BB=7.0; #Inter-base resistance, k\u03a9\n",
+ "R1=100.0; #Resistor R1, \u03a9\n",
+ "R2=400.0; #Resistor R2, \u03a9\n",
+ "V_S=12.0; #Source voltage, V\n",
+ "V_D=0.7; #Voltage drop in the pn junction, V\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "#Since, eta=RB1/RBB,\n",
+ "R_B1=eta*R_BB; #Resistance of the bar between B1 and emitter junction, k\u03a9\n",
+ "R_B2=R_BB-R_B1; #Resistance of the bar between B2 and emitter junction, k\u03a9 \n",
+ "\n",
+ "print(\"(i) Resistance of the bar between B1 and emitter junction=%.2f k\u03a9.\"%R_B1);\n",
+ "print(\" Resistance of the bar between B2 and emitter junction=%.2f k\u03a9.\"%R_B2);\n",
+ "\n",
+ "#(ii)\n",
+ "V_B2_B1=V_S*R_BB/(R_BB + (R1/1000) + (R2/1000)); #Voltage across B2-B1, V (voltage divider rule)\n",
+ "V_P=eta*V_B2_B1+V_D; #Peak-point voltage, V\n",
+ "\n",
+ "print(\"(ii) The voltage across the base B2-B1=%.1fV.\"%V_B2_B1);\n",
+ "print(\" Peak-point voltage=%.2fV\"%V_P);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) Resistance of the bar between B1 and emitter junction=4.55 k\u03a9.\n",
+ " Resistance of the bar between B2 and emitter junction=2.45 k\u03a9.\n",
+ "(ii) The voltage across the base B2-B1=11.2V.\n",
+ " Peak-point voltage=7.98V\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 21.11 : Page number 596\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import log\n",
+ "\n",
+ "#Variable declaration\n",
+ "RE_initial=5; #Initial value of emitter resistor, k\u03a9\n",
+ "RE_adjusted=10; #Adjusted value of emitter resistor, k\u03a9\n",
+ "C=0.2; #Capacitance, \u03bcF\n",
+ "eta=0.54; #intrinsic stand-off ratio\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "t=round((RE_initial*1000*C*10**-6*log(1/(1-eta)))*1000,2); #Time period, ms\n",
+ "f=(1/t)*1000; #frequency, Hz\n",
+ "\n",
+ "print(\"Frequency for 5k\u03a9 setting=%dHz.\"%f);\n",
+ "\n",
+ "#(i)\n",
+ "t=round((RE_adjusted*1000*C*10**-6*log(1/(1-eta)))*1000,2); #Time period, ms\n",
+ "f=(1/t)*1000; #frequency, Hz\n",
+ "\n",
+ "print(\"Frequency for 10k\u03a9 setting=%dHz.\"%f);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frequency for 5k\u03a9 setting=1282Hz.\n",
+ "Frequency for 10k\u03a9 setting=645Hz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 21.12 : Page number 596-597\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import log\n",
+ "\n",
+ "#Variable declaration\n",
+ "V_S=12; #Supply voltage, V\n",
+ "R_BB=5; #Interbase resistance, k\u03a9\n",
+ "R_1=50; #Resistor R1, k\u03a9\n",
+ "R_2=0.1; #Resistor R2, k\u03a9\n",
+ "C=0.1; #Capacitance, \u03bcF\n",
+ "eta=0.6; #intrinsic stand-off ratio\n",
+ "V_D=0.7; #Voltage drop across pn junction, V\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "#Since, \u03b7=R_B1/R_BB,\n",
+ "R_B1=eta*R_BB; #Resitance between base B1 and emitter junction, k\u03a9\n",
+ "\n",
+ "#Since, R_BB=R_B1+R_B2\n",
+ "R_B2=R_BB-R_B1; #Resitance between base B2 and emitter junction, k\u03a9\n",
+ "\n",
+ "#(ii)\n",
+ "V_RB1_R2=V_S*(R_B1+R_2)/(R_BB+R_2); #Voltage drop across R_B1 and R_2 resistors, V\n",
+ "V_P=V_D+V_RB1_R2; #Peak-point voltage, V\n",
+ "\n",
+ "#(iii)\n",
+ "t=round((R_1*1000*C*10**-6*log(1/(1-eta)))*1000,2); #Time period, ms\n",
+ "f=(1/t)*1000; #frequency, Hz\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) R_B1=%dk\u03a9 and R_B2=%dk\u03a9\"%(R_B1,R_B2));\n",
+ "print(\"(ii) The peak-point voltage to turn on the UJT=%.0fV.\"%V_P);\n",
+ "print(\"(iii) Frequency of oscillations=%dHz.\"%f);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) R_B1=3k\u03a9 and R_B2=2k\u03a9\n",
+ "(ii) The peak-point voltage to turn on the UJT=8V.\n",
+ "(iii) Frequency of oscillations=218Hz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter22.ipynb b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter22.ipynb
new file mode 100644
index 00000000..5f13ea0e
--- /dev/null
+++ b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter22.ipynb
@@ -0,0 +1,668 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:a688629536ad6915939234eacc1ed3eaaf36e0aaa88de5df5b6a309da4d2c64d"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 22: ELECTRONIC INSTRUMENTS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.1 : Page number 606\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "I_g=1; #Full scale deflection current, mA\n",
+ "\n",
+ "#Calculation\n",
+ "MS=1/(I_g/1000.0); #Multimeter sensitivity, \u03a9 per volt\n",
+ "\n",
+ "#Result\n",
+ "print(\"The multimeter sensitivity=%d \u03a9 per volt.\"%MS);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The multimeter sensitivity=1000 \u03a9 per volt.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.2 : Page number 606-607\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "meter_sensitivity=1000.0; #Meter sensitivity, \u03a9 per volt\n",
+ "V_full_scale=50.0; #Full scale volts\n",
+ "R=50000.0; #Resistance to be measured, \u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "meter_resistance=V_full_scale*meter_sensitivity; #Meter resistance, \u03a9\n",
+ "R_p=R*meter_resistance/(R+meter_resistance); #Parallel resistance, \u03a9\n",
+ "\n",
+ "#Result\n",
+ "print(\"When the meter is used to measure the voltage across the resistance %d\u03a9, total resistance =%d\u03a9.\"%(R,R_p));\n",
+ "print(\"\u2234 Meter will give highly incorrect reading.\");\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "When the meter is used to measure the voltage across the resistance 50000\u03a9, total resistance =25000\u03a9.\n",
+ "\u2234 Meter will give highly incorrect reading.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.3 : Page number 607\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "meter_sensitivity=4.0; #Meter sensitivity, k\u03a9/V\n",
+ "R_1=10.0; #Resistance across which voltage is to be measured, k\u03a9\n",
+ "R_2=10.0; #Resistance, k\u03a9\n",
+ "range_max=10.0; #Maximum range of the meter, V\n",
+ "range_min=0; #Minimum range of the meter, V\n",
+ "V=20.0; #Battery voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "R_meter=meter_sensitivity*range_max; #Resistance of the meter, k\u03a9\n",
+ "R_T=(R_meter*R_1)/(R_1+R_meter) + R_2; #Total circuit resistance, k\u03a9\n",
+ "I_circuit=round(V/R_T,2); #Circuit current, mA\n",
+ "V_multimeter=I_circuit*((R_meter*R_1)/(R_1+R_meter)); #Voltage read by multimeter, V\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"Voltage read by multimeter=%.2fV.\"%V_multimeter);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage read by multimeter=8.88V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.4 : Page number 607-608\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "meter_sensitivity=20.0; #Meter sensitivity, k\u03a9/V\n",
+ "R_1=10.0; #Resistance across which voltage is to be measured, k\u03a9\n",
+ "R_2=10.0; #Resistance, k\u03a9\n",
+ "range_max=10.0; #Maximum range of the meter, V\n",
+ "range_min=0; #Minimum range of the meter, V\n",
+ "V=20.0; #Battery voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "R_meter=meter_sensitivity*range_max; #Resistance of the meter, k\u03a9\n",
+ "R_T=round((R_meter*R_1)/(R_1+R_meter) + R_2,1); #Total circuit resistance, k\u03a9\n",
+ "I_circuit=round(V/R_T,2); #Circuit current, mA\n",
+ "V_multimeter=I_circuit*((R_meter*R_1)/(R_1+R_meter)); #Voltage read by multimeter, V\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"Voltage read by multimeter=%.2fV.\"%V_multimeter);\n",
+ "\n",
+ "\n",
+ "#Note: The circuit current=1.0256mA, has been approximated in the text as 1.04mA. But, in the code 1.03 mA has been used. Therefore, the final answer is obtained as 9.81V and not 9.88V.\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage read by multimeter=9.81V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.5 : Page number 608-609\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import floor\n",
+ "\n",
+ "#Variable declaration\n",
+ "R_A=20.0; #Resistance after point A, k\u03a9\n",
+ "R_B=20.0; #Resistance after point B, k\u03a9\n",
+ "R_C=30.0; #Resistance after point C, k\u03a9\n",
+ "R_D=30.0; #Resistance after point D, k\u03a9\n",
+ "R_meter=60.0; #Resistance of the meter, k\u03a9\n",
+ "V=100.0; #Battery voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "#(i) When meter is not connected:\n",
+ "R_T=R_A+R_B+R_C+R_D; #Total circuit resistance, k\u03a9\n",
+ "I_circuit=V/R_T; #Circuit current, mA\n",
+ "V_A=V; #Voltage at point A, V\n",
+ "V_B=V-(I_circuit*R_A); #Voltage at point B, V\n",
+ "V_C=V-(I_circuit*(R_A+R_B)); #Voltage at point C, V\n",
+ "V_D=V-(I_circuit*(R_T-R_D)); #Voltage at point D, V\n",
+ "\n",
+ "print(\"(i) When meter is not connected:\");\n",
+ "print(\" Voltage at point A=%dV.\"%V_A);\n",
+ "print(\" Voltage at point B=%dV.\"%V_B);\n",
+ "print(\" Voltage at point C=%dV.\"%V_C);\n",
+ "print(\" Voltage at point D=%dV.\"%V_D);\n",
+ "\n",
+ "\n",
+ "#(ii) When meter is connected:\n",
+ "#(a) Since, point A is directly connected to the source, voltage at point A is equal to source voltage.\n",
+ "V_A=V; #Voltage at point A, V\n",
+ "\n",
+ "#(b)\n",
+ "R_T_B=R_A + round((R_T-R_A)*R_meter/(R_meter + (R_T-R_A)),2); #Total circuit resistance, k\u03a9\n",
+ "I_circuit=round(V/R_T_B,2); #Circuit current, mA\n",
+ "V_B=I_circuit*(R_T-R_A)*R_meter/(R_meter + (R_T-R_A)); #Voltage at point B, V\n",
+ "\n",
+ "\n",
+ "#(c)\n",
+ "R_T_C=(R_A+R_B) + (R_T-R_A-R_B)*R_meter/(R_meter + (R_T-R_A-R_B)); #Total circuit resistance, k\u03a9\n",
+ "I_circuit=V/R_T_C; #Circuit current, mA\n",
+ "V_C=floor((I_circuit*(R_T-R_A-R_B)*R_meter/(R_meter + (R_T-R_A-R_B)))*10)/10; #Voltage at point C, V\n",
+ "\n",
+ "\n",
+ "\n",
+ "#(c)\n",
+ "R_T_D=(R_T-R_D) + R_D*R_meter/(R_meter + R_D); #Total circuit resistance, k\u03a9\n",
+ "I_circuit=round(V/R_T_D,2); #Circuit current, mA\n",
+ "V_D=I_circuit*(R_D*R_meter)/(R_meter + R_D); #Voltage at point D, V\n",
+ "\n",
+ "\n",
+ "print(\"(ii) When meter is connected:\");\n",
+ "print(\" Voltage at point A=%dV.\"%V_A);\n",
+ "print(\" Voltage at point B=%dV.\"%V_B);\n",
+ "print(\" Voltage at point C=%.1fV.\"%V_C);\n",
+ "print(\" Voltage at point D=%.1fV.\"%V_D);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) When meter is not connected:\n",
+ " Voltage at point A=100V.\n",
+ " Voltage at point B=80V.\n",
+ " Voltage at point C=60V.\n",
+ " Voltage at point D=30V.\n",
+ "(ii) When meter is connected:\n",
+ " Voltage at point A=100V.\n",
+ " Voltage at point B=63V.\n",
+ " Voltage at point C=42.8V.\n",
+ " Voltage at point D=22.2V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.6 : Page number 614\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=12.0; #Supply voltage, V\n",
+ "R_m=1.0; #Meter resistance, k\u03a9\n",
+ "I_m_fsd=2.0; #Full scale deflection of meter current, mA\n",
+ "beta=80.0; #Base current amplification factor\n",
+ "E=5.0; #Voltage to be measured, V\n",
+ "V_BE=0.7; #Base-emitter voltage, V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "V_E=E-V_BE; #Emitter voltage, V\n",
+ "\n",
+ "#(i)\n",
+ "#I_m_fsd=V_E/(R_s+R_m), (OHM's LAW)\n",
+ "R_s=((V_E/I_m_fsd)-R_m)*1000; #Multiplier resistor, \u03a9\n",
+ "\n",
+ "#(ii)\n",
+ "IB=I_m_fsd/beta; \t\t\t\t#Base current, mA\n",
+ "R_i=E/IB; \t\t\t#Input resistance of voltmeter, k\u03a9\n",
+ "\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The multiplier resistor=%d\u03a9.\"%R_s);\n",
+ "print(\"(ii) The voltmeter input resistance=%dk\u03a9\"%R_i);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The multiplier resistor=1150\u03a9.\n",
+ "(ii) The voltmeter input resistance=200k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.7 : Page number 614\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=20; #Supply voltage, V\n",
+ "Rs_Rm=9.3; #Sum of multipier resistance and meter resistance, k\u03a9\n",
+ "I_m=1; #Meter current, mA\n",
+ "beta=100; #Base current amplification factor\n",
+ "E=10; #Voltage to be measured, V\n",
+ "V_BE=0.7; #Base-emitter voltage, V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "V_E=E-V_BE; #Emitter voltage, V\n",
+ "I_m=V_E/Rs_Rm; #Meter current, mA\n",
+ "\n",
+ "#(ii)\n",
+ "I_B=I_m/beta; #Base current, mA\n",
+ "R_i_T=(E/I_B)/1000; #Input resistance of voltmeter, with transistor, M\u03a9\n",
+ "R_i_WT=Rs_Rm; #Input resistance of voltmeter, without transistor, k\u03a9\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The meter current=%dmA\"%I_m);\n",
+ "print(\"(ii) The input resistance of voltmeter with transistor=%dM\u03a9.\"%R_i_T);\n",
+ "print(\" The input resistance of voltmeter without transistor=%.1fk\u03a9.\"%R_i_WT);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The meter current=1mA\n",
+ "(ii) The input resistance of voltmeter with transistor=1M\u03a9.\n",
+ " The input resistance of voltmeter without transistor=9.3k\u03a9.\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.8 : Page number 614-615\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=20; #Supply voltage, V\n",
+ "Rs_Rm=9.3; #Sum of multipier resistance and meter resistance, k\u03a9\n",
+ "I_m=1; #Meter current, mA\n",
+ "beta=100; #Base current amplification factor\n",
+ "E=5; #Voltage to be measured, V\n",
+ "V_BE=0.7; #Base-emitter voltage, V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "I_m=(E-V_BE)/Rs_Rm; #Meter current, mA\n",
+ "\n",
+ "#Result\n",
+ "print(\"The meter current=%.2fmA\"%I_m);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The meter current=0.46mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.9 : Page number 616\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "from math import floor\n",
+ "\n",
+ "#Variable declaration\n",
+ "I_m_fsd=100.0; #Full scale deflection of meter current, \u03bcA\n",
+ "R_m=1.0; #Meter resistance, k\u03a9\n",
+ "V_rms=100.0; #r.m.s voltage to be measured, V\n",
+ "V_F=0.7; #Forward voltage drop of rectifier diode, V \n",
+ "\n",
+ "#Calculation\n",
+ "V_m=round(sqrt(2)*V_rms,1); #Peak value of applied voltage, V\n",
+ "V_rectifier_drop=2*V_F; #Total rectifier drop, V\n",
+ "I_peak=round(I_m_fsd/0.637,2); #Peak f.s.d current, \u03bcA\n",
+ "R_s=floor(((((V_m-V_rectifier_drop)/(I_peak*10**-6))-(R_m*1000))/1000)*10)/10; #Multiplier resistance, k\u03a9 (OHM's LAW)\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"The multiplier resistance=%.1fk\u03a9.\"%R_s);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The multiplier resistance=890.7k\u03a9.\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.10 : Page number 616\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "\n",
+ "#Variable declaration\n",
+ "I_av=75; #Full scale deflection of meter current, \u03bcA\n",
+ "R_s=708; #Multiplier resistor, k\u03a9\n",
+ "R_m=900; #Meter coil resistor, \u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "I_peak=I_av*10**-6/0.637; #Peak f.s.d meter current, A\n",
+ "R_T=R_s*1000+R_m; #Total circuit resistance, \u03a9\n",
+ "\n",
+ "#I_peak=(Vm-V_drop)/R_T; (OHM's LAW)\n",
+ "#And, Vm=sqrt(2)*Vrms\n",
+ "V_rms=(I_peak*R_T+(2*0.7))/sqrt(2) ; #applied r.m.s voltage, V\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"The applied r.m.s voltage=%dV\"%V_rms);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The applied r.m.s voltage=60V\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.11 : Page number 618\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "deflection_sensitivity=0.01; #Deflection sensitivity, mm/V\n",
+ "V=400; #Applied voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "spot_shift=V*deflection_sensitivity; #Spot shift produced, mm\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"The shift produced in the spot=%dmm.\"%spot_shift);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The shift produced in the spot=4mm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.12 : Page number 618-619\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "deflection_sensitivity=0.03; #Deflection sensitivity, mm/V\n",
+ "spot_shift=3; #Spot shift produced, mm\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, spot_shift=Applied_Voltage*deflection_sensitivity,\n",
+ "V=spot_shift/deflection_sensitivity; #Applied voltage, V\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"Applied voltage=%dV.\"%V);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Applied voltage=100V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.13 : Page number 622\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "deflection=2; #Deflection produced by applied voltage, cm\n",
+ "V=200; #Applied voltage, V\n",
+ "deflection_by_another_voltage=3; #Deflection by another voltage, cm\n",
+ "\n",
+ "#Calculation\n",
+ "deflection_sensitivity=V/deflection; #deflection sensitivity, V/cm\n",
+ "V_unknown=deflection_sensitivity*deflection_by_another_voltage; #Unknown voltage, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"The unknown voltage=%dV.\"%V_unknown);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The unknown voltage=300V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 22.14 : Page number 622\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "f_H=1000; #Frequency applied to horizontal plates, Hz\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "Loops_H=1; #Number of loops cut by horizontal line\n",
+ "Loops_V=1; #Number of loops cut by vertical line\n",
+ "f_V=f_H*(Loops_H/Loops_V); #Unknown frequency, Hz\n",
+ "\n",
+ "print(\"(i) Unknown frequency=%dHz.\"%f_V);\n",
+ "\n",
+ "#(ii)\n",
+ "Loops_H=2; #Number of loops cut by horizontal line\n",
+ "Loops_V=1; #Number of loops cut by vertical line\n",
+ "f_V=f_H*(Loops_H/Loops_V); #Unknown frequency, Hz\n",
+ "\n",
+ "print(\"(ii) Unknown frequency=%dHz.\"%f_V);\n",
+ "\n",
+ "#(iii)\n",
+ "Loops_H=6; #Number of loops cut by horizontal line\n",
+ "Loops_V=1; #Number of loops cut by vertical line\n",
+ "f_V=f_H*(Loops_H/Loops_V); #Unknown frequency, Hz\n",
+ "\n",
+ "print(\"(iii) Unknown frequency=%dHz.\"%f_V);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) Unknown frequency=1000Hz.\n",
+ "(ii) Unknown frequency=2000Hz.\n",
+ "(iii) Unknown frequency=6000Hz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter23.ipynb b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter23.ipynb
new file mode 100644
index 00000000..19741354
--- /dev/null
+++ b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter23.ipynb
@@ -0,0 +1,133 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:87bd5c8d9448f5bb2e75909f89934a6fb2b64e65e6ea37b085ce080a58026071"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 23 : INTEGRATED CIRCUITS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 23.1: Page number 637"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "R1=240; #Adjusted resistance of R2 resistor of LM317 voltage regulator, in kilo ohm\n",
+ "R2=2.4; #Fixed value of R1 resistor of LM317 voltage regulator, in ohm\n",
+ "\n",
+ "#Calculations\n",
+ "#Output voltage of LM317 voltage regulator IC = 1.25(R2/R1 +1)\n",
+ "Vout=1.25*((R2*1000)/R1 + 1); #Regulated d.c output voltage for the circuit in V\n",
+ "\n",
+ "#Results\n",
+ "print(\"The regulated d.c output voltage = %.2fV\"%Vout);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The regulated d.c output voltage = 13.75V\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 23.2 : Page number 638"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "R=1.2; #Value of resistance of monostable multivibrator in kilo ohm\n",
+ "C=0.1; #Value of capacitance of monostable multivibrator in microfarad\n",
+ "\n",
+ "#Calculations\n",
+ "T=1.1*(R*1000)*C; #Time for which the circuit is ON, in microseconds\n",
+ "\n",
+ "#Results\n",
+ "print(\"Time for which the circuit is ON = %d microseconds.\"%T); \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Time for which the circuit is ON = 132 microseconds.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 23.3 : Page number 639\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "R1=3.0; #Resistance of R1 resistor of 555 timer circuit in kilo ohm\n",
+ "R2=2.7; #Resistance of R2 resistor of 555 timer circuit in kilo ohm\n",
+ "C=0.033; #Capacitance of the capacitor of 555 timer circuit in microfarad\n",
+ "\n",
+ "#Calculations\n",
+ "f=1.44/(((R1*1000) + 2*(R2*1000))*(C*pow(10,-6))); #Frequency of the circuit in Hz\n",
+ "f=f/1000; #Frequency of the circuit in kHz\n",
+ "\n",
+ "#Results\n",
+ "print(\"The frequency of the circuit = %.2fkHz\"%f);\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The frequency of the circuit = 5.19kHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter24.ipynb b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter24.ipynb
new file mode 100644
index 00000000..e63c17a6
--- /dev/null
+++ b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter24.ipynb
@@ -0,0 +1,604 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:947f358cf49d029c94d008f72a340051744678cf2e36ecc199100b78d31fcba5"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 24 : HYBRID PARAMETERS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.1 : Page number 644-645\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "R1=10.0; #1st resistor, \u03a9\n",
+ "R2=5.0; #2nd resistor, \u03a9\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "print(\"To find h11 and h21, output terminals are shorted.\");\n",
+ "h11=R1; #Input impedance with output shorted, \u03a9\n",
+ "\n",
+ "print(\"h11=%d\u03a9.\"%h11);\n",
+ "\n",
+ "print(\"Output current flowing into the box= input current flowing out of the box.\");\n",
+ "print(\"i2=-i1\"); #Output current flowing into the box= input current flowing out of the box.\n",
+ "print(\"h21=i2/i1 = -i1/i1= -1.\"); #Current gain with output shorted.\n",
+ "\n",
+ "\n",
+ "print(\"For finding h22 and h12, voltage source is connected at the output\");\n",
+ "#As, there will be no current through 10k\u03a9 resistor due to open circuited input,\n",
+ "print(\"v1=v2\"); #Output voltage is equal to input voltage(equal to voltage drop across 5k\u03a9 resistor)\n",
+ "print(\"h12=v1/v2 = v2/v2 = 1\"); #Voltage feedback ratio with input terminals open\n",
+ "\n",
+ "h22=1/R2; #Output admittance, mho\n",
+ "print(\"h22=%.1f mho\"%h22);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "To find h11 and h21, output terminals are shorted.\n",
+ "h11=10\u03a9.\n",
+ "Output current flowing into the box= input current flowing out of the box.\n",
+ "i2=-i1\n",
+ "h21=i2/i1 = -i1/i1= -1.\n",
+ "For finding h22 and h12, voltage source is connected at the output\n",
+ "v1=v2\n",
+ "h12=v1/v2 = v2/v2 = 1\n",
+ "h22=0.2 mho\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.2 : Page number 645-646\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "R1=4.0; #1st resistor(at the input side), \u03a9\n",
+ "R2=4.0; #2nd resistor(at the middle), \u03a9\n",
+ "R3=4.0; #3rd resistor(at the output side), \u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "print(\"To find h11 and h21, output terminals are shorted.\");\n",
+ "h11=R1 + (R2*R3/(R2+R3)); #Input impedance with output shorted, \u03a9\n",
+ "print(\"h11=%d\u03a9.\"%h11);\n",
+ "\n",
+ "#As the input current gets divided in half due to R2=R3.\n",
+ "print(\"Output current flowing into the box=negative of half of input current flowing out of the box.\");\n",
+ "print(\"i2=-i1/2 = -0.5i1\"); \n",
+ "print(\"h21=i2/i1 = -0.5i1/i1= -0.5.\"); #Current gain with output shorted.\n",
+ "\n",
+ "print(\"For finding h22 and h12, voltage source is connected at the output\");\n",
+ "#As, there will be no current through the 1st 4k\u03a9 resistor due to open circuited input,\n",
+ "#Voltage gets equally divided across R2 and R3 resistor\n",
+ "print(\"v1=v2/2 = 0.5v2\"); #Input voltage is equal to half of input voltage\n",
+ "print(\"h12=v1/v2 = 0.5v2/v2 = 0.5\"); #Voltage feedback ratio with input terminals open\n",
+ "\n",
+ "h22=1/(R2+R3); #Output admittance, mho\n",
+ "print(\"h22=%.3f mho\"%h22);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "To find h11 and h21, output terminals are shorted.\n",
+ "h11=6\u03a9.\n",
+ "Output current flowing into the box=negative of half of input current flowing out of the box.\n",
+ "i2=-i1/2 = -0.5i1\n",
+ "h21=i2/i1 = -0.5i1/i1= -0.5.\n",
+ "For finding h22 and h12, voltage source is connected at the output\n",
+ "v1=v2/2 = 0.5v2\n",
+ "h12=v1/v2 = 0.5v2/v2 = 0.5\n",
+ "h22=0.125 mho\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.3 ; Page number 649-650\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "R1=10.0; #Resistor at the input side, \u03a9\n",
+ "R2=5.0; #Resistor at the middle, \u03a9\n",
+ "rL=5.0; #Load resistor, \u03a9\n",
+ "\n",
+ "#h-parameter values from 24.1\n",
+ "h11=10.0; #Input impedance with output shorted, \u03a9\n",
+ "h21=-1.0; #Current gain with output shorted\n",
+ "h12=1.0; #Voltage feedback ratio with input terminal open\n",
+ "h22=0.2; #Output admittance, mho\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "Zin=h11-(h12*h21/(h22+(1/rL))); #Input impedance, \u03a9\n",
+ "\n",
+ "#(ii)\n",
+ "Av=-h21/(Zin*(h22+(1/rL))); #voltage gain,\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The input impedance=%.1f\u03a9.\"%Zin );\n",
+ "print(\"(ii) The voltage gain=1/%d.\"%(1/Av));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The input impedance=12.5\u03a9.\n",
+ "(ii) The voltage gain=1/5.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.4 : Page number 652-653\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCE=10.0; #Collector-emitter voltage, V\n",
+ "IC=1.0; #Collector current, mA\n",
+ "rL=600.0; #a.c load seen by the transistor,\u03a9\n",
+ "\n",
+ "#h-parameters\n",
+ "hie=2000.0; #Input impedance with output shorted, \u03a9\n",
+ "hoe=10**-4; #Output impedance, mho\n",
+ "hre=10**-3; #Voltage feedback ratio with input terminal open\n",
+ "hfe=50.0; #Current gain with output shorted\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "Zin=hie - (hre*hfe/(hoe+(1/rL))); #Input impedance, \u03a9\n",
+ "print(\"Input impedance=%.0f \u03a9. \\n As second term in the expression of Zin is small compared to first, Zin~hie=%d\u03a9.\"%(Zin,hie));\n",
+ "\n",
+ "#(ii)\n",
+ "Ai=hfe/(1+hoe*rL); #Current gain\n",
+ "print(\"Current gain=%d\"%Ai);\n",
+ "print(\"if hoe*rL<<1, then Ai~hfe=%d.\"%hfe);\n",
+ "\n",
+ "#(iii)\n",
+ "Av=-hfe/(Zin*(hoe+(1/rL))); #Voltage gain\n",
+ "print(\"Voltage gain=%.1f\"%Av);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input impedance=1972 \u03a9. \n",
+ " As second term in the expression of Zin is small compared to first, Zin~hie=2000\u03a9.\n",
+ "Current gain=47\n",
+ "if hoe*rL<<1, then Ai~hfe=50.\n",
+ "Voltage gain=-14.4\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.5 : Page number 653\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import ceil\n",
+ "\n",
+ "#Variable declaration\n",
+ "VCE=5.0; #Collector-emitter voltage, V\n",
+ "IC=1.0; #Collector current, mA\n",
+ "rL=2.0; #a.c load seen by the transistor,\u03a9\n",
+ "\n",
+ "\n",
+ "#h-parameters\n",
+ "hie=1700.0; #Input impedance with output shorted, \u03a9\n",
+ "hoe=6*10**-6; #Output impedance, mho\n",
+ "hre=1.3*10**-4; #Voltage feedback ratio with input terminal open\n",
+ "hfe=38.0; #Current gain with output shorted\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "Zin=hie - (hre*hfe/(hoe+(1/(rL*1000)))); #Input impedance, \u03a9\n",
+ "print(\"Input impedance=%.0f \u03a9.\"%Zin);\n",
+ "\n",
+ "#(ii)\n",
+ "Ai=ceil((hfe/round((1+hoe*rL*1000),3))*10)/10; #Current gain\n",
+ "print(\"Current gain=%.1f\"%Ai);\n",
+ "\n",
+ "#(iii)\n",
+ "Av=-hfe/(Zin*(hoe+(1/(rL*1000)))); #Voltage gain\n",
+ "print(\"Voltage gain=%.1f\"%abs(Av));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input impedance=1690 \u03a9.\n",
+ "Current gain=37.6\n",
+ "Voltage gain=44.4\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.6 : Page number 653-654\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Function for calculating parallel resistance\n",
+ "def pr(r1,r2):\n",
+ " return r1*r2/(r1+r2);\n",
+ "\n",
+ "\n",
+ "#Variable declaration\n",
+ "RC=10.0; #Collector resistance, k\u03a9\n",
+ "RL=30.0; #Load resistance, k\u03a9\n",
+ "R1=80.0; #Resistor R1, k\u03a9\n",
+ "R2=40.0; #Resistor R2, k\u03a9\n",
+ "\n",
+ "#h-parameters\n",
+ "hie=1500.0; #Input impedance with output shorted, \u03a9\n",
+ "hoe=5*10**-5; #Output impedance, mho\n",
+ "hre=4*10**-4; #Voltage feedback ratio with input terminal open\n",
+ "hfe=50.0; #Current gain with output shorted\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "rL=((RC*RL)/(RC+RL))*1000; #a.c load as seen by resistance, \u03a9\n",
+ "\n",
+ "#(i)\n",
+ "Zin=round(hie - (hre*hfe/(hoe+(1/rL))),-1); #Input impedance, \u03a9\n",
+ "print(\"Input impedance=%.0f \u03a9.\"%Zin);\n",
+ "\n",
+ "#Input impedance of stage=input impedance || bias resistors\n",
+ "Zin_stage=round(pr(pr(R1,R2)*1000,Zin),-1); #\u03a9\n",
+ "print(\"Input impedance of the stage=%.0f \u03a9.\"%Zin_stage);\n",
+ "\n",
+ "#(ii)\n",
+ "Av=-hfe/(Zin*(hoe+(1/rL))); #Voltage gain\n",
+ "print(\"Voltage gain=%d\"%Av);\n",
+ "print(\"The negative sign represents phase reversal.\");\n",
+ "\n",
+ "\n",
+ "#(iii)\n",
+ "Zout=(1/(hoe-(hfe*hre/hie)))/1000; #Output impedance of transistor, k\u03a9\n",
+ "Zout_stage=pr(Zout,pr(RL,RC)); #Output impedance of the stage, k\u03a9\n",
+ "print(\"Output impedance=%.2f k\u03a9.\"%Zout);\n",
+ "print(\"Output impedance of the stage=%.2f k\u03a9.\"%Zout_stage);\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input impedance=1390 \u03a9.\n",
+ "Input impedance of the stage=1320 \u03a9.\n",
+ "Voltage gain=-196\n",
+ "The negative sign represents phase reversal.\n",
+ "Output impedance=27.27 k\u03a9.\n",
+ "Output impedance of the stage=5.88 k\u03a9.\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.7 : Page number 654\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Function for calculating parallel resistance\n",
+ "def pr(r1,r2):\n",
+ " return r1*r2/(r1+r2);\n",
+ "\n",
+ "#Variable declaration\n",
+ "RC=4.7; #Collector resistance, k\u03a9\n",
+ "RL=10.0; #Load resistance, k\u03a9\n",
+ "R1=33.0; #Resistor R1, k\u03a9\n",
+ "R2=10.0; #Resistor R2, k\u03a9\n",
+ "\n",
+ "#h-parameters\n",
+ "hie=1; #Input impedance with output shorted, k\u03a9\n",
+ "hoe=25; #Output impedance, \u03bcS\n",
+ "hre=2.5*10**-4; #Voltage feedback ratio with input terminal open\n",
+ "hfe=50; #Current gain with output shorted\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "rL=(RC*RL)/(RC+RL); #a.c load as seen by resistance, k\u03a9\n",
+ "\n",
+ "Ai=hfe/(1+hoe*10**-6*rL*1000); #Current gain\n",
+ "print(\"Current gain=%.1f\"%Ai);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current gain=46.3\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.8 : Page number 654-655\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "R_S=100.0; #Series resistance, \u03a9 \n",
+ "\n",
+ "#h-parameters\n",
+ "hie=1.0; #Input impedance with output shorted, k\u03a9\n",
+ "hoe=25.0; #Output impedance, \u03bcS\n",
+ "hre=2.5*10**-4; #Voltage feedback ratio with input terminal open\n",
+ "hfe=50.0; #Current gain with output shorted\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "Zout=(1/(hoe*10**-6-(hfe*hre/(hie*1000+R_S))))/1000; #Output impedance of transistor, k\u03a9\n",
+ "print(\"Output impedance=%.1f k\u03a9.\"%Zout);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output impedance=73.3 k\u03a9.\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.9 : Page number 656\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import floor\n",
+ "\n",
+ "#Function for calculating parallel resistance\n",
+ "def pr(r1,r2):\n",
+ " return r1*r2/(r1+r2);\n",
+ "\n",
+ "#Variable declaration\n",
+ "RC=12.0; #Collector resistance, k\u03a9\n",
+ "RL=15.0; #Load resistance, k\u03a9\n",
+ "R1=50.0; #Resistor R1, k\u03a9\n",
+ "R2=5.0; #Resistor R2, k\u03a9\n",
+ "hie=1.94; #Input impedance with output shorted, k\u03a9\n",
+ "hfe=71.0; #Current gain with output shorted\n",
+ "\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "rL=(RC*RL)/(RC+RL); #a.c load as seen by resistance, \u03a9\n",
+ "\n",
+ "#(i)\n",
+ "Zin_base=hie; #Transistor input impedance, k\u03a9\n",
+ "Zin_circuit=floor(pr(Zin_base,pr(R1,R2))*100)/100; #Circuit input impedance, k\u03a9\n",
+ "print(\"Circuit input impedance=%.2fk\u03a9\"%Zin_circuit);\n",
+ "\n",
+ "\n",
+ "#(ii)\n",
+ "Av=hfe*rL/hie; #Voltage gain\n",
+ "print(\"Voltage gain=%.0f\"%Av);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Circuit input impedance=1.35k\u03a9\n",
+ "Voltage gain=244\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.10 : Page number 656\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "\n",
+ "#Variable declaration\n",
+ "hie_min=600; #Minimum input impedance with output shorted, \u03a9\n",
+ "hfe_min=110; #Minimum current gain with output shorted\n",
+ "hie_max=800; #Maximum input impedance with output shorted, \u03a9\n",
+ "hfe_max=140; #Maximum current gain with output shorted\n",
+ "rL=460; #a.c collector load, \u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "hie=round(sqrt(hie_min*hie_max)); #Input impedance with output shorted, \u03a9\n",
+ "hfe=round(sqrt(hfe_min*hfe_max)); #Current gain with output shorted\n",
+ "Av=hfe*rL/hie; #Voltage gain\n",
+ "\n",
+ "#Result\n",
+ "print(\"Voltage gain=%.1f\"%Av);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage gain=82.3\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 24.11 : Page number 658-659\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#(a)Variable declaration\n",
+ "Ib=10; #Base current, \u03bcA\n",
+ "Ic=1; #Collector current, mA\n",
+ "Vbe=10; #Base-emitter voltage, mV\n",
+ "\n",
+ "#Calculation\n",
+ "hie=Vbe*10**-3/(Ib*10**-6); #Input impedance with output shorted, \u03a9\n",
+ "hfe=Ic*10**-3/(Ib*10**-6); #Current gain with output shorted\n",
+ "\n",
+ "#(b) Variable declaration\n",
+ "Vbe=0.65; #Base-emitter voltage, mV\n",
+ "Ic=60; #Collector current, \u03bcA\n",
+ "Vce=1; #Collector-emitter voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "hre=Vbe*10**-3/Vce; #Voltage feedback ratio with input terminal open\n",
+ "hoe=Ic/Vce; #Output impedance, \u03bcmho\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"hie=%d\u03a9\"%hie);\n",
+ "print(\"hfe=%d\"%hfe);\n",
+ "print(\"hre=%.2fe\u201303\"%(hre*1000));\n",
+ "print(\"hoe=%d\u03bcmho\"%hoe);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "hie=1000\u03a9\n",
+ "hfe=100\n",
+ "hre=0.65e\u201303\n",
+ "hoe=60\u03bcmho\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter25.ipynb b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter25.ipynb
new file mode 100644
index 00000000..6add7ba9
--- /dev/null
+++ b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter25.ipynb
@@ -0,0 +1,2552 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:f21def3bd5ac5e7f3368a4e0e9a53b6961ecc94a2dca6b1917cdfda88271b542"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 25 : OPERATIONAL AMPLIFIERS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.1: Page number 664\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "A=100.0; #Open-circuit voltage gain of differential amplifier\n",
+ "V1=3.25; #Input voltage to terminal 1 in V\n",
+ "V2=3.15; #Input voltage to terminal 2 in V\n",
+ "\n",
+ "#Calculations\n",
+ "V0=A*(V1-V2); #Output voltage in V\n",
+ "\n",
+ "#Results\n",
+ "print(\"The output voltage of the differential amplifier = %dV\"%V0);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The output voltage of the differential amplifier = 10V\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.2: Page number 672\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import log10\n",
+ "\n",
+ "#Variable declaration\n",
+ "A_DM=2000.0; #Differential mode voltage gain\n",
+ "A_CM=0.2; #Common mode voltage gain\n",
+ "\n",
+ "#Calculations\n",
+ "CMRR=A_DM/A_CM; #Common mode rejection ratio\n",
+ "CMRR_dB=20*log10(CMRR); #Common mode rejection ratio in dB\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"The common mode rejection ratio = %d.\"%CMRR);\n",
+ "print(\"The common mode rejection ratio in decibels= %ddB.\"%CMRR_dB);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The common mode rejection ratio = 10000.\n",
+ "The common mode rejection ratio in decibels= 80dB.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.3: Page number 672\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import log10\n",
+ "\n",
+ "#Variable declaration\n",
+ "VD_in=10.0; #Differential mode input in mV\n",
+ "VD_out=1.0; #Output for differential mode input in V\n",
+ "VC_in=10.0; #Common mode input in mV\n",
+ "VC_out=5.0; #Output for common mode input in mV\\\n",
+ "\n",
+ "#Calculations\n",
+ "A_DM=(VD_out*1000)/VD_in; #Differntial mode voltage gain\n",
+ "A_CM=VC_out/VC_in; #Common mode voltage gain\n",
+ "CMRR=A_DM/A_CM; #Common mode rejection ratio\n",
+ "CMRR_dB=20*log10(CMRR); #Common mode rejection ratio in dB\n",
+ "\n",
+ "#Results\n",
+ "print(\"The common mode rejection ratio in decibels= %ddB.\"%CMRR_dB);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The common mode rejection ratio in decibels= 46dB.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.4: Page number 672\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "A_DM=150.0; #Differential mode voltage gain\n",
+ "CMRR_dB=90.0; #Common mode rejection ratio\n",
+ "V1=100.0; #Input voltage for terminal 1 in mV\n",
+ "V2=50.0; #Input voltage for terminal 2 in mV\n",
+ "V_noise=1.0; #Voltage of noise signal in mV\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Case(i)\n",
+ "V_out=A_DM*(V1-V2)/1000.0; #Output voltage for differntial mode input, in V\n",
+ "\n",
+ "#Since CMRR_dB=20*log10(differential mode gain/common mode gain),\n",
+ "A_CM=A_DM/pow(10,(CMRR_dB/20)); #Common mode gain\n",
+ "V_OUT_noise=A_CM*(V_noise/1000); #Noise on output in V\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"Output voltage =%.1fV\"%V_out);\n",
+ "print(\"Noise on output = %.1fx10^-6V\"%(V_OUT_noise*pow(10,6)));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output voltage =7.5V\n",
+ "Noise on output = 4.7x10^-6V\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.5 : Page number 672-673\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import log10\n",
+ "\n",
+ "#Variable declaration\n",
+ "A_DM=2500.0; #Differential mode voltage gain\n",
+ "CMRR=30000.0; #Common mode rejection ratio\n",
+ "Input_signal=500.0; #Single ended input r.m.s signal in microvolts\n",
+ "Interference=1.0; #Interference signal, in V\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#(i)\n",
+ "A_CM=A_DM/CMRR; #Common mode gain\n",
+ "\n",
+ "#(ii)\n",
+ "CMRR_dB=20*log10(CMRR); #Common mode rejection ratio in decibels\n",
+ "\n",
+ "#(iii)\n",
+ "V_out=A_DM*(Input_signal/pow(10,6)-0); #r.m.s output signal in V\n",
+ "\n",
+ "#(iv)\n",
+ "Interference_out=A_CM*Interference; #r.m.s interference output in V\n",
+ "Interference_out=Interference_out*1000; #r.m.s interference output in mV\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"Common mode gain =%.3f\"%A_CM);\n",
+ "print(\"Common mode rejection ratio in decibels=%.1fdB\"%CMRR_dB);\n",
+ "print(\"r.m.s output signal =%.2fV\"%V_out);\n",
+ "print(\"r.m.s interfernce output voltage = %dmV\"%Interference_out);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Common mode gain =0.083\n",
+ "Common mode rejection ratio in decibels=89.5dB\n",
+ "r.m.s output signal =1.25V\n",
+ "r.m.s interfernce output voltage = 83mV\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.6 : Page number 674-675\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=12; #Collector supply voltage, V\n",
+ "VEE=12; #Emitter supply voltage, V\n",
+ "RB=10; #Base resistor, k\u03a9\n",
+ "RC2=10; #Collector resistor, k\u03a9\n",
+ "RE=25; #Emitter resistor, k\u03a9\n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "beta=100; #Base amplification factor\n",
+ "\n",
+ "#Calculation\n",
+ "VE=-VBE; #Emitter voltage, V (Ignoring the base current)\n",
+ "IE=(VEE-VBE)/RE; #Tail current, mA\n",
+ "IE1=IE/2; #Emitter current of 1st transistor, mA\n",
+ "IE2=IE1; #Emitter current of 2nd transistor, mA\n",
+ "IC1=IE1; #Collector current(= emitter current) of 1st transistor, mA\n",
+ "IC2=IC1; #Collector current of 2nd transistor, mA\n",
+ "IB1=(IC1/beta)*1000; #Base current of 1st transistor, \u03bcA\n",
+ "IB2=IB1; #Base current of 2nd transistor, \u03bcA\n",
+ "VC1=VCC; #Collector voltage of 1st transistor, V\n",
+ "VC2=VCC-IC2*RC2; #Collector voltage of 2nd transistor, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"VE=%.1fV\"%VE);\n",
+ "print(\"IE=%.3fmA\"%IE);\n",
+ "print(\"IE1=%.3fmA\"%IE1);\n",
+ "print(\"IE2=%.3fmA\"%IE2);\n",
+ "print(\"IC1=%.3fmA\"%IC1);\n",
+ "print(\"IC2=%.3fmA\"%IC2);\n",
+ "print(\"IB1=%.2f\u03bcA\"%IB1);\n",
+ "print(\"IB2=%.2f\u03bcA\"%IB2);\n",
+ "print(\"VC1=%dV\"%VC1);\n",
+ "print(\"VC2=%.1fV\"%VC2);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "VE=-0.7V\n",
+ "IE=0.452mA\n",
+ "IE1=0.226mA\n",
+ "IE2=0.226mA\n",
+ "IC1=0.226mA\n",
+ "IC2=0.226mA\n",
+ "IB1=2.26\u03bcA\n",
+ "IB2=2.26\u03bcA\n",
+ "VC1=12V\n",
+ "VC2=9.7V\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.7 : Page number 675\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=15; #Collector supply voltage, V\n",
+ "VEE=15; #Emitter supply voltage, V\n",
+ "RB=33; #Base resistor, k\u03a9\n",
+ "RC=15; #Collector resistor, k\u03a9\n",
+ "RE=15; #Emitter resistor, k\u03a9\n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "IE_tail=(VEE-VBE)/RE; #Tail current, mA\n",
+ "IE=round(IE_tail/2,3); #Emitter current in each transistor, mA\n",
+ "IC=IE; #Collector current(=emitter current), mA\n",
+ "Vout=VCC-IC*RC; #Output voltage, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"The output voltage=%.2fV.\"%Vout);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The output voltage=7.85V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.8 : Page number 675\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=15.0; #Collector supply voltage, V\n",
+ "VEE=15.0; #Emitter supply voltage, V\n",
+ "RB=33.0; #Base resistor, k\u03a9\n",
+ "RC=15.0; #Collector resistor, k\u03a9\n",
+ "RE=15.0; #Emitter resistor, k\u03a9\n",
+ "VBE=0; #Base-emitter voltage, V\n",
+ "beta_dc_l=90.0; #base current amplification factor for left transistor\n",
+ "beta_dc_r=110.0; #base current amplification factor for right transistor\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "IE_tail=(VEE-VBE)/RE; #Tail current, mA\n",
+ "IE=IE_tail/2; #Emitter current in each transistor, mA\n",
+ "IB1=(IE/beta_dc_l)*1000; #Base current of 1st transistor, \u03bcA\n",
+ "IB2=(IE/beta_dc_r)*1000; #Base current of 2nd transistor, \u03bcA\n",
+ "\n",
+ "#(ii)\n",
+ "VB1=-IB1/1000*RB; #Base voltage of 1st transistor, V\n",
+ "VB2=-IB2/1000*RB; #Base voltage of 1st transistor, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) IB1=%.2f\u03bcA\"%IB1);\n",
+ "print(\" IB2=%.2f\u03bcA\"%IB2);\n",
+ "print(\"(ii) VB1=%.3fV\"%VB1);\n",
+ "print(\" VB2=%.2fV\"%VB2);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) IB1=5.56\u03bcA\n",
+ " IB2=4.55\u03bcA\n",
+ "(ii) VB1=-0.183V\n",
+ " VB2=-0.15V\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.9 : Page number 675-676\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=15.0; #Collector supply voltage, V\n",
+ "VEE=15.0; #Emitter supply voltage, V\n",
+ "RB=10.0; #Base resistor, k\u03a9\n",
+ "RC1=10.0; #Collector resistor of 1st transistor, k\u03a9\n",
+ "RC2=10.0; #Collector resistor of 2nd transistor, k\u03a9\n",
+ "IE=1.0; #Tail current, mA\n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "VE=-VBE; #Emitter voltage, V (Ignoring the base current)\n",
+ "IE1=IE/2.0; #Emitter current of 1st transistor, mA\n",
+ "IE2=IE1; #Emitter current of 2nd transistor, mA\n",
+ "IC1=IE1; #Collector current(= emitter current) of 1st transistor, mA\n",
+ "IC2=IE2; #Collector current of 2nd transistor, mA\n",
+ "VC1=VCC-IC1*RC1; #Collector voltage of 1st transistor, V\n",
+ "VC2=VCC-IC2*RC2; #Collector voltage of 2nd transistor, V\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"VE=%.1fV\"%VE);\n",
+ "print(\"Emitter current in each transistor=%.1fmA.\"%(IE/2.0));\n",
+ "print(\"IC1~IE1=%.1fmA and IC2~IE2=%.1fmA\"%(IE1,IE2));\n",
+ "print(\"VC1=VC2=%dV.\"%VC2);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "VE=-0.7V\n",
+ "Emitter current in each transistor=0.5mA.\n",
+ "IC1~IE1=0.5mA and IC2~IE2=0.5mA\n",
+ "VC1=VC2=10V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.10 : Page number 676-677\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=12.0; #Collector supply voltage, V\n",
+ "VEE=12.0; #Emitter supply voltage, V\n",
+ "RC2=10.0; #Collector resistor of 2nd transistor, k\u03a9\n",
+ "RE=25.0; #Emitter current, k\u03a9\n",
+ "VBE=-0.7; #Base-emitter voltage, V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "VE=-VBE; #Emitter voltage, V (Ignoring the base current)\n",
+ "IE=(VCC-VE)/RE; #Tail current, mA\n",
+ "IE1=IE/2.0; #Emitter current of 1st transistor, mA\n",
+ "IE2=IE1; #Emitter current of 2nd transistor, mA\n",
+ "IC1=IE1; #Collector current(= emitter current) of 1st transistor, mA\n",
+ "IC2=IE2; #Collector current of 2nd transistor, mA\n",
+ "VC1=-VEE; #Collector voltage of 1st transistor, V\n",
+ "VC2=-VEE+IC2*RC2; #Collector voltage of 2nd transistor, V\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"VE=%.1fV\"%VE);\n",
+ "print(\"Tail current=%.3fmA.\"%IE);\n",
+ "print(\"Emitter current in each transistor=%.3fmA.\"%(IE/2.0));\n",
+ "print(\"IC1~IE1=%.3fmA and IC2~IE2=%.3fmA\"%(IC1,IC2));\n",
+ "print(\"VC1=%dV\"%VC1);\n",
+ "print(\"VC2=%.2fV\"%VC2);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "VE=0.7V\n",
+ "Tail current=0.452mA.\n",
+ "Emitter current in each transistor=0.226mA.\n",
+ "IC1~IE1=0.226mA and IC2~IE2=0.226mA\n",
+ "VC1=-12V\n",
+ "VC2=-9.74V\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.11 : Page number 679\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=15; #Collector supply voltage, V\n",
+ "VEE=15; #Emitter supply voltage, V\n",
+ "RB=1; #Base resistor, M\u03a9\n",
+ "RC2=1; #Collector resistor, M\u03a9\n",
+ "RE=1; #Emitter resistor, M\u03a9\n",
+ "VBE=0; #Base-emitter voltage, V (Neglected)\n",
+ "beta_dc_l=90.0; #base current amplification factor for left transistor\n",
+ "beta_dc_r=110.0; #base current amplification factor for right transistor\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "IE=(VEE-VBE)/RE; #Tail current, \u03bcA\n",
+ "IE1=IE/2.0; #Emitter current of 1st transistor, \u03bcA\n",
+ "IE2=IE1; #Emitter current of 2nd transistor, \u03bcA\n",
+ "IB1=round((IE1/beta_dc_l)*1000,1); #Base current of 1st transistor, nA\n",
+ "IB2=round((IE2/beta_dc_r)*1000,1); #Base current of 2nd transistor, nA\n",
+ "I_in_offset=IB1-IB2; #Input offset current, nA\n",
+ "\n",
+ "#(ii)\n",
+ "I_in_bias=(IB1+IB2)/2; #Input bias current, nA\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The input offset current=%.1fnA\"%I_in_offset);\n",
+ "print(\"(ii) The input bias current=%.1fnA\"%I_in_bias);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The input offset current=15.1nA\n",
+ "(ii) The input bias current=75.8nA\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.12 : Page number 679\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "I_in_offset=20; #Input offset current, nA\n",
+ "I_in_bias=80; #Input bias current, nA\n",
+ "\n",
+ "#Calculation\n",
+ "IB1=I_in_bias+I_in_offset/2; #Base current in 1st transistor, nA\n",
+ "IB2=I_in_bias-I_in_offset/2; #Base current in 2nd transistor, nA\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"The two base currents are: IB1=%dnA and IB2=%dnA.\"%(IB1,IB2));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The two base currents are: IB1=90nA and IB2=70nA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.13 : Page number 679-680\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declration\n",
+ "I_in_offset=20; #Input offset current, nA\n",
+ "I_in_bias=80; #Input bias current, nA\n",
+ "A=150; #Voltage gain\n",
+ "RB=100; #Base resistor, k\u03a9\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "V_io=(I_in_offset*10**-9*RB*1000)*1000; #Input offset voltage, mV\n",
+ "V_out_offset=(A*V_io)/1000; #Output offset voltage, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"The input offset voltage=%dmV.\"%V_io);\n",
+ "print(\"The output offset voltage=%.1fV.\"%V_out_offset);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The input offset voltage=2mV.\n",
+ "The output offset voltage=0.3V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.14 : Page number 682\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=15; #Collector supply voltage, V\n",
+ "VEE=15; #Emitter supply voltage, V\n",
+ "RE=1; #Emitter resistor, M\u03a9\n",
+ "RC=1; #Collector resistor, M\u03a9\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "IE=VEE/RE; #Tail current, \u03bcA\n",
+ "IE1=IE/2.0; #Emitter current of 1st transistor, \u03bcA\n",
+ "IE2=IE1; #Emitter current of 2nd transistor, \u03bcA\n",
+ "re=25/IE1; #a.c emitter resistance, k\u03a9\n",
+ "A_DM=RC/(2.0*re); #Differential voltage gain,\n",
+ "\n",
+ "#(i)\n",
+ "vin=1; #Input voltage, V\n",
+ "Vout=A_DM*vin; #Output voltage, V\n",
+ "\n",
+ "print(\"(i) Output voltage=%.2fV.\"%Vout);\n",
+ "\n",
+ "#(ii)\n",
+ "vin=-1; #Input voltage, V\n",
+ "Vout=A_DM*vin; #Output voltage, V;\n",
+ "print(\"(ii) Output voltage=%.2fV.\"%Vout);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) Output voltage=0.15V.\n",
+ "(ii) Output voltage=-0.15V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.15 : Page number 682-683\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=12; #Collector supply voltage, V\n",
+ "VEE=12; #Emitter supply voltage, V\n",
+ "RE=100; #Emitter resistor, k\u03a9\n",
+ "RC1=120; #Collector resistor of 1st transistor, k\u03a9\n",
+ "RC2=120; #Collector resistor of 2nd transistor, k\u03a9\n",
+ "beta=220; #Base amplification factor\n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "\n",
+ "\n",
+ "#Calcualtion\n",
+ "IE=((VEE-VBE)/RE)*1000; #Tail current, \u03bcA\n",
+ "IE1=IE/2.0; #Emitter current of 1st transistor, \u03bcA\n",
+ "IE2=IE1; #Emitter current of 2nd transistor, \u03bcA\n",
+ "re=(25/IE1)*1000; #a.c emitter resistance, \u03a9\n",
+ "Zin=2*beta*re/1000; #Input impedance, k\u03a9\n",
+ "A_DM=RC1*1000/(2.0*re); #Differential voltage gain,\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The input impedance=%dk\u03a9.\"%Zin);\n",
+ "print(\"(ii) The differential voltage gain=%.0f.\"%A_DM);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The input impedance=194k\u03a9.\n",
+ "(ii) The differential voltage gain=136.\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.16: Page number 683-684\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=12; #Collector supply voltage, V\n",
+ "VEE=12; #Emitter supply voltage, V\n",
+ "RE=200; #Emitter resistor, k\u03a9\n",
+ "RC=100; #Collector resistor, k\u03a9\n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "IE=round((VEE-VBE)/RE,4); #Tail current, mA\n",
+ "IE1=round(IE/2,4); #Emitter current of 1st transistor, mA\n",
+ "IE2=IE1; #Emitter current of 2nd transistor, mA\n",
+ "re=round(25/IE1,1); #a.c emitter resistance, \u03a9\n",
+ "A_DM=RC*1000/(2*re); #Differential voltage gain,\n",
+ "\n",
+ "#Result\n",
+ "print(\"Differential voltage gain=%.1f.\"%A_DM);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Differential voltage gain=56.6.\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.17 : Page number 685-686\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import log10\n",
+ "\n",
+ "#Variable declaration\n",
+ "v1=0.5; #Voltage in terminal 1, mV\n",
+ "v2=-0.5; #Voltage in terminal 2, mV\n",
+ "vo=8.0; #Output voltage, V\n",
+ "vo_cm=12.0; #Common mode output, mV\n",
+ "\n",
+ "#Calculation\n",
+ "vin=v1-v2; #Differential input, mV\n",
+ "A_DM=vo/(vin/1000.0); #Differential mode gain,\n",
+ "vin_cm=1; #Common mode input, mV\n",
+ "A_CM=vo_cm/vin_cm; #Common mode gain\n",
+ "CMRR=A_DM/A_CM; #Common mode rejection ratio\n",
+ "CMRR_dB=20*log10(CMRR); #Common mode rejection ratio in dB\n",
+ "\n",
+ "#Result\n",
+ "print(\"Common mode rejection ratio=%.1f.\"%CMRR)\n",
+ "print(\"Common mode rejection ratio in decibel=%.2fdB\"%CMRR_dB);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Common mode rejection ratio=666.7.\n",
+ "Common mode rejection ratio in decibel=56.48dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.18 : Page number 686\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "A_DM=200000; #Differential mode gain\n",
+ "CMRR_dB=90; #Common mode rejection ratio, dB\n",
+ "\n",
+ "#Calculation\n",
+ "CMRR=10**(CMRR_dB/20.0); #Common mode rejection ratio\n",
+ "A_CM=A_DM/CMRR; #Common mode gain\n",
+ "\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"Common mode voltage gain=%.2f.\"%A_CM);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Common mode voltage gain=6.32.\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.19 : Page number 686\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import log10\n",
+ "\n",
+ "#Variable declaration\n",
+ "vin_cm=3.2; #Common input voltage, V\n",
+ "vout=26; #Output voltage, V\n",
+ "A_DM=100; #Open-circuit voltage gain\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "A_CM=vout*10**-3/vin_cm; #Common mode gain\n",
+ "\n",
+ "#(ii)\n",
+ "CMRR_dB=20*log10(A_DM/A_CM); #Common mode rejection ratio, dB\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The Common mode gain=%.4f\"%A_CM);\n",
+ "print(\"(ii) The common mode rejection ratio=%.1fdB.\"%CMRR_dB);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The Common mode gain=0.0081\n",
+ "(ii) The common mode rejection ratio=81.8dB.\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.20 : Page number 686-687\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import log10\n",
+ "from math import floor\n",
+ "\n",
+ "#Variable declaration\n",
+ "VCC=12; #Collector supply voltage, V\n",
+ "VEE=12; #Emitter supply voltage, V\n",
+ "RE=200.0; #Emitter resistor, k\u03a9\n",
+ "RC=100.0; #Collector resistor, k\u03a9\n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "A_CM=round(RC/(2*RE),2); #Common mode voltage gain\n",
+ "\n",
+ "#(ii)\n",
+ "IE=round((VEE-VBE)/RE,4); #Tail current, mA\n",
+ "IE1=round(IE/2,4); #Emitter current of 1st transistor, mA\n",
+ "IE2=IE1; #Emitter current of 2nd transistor, mA\n",
+ "re=round(25/IE1,1); #a.c emitter resistance, \u03a9\n",
+ "A_DM=RC*1000/(2*re); #Differential voltage gain,\n",
+ "CMRR_dB=floor(20*log10(A_DM/A_CM)*100)/100; #Common mode rejection ratio, dB\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) Common mode gain=%.2f\"%A_CM);\n",
+ "print(\"(ii)Common mode rejection ratio=%.2fdB\"%CMRR_dB);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) Common mode gain=0.25\n",
+ "(ii)Common mode rejection ratio=47.09dB\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.21 : Page number 691\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import log10\n",
+ "\n",
+ "#Variable declaration\n",
+ "ACL=500; #closed loop gain\n",
+ "f_unity=15; #frequency with cloased-loop unity gain, MHz\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "f2=f_unity*1000/500 #Upper frequency of bandwidth,kHz\n",
+ "BW=f2-0; #Bandwidth, kHz\n",
+ "A_CL=f_unity*1000/200; #Maximum value of A_CL when f2=200kHz\n",
+ "A_CL_dB=20*log10(A_CL); #Maximum value of A_CL in decibel\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"f2=%dkHz\"%f2);\n",
+ "print(\"ACL=%d or %.1fdB.\"%(A_CL,A_CL_dB));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "f2=30kHz\n",
+ "ACL=75 or 37.5dB.\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.22 : Page number 691-692\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Variable declaration\n",
+ "GBW=1.5; #Gain-bandwidth, MHz\n",
+ "\n",
+ "#Calculation\n",
+ "#(i) For A_CL=1;\n",
+ "A_CL=1; #Closed loop gain\n",
+ "BW=GBW/A_CL; #Bandwidth, MHz\n",
+ "\n",
+ "print(\"(i) Operating Bandwidth=%.1fMHz.\"%BW);\n",
+ "\n",
+ "#(ii) For A_CL=10;\n",
+ "A_CL=10; #Closed loop gain\n",
+ "BW=(GBW/A_CL)*1000; #Bandwidth, kHz\n",
+ "\n",
+ "print(\"(ii) Operating Bandwidth=%dkHz.\"%BW);\n",
+ "\n",
+ "#(iii) For A_CL=100;\n",
+ "A_CL=100; #Closed loop gain\n",
+ "BW=(GBW/A_CL)*1000; #Bandwidth, kHz\n",
+ "\n",
+ "print(\"(iii) Operating Bandwidth=%dkHz.\"%BW);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) Operating Bandwidth=1.5MHz.\n",
+ "(ii) Operating Bandwidth=150kHz.\n",
+ "(iii) Operating Bandwidth=15kHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.23 : Page number 692\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import pi\n",
+ "\n",
+ "#Variable declaration\n",
+ "slew_rate=0.5; #Slew rate, V/\u03bcs\n",
+ "V_supply=10; #Supply voltage, V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "V_sat=V_supply-2; #Saturation voltage, V\n",
+ "V_pk=V_sat; #Maximum peak-output voltage, V\n",
+ "f_max=((slew_rate*10**6)/(2*pi*V_pk))/1000; #Maximum operating frequency, kHz\n",
+ "\n",
+ "#Result\n",
+ "print(\"Maximum operating frequency=%.2fkHz.\"%f_max);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum operating frequency=9.95kHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.24 : Page number 692\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import pi\n",
+ "\n",
+ "#Variable declaration\n",
+ "slew_rate=0.5; #Slew rate, V/\u03bcs\n",
+ "V_pk=100.0; #Peak-output voltage, mV\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "V_pk=V_pk/1000.0; #Peak-output voltage, V\n",
+ "f_max=(slew_rate*10**6/(2*pi*V_pk))/1000.0; #Maximum operating frequency, kHz\n",
+ "\n",
+ "#Result\n",
+ "print(\"Maximum operating frequency=%.0fkHz\"%f_max);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum operating frequency=796kHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.25 : Page number 695-696\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "A_CL=-100; #Closed-loop voltage gain\n",
+ "Ri=2.2; #Input resistor, k\u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, A_CL=-(Rf/Ri)\n",
+ "Rf=-A_CL*Ri; #Feedback resistor, k\u03a9\n",
+ "\n",
+ "#Result\n",
+ "print(\"Feedback resistor=%dk\u03a9\"%Rf);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Feedback resistor=220k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.26 : Page number 696\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "vin=2.5; #Input voltage, mV\n",
+ "Rf=200; #Feedback resistor, k\u03a9\n",
+ "Ri=2; #Input resistor, k\u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "A_CL=-(Rf/Ri); #Closed-loop voltage gain\n",
+ "vout=A_CL*vin/1000; #Output voltage,V\n",
+ "\n",
+ "#Result\n",
+ "print(\"Output voltage=%.2fV\"%vout);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output voltage=-0.25V\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.27 : Page number 696\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Varaiable declaration\n",
+ "Rf=1.0; #Feedback resistor, k\u03a9\n",
+ "Ri=1.0; #Input resistor, k\u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "A_CL=-(Rf/Ri); #Closed-loop voltage gain\n",
+ "\n",
+ "#Result\n",
+ "print(\"Closed-loop voltage gain=%d\"%A_CL);\n",
+ "print(\"Therefore, output will have same amplitude but 180\u00b0 phase inversion.\");\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Closed-loop voltage gain=-1\n",
+ "Therefore, output will have same amplitude but 180\u00b0 phase inversion.\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.28 : Page number 696-697\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Rf=40; #Feedback resistor, k\u03a9\n",
+ "Ri=1; #Input resistor, k\u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "A_CL=-(Rf/Ri); #Closed-loop voltage gain\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"Closed-loop voltage gain=%d\"%A_CL);\n",
+ "print(\"Supply voltage=\u00b115V, saturation voltage=\u00b113V. Since gain=-40, op-Amp will be driven to saturation.\");\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Closed-loop voltage gain=-40\n",
+ "Supply voltage=\u00b115V, saturation voltage=\u00b113V. Since gain=-40, op-Amp will be driven to saturation.\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.29 : Page number 697\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import pi\n",
+ "\n",
+ "#Variable declaration\n",
+ "Rf=100; #Feedback resistor, k\u03a9\n",
+ "Ri=10; #Input resistor, k\u03a9\n",
+ "Vpp=1; #Input peak-peak voltage, V\n",
+ "slew_rate=0.5; #Slew rate, V//\u03bcs\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "A_CL=-(Rf/Ri); #Closed-loop voltage gain\n",
+ "\n",
+ "#(ii)\n",
+ "Zi=Ri; #Input impedance(~ Input resistor), k\u03a9\n",
+ "\n",
+ "#(iii)\n",
+ "Vout=A_CL*Vpp; #Peak-to-peak voltage, V\n",
+ "Vpk=Vout/2; #Peak output voltage, V\n",
+ "f_max=(slew_rate*10**6/(2*pi*abs(Vpk)))/1000; #Maximum operating frequency, kHz\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) A_CL=%d.\"%A_CL);\n",
+ "print(\"(ii) Zi=%dk\u03a9\"%Zi);\n",
+ "print(\"(iii) Maximum operating frequency=%.1fkHz.\"%f_max);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) A_CL=-10.\n",
+ "(ii) Zi=10k\u03a9\n",
+ "(iii) Maximum operating frequency=15.9kHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.30 : Page number 697\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "A_CL=-4; #Closed loop voltage gain\n",
+ "R=[1.0,5.0,10.0,20.0]; #List of available resistors, k\u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "for i in R[:]:\n",
+ " for j in R[:]:\n",
+ " if -(i/j)==A_CL :\n",
+ " print(\"Rf=%dk\u03a9 and Ri=%dk\u03a9.\"%(i,j));\n",
+ " break;\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Rf=20k\u03a9 and Ri=5k\u03a9.\n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.31 : Page number 697-698\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Rf=100; #Feedback resistor, k\u03a9\n",
+ "Ri=1; #Input resistor, k\u03a9\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "R_source=0; #Source resistor, k\u03a9\n",
+ "A_CL=-Rf/(R_source+Ri); #Closed-loop voltage gain\n",
+ "\n",
+ "print(\"(i) Closed loop voltage gain=%d.\"%A_CL);\n",
+ "\n",
+ "#(ii)\n",
+ "R_source=1; #Source resistor, k\u03a9\n",
+ "A_CL=-Rf/(R_source+Ri); #Closed-loop voltage gain\n",
+ "\n",
+ "print(\"(ii) Closed loop voltage gain=%d.\"%A_CL);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) Closed loop voltage gain=-100.\n",
+ "(ii) Closed loop voltage gain=-50.\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.32 : Page number 699-700\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Rf=240; #Feedback resistor, k\u03a9\n",
+ "Ri=2.4; #Input resistor, k\u03a9\n",
+ "Vin=120; #Input voltage, \u03bcV\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "A_CL=1+(Rf/Ri); #Closed loop voltage gain\n",
+ "Vout=(A_CL*Vin)/1000; #Output voltage, mV\n",
+ "\n",
+ "#Result\n",
+ "print(\"Output voltage=%.2fmV\"%Vout);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output voltage=12.12mV\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.33 : Page number 700\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Rf=10; #Feedback resistor, k\u03a9\n",
+ "Ri=1; #Input resistor, k\u03a9\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "A_CL=1+(Rf/Ri); #Closed loop voltage gain\n",
+ "#(i)\n",
+ "Vin=1; #Input voltage, V\n",
+ "Vout=A_CL*Vin; #Output voltage, V\n",
+ "\n",
+ "print(\"(i) Output voltage=%dV\"%Vout);\n",
+ "\n",
+ "\n",
+ "#(ii)\n",
+ "Vin=-1; #Input voltage, V\n",
+ "Vout=A_CL*Vin; #Output voltage, V\n",
+ "\n",
+ "print(\"(ii) Output voltage=%dV\"%Vout);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) Output voltage=11V\n",
+ "(ii) Output voltage=-11V\n"
+ ]
+ }
+ ],
+ "prompt_number": 41
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.34 : Page number 700\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Rf=5; #Feedback resistor, k\u03a9\n",
+ "Ri=1; #Input resistor, k\u03a9\n",
+ "Vin_max=1; #Maximum input voltage, V\n",
+ "Vin_min=-1; #Minimum input voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "V_inpp=Vin_max-Vin_min; #Peak-peak input voltage, V\n",
+ "A_CL=1+(Rf/Ri); #Closed loop voltage gain\n",
+ "Vout_pp=A_CL*V_inpp; #Peak-peak output voltage, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"Peak to peak output voltage=%dV\"%Vout_pp);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Peak to peak output voltage=12V\n"
+ ]
+ }
+ ],
+ "prompt_number": 42
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.35 : Page number 700-701\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import pi\n",
+ "\n",
+ "#Variable declaration\n",
+ "Rf=100; #Feedback resistor, k\u03a9\n",
+ "Ri=10; #Input resistor, k\u03a9\n",
+ "Vpp=1; #Input peak-peak voltage, V\n",
+ "slew_rate=0.5; #Slew rate, V/\u03bcs\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "A_CL=1+(Rf/Ri); #Closed loop voltage gain\n",
+ "\n",
+ "#(ii)\n",
+ "Vout_pp=A_CL*Vpp; #Peak-peak output voltage, V\n",
+ "Vpk=Vout_pp/2.0; #Peak output voltage, V\n",
+ "f_max=((slew_rate*10**6)/(2*pi*Vpk))/1000.0; #Maximum operating frequency, kHz\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) Closed-loop voltage gain=%d\"%A_CL);\n",
+ "\n",
+ "print(\"(ii) Maximum operating frequency=%.2fkHz\"%f_max);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) Closed-loop voltage gain=11\n",
+ "(ii) Maximum operating frequency=14.47kHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 45
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.36 : Page number 701\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Rf=220; #Feedback resistor, k\u03a9\n",
+ "Ri=3.3; #Input resistor, k\u03a9\n",
+ "unity_gain_BW=3; #Unity gain bandwidth, MHz\n",
+ "\n",
+ "#Calculation\n",
+ "#(i) For non-inverting amplifier\n",
+ "A_CL=1+(Rf/Ri); #Closed loop voltage gain\n",
+ "BW=unity_gain_BW*1000.0/A_CL; #Bandwidth, kHz\n",
+ "\n",
+ "print(\"(i) Bandwidth=%.1fkHz.\"%BW);\n",
+ "\n",
+ "#(ii) For inverting amplifier\n",
+ "Rf=47; #Feedback resistor, k\u03a9\n",
+ "Ri=1; #Input resistor, k\u03a9\n",
+ "A_CL=-(Rf/Ri); #Closed loop voltage gain\n",
+ "BW=unity_gain_BW*1000.0/abs(A_CL); #Bandwidth, kHz\n",
+ "\n",
+ "print(\"(ii) Bandwidth=%.1fkHz.\"%BW);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) Bandwidth=44.3kHz.\n",
+ "(ii) Bandwidth=63.8kHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 47
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.37 : Page number 701-702\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import pi\n",
+ "\n",
+ "#(i)\n",
+ "A_CL=1; #Closed loop voltage gain for voltage follower\n",
+ "print(\"(i) For voltage follower A_CL=1.\");\n",
+ "\n",
+ "\n",
+ "#(ii)\n",
+ "slew_rate=0.5; #Slew rate, V/\u03bcs\n",
+ "V_inpp=6; #peak-peak input voltage, V\n",
+ "Vout=A_CL*V_inpp; #Peak-peak output voltage, V\n",
+ "Vpk=Vout/2; #Peak output voltage, V\n",
+ "\n",
+ "f_max=(slew_rate*10**6/(2*pi*Vpk))/1000; #Maximum operating frequency, kHz\n",
+ "\n",
+ "#Result\n",
+ "print(\"(ii) The maximum output frequency=%.2fkHz.\"%f_max);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) For voltage follower A_CL=1.\n",
+ "(ii) The maximum output frequency=26.53kHz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 48
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.38 : Page number 702\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Rf=470.0; #Feedback resistor, k\u03a9\n",
+ "R1=4.3; #Input resistor of 1st op-Amp, k\u03a9\n",
+ "R2=33.0; #Input resistor of 2nd op-Amp, k\u03a9\n",
+ "R3=33.0; #Input resistor of 3rd op-Amp, k\u03a9\n",
+ "Vin=80.0; #Input voltage, \u03bcV.\n",
+ "\n",
+ "#Calculation\n",
+ "A1=1+Rf/R1; #Gain of first op-Amp\n",
+ "A2=-round(Rf/R2,1); #Gain of second op-Amp\n",
+ "A3=-round(Rf/R3,1); #Gain of third op-Amp\n",
+ "A=A1*A2*A3; #Overall gain\n",
+ "Vout=A*Vin*10**-6; #Output voltage, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"Output voltage=%.2fV\"%Vout);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output voltage=1.78V\n"
+ ]
+ }
+ ],
+ "prompt_number": 50
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.39 : Page number 702-703\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "A1=10; #Voltage gain of 1st op-Amp\n",
+ "A2=-18; #Voltage gain of 2nd op-Amp\n",
+ "A3=-27; #Voltage gain of 3rd op-Amp\n",
+ "Rf=270; #Feedback resistor, k\u03a9\n",
+ "Vin=150; #Input voltage, \u03bcV \n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "R1=Rf/(A1-1); #Input resistor of 1st op-Amp, k\u03a9\n",
+ "R2=-Rf/A2; #Input resistr of 2nd op-Amp, k\u03a9\n",
+ "R3=-Rf/A3; #Input resistor of 3rd op-Amp, k\u03a9\n",
+ "\n",
+ "A=A1*A2*A3; #overall gain,\n",
+ "Vout=Vin*10**-6*A; #Output voltage, V\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"R1=%dk\u03a9, R2=%dk\u03a9 and R3=%dk\u03a9.\"%(R1,R2,R3));\n",
+ "print(\"Output voltage=%.3fV.\"%Vout);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "R1=30k\u03a9, R2=15k\u03a9 and R3=10k\u03a9.\n",
+ "Output voltage=0.729V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 51
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.40 : Page number 703-704\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Rf=500; #Feedback resistor, k\u03a9\n",
+ "A1=-10; #Gain of 1st op-Amp\n",
+ "A2=-20; #Gain of 2nd op-Amp\n",
+ "A3=-50; #Gain of 3rd op-Amp\n",
+ "\n",
+ "#Calculation\n",
+ "R1=-Rf/A1; #Input resistor of 1st op-Amp, k\u03a9\n",
+ "R2=-Rf/A2; #Input resistor of 2nd op-Amp, k\u03a9\n",
+ "R3=-Rf/A3; #Input resistor of 3rd op-Amp, k\u03a9\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"R1=%dk\u03a9, R2=%dk\u03a9 and R3=%dk\u03a9.\"%(R1,R2,R3));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "R1=50k\u03a9, R2=25k\u03a9 and R3=10k\u03a9.\n"
+ ]
+ }
+ ],
+ "prompt_number": 52
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.41 : Page number 705\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Zin=2.0; #Input impedance of op-Amp, M\u03a9\n",
+ "Zout=75.0; #Output impedance of op-Amp, \u03a9\n",
+ "A_OL=200000.0; #Open-loop voltage gain\n",
+ "Rf=220.0; #Feedback resistor, k\u03a9\n",
+ "Ri=10.0; #Input resistor, k\u03a9\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "mv=round(Ri/(Ri+Rf),3); #Feedback fraction\n",
+ "Zin_NI=Zin*(1+(A_OL*mv)); #Input impedance, M\u03a9\n",
+ "Zout_NI=Zout/(1+A_OL*mv); #Output impedance, \u03a9\n",
+ "\n",
+ "#(ii)\n",
+ "A_CL=1+Rf/Ri; #Closed loop voltage gain\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The input impedance=%dM\u03a9 and output impedance=%.1e\u03a9.\"%(Zin_NI,Zout_NI));\n",
+ "print(\"(ii) The closed loop voltage gain=%d.\"%A_CL);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The input impedance=17202M\u03a9 and output impedance=8.7e-03\u03a9.\n",
+ "(ii) The closed loop voltage gain=23.\n"
+ ]
+ }
+ ],
+ "prompt_number": 54
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.42 : Page number 705-706\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "#For voltage follower,\n",
+ "mv=1.0; #Feedback fraction\n",
+ "A_OL=200000.0; #Open-loop voltage gain\n",
+ "Zin=2.0; #Input impedance of op-Amp, M\u03a9\n",
+ "Zout=75.0; #Output impedance of op-Amp, \u03a9\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "Zin_VF=Zin*(1+(A_OL*mv)); #Input impedance, M\u03a9\n",
+ "Zout_VF=round(round(Zout/(1+A_OL*mv),6),5); #Output impedance, \u03a9\n",
+ "\n",
+ "#Result\n",
+ "print(\"The input impedance=%dM\u03a9 and output impedance=%.2fe-03\u03a9.\"%(Zin_VF,Zout_VF*1000));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The input impedance=400002M\u03a9 and output impedance=0.38e-03\u03a9.\n"
+ ]
+ }
+ ],
+ "prompt_number": 63
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.43 : Page number 706\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Rf=100; #Feedback resistor, k\u03a9\n",
+ "Ri=1.0; #Input resistor, k\u03a9\n",
+ "Zin=4; #Input impedance of op-Amp, M\u03a9\n",
+ "Zout=50; #Output impedance of op-Amp, \u03a9\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "Zin_I=Ri; #Input impedance, k\u03a9\n",
+ "Zout_I=Zout; #Output impedance, \u03a9\n",
+ "A_CL=-(Rf/Ri); #Closed loop voltage gain\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"The input impedance=%dk\u03a9 and output impedance=%d\u03a9.\"%(Zin_I,Zout_I));\n",
+ "print(\"Closed-loop voltage gain=%d\"%A_CL);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The input impedance=1k\u03a9 and output impedance=50\u03a9.\n",
+ "Closed-loop voltage gain=-100\n"
+ ]
+ }
+ ],
+ "prompt_number": 65
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.44 : Page number 709\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Rf=10; #Feedback resistor, k\u03a9\n",
+ "Ri=10; #Input resistor, k\u03a9\n",
+ "V1=3; #Input voltage 1st, V\n",
+ "V2=1; #Input voltage 2nd, V\n",
+ "V3=8; #Input voltage 3rd, V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, Rf=Ri, Vout=-(Rf/Ri)*(V1+V2+V3)= -(V1+V2+V3);\n",
+ "Vout=-(V1+V2+V3); #Output voltage, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"Output voltage=%dV.\"%Vout);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output voltage=-12V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 66
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.45 : Page number 709\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Rf=10; #Feedback resistor, k\u03a9\n",
+ "R1=1; #Input resistor for input 1, k\u03a9\n",
+ "R2=1; #Input resistor for input 2, k\u03a9\n",
+ "V1=0.2; #Input voltage 1st, V\n",
+ "V2=0.5; #Input voltage 2nd, V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "R=R1; #Input resistor(=R1 or R2), k\u03a9\n",
+ "Vout=-(Rf/R)*(V1+V2); #Output voltage, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"Output voltage=%dV.\"%Vout);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output voltage=-7V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 67
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.46 : Page number 709-710\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Rf=1; #Feedback resistor, k\u03a9\n",
+ "Ri=10.0; #Input resistor, k\u03a9\n",
+ "V1=10; #Input voltage 1st, V\n",
+ "V2=8.0; #Input voltage 2nd, V\n",
+ "V3=7.0; #Input voltage 3rd, V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, Vout=-(Rf/Ri)*(V1+V2+V3);\n",
+ "Vout=-(Rf/Ri)*(V1+V2+V3); #Output voltage, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"Output voltage=%.1fV.\"%Vout);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output voltage=-2.5V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 70
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.47 : Page number 710\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V1=0.6; #Input voltage to 1st input resistor, V\n",
+ "V2=-1.4; #Input voltage to 2nd input resistor, V\n",
+ "Rf=200; #Feedback resistor, k\u03a9\n",
+ "R1=400; #Input resistor 1, k\u03a9\n",
+ "R2=100.0; #Input resistor 2, k\u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "Vout=-Rf*(V1/R1 +V2/R2); #Output voltage, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"Output voltage=%.1fV\"%Vout);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output voltage=2.5V\n"
+ ]
+ }
+ ],
+ "prompt_number": 71
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.48 : Page number 710-711\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Rf=1.0; #Feedback resistor, k\u03a9\n",
+ "R1=1.0; #Input resistor 1, k\u03a9\n",
+ "R2=2.0; #Input resistor 2, k\u03a9\n",
+ "R3=4.0; #Input resistor 3, k\u03a9\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "Rf_R1=Rf/R1; #Ratio of feedback resistor and 1st input resistor\n",
+ "Rf_R2=Rf/R2; #Ratio of feedback resistor and 2nd input resistor\n",
+ "Rf_R3=Rf/R3; #Ratio of feedback resistor and 3rd input resistor\n",
+ "\n",
+ "#(i) First input combination\n",
+ "V1=10; #Input voltage to 1st input resistor, V\n",
+ "V2=0; #Input voltage to 2nd input resistor, V\n",
+ "V3=10; #Input voltage to 3rd input resistor, V\n",
+ "Vout=-(V1*Rf_R1 +V2*Rf_R2 +V3*Rf_R3); #Output voltage, V\n",
+ "print(\"(i) The output voltage=%.1fV\"%Vout);\n",
+ "\n",
+ "#(i) First input combination\n",
+ "V1=0; #Input voltage to 1st input resistor, V\n",
+ "V2=10; #Input voltage to 2nd input resistor, V\n",
+ "V3=10; #Input voltage to 3rd input resistor, V\n",
+ "Vout=-(V1*Rf_R1 +V2*Rf_R2 +V3*Rf_R3); #Output voltage, V\n",
+ "print(\"(ii) The output voltage=%.1fV\"%Vout);\n",
+ "\n",
+ "\n",
+ "#(i) First input combination\n",
+ "V1=10; #Input voltage to 1st input resistor, V\n",
+ "V2=10; #Input voltage to 2nd input resistor, V\n",
+ "V3=10; #Input voltage to 3rd input resistor, V\n",
+ "Vout=-(V1*Rf_R1 +V2*Rf_R2 +V3*Rf_R3); #Output voltage, V\n",
+ "print(\"(iii) The output voltage=%.1fV\"%Vout);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The output voltage=-12.5V\n",
+ "(ii) The output voltage=-7.5V\n",
+ "(iii) The output voltage=-17.5V\n"
+ ]
+ }
+ ],
+ "prompt_number": 72
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.49 : Page number 711\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Rf=330; #Feedback resistor, k\u03a9\n",
+ "R1=33.0; #Input resistor 1, k\u03a9\n",
+ "R2=10.0; #Input resistor 2, k\u03a9\n",
+ "V1_m=50; #Peak voltage of 1st input, mV\n",
+ "V2_m=10; #Peak voltage of 2nd input, mV\n",
+ "\n",
+ "#Calculation\n",
+ "#Since, Vout=-((Rf/R1)*V1 + (Rf/R2)*V2)\n",
+ "print(\"Vout=-[%.1fsin(1000t)+%.2fsin(3000t)]V\"%((V1_m/1000.0)*(Rf/R1),(V2_m/1000.0)*(Rf/R2)));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vout=-[0.5sin(1000t)+0.33sin(3000t)]V\n"
+ ]
+ }
+ ],
+ "prompt_number": 74
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.50 : Page number 715\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "R=100; #Input resistor, k\u03a9\n",
+ "C=10; #Feedback capacitor, \u03bcF\n",
+ "\n",
+ "#Calculation\n",
+ "RC=R*10**3*C*10**-6; #product of input resistance and feedback capacitance, s\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vo=-1*(1/RC)\u222bvi dt.\");\n",
+ "print(\"=>Vo=-1*(1/%d)\u222bvi dt\"%RC);\n",
+ "print(\"=>Vo=\u222bvi dt\");\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vo=-1*(1/RC)\u222bvi dt.\n",
+ "=>Vo=-1*(1/1)\u222bvi dt\n",
+ "=>Vo=\u222bvi dt\n"
+ ]
+ }
+ ],
+ "prompt_number": 75
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.51 : Page number 715-716\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import pi\n",
+ "\n",
+ "#Variable declaration\n",
+ "Rf=100; #Feedback resistor, k\u03a9\n",
+ "C=0.01; #Feedback capacitor, \u03bcF\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "fc=1/(2*pi*Rf*1000*C*10**-6); #Crictical frequency, Hz\n",
+ "\n",
+ "#Result\n",
+ "print(\"The critical frequency=%dHz.\"%fc);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The critical frequency=159Hz.\n"
+ ]
+ }
+ ],
+ "prompt_number": 76
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.52 : Page number 716\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Variable declaration\n",
+ "R=10.0; #Input resistor, k\u03a9\n",
+ "C=0.01; #Feedback capacitor, \u03bcF\n",
+ "vin=5; #Input voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "Vout_change_rate=-vin/(R*C); #Rate of change of output voltage, V/\u03bcs \n",
+ "print(\"(i) Vout=-1*(1/RC)\u222bvi dt.\");\n",
+ "print(\" \u0394Vout/dt = -vin/RC = %dmV/\u03bcs.\"%Vout_change_rate);\n",
+ "\n",
+ "#(ii) Plotting the output waveform\n",
+ "vin_plot=[]; #Plotting variable for input waveform, V\n",
+ "dt=100; #time between edges, \u03bcs\n",
+ "for i in range(0,3*dt+1):\n",
+ " if i<dt or i>2*dt :\n",
+ " vin_plot.append(0);\n",
+ " else:\n",
+ " vin_plot.append(5); \n",
+ "p=plot(vin_plot);\n",
+ "limit = plt.gca()\n",
+ "limit.set_xlim([0,300])\n",
+ "limit.set_ylim([-5,10])\n",
+ "xlabel(\"t(microsecond)\");\n",
+ "ylabel(\"Vin(V)\");\n",
+ "title(\"Input waveform\");\n",
+ "show(p);\n",
+ "\n",
+ " \n",
+ "vout_plot=[]; #Plotting variable for output waveform, V\n",
+ "t=[i for i in range(0,301)]; #Time scale, \u03bcs\n",
+ "for i in t[:] :\n",
+ " if i<dt:\n",
+ " vout_plot.append(0);\n",
+ " elif i>2*dt:\n",
+ " vout_plot.append((Vout_change_rate/1000.0)*dt);\n",
+ " else :\n",
+ " vout_plot.append((-vin_plot[i]/(R*C))/1000*(i-dt));\n",
+ "\n",
+ " \n",
+ "p=plot(vout_plot);\n",
+ "limit = plt.gca()\n",
+ "limit.set_xlim([0,300])\n",
+ "limit.set_ylim([-5,5]);\n",
+ "xlabel('t(microsecond)');\n",
+ "ylabel(\"Vout(V)\");\n",
+ "title(\"output waveform\");\n",
+ "show(p);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) Vout=-1*(1/RC)\u222bvi dt.\n",
+ " \u0394Vout/dt = -vin/RC = -50mV/\u03bcs.\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nSGNftWoAAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7fdd1397e4d0>"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAEZCAYAAACTsIJzAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHyNJREFUeJzt3XtUlHXix/HPoFQqpHhDEfOKCqKAlkqagoprm5ot2opp\nZprHOnXK7XSx9pwo1yitzNzs13q8dNHwpJZpapoKWmmWlzbT1bzgokAXxAumcvv+/vDn/HpUCBiY\nZ2Z4v87xHGbm2ef5fudp580zzzCPwxhjBADA//GzewAAAM9CGAAAFoQBAGBBGAAAFoQBAGBBGAAA\nFoQB8GDjx49Xw4YN1atXL7uHghqEMMBr+Pn56ciRIx67vqq2detWff7558rKytL27dvtHg5qEMIA\nr1LVf4/pyX/feezYMbVu3Vo33HBDhf+3RUVF1TAi1BSEAW61f/9+xcXFKSgoSJGRkVq1apXzsbi4\nOM2fP995e9GiRbrtttskSX379pUkRUVFKTAwUB9++KHS0tIUGhqqlJQUNWnSRG3atNGSJUsqvb4r\ntWrVSrt27ZIkLV68WH5+ftq/f78kaf78+brrrrskSTt27FBsbKyCgoIUEhKiRx55RIWFhZKkBx98\nUE888YRlvXfeeadmzZolScrKylJiYqKaNm2qtm3bas6cOc71P/DAA9q2bZsCAwP1/PPPS5LmzZun\nsLAwNWrUSHfeeaeys7Od6/Xz89PcuXMVFhamjh07Kj09XaGhoZo5c6aCg4MVEhKilStXas2aNerY\nsaMaNWqklJSU8uw21DQGcJOCggLTrl07k5KSYgoLC82mTZtMYGCgOXjwoDHGmLi4ODN//nzn8gsX\nLjR9+vRx3nY4HObw4cPO25s3bza1a9c2jz/+uCkoKDDp6emmXr16lV7fle69917z6quvGmOMeeCB\nB0z79u3NW2+9ZYwxZuzYseb11183xhizc+dO8/XXX5vi4mKTkZFhwsPDnY9t2bLFtGzZ0rnOkydP\nmjp16pjs7GxTXFxsunXrZqZNm2YKCwvNkSNHTNu2bc1nn31mjDFm0aJFlvFu3LjRNG7c2Ozevdtc\nvHjRPPLII6Zv376W+QwaNMjk5eWZCxcuOJ+fadOmmaKiIjNv3jzTuHFjc88995j8/Hzzww8/mDp1\n6piMjIyydxxqHI4Y4Dbbt2/XuXPn9PTTT6t27dqKj4/XkCFDLL/lV8a0adPk7++vvn376o477tDS\npUurZLz9+vVTenq6JOmLL77Q1KlTnbe3bNmifv36SZK6deumHj16yM/PT61atdKkSZOcy/Xp00cO\nh0Nbt26VJC1btky33nqrmjVrpm+++Ua//vqr/v73v6t27dpq06aNJk6cqNTUVElXv821ePFiTZgw\nQdHR0bruuuuUkpKibdu26b///a9zmalTp6pBgwa6/vrrJUn+/v569tlnVatWLf31r39Vbm6uHn30\nUdWrV08RERGKiIjQnj17quT5gu8gDHCbrKwstWzZ0nJfq1atlJWVVel1BgUFqU6dOpb1/f7tFVf0\n7dtXW7duVU5OjoqLizVy5Eh9+eWXOnbsmE6fPq3o6GhJ0sGDBzVkyBA1b95c9evX17PPPqvc3FxJ\nksPh0KhRo/TBBx9IkpYsWaJ77rlH0qVzCFlZWQoKCnL+S0lJ0c8//3zN8WRnZ6tVq1bO2/Xq1VOj\nRo104sQJ531XPr+NGjWSw+GQJOfzFBwc7Hy8Tp06OnfunEvPE3wPYYDbhISEKDMz0/Kb8LFjx9Si\nRQtJl17ofv8ilZOT84frzMvL02+//WZZX0hISKXX93vt27dX3bp1NWfOHPXr10+BgYFq1qyZ/vWv\nfznPVUiXziNERETo0KFDOn36tKZPn66SkhLn40lJSVq2bJmOHTumHTt2KDExUZJ00003qU2bNsrL\ny3P+O3PmjFavXn3N8YSEhCgjI8N5+9y5c8rNzXU+f5KcEQBcQRjgNr169VLdunU1Y8YMFRYWKi0t\nTatXr9aoUaMkSdHR0VqxYoXOnz+vQ4cOWU4cS5d+0z18+PBV633uuedUWFiorVu36tNPP9XIkSNd\nWt/v9evXT//85z+dbxvFxcVZbktSfn6+AgMDVbduXf3nP//RW2+9ZVlHdHS0GjdurIkTJ2rw4MG6\n8cYbJUk9evRQYGCgZsyYofPnz6u4uFh79+7Vt99+e82xJCUlaeHChfruu+908eJFPfPMM+rVq5du\nuummMucAVBRhgNv4+/tr1apVWrt2rZo0aaKHH35Y7733njp06CBJmjJliq677joFBwdr/PjxGjNm\njOU34OTkZI0bN05BQUFatmyZJKlZs2bOTwONHTtWb7/9tkvru1K/fv2Un5/v/BTTlbcl6ZVXXtGS\nJUt04403atKkSRo1atRVv7mPHj1amzZt0ujRo533+fn5afXq1dqzZ4/atm2rJk2aaNKkSTpz5oyk\nS7/9/349AwYM0LRp05SYmKiQkBAdPXrUeT7i8vJXuvI+jihQHg5z5RkuwEukpaVp7NixyszMtHso\ngE/hiAEAYEEY4NV4awSoeryVBACw4IgBAGBR2+4BlIW3CQCgclx5M8jjjxiMMT7777nnnrN9DMyP\n+dW0udWE+bnK48MAAHAvwgAAsCAMNoqLi7N7CNWK+XkvX56b5Pvzc5VHf1zV4XBUyftlAFCTuPra\nyREDAMCCMAAALAgDAMCCMAAALAgDAMCCMAAALAgDAMCCMAAALAgDAMCCMAAALAgDAMCCMAAALGwP\nQ3FxsWJiYjR06FC7hwIAkAeEYfbs2YqIiOAyngDgIWwNw/Hjx7VmzRpNnDiRr9cGAA9haximTJmi\nmTNnys/P9gMXAMD/qW3XhlevXq2mTZsqJiZGaWlppS6XnJzs/DkuLo4rLwHAFdLS0sp8Ha0o267g\n9swzz+i9995T7dq1deHCBZ05c0aJiYl69913/39wXMENACrM1ddOj7i0Z3p6ul555RWtWrXKcj9h\nAICK85lLe/KpJADwDB5xxFAajhgAoOJ85ogBAOAZCAMAwIIwAAAsCAMAwIIwAAAsCAMAwIIwAAAs\nCAMAwIIwAAAsCAMAwIIwAAAsCAMAwIIwAAAsCAMAwIIwAAAsCAMAwIIwAAAsCAMAwIIwAAAsCAMA\nwIIwAAAsCAMAwIIwAAAsCAMAwIIwAAAsCAMAwIIwAAAsCAMAwIIwAAAsCAMAwIIwAAAsCAMAwIIw\nAAAsCAMAwIIwAAAsbA1DZmam4uPj1blzZ0VGRuqNN96wczgAAEkOY4yxa+M5OTnKyclRdHS08vPz\n1b17d3388ccKDw+/NDiHQzYODwC8kquvnbYeMTRr1kzR0dGSpICAAIWHhysrK8vOIQFAjecx5xgy\nMjK0e/du9ezZ0+6hAECN5hFhyM/P14gRIzR79mwFBATYPRwAqNFq2z2AwsJCJSYmasyYMRo+fPhV\njycnJzt/jouLU1xcnPsGBwBeIC0tTWlpaVW2PltPPhtjNG7cODVq1EizZs266nFOPgNAxbn62mlr\nGL744gv17dtXXbt2lcPhkCSlpKRo8ODBlwZHGACgwrw6DH+EMABAxXn1x1UBAJ6HMAAALAgDAMCC\nMAAALAgDAMCCMAAALAgDAMCCMAAALAgDAMCCMAAALAgDAMCCMAAALAgDAMCCMAAALAgDAMCCMAAA\nLAgDAMCCMAAALAgDAMCCMAAALAgDAMCCMAAALAgDAMCCMAAALGqXd8G8vDxlZWWpTp06at26tfz8\naAoA+KIyw3Dq1CnNnTtXH3zwgS5evKimTZvqwoULysnJUWxsrB566CHFx8e7a6wAADcoMwwjR47U\n2LFjtWXLFgUFBTnvN8Zo586dev/993X48GFNnDix2gcKAHAPhzHG2D2I0jgcDnnw8ADAI7n62lnm\niYKIiAj94x//0OHDhyu9AQCAdykzDEuWLFF+fr4GDRqkW265RbNmzVJWVpa7xgYAsEG530ravn27\nUlNTtWLFCrVr105JSUmaNGlS9Q6Ot5IAoMJcfe2s0DkGY4zS0tI0ZcoU7du3TwUFBZXecHkQBgCo\nOFdfO8v1dww7duxQamqqli1bpjZt2mjy5MkaMWJEpTcKAPBcZYbhmWee0dKlSxUUFKSkpCR99dVX\nCg0NddfYAAA2KDMMN9xwg9atW6ewsDB3jQcAYLMyP5UUHx9fZhROnz6t77//vsoHBQCwT5lhWL58\nuWJjY/XCCy/o008/1Y4dO5Senq758+dr7NixGjJkiM6fP1/pja9bt06dOnVSWFiYXn755UqvBwBQ\ndf7wU0m5ublavny5vvrqK2VnZ6tOnToKDw/XHXfcoT59+lR6w8XFxerYsaM+//xztWjRQrfccos+\n+OADhYeH///g+FQSAFRYtX8qqVGjRho4cOBVf7Nw5MiRSm9UuvRJp/bt26t169aSpFGjRmnlypWW\nMAAA3K9cH1cdMWKEdu3aZblv5MiR2rlzZ6U3fOLECbVs2dJ5OzQ0VF9//fVVy61aVelNwEZ+flJc\nnFSvnt0jAVBRZYZh//792rdvn06dOqUVK1bIGCOHw6EzZ87owoULLm3Y4XCUa7nHH092/tyoUZwa\nN45zabtwj19/lV56SVq7VgoIsHs0gG9LS0tTWlpala2vzDAcPHhQq1at0unTp7Xqd7+6BwYGat68\neS5tuEWLFsrMzHTezszMvObfSBw8mOzSdmCPkhJp8mTp9tuJA1Dd4uLiFBcX57z9/PPPu7S+cn0l\nxrZt2xQbG+vShq5UVFSkjh07auPGjQoJCVGPHj04+exjLsdh/37iALiTW74rafz48VdtVJIWLFhQ\n6Q1L0tq1a/XYY4+puLhYEyZM0NSpU6/aDmHwbsQBcD+3hGHZsmXOGJw/f14fffSRQkJCNGfOnEpv\nuFyDIww+gTgA7uXWb1e9rKSkRL1799a2bdsqveHyIAy+gzgA7lOtV3ArzcGDB/XLL79UeqOoefz8\npP/5Hyk8/NIJ6fx8u0cEoDTlOmIICAhwvpXkcDgUHBysl156SYmJidU7OI4YfA5HDkD1s+WtJHch\nDL6JOADVy21hWLlypbZs2SKHw6F+/fpp6NChld5oeREG30UcgOrjljA8/fTT+uabb3TPPffIGKPU\n1FTdfPPNSklJqfSGyzU4wuDTiANQPdwShi5dumjPnj2qVauWpEvfjBodHV3t12IgDL6POABVzy2f\nSnI4HDp16pTz9qlTp8r9XUdAWfi0EuB5yjxieOihhzR69GgdP35cTz31lOLj42WMUXp6ul566SWN\nGjWqegfHEUONwZEDUHWq9a2k119/XUuXLlVWVpYGDhyoVq1aKTo6Wj169FCzZs0qvdFyD44w1CjE\nAagabjnHkJGRodTUVKWmpur8+fMaPXq0kpKS1KFDh0pvuFyDIww1DnEAXOf2v2PYvXu3xo8fr++/\n/17FxcWV3nB5EIaaiTgArnHLyeeioiJ98sknGj16tAYPHqxOnTppxYoVld4oUBZOSAP2KvOIYf36\n9UpNTdWnn36qHj16KCkpScOGDVOAm36F44ihZuPIAaican0rqX///kpKSlJiYqIaNmxY6Y1UFmEA\ncQAqju9Kgs8jDkDF2PK124A7cc4BcC/CAK9AHAD3IQzwGsQBcA/CAK9CHIDqRxjgdYgDUL0IA7wS\ncQCqD2GA1yIOQPUgDPBqxAGoeoQBXo84AFWLMMAnEAeg6hAG+AziAFQNwgCfQhwA1xEG+BziALiG\nMMAnEQeg8ggDfBZxACqHMMCnEQeg4ggDfB5xACqGMKBGIA5A+REG1BjEASgf28LwxBNPKDw8XFFR\nUfrLX/6i06dP2zUU1CDEAfhjtoVh0KBB+uGHH/Tdd9+pQ4cOSklJsWsoqGGIA1A228KQkJAgP79L\nm+/Zs6eOHz9u11BQAxEHoHQecY5hwYIF+vOf/2z3MFDDEAfg2hzGGFNdK09ISFBOTs5V97/44osa\nOnSoJGn69OnatWuXli9ffvXgHA5V4/AASVJJiTR5srR/v7R2rRQQYPeIANe4+tpZuwrHcpUNGzaU\n+fiiRYu0Zs0abdy4sdRlkpOTnT/HxcUpLi6uikYHXHL5yGHy5EtHDsQB3iYtLU1paWlVtr5qPWIo\ny7p16/T4448rPT1djRs3vuYyHDHAnThygK9w9bXTtjCEhYWpoKBADRs2lCTFxsZq7ty51sERBrgZ\ncYAv8NowlAdhgB2IA7ydq6+dHvGpJMCT8Gkl1HSEAbgG4oCajDAApSAOqKkIA1AG4oCaiDAAf4A4\noKYhDEA5EAfUJIQBKCfigJqCMAAVQBxQExAGoIKIA3wdYQAqgTjAlxEGoJKIA3wVYQBcQBzgiwgD\n4CLiAF9DGIAqQBzgSwgDUEWIA3wFYQCqEHGALyAMQBUjDvB2hAGoBsQB3owwANWEOMBbEQagGhEH\neCPCAFQz4gBvQxgANyAO8CaEAXAT4gBvQRgANyIO8AaEAXAz4gBPRxgAGxAHeDLCANiEOMBTEQbA\nRsQBnogwADYjDvA0hAHwAMQBnoQwAB6COMBTEAbAgxAHeALCAHgY4gC7EQbAAxEH2IkwAB6KOMAu\nhAHwYMQBdrA1DK+++qr8/Px08uRJO4cBeDTiAHezLQyZmZnasGGDWrVqZdcQAK9BHOBOtoXhb3/7\nm2bMmGHX5gGvQxzgLraEYeXKlQoNDVXXrl3t2DzgtYgD3KF2da04ISFBOTk5V90/ffp0paSkaP36\n9c77jDGlric5Odn5c1xcnOLi4qpymIDXuRyHyZMvxWHtWikgwO5RwU5paWlKS0ursvU5TFmvytVg\n7969GjBggOrWrStJOn78uFq0aKEdO3aoadOm1sE5HGVGA6jJSkouxWH/fuIAK1dfO90ehiu1adNG\nO3fuVMOGDa96jDAAZSMOuBZXXztt/zsGh8Nh9xAAr8U5B1QH248YysIRA1A+HDng97z+iAGA6zhy\nQFUiDICPIA6oKoQB8CHEAVWBMAA+hjjAVYQB8EHEAa4gDICPIg6oLMIA+DDigMogDICPIw6oKMIA\n1ADEARVBGIAagjigvAgDUIMQB5QHYQBqGOKAP0IYgBqIOKAshAGooYgDSkMYbFSVl+LzRMzP85UW\nB1+YW1l8fX6uIgw28vX/OJmfd7hWHHxlbqXx9fm5ijAAuCoOBQV2jwh2qm33AAB4hstxmDxZ+te/\npO+/t3tE1efAAWnnTrtH4bk8/tKeAICKc+Wl3aOPGDy4WQDgszjHAACwIAwAAAuPDcO6devUqVMn\nhYWF6eWXX7Z7OC5r3bq1unbtqpiYGPXo0UOSdPLkSSUkJKhDhw4aNGiQTp06ZfMoy+/+++9XcHCw\nunTp4ryvrPmkpKQoLCxMnTp10vr16+0YcoVca37JyckKDQ1VTEyMYmJitHbtWudj3ja/zMxMxcfH\nq3PnzoqMjNQbb7whyTf2YWlz85X9d+HCBfXs2VPR0dGKjIxUcnKypCred8YDFRUVmXbt2pmjR4+a\ngoICExUVZfbt22f3sFzSunVrk5uba7nviSeeMC+//LIxxpiXXnrJPPXUU3YMrVK2bNlidu3aZSIj\nI533lTafH374wURFRZmCggJz9OhR065dO1NcXGzLuMvrWvNLTk42r7766lXLeuP8srOzze7du40x\nxpw9e9Z06NDB7Nu3zyf2YWlz86X9d+7cOWOMMYWFhaZnz55m+/btVbrvPPKIYceOHWrfvr1at24t\nf39/jRo1SitXrrR7WC4zV5xM/+STTzRu3DhJ0rhx4/Txxx/bMaxKue222xQUFGS5r7T5rFy5UklJ\nSfL391fr1q3Vvn177dixw+1jrohrzU+69gcivHF+zZo1U3R0tCQpICBA4eHhOnHihE/sw9LmJvnO\n/qtbt64kqaCgQIWFhXI4HFW67zwyDCdOnFDLli2dt0NDQ5071ls5HA4NHDhQN998s+bNmydJ+umn\nnxQcHCxJCg4O1k8//WTnEF1W2nyysrIUGhrqXM6b9+ecOXMUFRWlCRMmOA/VvX1+GRkZ2r17t3r2\n7Olz+/Dy3Hr16iXJd/ZfSUmJoqOjFRwcrEGDBqlHjx5Vuu88Mgy++PcLX375pXbv3q21a9fqzTff\n1NatWy2POxwOn5r3H83HG+f64IMP6ujRo9qzZ4+aN2+uxx9/vNRlvWV++fn5SkxM1OzZsxUYGGh5\nzNv3YX5+vkaMGKHZs2crICDAp/afn5+f9uzZo+PHj+vrr7/W3r17LY+7uu88MgwtWrRQZmam83Zm\nZqaleN6oefPmkqQmTZrorrvu0o4dOxQcHKycnBxJUnZ2tpo2bWrnEF1W2nyu3J/Hjx9XixYtbBmj\nK5o2ber8P9zEiROdh+PeOr/CwkIlJiZq7NixGj58uCTf2YeX5zZmzBjn3Hxt/0lS/fr1FR8fr88+\n+6xK951HhuHmm2/Wjz/+qIyMDBUUFGjp0qUaNmyY3cOqtN9++01nz56VJJ07d07r169Xly5dNGzY\nML3zzjuSpHfeecf5H7C3Km0+w4YNU2pqqgoKCnT06FH9+OOPzk9meZPs7Gznzx999JHzE0veOD9j\njCZMmKCIiAg99thjzvt9YR+WNjdf2X+//vqr822w8+fPa8OGDQoPD6/afVdtp81dtGbNGtOhQwfT\nrl078+KLL9o9HJccOXLEREVFmaioKNO5c2fnfHJzc82AAQNMWFiYSUhIMHl5eTaPtPxGjRplmjdv\nbvz9/U1oaKhZsGBBmfOZPn26adeunenYsaNZt26djSMvnyvnN3/+fDN27FjTpUsX07VrV3PnnXea\nnJwc5/LeNr+tW7cah8NhoqKiTHR0tImOjjZr1671iX14rbmtWbPGZ/bfv//9bxMTE2O6du1qIiMj\nzbRp04wxZb+eVHR+Hv1dSQAA9/PIt5IAAPYhDAAAC8IAALAgDAAAC8IAALAgDAAAC8IAALAgDPAK\np0+f1ltvveW8nZ2draFDh1ZoHc8995w2btxY1UOzxX333afly5dLkpKSknTo0CGbRwRfQhjgFfLy\n8jR37lzn7ddee02TJk2q0Dqef/55DRgwoFzLFhUVVWjd7vb7L0l78MEHNWPGDJtHBF9CGOAVnn76\naR0+fFgxMTF68skntWLFCg0ePFiStGjRIg0fPlyDBg1SmzZt9Oabb+q1115Tt27dFBsbq7y8PEnW\n37K/+eYb9e7dW9HR0erVq5fy8/O1aNEiDRs2TAMGDFBCQoLy8vI0fPhwRUVFKTY2Vt9//70kKT09\n3XkVsG7duuncuXOSpJkzZ6pHjx6KiopyXlVLkt59911FRUUpOjpa9957r6RLXwfdv39/RUVFaeDA\ngc4vObvvvvv06KOPqnfv3mrXrp1zvMYYPfzww+rUqZMSEhL0888/O68t0KdPH33++ecqKSmp5r2A\nGqNavswDqGIZGRnOq6kdPXrUdO/e3fnYwoULTfv27U1+fr755ZdfTP369c3bb79tjDFmypQp5vXX\nXzfGGHPfffeZ5cuXm4sXL5q2bduab7/91hhz6SpfRUVFZuHChSY0NNT5HTMPP/yweeGFF4wxxmza\ntMlER0cbY4wZOnSo+eqrr4wxl66kVVRUZD777DMzadIkY4wxxcXFZsiQIWbLli1m7969pkOHDs6r\n911e95AhQ8y7775rjDFmwYIFZvjw4cYYY8aNG2fuvvtuY4wx+/btM+3btzfGGLN8+XKTkJBgSkpK\nTFZWlmnQoIFZvny58zlISEgwO3furKJnGzUdRwzwCuZ3X+mVlZWlJk2aOG87HA7Fx8erXr16aty4\nserXr+88/9ClSxdlZGRY1nPgwAE1b95c3bt3l3TpKl+1atWSw+FQQkKCGjRoIOnSNTTGjh0rSYqP\nj1dubq7Onj2r3r17a8qUKZozZ47y8vJUq1YtrV+/XuvXr1dMTIy6d++uAwcO6NChQ9q8ebPuvvtu\nNWzYUJKc696+fbtGjx4tSRozZoy++OIL51wufytmeHi482IrW7Zs0ejRo+VwONS8eXP179/f8pw0\nbdpUWVlZVfRso6YjDPA6devW1YULFyz3XX/99c6f/fz8nLf9/PyuOl9Q1kVK6tWrZ7ltrviOSYfD\noaeeekrz58/X+fPn1bt3bx04cECSNHXqVO3evVu7d+/WwYMHNX78+Guuo7R1X3bdddddtYzD4Sh1\neenSBeIvX+4RcBVhgFcIDAx0XtMiLCzsqqOA0lzrhb1jx47Kzs7Wt99+K0k6e/asiouLr1r2tttu\n0+LFiyVJaWlpatKkiQICAnT48GF17txZTz75pG655RYdOHBAf/rTn7RgwQLn+YYTJ07ol19+Uf/+\n/fXhhx/q5MmTkuQ833HrrbcqNTVVkrR48WL17du3zPn37dtXS5cuVUlJibKzs7V582ZL4A4ePKjI\nyMgy1wGUV227BwCUR6NGjdS7d2916dJFt99+u9q3b6/Dhw+rXbt2V13G8MqfrzxC8Pf319KlS/XI\nI4/o/Pnzqlu3rjZs2HDVssnJybr//vsVFRWlevXqOS+CMnv2bG3evFl+fn6KjIzU7bffLn9/f+3f\nv1+xsbGSLoXs/fffV0REhJ599ln169dPtWrVUrdu3bRgwQLNmTNH48eP18yZM9W0aVMtXLiw1PFL\n0l133aVNmzYpIiJCN910k2699VbnMj/99JPq1Knj9VcAhOfgegzwSh9//LF27typadOm2T0U282a\nNUsNGjRwvnUFuIojBnil4cOHKzc31+5heISgoCDnSXKgKnDEAACw4OQzAMCCMAAALAgDAMCCMAAA\nLAgDAMDifwGSFOcKwPnWKgAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7fdd137a8390>"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.53 : Page number 716-717\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_supply=15; #Supply voltage, V\n",
+ "R=10; #Input resistor, k\u03a9\n",
+ "C=0.2; #Feedback capacitor, \u03bcF\n",
+ "vin=10; #Input voltage, mV\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "Vs=-V_supply+2; #Saturation voltage, V\n",
+ "print(\"Vout=-1*(1/RC)\u222bvi dt.\");\n",
+ "print(\"Vout=%d*t volts\"%(-vin/(R*C)));\n",
+ "t=Vs/(-vin/(R*C)); #Time required, seconds\n",
+ "print(\"Time required=%.1fseconds.\"%t);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vout=-1*(1/RC)\u222bvi dt.\n",
+ "Vout=-5*t volts\n",
+ "Time required=2.6seconds.\n"
+ ]
+ }
+ ],
+ "prompt_number": 78
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.54 : Page number 717-718\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "R=1; #Feedback resistor, k\u03a9\n",
+ "C=0.1; #Input capacitor, \u03bcF\n",
+ "Vin_change=5; #Change in input voltage, V\n",
+ "t=0.1; #Time taken for change in input voltage, ms\n",
+ "\n",
+ "#Calcualtion\n",
+ "dvi_dt=Vin_change/(t/1000); #Rate of change of input voltage, V/s\n",
+ "RC=R*1000*C*10**-6; #Product of feedback resistance and input capacitance, s\n",
+ "#Since, Vo=-R*C*(dvi/dt);\n",
+ "Vo=-RC*dvi_dt; #Output voltage, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vo=%dV.\"%Vo);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vo=-5V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 79
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.55 : Page number 718\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "R=10; #Feedback resistor, k\u03a9\n",
+ "C=2.2; #Input capacitor, \u03bcF\n",
+ "Vin_change=10; #Change in input voltage, V\n",
+ "t=0.4; #Time taken for change in input voltage, s\n",
+ "\n",
+ "#Calcualtin\n",
+ "dvi_dt=Vin_change/t; #Rate of change of input voltage, V/s\n",
+ "RC=R*1000*C*10**-6; #Product of feedback resistance and input capacitance, s\n",
+ "#Since, Vo=-R*C*(dvi/dt);\n",
+ "Vo=-RC*dvi_dt; #Output voltage, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vo=%.2fV.\"%Vo);\n",
+ "print(\"The output voltage stays constant at %.2fV.\"%Vo);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vo=-0.55V.\n",
+ "The output voltage stays constant at -0.55V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 80
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 25.56 : Page number 718-719\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "R=100; #Feedback resistor, k\u03a9\n",
+ "C=10; #Input capacitor, \u03bcF\n",
+ "Vin_change=1; #Change in input voltage, V\n",
+ "t=0.2; #Time taken for change in input voltage, s\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "RC=R*1000*C*10**-6; #Product of feedback resistor and input capacitance, s\n",
+ "#(i)\n",
+ "print(\"vo=-%d*(dvi/dt).\"%RC);\n",
+ "\n",
+ "#(ii)\n",
+ "dvi_dt=Vin_change/t; #Rate of change of input voltage, V\n",
+ "vo=-dvi_dt; #Output voltage, V\n",
+ "print(\"vo=%dV.\"%vo);\n",
+ "\n",
+ "print(\"Therefore, between 0 to 0.2s, the output voltage is constant at %dV.\"%vo);\n",
+ "print(\"For t>0.2s, the input is constant so that output voltage is zero.\");\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "vo=-1*(dvi/dt).\n",
+ "vo=-5V.\n",
+ "Therefore, between 0 to 0.2s, the output voltage is constant at -5V.\n",
+ "For t>0.2s, the input is constant so that output voltage is zero.\n"
+ ]
+ }
+ ],
+ "prompt_number": 82
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter26.ipynb b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter26.ipynb
new file mode 100644
index 00000000..670a61b0
--- /dev/null
+++ b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter26.ipynb
@@ -0,0 +1,472 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:a1845801144904256bc26f3ca2e0294eb55dcabb139a523d403624121bc6876a"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#CHAPTER 26 : DIGITAL ELECTRONICS"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 26.1 : Page 732"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "d=37; #Given decimal number\n",
+ "\n",
+ "#Calculation\n",
+ "b=int(bin(d)[2:]); #Equivalent Octal number \n",
+ "\n",
+ "#Result\n",
+ "print(\"The equivalent binary number=%s.\"%b);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The equivalent binary number=100101.\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 26.2 : Page number 733"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "d=23; #Given decimal number\n",
+ "\n",
+ "#Calculation\n",
+ "b=int(bin(d)[2:]); #Equivalent Octal number\n",
+ "\n",
+ "#Result\n",
+ "print(\"The equivalent binary number=%d.\"%b);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The equivalent binary number=10111.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 26.3 : Page number 733"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "b=0b110001; #Given binary number\n",
+ "\n",
+ "#Calculation\n",
+ "d=int(b); #Equivalent decimal number\n",
+ "\n",
+ "#Result\n",
+ "print(\"Equivalent decimal number=%d.\"%d);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Equivalent decimal number=49.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 26.4 : Page number 735"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "d1=76; #Given decimal number\n",
+ "d2=255; #Given decimal number\n",
+ "d3=372; #Given decimal number\n",
+ "\n",
+ "#Calculation\n",
+ "o1=int(oct(d1)[1:]); #Equivalent octal number\n",
+ "o2=int(oct(d2)[1:]); #Equivalent octal number\n",
+ "o3=int(oct(d3)[1:]); #Equivalent octal number\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) Equivalent octal number=%d.\"%o1);\n",
+ "print(\"(ii) Equivalent octal number=%d.\"%o2);\n",
+ "print(\"(iii) Equivalent octal number=%d.\"%o3);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) Equivalent octal number=114.\n",
+ "(ii) Equivalent octal number=377.\n",
+ "(iii) Equivalent octal number=564.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 26.5 : Page number 735"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "o=24.6; #Given octal number\n",
+ "\n",
+ "#Calculation\n",
+ "o_f=o%1; #Floating part of octal number\n",
+ "o_i=(int)(o-(o%1)); #Integer part of octal number\n",
+ "d=int(str(o_i),8); #Equivalent decimal number\n",
+ "\n",
+ "s=str(o_f); #String value of floating part \n",
+ "i=2\n",
+ "while(i<len(s)):\n",
+ " d=d+int(s[i])*8**-(i-1);\n",
+ " i+=1;\n",
+ "#Result\n",
+ "print(\"Equivalent decimal number=%.2f.\"%d);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Equivalent decimal number=20.75.\n"
+ ]
+ }
+ ],
+ "prompt_number": 64
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 26.6 : Page number 735"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "d=177; #Given decimal number\n",
+ "\n",
+ "#Calculation\n",
+ "o=oct(d)[1:]; #Equivalent octal number\n",
+ "\n",
+ "b=\"\";\n",
+ "for i in o:\n",
+ " bo=bin(int(i))[2:]; #Binary of individual octal digit\n",
+ " b=b+((\"0\" if len(bo)==2 else (\"00\" if len(bo)==1 else\"\")) +bo); #Equivalent binary number\n",
+ " \n",
+ "#Result\n",
+ "print(\"Equivalent octal number=%s.\"%o);\n",
+ "print(\"Equivalent binary number=%s.\"%b);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Equivalent octal number=261.\n",
+ "Equivalent binary number=010110001.\n"
+ ]
+ }
+ ],
+ "prompt_number": 63
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 26.7 : Page number 737"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given \n",
+ "d=541; #Given decimal number\n",
+ "\n",
+ "#Calculation\n",
+ "h=hex(d)[2:]; #Equivalent hexadecimal number\n",
+ "\n",
+ "#Result\n",
+ "print(\"Equivalent hexadecimal number=%s.\"%h);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Equivalent hexadecimal number=21d.\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 26.8 : Page number 737"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "hex_to_dec={'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9,'a':10,'b':11,'c':12,'d':13,'e':14,'f':15};\n",
+ " \n",
+ "#Given \n",
+ "d=378; #Given decimal number\n",
+ "\n",
+ "#Calculation\n",
+ "h=hex(d)[2:]; #Equivalent Hexadecimal number\n",
+ "\n",
+ "\n",
+ "b=\"\";\n",
+ "for i in h:\n",
+ " bh=bin(hex_to_dec[i])[2:]; #Binary of individual hexadecimaldigit\n",
+ " b=b+((\"0\" if len(bh)==3 else (\"00\" if len(bh)==2 else (\"000\" if len(bh)==1 else \"\")))+bh); #Equivalent binary number\n",
+ "\n",
+ "#Result\n",
+ "print(\"Equivalent hexadeciaml number=%s.\"%h);\n",
+ "print(\"Equivalent binary number=%s.\"%b);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Equivalent hexadeciaml number=17a.\n",
+ "Equivalent binary number=000101111010.\n"
+ ]
+ }
+ ],
+ "prompt_number": 56
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 26.9 : Page number 737"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "h=0xB2F; #Given hexadecimal number\n",
+ "\n",
+ "#Calculation\n",
+ "o=oct(h)[1:]; #Equivalent octal number\n",
+ "\n",
+ "#Result\n",
+ "print(\"Equivalent octal number=%s.\"%o);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Equivalent octal number=5457.\n"
+ ]
+ }
+ ],
+ "prompt_number": 58
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 26.10 : Page number 738"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given\n",
+ "BCD=\"0100 0000 0010\" #Given BCD string\n",
+ "BCD_split=BCD.split(\" \"); #Splitting th binary string into individual BCD \n",
+ "d=0;\n",
+ "for i in range(len(BCD_split),0,-1):\n",
+ " d+=int(BCD_split[len(BCD_split)-i],2)*10**(i-1);\n",
+ "\n",
+ "#Result\n",
+ "print(\"The equivalent decimal =%d.\"%d);\n",
+ " "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The equivalent decimal =402.\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 26.11 : Page number 745"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Boolean Expression obtained from the circuit: \\n Y'=A+B \\n Y=((A+B).A)\");\n",
+ "print(\"Truth Table:\");\n",
+ "print(\"a\\tb\\tY'=A+B\\t Y=Y'.A\");\n",
+ "for b in range(0,2):\n",
+ " for a in range(0,2):\n",
+ " Y_dash=1 if a or b else 0;\n",
+ " Y=1 if Y_dash and a else 0;\n",
+ " print(\"%d\\t%d\\t%d\\t %d\"%(a,b,Y_dash,Y));"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Boolean Expression obtained from the circuit: \n",
+ " Y'=A+B \n",
+ " Y=((A+B).A)\n",
+ "Truth Table:\n",
+ "a\tb\tY'=A+B\t Y=Y'.A\n",
+ "0\t0\t0\t 0\n",
+ "1\t0\t1\t 1\n",
+ "0\t1\t1\t 0\n",
+ "1\t1\t1\t 1\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 26.12 : Page number 745-746"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print(\"Boolean Expression obtained from the circuit: \\n Y'=A'.B \\n Y=Y'+B'\");\n",
+ "print(\"Truth Table:\");\n",
+ "print(\"A\\tB\\tA'\\tY'=A'.B\\t B'\\tY=Y'+B'\");\n",
+ "for b in range(0,2):\n",
+ " for a in range(0,2):\n",
+ " a_dash=1 if not a else 0;\n",
+ " b_dash=1 if not b else 0;\n",
+ " Y_dash=1 if a_dash and b else 0;\n",
+ " Y=1 if Y_dash or b_dash else 0;\n",
+ " print(\"%d\\t%d\\t%d\\t%d\\t %d\\t%d\"%(a,b,a_dash,Y_dash,b_dash,Y));"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Boolean Expression obtained from the circuit: \n",
+ " Y'=A'.B \n",
+ " Y=Y'+B'\n",
+ "Truth Table:\n",
+ "A\tB\tA'\tY'=A'.B\t B'\tY=Y'+B'\n",
+ "0\t0\t1\t0\t 1\t1\n",
+ "1\t0\t0\t0\t 1\t1\n",
+ "0\t1\t1\t1\t 0\t1\n",
+ "1\t1\t0\t0\t 0\t0\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter6.ipynb b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter6.ipynb
new file mode 100644
index 00000000..a6008ee1
--- /dev/null
+++ b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter6.ipynb
@@ -0,0 +1,1624 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:3452607f2168b562d941493f83083042eaa5a2d316715f9d9f089ff03d73fdb8"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 6: SEMICONDUCTOR DIODE"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.2, Page number 81"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Declaration \n",
+ "Vf =20; #Peak Input Voltage in V\n",
+ "rf=10; #Forward Resistance in ohms\n",
+ "RL=500.0; #Load Resistance in ohms\n",
+ "V0=0.7; #Potential Barrier Voltage of the diodes in V\n",
+ "\n",
+ "#Calculation\n",
+ "#(1)\n",
+ "If_peak=(Vf-V0)/(rf+RL); #Peak current through the diode in A\n",
+ "If_peak=If_peak*1000; #Peak current through the diode in mA\n",
+ "#(2)\n",
+ "V_out_peak =If_peak * RL/1000 ; #Peak output voltage in V\n",
+ "\n",
+ "#For an Ideal diode\n",
+ "If_peak_ideal=Vf/RL; #Peak current through the ideal diode in A\n",
+ "If_peak_ideal=If_peak_ideal*1000; #Peak current through the ideal diode in mA\n",
+ "\n",
+ "V_out_peak_ideal=If_peak_ideal * RL/1000; # Peak output voltage in case of the ideal diode in V\n",
+ "\n",
+ "#Result\n",
+ "print '(i) Peak current through the diode = %.1f mA '%If_peak;\n",
+ "print '(ii) Peak output voltage = %.1f V'%V_out_peak;\n",
+ "print '(iii) Peak current through the ideal diode = %d mA '%If_peak_ideal;\n",
+ "print '(iv) Peak output voltage in case of the ideal diode = %d V'%V_out_peak_ideal;\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) Peak current through the diode = 37.8 mA \n",
+ "(ii) Peak output voltage = 18.9 V\n",
+ "(iii) Peak current through the ideal diode = 40 mA \n",
+ "(iv) Peak output voltage in case of the ideal diode = 20 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.3, Page number 82"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Declaration\n",
+ "V =10.0; #Battery voltage in V\n",
+ "R1=50.0; #Resistor 1's resistance in ohms\n",
+ "R2=5.0; #Resistor 2's resistance in ohms\n",
+ "\n",
+ "#Calculation\n",
+ "#Using Thevenin's Theorem to find current in the diode\n",
+ "E0=(R2/(R1+R2))*V; #Thevenin's Voltage in V\n",
+ "R0=(R1*R2)/(R1+R2); #Thevenin's Resistance in ohms\n",
+ "\n",
+ "I0=E0/R0; #Current through the diode in A\n",
+ "I0=I0*1000; #Current through the diode in mA\n",
+ "\n",
+ "#Result\n",
+ "print 'Current through the diode = %d mA '%Io;\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current through the diode = 200 mA \n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.4, Page number 82-83 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Declaration\n",
+ "V =10.0; #Battery voltage in V\n",
+ "R0=48.0; #Resistance of the resistor in ohms\n",
+ "Rd=1.0; #Forward resistance of the diodes in ohms\n",
+ "Vd=0.7; #Potential barrier of the diodes in V\n",
+ "#Calculation\n",
+ "V_net=V-Vd-Vd; #Net voltage in the circuit in V\n",
+ "R_net=R0+Rd+Rd #Net resistance of the circuit in ohms\n",
+ "I_net=V_net/R_net; #Net current in the circuit in A\n",
+ "I_net=I_net*1000; #Net current in mA\n",
+ "\n",
+ "#Result\n",
+ "print 'Net current in the circuit = %d mA '%I_net;\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Net current in the circuit = 172 mA \n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.5, Page number 83"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Declaration\n",
+ "E1=24; #Voltage of first source in V\n",
+ "E2=4; #Voltage of second source in V\n",
+ "V0=0.7; #Potential barrier of diodes in V\n",
+ "R=2000; #Resistance of the given resistor in ohms\n",
+ "Rd=0; #Forward resistance of the diodes in ohms\n",
+ "\n",
+ "#Calculation\n",
+ "I=(E1-E2-V0)/(R+Rd); #Current in the circuit in A\n",
+ "I=I*1000; #Current in the circuit in mA \n",
+ "\n",
+ "#Result\n",
+ "print 'Current in the circuit = %.2f mA '%I;"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current in the circuit = 9.65 mA \n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.6, Page number 83-84"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Declaration\n",
+ "V=20; #Voltage of source in V\n",
+ "V0=0.3; #Potential barrier of Germanium diode in V\n",
+ "V0_Si=0.7; #Potetial barrier of Silicon diode in V \n",
+ "\n",
+ "#Calculation\n",
+ "#As only Ge diode is turned on due to less potential barrier,\n",
+ "VA=V-V0; #Voltage VA acroos resistor of 3k ohms\n",
+ "\n",
+ "#Result\n",
+ "print 'Voltage VA = %.1f mA '%VA;"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage VA = 19.7 mA \n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.7, Page number 84"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Declaration\n",
+ "V=10; #Voltage of source in V\n",
+ "V0=0.7; #Potetial barrier of Silicon diode in V \n",
+ "# Resistance of all resistors in ohms\n",
+ "R1=2000;\n",
+ "R2=2000;\n",
+ "R3=2000;\n",
+ "\n",
+ "#Calculation\n",
+ "Id=(V-V0)/(R2+2*R3); #Current through the diodes in A\n",
+ "VQ=2*Id*R3; #Voltage VQ across the grounded 2k ohm resistor in V\n",
+ "Id=Id*1000; #Current through the diodes in mA\n",
+ "\n",
+ "#Result\n",
+ "print 'Voltage VQ = %.1f V '%VQ;\n",
+ "print 'Current through the diodes, Id = %.2f mA '%Id;"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage VQ = 6.2 V \n",
+ "Current through the diodes, Id = 1.55 mA \n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.8, Page number 84"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Declaration\n",
+ "V=15; #Voltage of source in V\n",
+ "V0=0.7; #Potetial barrier of Silicon diode in V \n",
+ "R=500 # Resistance of all resistors in ohms\n",
+ "\n",
+ "#Calculation\n",
+ "I1=(V-V0)/R; #total current in the circuit in A\n",
+ "Id1=I1/2; #current in first diode in A\n",
+ "Id1=Id1*1000; #current in first diode in mA\n",
+ "Id2=Id1 #current in second diode in mA\n",
+ "\n",
+ "#Result\n",
+ "print ('Current in first diode = %.1f mA'%Id1);\n",
+ "print ('Current in second diode = %.1f mA'%Id2);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current in first diode = 14.3 mA\n",
+ "Current in second diode = 14.3 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.9, Page number 85"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Declaration\n",
+ "E=20; #Voltage of source in V\n",
+ "V0_d1=0.7; #Potetial barrier of first Silicon diode in V\n",
+ "V0_d2=0.7; #Potetial barrier of second Silicon diode in V\n",
+ "R1=5600; # Resistance of first resistor in ohms\n",
+ "R2=3300; # Resistance of second resistor in ohms\n",
+ "\n",
+ "#Calculation\n",
+ "I2=V0_d2/R2; #Current I2 through resistor R2 in A\n",
+ "I2=round((I2*1000),3); #Current I2 through resistor R2 in mA\n",
+ "I1=(E-V0_d1-V0_d2)/R1; #Current I1 through resistor R1 in A\n",
+ "I1=round((I1*1000),2); #Current I1 through resistor R1 in mA\n",
+ "I3=I1-I2; #Current I3 through diode D2 in mA\n",
+ "\n",
+ "#Result\n",
+ "print 'Current I1= %.2f mA'%I1;\n",
+ "print 'Current I1= %.3f mA'%I2;\n",
+ "print 'Current I1= %.3f mA'%I3;\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current I1= 3.32 mA\n",
+ "Current I1= 0.212 mA\n",
+ "Current I1= 3.108 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.10, Page number 85-86"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable Declaration\n",
+ "E=10.0; #Voltage of source in V\n",
+ "V0=0.7; #Potetial barrier of Silicon diode in V\n",
+ "R1=2000; # Resistance of first resistor in ohms\n",
+ "R2=8000; # Resistance of second resistor in ohms\n",
+ "R3=4000; #Resistance of third resistor in ohms\n",
+ "R4=6000; #Resistance of fourth resistor in ohms\n",
+ "\n",
+ "#Calculation\n",
+ "#Assuming the given diode to be reverse bised and calculating voltage across it's terminals\n",
+ "V1=(E/(R1+R2))*R2; #voltage at the P side of the diode, i.e, voltage across R2 resistor,according to voltage divider rule, in V\n",
+ "V2=(E/(R3+R4))*R4; #voltage at the N side of the diode, i.e, voltage across R4 resistor,according to voltage divider rule, in V\n",
+ "\n",
+ "#Result\n",
+ "if((V1-V2)>=V0):\n",
+ " print 'Our assumption was wrong and, the diode is forward biased';\n",
+ "else:\n",
+ " print 'The diode is reverse biased';\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Our assumption was wrong and, the diode is forward biased\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.11, Page number 86"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V=2; #Supply voltage in V\n",
+ "V0=0.7; #Potential barrier voltage of the diode in V \n",
+ "R1=4000.0; #Resistance of first resistor in \u03a9\n",
+ "R2=1000.0; ##Resistance of second resistor in \u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "#Assuming the diode to be in ON state\n",
+ "I1=((V-V0)/R1)*1000; #Current through resistor R1, in mA\n",
+ "I2=(V0/R2)*1000; #Current through resistor R2, in mA\n",
+ "ID=I1-I2; #Diode current, in mA\n",
+ "\n",
+ "if(ID<0):\n",
+ " #Since the diode current is negative, the diode must be OFF \n",
+ " ID=0; #True value of diode current, mA\n",
+ " \n",
+ "#As the diode is in OFF state it can be replaced by an open ciruit equivalent \n",
+ "VD=V*R2/(R1 +R2); #Voltage across the diode, in V\n",
+ "\n",
+ "#Result\n",
+ "print 'ID =%d mA'%ID;\n",
+ "print 'VD =%.1f V'%VD;"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "ID =0 mA\n",
+ "VD =0.4 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.12, Page number 89-90"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "AC_Input_Power=100.0; #Input AC Power in watts\n",
+ "AC_Output_Power=40.0; #Output AC Power in watts\n",
+ "Accepted_Power=50.0; #Power accepted by the half-wave rectifier in watt\n",
+ "\n",
+ "#Calculation\n",
+ "R_eff=(AC_Output_Power/AC_Input_Power)*100; #Rectification efficiency of the half-wave rectifier\n",
+ "Unused_power=AC_Input_Power-Accepted_Power; #Power not used by the half_wave rectifier due to open circuited condition of the diode in watt\n",
+ "Power_dissipated=Accepted_Power-AC_Output_Power; #Power dissipated by the diode watt\n",
+ "\n",
+ "#Result\n",
+ "print 'The rectification efficiency of the half-wave rectifier= %d%% '%R_eff;\n",
+ "\n",
+ "print 'Rest 60%% of the power is the unused power and power dissipated by the diode = %d watts and %d watts' %(Unused_power ,Power_dissipated);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The rectification efficiency of the half-wave rectifier= 40% \n",
+ "Rest 60% of the power is the unused power and power dissipated by the diode = 50 watts and 10 watts\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.13, Page number 90"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import pi\n",
+ "from math import sqrt\n",
+ "#Variable declaration\n",
+ "Vrms=230.0; #AC supply RMS voltage in V\n",
+ "Turns_Ratio=10/1; #turn ratio of the transformer \n",
+ "\n",
+ "#Calculation\n",
+ "Vpm=sqrt(2)*Vrms; #Maximum primary voltage in V\n",
+ "Vsm=Vpm/Turns_Ratio; #Maximum secondary voltage in V\n",
+ "#Case 1\n",
+ "Vdc=Vsm/(round(pi,2)); #Output D.C voltage, which is the average voltage in V\n",
+ "Vdc=round(Vdc,2);\n",
+ "#Case 2\n",
+ "PIV=Vsm; #Peak Inverse Voltage in V\n",
+ "\n",
+ "#Result\n",
+ "print 'The output d.c voltage= %.2f V'%Vdc;\n",
+ "print 'The peak inverse voltage= %.2f V'%PIV;"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The output d.c voltage= 10.36 V\n",
+ "The peak inverse voltage= 32.53 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.14, Page number 90-91"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import pi\n",
+ "#Variable declaration\n",
+ "rf=20.0; #Internal resistance of the crystal diode in ohms\n",
+ "Vm=50.0; #Maximum applied voltage in V\n",
+ "RL=800.0; #Load Resistance in ohms\n",
+ "\n",
+ "#Calculation\n",
+ "# 1\n",
+ "Im=Vm/(rf+RL); #Maximum current in A\n",
+ "Im=Im*1000; #Maximum current in \n",
+ "Im=round(Im,0);\n",
+ "Idc=Im/pi; #Average voltage in mA\n",
+ "Idc=round(Idc,1);\n",
+ "Irms=Im/2; #RMS value of the current in mA\n",
+ "Irms=round(Irms,1)\n",
+ "\n",
+ "# 2\n",
+ "AC_Input_Power=pow(Irms/1000,2)*(rf+RL); #Input a.c power in watt\n",
+ "\n",
+ "DC_Output_Power=pow(Idc/1000,2)*RL; #Output d.c power in watt\n",
+ "\n",
+ "# 3\n",
+ "DC_Output_Voltage=(Idc/1000)*RL; #Output d.c voltage in V\n",
+ "\n",
+ "# 4\n",
+ "Rectifier_efficiency=(DC_Output_Power/AC_Input_Power)*100; # Efficiency of rectification of the half-wave rectifier\n",
+ "\n",
+ "#Result\n",
+ "print ' i:';\n",
+ "print ' Im = %d mA'%Im;\n",
+ "print ' Idc = %.1f mA'%Idc;\n",
+ "print ' Irms = %.1f mA'%Irms;\n",
+ "print ' ii: ';\n",
+ "print ' a.c input power= %.3f watt'%AC_Input_Power;\n",
+ "print ' d.c output power= %.3f watt'%DC_Output_Power;\n",
+ "print ' iii: ';\n",
+ "print ' d.c output voltage = %.2f volts'%DC_Output_Voltage;\n",
+ "print ' iv: '\n",
+ "print ' Efficiency of rectification = %.1f%%'%Rectifier_efficiency;\n",
+ "\n",
+ " "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " i:\n",
+ " Im = 61 mA\n",
+ " Idc = 19.4 mA\n",
+ " Irms = 30.5 mA\n",
+ " ii: \n",
+ " a.c input power= 0.763 watt\n",
+ " d.c output power= 0.301 watt\n",
+ " iii: \n",
+ " d.c output voltage = 15.52 volts\n",
+ " iv: \n",
+ " Efficiency of rectification = 39.5%\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.15, Page number 91"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import pi\n",
+ "#Variable declaration\n",
+ "Vdc=50.0; #Output d.c voltage in V\n",
+ "rf=25; #Diode resistance in ohm\n",
+ "RL=800; #Load resistance in ohm\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "Vm=(pi*(rf+RL)*Vdc)/RL; #[ Vdc=Vm*RL/(pi*(rf+RL)) ]Maximum value of a.c voltage required to get a volatge of Vdc from the half-wave rectifier, in V\n",
+ "Vm=round(Vm,0); \n",
+ "#Result\n",
+ "print 'The a.c voltage required should have maximum value of = %d V' %Vm;"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The a.c voltage required should have maximum value of = 162 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.16, Page number 95"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt \n",
+ "from math import pi\n",
+ "#Variable declaration\n",
+ "rf=20; #Internal resistance of the diodes in ohm\n",
+ "Vrms=50; #RMS value of transformer's secondary voltage from centre tap to each end of secondary\n",
+ "RL=980; #Load resistance in ohm\n",
+ "\n",
+ "#Calculation\n",
+ "Vm=Vrms*sqrt(2); #Maximum a.c voltage in V\n",
+ "Im=Vm/(rf+RL); #Maximum load current in A\n",
+ "Im=Im*1000; #Maximum load current in mA\n",
+ " \n",
+ "# 1:\n",
+ "Idc=2*Im/pi; #Mean load current\n",
+ "\n",
+ "# 2:\n",
+ "Irms=Im/sqrt(2); #RMS value of load current in A\n",
+ "\n",
+ "#Result\n",
+ "print 'i:';\n",
+ "print' The mean load current= %d mA'%Idc;\n",
+ "print 'ii:';\n",
+ "print ' The r.m.s value of the load current = %d mA'%Irms; "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i:\n",
+ " The mean load current= 45 mA\n",
+ "ii:\n",
+ " The r.m.s value of the load current = 50 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.17, Page number 95-96"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt \n",
+ "#Variable declaration\n",
+ "RL=100; #Load resistance in ohm \n",
+ "rf=0; #Internal resistance of the diodes in ohm\n",
+ "Turns_ratio=5/1; #Primary to secondary turns ratio of transformer \n",
+ "P_Vrms=230; #R.M.S value of voltage in primary winding in V\n",
+ "S_Vrms=P_Vrms/Turns_ratio; #R.M.S value of voltage in secondary winding in V\n",
+ "S_Vm=S_Vrms*sqrt(2); #Maximum voltage across secondary winding in V\n",
+ "Vm=S_Vm/2; #Maximum voltage across half seconfdary winding in V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "# 1:\n",
+ "Idc=2*Vm/(pi*RL); #Average current in A\n",
+ "Vdc=Idc*RL; #d.c output voltage in V\n",
+ "\n",
+ "# 2:\n",
+ "PIV=S_Vm; #Peak Invers Voltage(= Maximum secondary voltage) in V\n",
+ "\n",
+ "# 3:\n",
+ "Pac=pow(Vm/(RL*sqrt(2)),2)*(rf+RL); #a.c input power in watt\n",
+ "Pdc=(pow(Idc,2)*RL); #d.c output power in watt\n",
+ "R_eff=(Pdc/Pac)*100; #Rectification efficiency\n",
+ "R_eff=round(R_eff,1);\n",
+ "\n",
+ "#Result\n",
+ "print 'i:';\n",
+ "print ' The d.c output voltage= %.1f V'%Vdc;\n",
+ "print 'ii:';\n",
+ "print ' The peak inverse voltage= %d V'%PIV;\n",
+ "print 'iii:';\n",
+ "print ' Rectification efficiency= %.1f%%'%R_eff;"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i:\n",
+ " The d.c output voltage= 20.7 V\n",
+ "ii:\n",
+ " The peak inverse voltage= 65 V\n",
+ "iii:\n",
+ " Rectification efficiency= 81.1%\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "NOTE: The value of rectification efficiency is calculated as 81.2% in the textbook using the formula 0.812/(1 + (rf/RL)), but by calculating using the correct values in the formula we get 81.1%."
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.18, Page number 96-97"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt \n",
+ "#Variable declaration\n",
+ "fin=50; #frequency of input ac source in Hz\n",
+ "RL=200; #Load resistance in ohm\n",
+ "Turns_ratio=4/1; #Transformers turns ratio, primary to secondary.\n",
+ "P_Vrms=230.0; #R.M.S value of voltage in primary winding in V\n",
+ "S_Vrms=P_Vrms/Turns_ratio #R.M.S value of voltage in secondary winding in V\n",
+ "Vm=S_Vrms*sqrt(2); #Maximum voltage across secondary winding in V\n",
+ "\n",
+ "#Calculation\n",
+ "# 1:\n",
+ "Idc=2*Vm/(pi*RL); # Average current in A\n",
+ "Vdc=Idc*RL; #Output d.c voltage in V\n",
+ "Vdc=round(Vdc,0);\n",
+ "# 2:\n",
+ "PIV= Vm; #Peak Inverse Voltage(= Maximum volutage across secondary winding) in V\n",
+ "\n",
+ "# 3:\n",
+ "fout=2*fin; #Output frequency in Hz\n",
+ "\n",
+ "#Result\n",
+ "print 'i:';\n",
+ "print ' The d.c output voltage = %d V' %Vdc;\n",
+ "print 'ii:';\n",
+ "print ' The peak inverse voltage = %.1f V'%PIV;\n",
+ "print 'iii:';\n",
+ "print ' The output frequency = %d Hz'%fout;\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i:\n",
+ " The d.c output voltage = 52 V\n",
+ "ii:\n",
+ " The peak inverse voltage = 81.3 V\n",
+ "iii:\n",
+ " The output frequency = 100 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.19, Page number 97"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import pi\n",
+ "from math import sqrt\n",
+ "\n",
+ "#Variable declaration\n",
+ "RL=100.0; #Load Resistance in ohm\n",
+ "Turns_ratio=5/1; #Primary to secondary turns ratio of the transformer\n",
+ "Vin=230.0; #R.M.S value of input voltage in V\n",
+ "fin=50; #Input frequency in Hz\n",
+ "\n",
+ "#Calculation\n",
+ "Vs_rms=Vin/Turns_ratio; #R.M.S value of the voltage in secondary winding, in v\n",
+ "Vs_max=Vs_rms*sqrt(2); #Maximum voltage across secondary, in V\n",
+ "\n",
+ "# (i)\n",
+ "#Case i: Centre-tap circuit\n",
+ "Vm=Vs_max/2; #Maximum voltage across half secondary winding, in V \n",
+ "Vdc=2*Vm*RL/(pi*RL); #DC output voltage, in V \n",
+ "print 'The d.c output voltage for the centre-tap circuit = %.1f V'%Vdc;\n",
+ "\n",
+ "#Case ii:\n",
+ "Vm=Vs_max; #Maximum voltage across secondary, in V\n",
+ "Vdc=2*Vm*RL/(pi*RL); #DC output voltage, in V \n",
+ "print 'The d.c output voltage for the bridge circuit = %.1f V'%Vdc; \n",
+ "\n",
+ "# ii:\n",
+ "#Case i: Centre-tap circuit\n",
+ "Turns_ratio=5/1; #Turns ratio of the transformer\n",
+ "Vs_rms=Vin/Turns_ratio; #R.M.S value of the secondary voltage in V\n",
+ "Vs_max=Vs_rms*sqrt(2); #Maximum voltage across the secondary in V\n",
+ "Vm=Vs_max/2; #Maximum voltage across half of the secondary in V\n",
+ "PIV=2*Vm; #Peak Inverse Voltage in V\n",
+ "print 'PIV in case of centre-tap circuit = %d V'%PIV;\n",
+ "\n",
+ "#Case ii: Bridge circuit\n",
+ "Turns_ratio=10/1; #Turns ratio of the transformer\n",
+ "Vs_rms=Vin/Turns_ratio; #R.M.S value of the secondary voltage in V\n",
+ "Vs_max=Vs_rms*sqrt(2); #Maximum voltage across the secondary in V\n",
+ "PIV=Vm; #Peak Inverse Voltage in V\n",
+ "print 'PIV in case of bridge circuit = %.1f V'%PIV;\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The d.c output voltage for the centre-tap circuit = 20.7 V\n",
+ "The d.c output voltage for the bridge circuit = 41.4 V\n",
+ "PIV in case of centre-tap circuit = 65 V\n",
+ "PIV in case of bridge circuit = 32.5 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 46
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.20, Page number 98"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import pi\n",
+ "from math import sqrt\n",
+ "#Variable declaration\n",
+ "rf=1; #forward resistance of diodes of the rectifier in ohm\n",
+ "RL=480; #Load resistance in ohm\n",
+ "Vrms=240.0; #a.c supply voltage in V\n",
+ "Vm=Vrms*sqrt(2); #Maximum a.c voltage in V \n",
+ "\n",
+ "#Calculation\n",
+ "# 1:\n",
+ "Rt=2*rf+RL; #Total circuit resistance at any instance in ohm\n",
+ "Im=Vm/Rt; #Maximum load current in A\n",
+ "Idc=2*Im/pi; #Mean load current in A\n",
+ "\n",
+ "# 2:\n",
+ "Irms=Im/2; #R.M.S value of current in A\n",
+ "P=pow(Irms,2)*rf; #Power dissipated in each diode in watt\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print 'i:';\n",
+ "print ' Mean load current = %.2f A'%Idc;\n",
+ "print 'ii:';\n",
+ "print ' Power dissipated in each diode= %.3f W'%P;"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i:\n",
+ " Mean load current = 0.45 A\n",
+ "ii:\n",
+ " Power dissipated in each diode= 0.124 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "NOTE: The value of power dissipated is approximately 0.124 W , but in the textbook it is approximated as 0.123W."
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.21, Page number 98-99"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt,pi\n",
+ "#Variable declaration\n",
+ "RL=12000; #Load resistance in ohm\n",
+ "V0=0.7; #Potential barrier voltage of diodes in V\n",
+ "Vrms=12; #R.M.S value of input a.c voltage in V\n",
+ "Vs_pk=Vrms*sqrt(2); #Peak secondary voltage in V\n",
+ "\n",
+ "#Calculation\n",
+ "# 1:\n",
+ "Vout_pk=Vs_pk-(2*V0); #Peak output voltage in V\n",
+ "Vav=2*Vout_pk/pi; #Average output voltage in V\n",
+ "Vav=round(Vav,2);\n",
+ "\n",
+ "# 2:\n",
+ "Iav=Vav/RL; #Average output current in A\n",
+ "Iav=Iav*pow(10,6); #Average output current in \u03bcA\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print 'i:';\n",
+ "print ' Average output voltage=%.2f V'%Vav;\n",
+ "print 'ii:';\n",
+ "print ' Average output current=%.1f \u03bcA'%Iav;\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i:\n",
+ " Average output voltage=9.91 V\n",
+ "ii:\n",
+ " Average output current=825.8 \u03bcA\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.22, Page number 102"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Vdc_A=10; #Supply voltage of A in V\n",
+ "Vdc_B=25; #Supply voltage of B in V\n",
+ "Vac_rms_a=0.5; #Ripples in power supply A in V\n",
+ "Vac_rms_b=0.001; #Ripples in power supply B in V\n",
+ "\n",
+ "#Calculation\n",
+ "#For power supply A\n",
+ "ripple_factor_A=Vac_rms_a/Vdc_A; #Ripple factor of power supply A\n",
+ "\n",
+ "#For power supply B\n",
+ "ripple_factor_B=Vac_rms_b/Vdc_B; #Ripple factor of power supply B\n",
+ "\n",
+ "#Result\n",
+ "if(ripple_factor_A<ripple_factor_B):\n",
+ " print 'Power supply A is better';\n",
+ "else :\n",
+ " print 'Power supply B is better';"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power supply B is better\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.23, Page number 105-106"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "#Variable declaration\n",
+ "RL=2200; #Load resistance in ohm\n",
+ "C=50*pow(10,-6); #Capacitance of the capacitor used in filter circuit in F\n",
+ "V0=0.7; #Potential barrier voltage of the diodes of the rectifier in V\n",
+ "Vrms=115.0; #R.M.S value of input a.c voltage in V \n",
+ "fin=60; #Frequency of input a.c voltage in Hz\n",
+ "Turns_ratio=10/1; #Primary to secondary, turns ratio of the transformer \n",
+ "\n",
+ "#Calculation\n",
+ "Vp_prim=Vrms*sqrt(2); #Peak primary voltage in V\n",
+ "Vp_sec=Vp_prim/Turns_ratio; #Peak secondary voltage in V\n",
+ "Vp_in= Vp_sec - 2*V0; #Peak full wave rectified voltage at the filter input in V\n",
+ "f=2*fin; #Output frequency in Hz\n",
+ "Vdc=Vp_in*(1-(1/(2*f*RL*C))); #Output d.c voltage in V\n",
+ "\n",
+ "#Result\n",
+ "print 'The output d.c voltage is = %.1f V'%Vdc;"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The output d.c voltage is = 14.3 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.24, Page number 106"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import pi\n",
+ "#Variable declaration\n",
+ "R=25; #d.c resistance of the choke in ohm\n",
+ "RL=750; #Load resistance in ohm\n",
+ "Vm=25.7; #Maximum value of the pulsating output from the rectifier in V\n",
+ "\n",
+ "#Calculation\n",
+ "V_dc=2*Vm/pi; #d.c component of the pulsating output in V\n",
+ "V_dc=round(V_dc,1);\n",
+ "V_dc_out=(V_dc*RL)/(R+RL); #Output d.c voltage in V\n",
+ "V_dc_out=round(V_dc_out,1);\n",
+ "\n",
+ "#Result\n",
+ "print ' The output d.c voltage accross the load resistance is = %.1f V'%V_dc_out;"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The output d.c voltage accross the load resistance is = 15.9 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.25, Page number 113-114"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Ei=120.0; #Input Voltage in V\n",
+ "Vz=50.0; #Zener Voltage in V\n",
+ "R=5000.0; #Resistance of the series resistor in ohm\n",
+ "RL=10000.0; #Load resistance in ohm\n",
+ "\n",
+ "#Calculation\n",
+ "V=Ei*RL/(R+RL); #Voltage across the open circuit if the zener diode is removed\n",
+ "if(V>Vz):\n",
+ " #Zener diode is in ON state\n",
+ " # i:\n",
+ " Output_voltage=Vz; #Voltage across load resistance, in V\n",
+ " #ii:\n",
+ " Voltage_R=Ei-Vz; #Voltage across the series resistance R, in V\n",
+ " #iii:\n",
+ " IL=Vz/RL; #Load current through RL in A\n",
+ " IL=IL*1000; #Load current through RL in mA\n",
+ " I=Voltage_R/R; #Current through the series resistance in A\n",
+ " I=I*1000; #Current through the series resistance in mA\n",
+ " Iz=I-IL; #Applying Kirchhoff's first law, Zener current in mA\n",
+ " \n",
+ " #Result\n",
+ " print 'i) The output voltage across the load resistance RL = %d V'%Output_voltage;\n",
+ " print 'ii) The voltage drop across the series resistance R = %d V'%Voltage_R;\n",
+ " print 'iii) The current through the zener diode = %d mA'%Iz;\n",
+ " "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i) The output voltage across the load resistance RL = 50 V\n",
+ "ii) The voltage drop across the series resistance R = 70 V\n",
+ "iii) The current through the zener diode = 9 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.26, Page number 114-115"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Max_V=120.0; #Maximum input voltage in V\n",
+ "Min_V=80.0; #Minimum input voltage in V\n",
+ "R=5000.0; #Series resistance in ohm\n",
+ "RL=10000.0; #Load resistance in ohm\n",
+ "Vz=50.0; #Zener voltage in V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#Case i: Maximum zener current\n",
+ "#Zener current will be maximum when the input voltage is maximum\n",
+ "V_R_max=Max_V-Vz; #Voltage across series resistance R, in V\n",
+ "I_max=V_R_max/R; #Current through series resistance R, in A\n",
+ "I_max=I_max*1000; #Current through series resistance R, in mA\n",
+ "IL_max=Vz/RL; #Load current in A\n",
+ "IL_max=IL_max*1000; #Load current in mA\n",
+ "Iz_max=I_max-IL_max; #Applying Kirchhoff's first law, Zener current in mA;\n",
+ "\n",
+ "#Case ii: Minimum zener current\n",
+ "#The zener will conduct minimum current when the input voltage is minimum\n",
+ "V_R_min=Min_V-Vz; #Voltage across series resistance R, in V\n",
+ "I_min=V_R_min/R; #Current through series resistance R, in A\n",
+ "I_min=I_min*1000; #Current through series resistance R, in mA\n",
+ "IL_min=Vz/RL; #Load current in A\n",
+ "IL_min=IL_min*1000; #Load current in mA\n",
+ "Iz_min=I_min-IL_min; #Applying Kirchhoff's first law, Zener current in mA\n",
+ "\n",
+ "#Result\n",
+ "print 'Case i: ';\n",
+ "print 'Maximum zener current = %d mA'%Iz_max;\n",
+ "print 'Case ii: ';\n",
+ "print 'Minimum zener current = %d mA'%Iz_min;\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Case i: \n",
+ "Maximum zener current = 9 mA\n",
+ "Case ii: \n",
+ "Minimum zener current = 1 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.27, Page number 115"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Ei=12; #Input voltage in V\n",
+ "Vz=7.2; #Zener voltage in V\n",
+ "E0=Vz; #Voltage to be maintained across the load in V\n",
+ "IL_max=0.1; #Maximum load current in A\n",
+ "IL_min=0.012; #Minimum load current in A\n",
+ "Iz_min=0.01; #Minimum zener current in A\n",
+ "\n",
+ "#Calculation\n",
+ "#When the load current is maximum at minimum value of RL, the zener current is minimum and, as the load current decreases due to increase in value of RL\n",
+ "R=(Ei-E0)/(Iz_min+IL_max); #The value of series resistance R to maintain a voltage=E0 across load, in ohm\n",
+ "\n",
+ "#Result\n",
+ "print 'The minimum value of series resistance R to maintain a constant value of 7.2 V is = %.1f \u03a9'%R;"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The minimum value of series resistance R to maintain a constant value of 7.2 V is = 43.6 \u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "NOTE: The actual value of R is 43.636363 (recurring) but, in the textbook the value of R is wrongly approximated 43.5 \u03a9"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.28, Page number 115"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Ei_min=22; #Minimum input voltage in V\n",
+ "Ei_max=28; #Maximum input voltage in V\n",
+ "Vz=18; #Zener voltage in V\n",
+ "E0=Vz; #Constant voltage maintained across the load resistance in V\n",
+ "Iz_min=0.2; #Minimum zener current in A\n",
+ "Iz_max=2; #Maximum zener current in A\n",
+ "RL=18; #Load resistance in \u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "IL=Vz/RL; #Constant value of load current in A\n",
+ "#When the input voltage is minimum, the zener current will be minimum\n",
+ "R=(Ei_min-E0)/(Iz_min+IL) #The value of series resistance so that the voltage E0 across RL remains constant\n",
+ "\n",
+ "print 'The value of series resistance R, to maintain constant voltage E0 across RL = %.2f \u03a9.'%R;"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of series resistance R, to maintain constant voltage E0 across RL = 3.33 \u03a9.\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.29, Page number 116 "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Vz=10 #Zener voltage in V\n",
+ "Ei_min=13; #Minimum input voltage in V\n",
+ "Ei_max=16; #Maximum input voltage in V\n",
+ "Iz_min=0.015; #Minimum zener current in A\n",
+ "IL_min=0.01; #Minimum load current in A \n",
+ "IL_max=0.085; #Maximum load curremt in A\n",
+ "E0=Vz; #Constant voltage to be maintained in V \n",
+ "\n",
+ "#Calculation\n",
+ "#The zener current will be minimum when the input voltage will be minimum and at that time the load current will be maximum\n",
+ "R=(Ei_min-E0)/(Iz_min+IL_max); #The value of series resistance R to maintain a constant voltage across load\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print 'The value of series resistance to maintain a constant voltage across the load resistance is = %d \u03a9'%R;"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of series resistance to maintain a constant voltage across the load resistance is = 30 \u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.30, Page number 116"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Iz=0.2; #Current rating of each zener in A\n",
+ "Vz=15; #Voltage rating of each zener in V\n",
+ "Ei=45; #Input voltage in V\n",
+ "\n",
+ "#Calculation\n",
+ "# i: Regulated output voltage across the two zener diodes \n",
+ "E0=2*Vz; # V\n",
+ "\n",
+ "# ii: Value of series resistance \n",
+ "R=(Ei-E0)/Iz; # \u03a9\n",
+ "\n",
+ "#Result\n",
+ "print 'i) The regulated output voltage = %d V'%E0;\n",
+ "print 'ii) The value of the series resistance = %d \u03a9'%R;"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "i) The regulated output voltage = 30 V\n",
+ "ii) The value of the series resistance = 75 \u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.31, Page number 116-117"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Vz=10; #Voltage rating of each zener in V\n",
+ "Iz=1; #Current rating of each zener in A\n",
+ "Ei=45; #Input unregulated voltage in V\n",
+ "\n",
+ "#Calculation\n",
+ "#Regulated output voltage across the three zener diodes\n",
+ "E0=3*Vz; # V\n",
+ "\n",
+ "#Value of series resistance to obtain a 30V regulated output voltage\n",
+ "R=(Ei-E0)/Iz; # \u03a9\n",
+ "\n",
+ "#Result\n",
+ "print 'Value of series resistance to obtain a 30V regulated output voltage = %d \u03a9'%R;"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of series resistance to obtain a 30V regulated output voltage = 15 \u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.32, Page number 117"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#variable declaration\n",
+ "RL=2000.0; #Load resistance in \u03a9\n",
+ "R=200.0; #Series resistance in \u03a9\n",
+ "Iz=0.025; #Zener current rating in A\n",
+ "E0=30.0; #Output regulated voltage in V \n",
+ "\n",
+ "#Calculation\n",
+ "#Minimum input voltage will be required when Iz=0 A, and at this condition\n",
+ "IL=E0/RL; #Load current during Iz=0, in A\n",
+ "I=IL; #According to Kirchhoff's law, total current, in A\n",
+ "Ei_min=E0+(I*R); #Minimum input voltage in V\n",
+ "\n",
+ "#The maximum input voltage required will be when Iz=0.025 A, and at that condition \n",
+ "I=IL+Iz; #According to Kirchhoff's law, total current, in A\n",
+ "Ei_max=E0+(I*R); #maximum input voltage in V\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print 'The required range of input voltage is from %d V to %d V'%(Ei_min,Ei_max); \n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The required range of input voltage is from 33 V to 38 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.33, Page number 117-118"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Ei=16; #Unregulated input voltage in V\n",
+ "E0=12; #Output regulated voltage in V\n",
+ "IL_min=0; #Minimum load current in A\n",
+ "IL_max=0.2; #Maximum load current in A\n",
+ "Iz_min=0; #Minimum zener current in A\n",
+ "Iz_max=0.2; #Maximum zener current in A\n",
+ "\n",
+ "#Calculation\n",
+ "#As the regulated voltage required across the load is 12V\n",
+ "Vz=E0; #Voltage rating of zener diode in V\n",
+ "V_R=Ei-E0; #Constant Voltage that should remain across series resistance \n",
+ "#The minimum zener current will occur when the curent in the load in maximum\n",
+ "R=V_R/(Iz_min+IL_max); #Series resistance in \u03a9\n",
+ "\n",
+ "Max_power_rating=Vz*Iz_max; #Maximum power rating of zener diode in W\n",
+ "\n",
+ "#Result\n",
+ "print 'The regulator is designed using a Seris resistance of %d \u03a9 and a zener diode of zener voltage %d V'%(R,Vz);\n",
+ "print 'The maximum power rating of the zener diode is = %.1f W '%Max_power_rating;"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The regulator is designed using a Seris resistance of 20 \u03a9 and a zener diode of zener voltage 12 V\n",
+ "The maximum power rating of the zener diode is = 2.4 W \n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6.34, Page number 118"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V=12; #Source voltage in V\n",
+ "R=1000; #Series resistance in \u03a9\n",
+ "RL=5000; #Load resistance in \u03a9\n",
+ "Vz=6; #Voltage rating of zener in V\n",
+ "\n",
+ "#Calculation\n",
+ "#Case i: zener is working properly\n",
+ "#The output voltage across the load will be equal to the zener voltage.\n",
+ "V0=Vz; # V\n",
+ "\n",
+ "#Result\n",
+ "print 'Case i: Output voltage when zener is working properly is %d V'%V0;\n",
+ "\n",
+ "#Case ii: zener is shorted\n",
+ "#As the zener is shorted, the potential difference across the load will be zero\n",
+ "V0=0; #V\n",
+ "\n",
+ "#Result\n",
+ "print 'Case ii: Output voltage when zener is short circuited is %d V'%V0;\n",
+ " \n",
+ "#Case iii: zener is open circuited\n",
+ "#If the zener is open circuited, the total voltage will drop across R and RL according to the voltage divider rule\n",
+ "V0=V*RL/(R+RL); #V\n",
+ "\n",
+ "#Result\n",
+ "print 'Case iii: Output voltage when zener is open circuited is %d V'%V0;\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Case i: Output voltage when zener is working properly is 6 V\n",
+ "Case ii: Output voltage when zener is short circuited is 0 V\n",
+ "Case iii: Output voltage when zener is open circuited is 10 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter7.ipynb b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter7.ipynb
new file mode 100644
index 00000000..537a179e
--- /dev/null
+++ b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter7.ipynb
@@ -0,0 +1,212 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:e210474f5c4fc6668f4c7b5af2adf833a1c7f62577017a980ab8d11cd8ce2886"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 7 : SPECIAL-PURPOSE DIODES"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.1 : Page number 127-128\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_S=10.0; #Supply voltage in V\n",
+ "V_D=1.6; #Forward voltage drop of LED, in V\n",
+ "I_F=20.0; #Required limited current through LED, in mA\n",
+ "\n",
+ "#Calculations\n",
+ "R_S=(V_S-V_D)/(I_F/1000); #Series resistor required to limit the current through the LED, in \u2126\n",
+ "\n",
+ "#Result \n",
+ "print(\"The value of series resistor required to limit the current through the LED = %d \u2126.\"%R_S);\n",
+ " \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of series resistor required to limit the current through the LED = 420 \u2126.\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.2: Page number 128"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_S=15.0; #Supply voltage in V\n",
+ "V_D=2.0; #Forward voltage drop of LED, in V\n",
+ "R_S=2200.0; #Series resistor required to limit the current through the LED, in \u2126\n",
+ "\n",
+ "#Calculations\n",
+ "I_F=((V_S-V_D)/R_S)*1000; #Required limited current through LED, in mA\n",
+ "\n",
+ "#Result \n",
+ "print(\"The current through the LED in the circuit = %.2f mA\"%I_F);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The current through the LED in the circuit = 5.91 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.3: Page number 132-133"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Ir=50.0; #Dark current as observed from the current Illumination curve, in mA \n",
+ "V_R=10.0; #Reverse voltage in V\n",
+ "\n",
+ "#Calculation\n",
+ "R_R=V_R/(Ir/pow(10,6)); #Dark Resistance in \u2126\n",
+ "\n",
+ "#Result\n",
+ "print(\"The dark resistance is=%d k\u2126\"%(R_R/1000));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The dark resistance is=200 k\u2126\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.4: Page number 133"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "E=2.5; #Illumination in mW/cm\u00b2\n",
+ "m=37.4; #sensitivity of the photodiode in \ud835\udf07A/mW/cm\u00b2\n",
+ "\n",
+ "#Calculations\n",
+ "I_R=m*E; #Reverse current in \ud835\udf07A\n",
+ "\n",
+ "#Result\n",
+ "print(\"The reverese current in the photodiode = %.1f \ud835\udf07A\"%I_R);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The reverese current in the photodiode = 93.5 \ud835\udf07A\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 7.5: Page number 137"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import pi\n",
+ "from math import sqrt\t\n",
+ "#Variable declaration\n",
+ "L=1.0; #Inductance of the inductor in mH\n",
+ "C=100.0; #Capacitance of the varactor in pF\n",
+ "\n",
+ "#Result\n",
+ "f_r=1/(2*pi*sqrt(L*pow(10,-3)*C*pow(10,-12))); #Resonant frequency of the circuit in Hz\n",
+ "f_r=f_r/1000; #Resonant frequency of the circuit in kHz\n",
+ "\n",
+ "#Result\n",
+ "print(\"The resonant frequency of the circuit = %.1f kHz\"%f_r);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resonant frequency of the circuit = 503.3 kHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter8.ipynb b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter8.ipynb
new file mode 100644
index 00000000..4afe0858
--- /dev/null
+++ b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter8.ipynb
@@ -0,0 +1,1851 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:9c13bdd66a3dbb3eae04903205b69bc52bf35e6dadf8b1b3ade1bab68394ae3b"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.1: Page number 147-148\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "Signal=500.0; #Signal voltage in V\n",
+ "Rin=20.0; #Input resistance in \u03a9 \n",
+ "Rout=100.0; #Output resistance in \u03a9\n",
+ "R_C=1000.0; #Collector load in \u03a9\n",
+ "alpha_ac=1.0; #current amplification factor\n",
+ "\n",
+ "#Calculation\n",
+ "I_E=(Signal/1000)/Rin; \t#Input current in mA\n",
+ "I_C=I_E*alpha_ac; #Output current in mA\n",
+ "Vout=I_C*R_C; #Output voltage in V \n",
+ "Av=Vout/(Signal/1000); #Voltage amplification \n",
+ "\n",
+ "#Result\n",
+ "print(\"The voltage amplification = %d. \"%Av);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The voltage amplification = 50. \n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.2: Page number 150\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "I_E=1; #Emitter curent in mA\n",
+ "I_C=0.95; #Collector current in mA\n",
+ "\n",
+ "#Calculation\n",
+ "I_B=I_E-I_C; #Base current in mA\n",
+ "\n",
+ "#Result \n",
+ "print(\"The base current = %.2f mA \"%I_B);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The base current = 0.05 mA \n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 8.3: Page number 150\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#variable declaration\n",
+ "alpha=0.9; #Current amplification factor\n",
+ "I_E=1; #Emitter current in mA\n",
+ "\n",
+ "#Calculation\n",
+ "I_C=alpha*I_E; #Collector current in mA\n",
+ "I_B=I_E-I_C; #Base current in mA\n",
+ "\n",
+ "#Result\n",
+ "print(\"The base current =%.1f mA\"%I_B);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The base current =0.1 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.4: Page number 150\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "I_C=0.95;\t\t\t#Collector current in mA\n",
+ "I_B=0.05;\t\t\t#Base current in mA\n",
+ "\n",
+ "#Calculation\n",
+ "I_E=I_B+I_C; #Emitter current in mA\n",
+ "alpha=I_C/I_E; #Current amplification factor \n",
+ "\n",
+ "#Result\n",
+ "print(\"The current amplification factor = %.2f .\"%alpha);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The current amplification factor = 0.95 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.5: Page number 150\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "I_E=1; #Emitter current in mA\n",
+ "I_CBO=50.0; #Collector current with emitter circuit open, in microAmp\n",
+ "alpha=0.92; #Current amplification factor\n",
+ "\n",
+ "#Calculation\n",
+ "I_C=alpha*I_E + (I_CBO/1000); #Total collector current in mA\n",
+ "\n",
+ "#Result\n",
+ "print(\"The total collector current = %.2f mA.\"%I_C);\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total collector current = 0.97 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.6: Page number 150-151\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "alpha=0.95; #Current amplification factor\n",
+ "Rc=2.0; #Resistor connected to the collector, in kilo ohm\n",
+ "V_Rc=2.0; #Voltage drop across the resistor connected to the collector in V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "I_C=V_Rc/Rc; #Collector current in mA\n",
+ "I_E=I_C/alpha; #Emitter current in mA\n",
+ "I_B=I_E-I_C; #Base current in mA\n",
+ "\n",
+ "#Result\n",
+ "print(\"The base current = %.2f mA\"%I_B); \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The base current = 0.05 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.7: Page number 151\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_EE=8.0; #Supply voltage at the emitter in V\n",
+ "V_CC=18.0; #Supply voltage at the collector in V\n",
+ "V_BE=0.7; #Base to emitter voltage in V\n",
+ "R_E=1.5; #Emitter resistance in \u03a9\n",
+ "R_C=1.2; #Collector resistance in \u03a9\n",
+ "\n",
+ "#Calculations\n",
+ "I_E=(V_EE-V_BE)/R_E; #Emitter current in mA\n",
+ "I_C=I_E; #Collector current in mA (approximately equal to emitter current)\n",
+ "V_CB=V_CC-(I_C*R_C); #Collector to base voltage in V\n",
+ "\n",
+ "#Result\n",
+ "print(\"The collector current =%.2f mA\"%I_C);\n",
+ "print(\"The collector to base voltage = %.2f V\"%V_CB);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The collector current =4.87 mA\n",
+ "The collector to base voltage = 12.16 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.8:Page number 155\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Function for calculating beta from alpha\n",
+ "def calc_beta(a): #a is the value of alpha\n",
+ "\treturn(a/(1-a));\n",
+ "\n",
+ "#Case (i)\n",
+ "alpha=0.9; #current amplification factor\n",
+ "beta=calc_beta(alpha);\t\t#Base current amplification factor \n",
+ "print(\"(i) Value of beta =%d\"%beta );\t\t\t\t\t\t\t\t\t\n",
+ "\n",
+ "#Case (ii)\n",
+ "alpha=0.98; #current amplification factor\n",
+ "beta=calc_beta(alpha); #Base current amplification factor\n",
+ "print(\"(ii) Value of beta =%.0f\"%beta );\n",
+ "\n",
+ "\n",
+ "#Case (iii)\n",
+ "alpha=0.99; #current amplification factor\n",
+ "beta=calc_beta(alpha); #Base current amplification factor \n",
+ "print(\"(iii) Value of beta =%.0f\"%beta );\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) Value of beta =9\n",
+ "(ii) Value of beta =49\n",
+ "(iii) Value of beta =99\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.9: Page number 155\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "beta=50.0; #Base current amplification factor\n",
+ "I_B=20.0; #Base current in microAmp\n",
+ "\n",
+ "#Calculation\n",
+ "I_B=I_B/1000; #Base current in mA\n",
+ "I_C=beta*I_B; #Collector current in mA\n",
+ "I_E=I_B+I_C; #Emitter current in mA\n",
+ "\n",
+ "#Result\n",
+ "print(\"The emitter curent = %.2f mA\"%I_E);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The emitter curent = 1.02 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.10: Page number 155\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "I_B=240.0; #Base current in microAmp\n",
+ "I_E=12; #Emitter current in mA\n",
+ "beta=49.0; #Base current amplification factor\n",
+ "\n",
+ "#Calculations\n",
+ "alpha=beta/(1+beta); #current amplification factor \n",
+ "I_C_alpha=alpha*I_E; #Collector current in mA calculated using alpha\n",
+ "I_C_beta=beta*(I_B/1000); #Collector current in mA calculated using beta\n",
+ "\n",
+ "#Results\n",
+ "print(\"alpha=%.2f.\"%alpha);\n",
+ "print(\"Collector current determined using alpha =%.2f mA\"%I_C_alpha);\n",
+ "print(\"Collector current determined using beta =%.2f mA\"%I_C_beta);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "alpha=0.98.\n",
+ "Collector current determined using alpha =11.76 mA\n",
+ "Collector current determined using beta =11.76 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.11: Page number 156\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "beta=45.0; #Base current amplification factor\n",
+ "R_C=1.0; #Resistance of the collector resistance in k\u03a9\n",
+ "V_R_C=1.0; #Voltage drop across the collector resistance in V\n",
+ "\n",
+ "#Calculation\n",
+ "I_C=V_R_C/R_C; #Collector current in mA\n",
+ "I_B=I_C/beta; #Base current in mA\n",
+ "\n",
+ "#Result\n",
+ "print(\"The base current =%.3f mA\"%I_B);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The base current =0.022 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.12: Page number 156\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_CC=8.0; #Collector supply voltage in V\n",
+ "R_C=800.0; #Resistance of the collector resistance in \u03a9\n",
+ "V_R_C=0.5; #Voltage drop across collector resistance in V\n",
+ "alpha=0.96; #current amplification factor\n",
+ "\n",
+ "#Calculation\n",
+ "V_CE=V_CC-V_R_C; #Collector to emitter voltage in V\n",
+ "I_C=V_R_C/R_C; #Collector current in A\n",
+ "I_C=I_C*1000; #Collector current in mA\n",
+ "beta=alpha/(1-alpha); #Base current amplification factor\n",
+ "I_B=I_C/beta; #Base current in mA\n",
+ "\n",
+ "#Result\n",
+ "print(\"Collector to emitter voltage = %.1f V\"%V_CE);\n",
+ "print(\"Base current= %.3f mA\"%I_B);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Collector to emitter voltage = 7.5 V\n",
+ "Base current= 0.026 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.13: Page number 156-157\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_CC=5; \t#Collector supply voltage in V\n",
+ "I_CBO=0.2; \t#Leakage current at collector base junction with emitter open, in \u03bcA\n",
+ "I_CEO=20.0; \t#Leakage current with base open, in \u03bcA\n",
+ "I_C=1.0; #Collector current in mA\n",
+ "I_C=I_C*1000; \t#Collector current in \u03bcA\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "alpha=1-(I_CBO/I_CEO);\t\t#current amplification factor\n",
+ "I_E=(I_C-I_CBO)/alpha; #Emitter current in \u03bcA\n",
+ "I_E=round(I_E,-1);\n",
+ "I_B=I_E-I_C; #Base current in \u03bcA\n",
+ "I_B=round(I_B,-1);\n",
+ "\n",
+ "#Result\n",
+ "print(\"Current amplification factor = %.2f \"%alpha);\n",
+ "print(\"The emitter curent =%d \u03bcA \"%I_E);\n",
+ "print(\"The base curent =%d \u03bcA \"%I_B);\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Current amplification factor = 0.99 \n",
+ "The emitter curent =1010 \u03bcA \n",
+ "The base curent =10 \u03bcA \n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.14: Page number 157\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "I_CEO=300.0; #Leakage current in common emitter configuration, in \u03bcA\n",
+ "beta=120.0; #Base current amplification factor\n",
+ "\n",
+ "#Calculation\n",
+ "alpha=beta/(1+beta); #Current amplification factor\n",
+ "alpha=round(alpha,3);\n",
+ "I_CBO=(1-alpha)*I_CEO; #Leakage current in common base configuration, in \u03bcA\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"Vale of I_CBO= %.1f \u03bcA\"%I_CBO);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vale of I_CBO= 2.4 \u03bcA\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.15: Page number 157\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "I_B=20.0; #Base current in \u03bcA\n",
+ "I_C=2.0; #Collector current in mA\n",
+ "beta=80.0; #Base current amplification factor\n",
+ "\n",
+ "#Calculation\n",
+ "I_CEO=I_C-(beta*I_B/1000); #Leakage current with base open, in mA \n",
+ "alpha=beta/(beta+1); #Current amplification factor\n",
+ "alpha=round(alpha,3);\n",
+ "I_CBO=(1-alpha)*I_CEO; #Leakage current with emitter open, in mA\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"Value of I_CBO=%.4f mA\"%I_CBO);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of I_CBO=0.0048 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.17: Page number 158\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "beta=150.0; \t#Base current amplification factor\n",
+ "R_B=10.0; \t#Base resistance in kilo ohm\n",
+ "R_C=100.0; \t#Collector resistance in kilo ohm\n",
+ "V_CC=10.0; #Collector supply voltage in V\n",
+ "V_BB=5.0; #Base supply voltage in V\n",
+ "V_BE=0.7; #Base to emitter voltage in V\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "I_B=(V_BB-V_BE)/R_B; #Base current in mA\n",
+ "I_C=beta*I_B; #Collector current in mA\n",
+ "V_CE=V_CC - (I_C/1000)*R_C; #Collector to emitter voltage in V\n",
+ "V_CB=V_CE-V_BE; #Collector to base voltage in V\n",
+ "\n",
+ "\n",
+ "#Result \n",
+ "print(\"Collector to base voltage, V_CB= %.2f V\"%V_CB);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Collector to base voltage, V_CB= 2.85 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.18: Page number158-159\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "I_B=68.0; #Base current in \u03bcA\n",
+ "I_E=30.0; #Emitter current in mA\n",
+ "beta=440.0;\t #Base current amplification factor\n",
+ "\n",
+ "#Calculation\n",
+ "alpha=beta/(beta + 1); #current amplification factor\n",
+ "I_C_alpha=alpha*I_E;\t\t#Collector current using alpha rating, in mA\n",
+ "I_C_beta=beta*(I_B/1000.0); #Collector current using beta rating, in mA\n",
+ "\n",
+ "#Result\n",
+ "print(\"Collector current determined using alpha rating =%.2f mA\"%I_C_alpha);\n",
+ "print(\"Collector current determined using beta rating =%.2f mA\"%I_C_beta);\n",
+ "\n",
+ "#Note: In the textbook, the collector current obtained from beta rating is approximated to 29.93 mA\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Collector current determined using alpha rating =29.93 mA\n",
+ "Collector current determined using beta rating =29.92 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.19: Page number 159\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "I_C_max=500.0; #Maximum collector current in mA\n",
+ "beta_max=300.0; #Maximum base current amplification factor\n",
+ "\n",
+ "#Calculation\n",
+ "I_B_max=I_C_max/beta_max; #Maximum base current in mA\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"The maximum allowable value of base current = %.2f mA\"%I_B_max);\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum allowable value of base current = 1.67 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.22 : Page number 167-168"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Variable declaration\n",
+ "VCC=12.5; #Collector supply voltage, V\n",
+ "RC=2.5; #Collector resistor, k\u03a9\n",
+ "\n",
+ "#Calculation\n",
+ "#VCE=VCC-IC*RC\n",
+ "#For calculating VCE, IC=0\n",
+ "IC=0; #Collector current for maximum Collector-emitter voltage, mA\n",
+ "VCE_max=VCC-IC*RC; #Maximum collector-emitter voltage, V\n",
+ "\n",
+ "#For calculating VCE, IC=0\n",
+ "VCE=0; #Collector emitter voltage for maximum collector current, V\n",
+ "IC_max=(VCC-VCE)/RC; #Maximum collector current, mA\n",
+ "\n",
+ "\n",
+ "#Plotting of d.c load line\n",
+ "VCE_plot=[0,VCE_max]; #Plotting variable for VCE\n",
+ "IC_plot=[IC_max,0]; #Plotting variable for IC\n",
+ "p=plot(VCE_plot,IC_plot);\n",
+ "limit = plt.gca()\n",
+ "limit.set_xlim([0,15])\n",
+ "limit.set_ylim([0,6])\n",
+ "xlabel('VCE(V)');\n",
+ "ylabel('IC(mA)');\n",
+ "title('d.c load line');\n",
+ "plt.grid();\n",
+ "show(p);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nrkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f2eadbe6710>"
+ ]
+ }
+ ],
+ "prompt_number": 41
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.23 : Page number 168"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Variable declaration\n",
+ "VCC=12.0; #Collector supply voltage, V\n",
+ "RC=6.0; #Collector resistor, k\u03a9\n",
+ "IB=20.0; #Zero signal base current, \u03bcA\n",
+ "beta=50.0; #Base current amplification factor\n",
+ "\n",
+ "#Calculation\n",
+ "#VCE=VCC-IC*RC\n",
+ "#For calculating VCE, IC=0\n",
+ "IC=0; #Collector current for maximum Collector-emitter voltage, mA\n",
+ "VCE_max=VCC-IC*RC; #Maximum collector-emitter voltage, V\n",
+ "\n",
+ "#For calculating VCE, IC=0\n",
+ "VCE=0; #Collector emitter voltage for maximum collector current, V\n",
+ "IC_max=(VCC-VCE)/RC; #Maximum collector current, mA\n",
+ "\n",
+ "\n",
+ "#Plotting of d.c load line\n",
+ "VCE_plot=[0,VCE_max]; #Plotting variable for VCE\n",
+ "IC_plot=[IC_max,0]; #Plotting variable for IC\n",
+ "p=plot(VCE_plot,IC_plot);\n",
+ "limit = plt.gca()\n",
+ "limit.set_xlim([0,15])\n",
+ "limit.set_ylim([0,5])\n",
+ "xlabel('VCE(V)');\n",
+ "ylabel('IC(mA)');\n",
+ "title('d.c load line');\n",
+ "plt.grid();\n",
+ "show(p);\n",
+ "\n",
+ "#Calculating Q-point\n",
+ "IC=beta*(IB/1000); #Collector current, mA\n",
+ "VCE=VCC-IC*RC; #Collector emitter voltage, V\n",
+ "\n",
+ "#Result\n",
+ "print(\"Operating point: IC=%dmA and VCE=%dV.\"%(IC,VCE));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nAAAASUVORK5CYII=\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f8947e0f0d0>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Operating point: IC=1mA and VCE=6V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.24 : Page number 168"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "RC=4.0; #Collector load, k\u03a9\n",
+ "IC_Q=1.0; #Quiescent current, mA\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "VCC=10; #Collector supply voltage, V\n",
+ "VCE=VCC-IC*RC; #Collector emitter voltage, V\n",
+ "\n",
+ "print(\"(i) Operating point: VCE=%dV and IC=%dmA.\"%(VCE,IC) );\n",
+ "\n",
+ "#(ii)\n",
+ "RC=5.0; #Collector load, k\u03a9\n",
+ "VCE=VCC-IC*RC; #Collector emitter voltage, V\n",
+ "print(\"(ii) Operating point: VCE=%dV and IC=%dmA.\"%(VCE,IC) );\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) Operating point: VCE=6V and IC=1mA.\n",
+ "(ii) Operating point: VCE=5V and IC=1mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##Example 8.25 : Page number 168-169"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=20.0; #Collector supply voltage, V\n",
+ "VBB=10.0; #Base supply voltage, V\n",
+ "RC=330.0; #Collector resistor, \u03a9\n",
+ "RB=47.0; #Base resistoe, k\u03a9\n",
+ "beta=200.0; #Base current amplification factor\n",
+ "VBE=0.7; #Base -emitter voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "#VBB-IB*RB-VBE=0\n",
+ "IB=round(((VBB-VBE)/RB)*1000,0); #Base current, \u03bcA\n",
+ "IC=beta*IB/1000; #Collector current, mA\n",
+ "VCE=VCC-IC*(RC/1000); #Collector-emitter voltage, V\n",
+ "\n",
+ "print(\"Operating point: IC=%.1fmA and VCE=%.2fV.\"%(IC,VCE));\n",
+ "\n",
+ "#For d.c load line\n",
+ "#VCE=VCC-IC*RC\n",
+ "#For calculating VCE, IC=0\n",
+ "IC=0; #Collector current for maximum Collector-emitter voltage, mA\n",
+ "VCE_max=VCC-IC*RC; #Maximum collector-emitter voltage, V\n",
+ "\n",
+ "#For calculating VCE, IC=0\n",
+ "VCE=0; #Collector emitter voltage for maximum collector current, V\n",
+ "IC_max=(VCC-VCE)/(RC/1000.0); #Maximum collector current, mA\n",
+ "\n",
+ "\n",
+ "#Plotting of d.c load line\n",
+ "VCE_plot=[0,VCE_max]; #Plotting variable for VCE\n",
+ "IC_plot=[IC_max,0]; #Plotting variable for IC\n",
+ "p=plot(VCE_plot,IC_plot);\n",
+ "limit = plt.gca()\n",
+ "limit.set_xlim([0,25])\n",
+ "limit.set_ylim([0,65])\n",
+ "xlabel('VCE(V)');\n",
+ "ylabel('IC(mA)');\n",
+ "title('d.c load line');\n",
+ "plt.grid();\n",
+ "show(p);\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Operating point: IC=39.6mA and VCE=6.93V.\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nIRiBRQAAAABJRU5ErkJggg==\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f8947baebd0>"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.26 : Page number 169-170"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=10.0; #Collector supply voltage, V\n",
+ "VEE=10.0; #Emitter supply voltage, V\n",
+ "RC=1.0; #Collector resistor, k\u03a9\n",
+ "RE=4.7; #Collector resistor, k\u03a9\n",
+ "RB=47.0; #Base resistoe, k\u03a9\n",
+ "beta=100.0; #Base current amplification factor\n",
+ "VBE=0.7; #Base -emitter voltage, V\n",
+ "\n",
+ "#Calculation\n",
+ "#-IB*RB-VBE-IE*RE+VEE=0\n",
+ "#AS, IC=beta*IB and IC~IE\n",
+ "IE=round((VEE-VBE)/(RE+(RB/beta)),1); #Emitter current, mA\n",
+ "IC=IE; #Collector current, mA\n",
+ "\n",
+ "#VCC-IC*RC-VCE-IE*RE+VEE=0\n",
+ "#IC~IE\n",
+ "VCE=VCC+VEE-IC*(RC+RE); #Collector-emitter voltage, V\n",
+ "\n",
+ "print(\"Operating point: IC=%.1fmA and VCE=%.2fV.\"%(IC,VCE));\n",
+ "\n",
+ "\n",
+ "#For d.c load line\n",
+ "#VCE=VCC-IC*RC\n",
+ "#For calculating VCE, IC=0\n",
+ "IC=0; #Collector current for maximum Collector-emitter voltage, mA\n",
+ "VCE_max=VCC+VEE-IC*(RC+RE); #Maximum collector-emitter voltage, V\n",
+ "\n",
+ "#For calculating VCE, IC=0\n",
+ "VCE=0; #Collector emitter voltage for maximum collector current, V\n",
+ "IC_max=(VCC+VEE-VCE)/(RC+RE); #Maximum collector current, mA\n",
+ "\n",
+ "\n",
+ "#Plotting of d.c load line\n",
+ "VCE_plot=[0,VCE_max]; #Plotting variable for VCE\n",
+ "IC_plot=[IC_max,0]; #Plotting variable for IC\n",
+ "p=plot(VCE_plot,IC_plot);\n",
+ "limit = plt.gca()\n",
+ "limit.set_xlim([0,25])\n",
+ "limit.set_ylim([0,5])\n",
+ "xlabel('VCE(V)');\n",
+ "ylabel('IC(mA)');\n",
+ "title('d.c load line');\n",
+ "plt.grid();\n",
+ "show(p);\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Operating point: IC=1.8mA and VCE=9.74V.\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f8947c78950>"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.27 : Page number 170-171"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VEE=10.0; #Emitter supply voltage, V\n",
+ "IE=1.8; #Emitter current, mA\n",
+ "RE=4.7; #Emitter resistor, k\u03a9\n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "VCC=10.0; #Collector supply voltage, V\n",
+ "IC=1.8; #Collector current, mA\n",
+ "RC=1.0; #Collector resistor, k\u03a9\n",
+ "\n",
+ "\n",
+ "#Calculation\n",
+ "#(i)\n",
+ "VE=-VEE+IE*RE; #Emitter voltage, V\n",
+ "\n",
+ "#(ii)\n",
+ "VB=VEE+VBE; #Base voltage, V\n",
+ "\n",
+ "#(iii)\n",
+ "VC=VCC-IC*RC; #Collector voltage, V\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) Emitter voltage=%.2fV.\"%VE);\n",
+ "print(\"(i) Base voltage=%.1fV.\"%VB);\n",
+ "print(\"(i) Collector voltage=%.1fV.\"%VC);\n",
+ "\n",
+ "#Note: In the textbook, VB=VE+VBE has been written, which is worng. It should be VB=VEE+VBE. "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) Emitter voltage=-1.54V.\n",
+ "(i) Base voltage=10.7V.\n",
+ "(i) Collector voltage=8.2V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Example 8.28: Page number 173-174\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_BE_change=200.0; #Change in base-emitter voltage in mV\n",
+ "I_B_change=100.0; #Change in base current in \u03bcA\n",
+ "\n",
+ "#Calculations\n",
+ "Ri=V_BE_change/I_B_change; #Input resistance in k\u03a9\n",
+ "\n",
+ "#Result\n",
+ "print(\"Input resistance =%d k\u03a9\"%Ri);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Input resistance =2 k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.29; Page number 174\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_CE_final=10.0;\t\t\t#Final value of collector-emitter voltage in V\n",
+ "V_CE_initial=2.0; #Initial value of collector-emitter voltage in V\n",
+ "I_C_final=3.0; #Final value of collector current in mA\n",
+ "I_C_initial=2.0; #Initial value of collector current in mA\n",
+ "\n",
+ "#Calculations\n",
+ "V_CE_change=V_CE_final-V_CE_initial;\t\t#Change in collector to emitter voltage in V\n",
+ "I_C_change=I_C_final-I_C_initial; #Change in collector current in mA\n",
+ "R0=V_CE_change/I_C_change; #Output resistance in k\u03a9\n",
+ "\n",
+ "#Result\n",
+ "print(\"The output resistance =%dk\u03a9\"%R0);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The output resistance =8k\u03a9\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.30: Page number 174\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "R_C=2.0;\t\t#Collector load in kilo ohm\n",
+ "R_i=1.0;\t\t#Input resistance in kilo ohm\n",
+ "R_AC=R_C; #Effective collector load for single stage in kilo ohm(appoximately equal to collector load for single stage)\n",
+ "beta=50.0; #Current gain\n",
+ "\n",
+ "#Calculations\n",
+ "A_v=beta*(R_AC/R_i);\t\t#Voltage gain of the amplifier\n",
+ "\n",
+ "#Result \n",
+ "print(\"The voltage gain of the amplifier =%d \"%A_v);\t\t\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The voltage gain of the amplifier =100 \n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.31: Page number 175-176\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_CC=20;\t\t#Collector supply voltage in V\n",
+ "R_C=1; #Collector resistance in kilo ohm\n",
+ "V_knee_Si=1;\t\t#Knee voltage of V_CE for Si in V \n",
+ "V_knee_Ge=0.5;\t\t#Knee voltage of V_CE for Ge in V\n",
+ "\n",
+ "#Calculations\n",
+ "I_C_sat_Si=(V_CC-V_knee_Si)/R_C;\t\t#Saturation (maximum) value of collector current in mA (for Si transistor)\n",
+ "I_C_sat_Ge=(V_CC-V_knee_Ge)/R_C;\t\t#Saturation (maximum) value of collector current in mA (for Ge transistor)\n",
+ "I_C_sat=(V_CC)/R_C;\t\t\t\t#Saturation (maximum) value of collector current in mA (neglecting knee voltage)\n",
+ "V_CE_cut_off=V_CC; #Collector to emitter voltage in cutoff when base current=0, in V\n",
+ "\n",
+ "#Result\n",
+ "print(\"Collector current during saturation = %d mA\"%I_C_sat);\n",
+ "print(\"Collector emitter voltage during cutoff = %d V.\"%V_CE_cut_off);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Collector current during saturation = 20 mA\n",
+ "Collector emitter voltage during cutoff = 20 V.\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.32: Page number 176-177\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_CC=12.0;\t\t#Collector supply voltage in V\n",
+ "V_EE=12.0;\t\t#Emitter supply voltage in V\n",
+ "R_C=750.0;\t\t#Collector resistance in ohm\n",
+ "R_E=1.5;\t\t#Emitter resistance in kilo ohm\n",
+ "R_B=100.0;\t\t#Base resistance in ohm\n",
+ "beta=200;\t\t#base current amplification factor\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Applying Kirchhoff's voltage law to the collector side of the circuit\n",
+ "#using the equation: Vcc -IcRc-Vce -IeRe+Vee=0\n",
+ "#we get Vce=Vcc+Vee-Ic(Rc+Re), [Ie=Ic, approximately]\n",
+ "#We get Vce(off), when Ic=0;\n",
+ "\n",
+ "I_C_Vce_off=0;\t\t\t\t\t#Collector current for Vce(off) in mA\n",
+ "V_CE_off=V_CC+V_EE -(I_C_Vce_off * (R_C +R_E));\t#Collector to emitter voltage in V, during transistor in off state\n",
+ "\n",
+ "#We get Ic(sat), when Vce=0\n",
+ "V_CE_Ic_sat=0;\t\t\t\t\t\t#Collector to emitter voltage for saturation current of collector in V\n",
+ "I_C_sat=(V_CC+V_EE-V_CE_Ic_sat)/(R_C+(R_E*1000));\t#Saturated collector current in A \n",
+ "I_C_sat=I_C_sat*1000;\t\t\t\t\t#Saturated collector current in mA\n",
+ "#Result\n",
+ "print(\"Vce(off)= %dV\"%V_CE_off);\n",
+ "print(\"Ic(sat) = %.2f mA\"%I_C_sat);\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vce(off)= 24V\n",
+ "Ic(sat) = 10.67 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.33 : Page number 177\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_knee=0.2;\t\t\t\t#Knee voltage of collector-emitter voltage in V\n",
+ "V_CC=10.0;\t\t\t\t#Collector supply voltage in V\n",
+ "V_BB=3.0;\t\t\t\t#Base supply voltage in V\n",
+ "V_BE=0.7;\t\t\t\t#Base-emitter voltage in V \t\n",
+ "R_B=10.0;\t\t\t\t#Base resistor's resistance in kilo ohm\n",
+ "R_C=1.0;\t\t\t\t#Collector resistor's resistance in kilo ohm\n",
+ "beta=50.0;\t\t\t\t#base current amplification factor\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#applying Kirchhoff's voltage law along the collector side of the circuit,\n",
+ "#We get Vcc-Ic(sat)*Rc-V_knee=0\n",
+ "#From the above equation, we get:\n",
+ "I_C_sat=(V_CC-V_knee)/R_C;\t\t#Saturated collector current in mA\n",
+ "\n",
+ "#Applying Kirchhoff's voltage law along base emitter side,\n",
+ "#We get VBB-IB*RB-VBE=0;\n",
+ "#From the above equation, we get:\n",
+ "I_B=(V_BB-V_BE)/R_B;\t\t\t#Base current in mA\n",
+ "\n",
+ "\n",
+ "I_C=beta*I_B\t\t\t\t#Collector current in mA\n",
+ "\n",
+ "#Result\n",
+ "if(I_C>I_C_sat):\n",
+ "\tprint(\"The base current is large enough to produce Ic greater than Ic(sat), therefore the transistor is saturated.\");\n",
+ "else:\n",
+ "\tprint(\"The base current is not large enough to produce Ic greater than Ic(sat), therefore the transistor isn't saturated. \");\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The base current is large enough to produce Ic greater than Ic(sat), therefore the transistor is saturated.\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.34: Page number 177-178\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Variable declaration\n",
+ "V_CC=10.0;\t\t\t\t#Collector supply voltage in V\n",
+ "V_BE=0.95;\t\t\t\t#Base-emitter voltage in V \t\n",
+ "I_B=100.0;\t\t\t\t#Base current in microAmp\n",
+ "R_C=970.0;\t\t\t\t#Collector resistor's resistance in ohm\n",
+ "beta=100.0;\t\t\t\t#base current amplification factor\n",
+ "\n",
+ "#Calculations\n",
+ "I_C=(I_B/1000)*beta;\t\t\t\t#Collector current in mA \n",
+ "\n",
+ "#Applying Kirchhoff's voltage law along collector side\n",
+ "#We get Vcc-IcRc-Vce=0\n",
+ "#From the above equation, we get:\n",
+ "\n",
+ "V_CE=V_CC-((I_C/1000)*R_C);\t\t\t\t#Collector-emitter voltage in V\n",
+ "\n",
+ "#From the equation, V_CE=V_CB+V_BE,\n",
+ "V_CB=V_CE-V_BE;\t\t\t\t\t\t#Collector-base voltage in V\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "if(V_CB<0 and V_BE >0):\n",
+ "\tprint(\"As both collector-base and emitter-base junction are forward biased, the transistor is operating in the saturation region. \");\n",
+ "else:\n",
+ "\tprint(\"No. The transistor isn't operating in the saturation region.\");\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "As both collector-base and emitter-base junction are forward biased, the transistor is operating in the saturation region. \n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.35: Page number 178\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_CC=10.0;\t\t\t\t#Collector supplu voltage in V\n",
+ "V_BE=0.7;\t\t\t\t#Base-emitter voltage in V\n",
+ "R_B=50.0;\t\t\t\t#Base resistor's resistance in kilo ohm\n",
+ "R_C=2.0;\t\t\t\t#Collector resistor's resistance in kilo ohm\n",
+ "beta=200.0;\t\t\t\t#Base current amplification factor\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Applying Kirchhoff's voltage law along the collector side,\n",
+ "#We get, Vcc-Ic(sat)*Rc-Vce=0;\n",
+ "#From the above equation, we get:\n",
+ "#I_C_sat=(V_CC-V_CE)/R_C, but as transistor goes into saturation, Vce=0;\n",
+ "\n",
+ "V_CE=0;\t\t\t\t\t\t#Collector-emiter voltage in V, for transistor in saturation \n",
+ "I_C_sat=(V_CC-V_CE)/R_C;\t\t\t#Saturated collector current in mA\n",
+ "\n",
+ "I_B=I_C_sat/beta;\t\t\t\t#Base current in mA\n",
+ "\n",
+ "#Applying Kirchhoff's voltage law to the base circuit,\n",
+ "#We get, VBB - IB*RB - VBE=0\n",
+ "#From the above equation. we get:\n",
+ "V_BB=V_BE+ I_B*R_B;\t\t\t\t#Base supply voltage to put transistor in saturation, in V\n",
+ "\n",
+ "#Result\n",
+ "print(\"Therefore, for putting transistor in saturation, VBB >= %.2f V\"%V_BB);\n",
+ " \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Therefore, for putting transistor in saturation, VBB >= 1.95 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.36: Page number 178-179\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_CC=10.0;\t\t\t#Collector supply voltage in V\n",
+ "V_BB=2.7;\t\t\t#Base supply voltage in V\n",
+ "V_BE=0.7;\t\t\t#Base-emitter voltage in V\n",
+ "beta=100.0;\t\t\t#Base current amplification factor\n",
+ "R_E=1.0;\t\t\t#Emitter resistor's resistance in kilo ohm\n",
+ "\n",
+ "\n",
+ "#Calcultaion\t\n",
+ "V_B=V_BB;\t\t\t#Base voltage in V\n",
+ "V_E=V_B-V_BE;\t\t\t#Emitter voltage in V\n",
+ "I_E=V_E/R_E;\t\t\t#Emitter current in mA\n",
+ "I_C=I_E;\t\t\t#Collector current (approximately equal to emitter current) in mA\n",
+ "I_B=I_C/beta;\t\t\t#Base current in mA\n",
+ "\n",
+ "#Case (i):\n",
+ "R_C=2;\t\t\t\t#Collector resistor's resistance in kilo ohm\n",
+ "\n",
+ "#Assuming transistor to be in active state\n",
+ "#Applying Kirchhoff's voltage law along collector side,\n",
+ "#We get,Vcc-IcRc=Vc,\n",
+ "\n",
+ "V_C=V_CC-I_C*R_C;\t\t#Collector voltage in V\n",
+ "\n",
+ "if(V_C>V_E):\n",
+ "\tprint(\"(i)Our assumption was correct, the transistor is in active state for Rc=2 kilo ohm.\");\n",
+ "elif(V_C<V_E):\n",
+ "\tprint(\"(i)Our assumption was wrong, the transistor is in saturation for Rc=2 kilo ohm.\");\n",
+ "elif(V_C==V_E):\n",
+ "\tprint(\"(i)The transistor is at the edge of saturation for Rc=2 kilo ohm, therefore relation between transistor currents are same for both saturation and active state.\");\n",
+ "\n",
+ "#Case (ii):\n",
+ "R_C=4;\t\t\t\t#Collector resistor's resistance in kilo ohm\n",
+ "\n",
+ "#Assuming transistor to be in active state\n",
+ "#Applying Kirchhoff's voltage law along collector side,\n",
+ "#We get,Vcc-IcRc=Vc,\n",
+ "\n",
+ "V_C=V_CC-I_C*R_C;\t\t#Collector voltage in V\n",
+ "if(V_C>V_E):\n",
+ "\tprint(\"(ii)Our assumption was correct, the transistor is in active state for Rc=4 kilo ohm.\");\n",
+ "elif(V_C==V_E):\n",
+ "\tprint(\"(ii)The transistor is at the edge of saturation for Rc=4 kilo ohm, therefore relation between transistor currents are same for both saturation and active state.\");\n",
+ "elif(V_C<V_E):\n",
+ "\tprint(\"(ii)Our assumption was wrong, the transistor is in saturation for Rc=4 kilo ohm.\");\n",
+ "\n",
+ "\n",
+ "#Case (iii):\n",
+ "R_C=8;\t\t\t\t#Collector resistor's resistance in kilo ohm\n",
+ "\n",
+ "#Assuming transistor to be in active state\n",
+ "#Applying Kirchhoff's voltage law along collector side,\n",
+ "#We get,Vcc-IcRc=Vc,\n",
+ "\n",
+ "V_C=V_CC-I_C*R_C;\t\t#Collector voltage in V\n",
+ "if(V_C>V_E):\n",
+ "\tprint(\"(iii)Our assumption was correct, the transistor is in active state for Rc=8 kilo ohm.\");\n",
+ "elif(V_C<V_E):\n",
+ "\tprint(\"(iii)Our assumption was wrong, the transistor is in saturation for Rc=8 kilo ohm.\");\n",
+ "elif(V_C==V_E):\n",
+ "\tprint(\"(iii)The transistor is at the edge of saturation for Rc=8 kilo ohm, therefore relation between transistor currents are same for both saturation and active state.\");\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i)Our assumption was correct, the transistor is in active state for Rc=2 kilo ohm.\n",
+ "(ii)The transistor is at the edge of saturation for Rc=4 kilo ohm, therefore relation between transistor currents are same for both saturation and active state.\n",
+ "(iii)Our assumption was wrong, the transistor is in saturation for Rc=8 kilo ohm.\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.37 : Page number 179-180"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_CC=15.0;\t\t\t#Collector supply voltage in V\n",
+ "R_C=10.0;\t\t\t#Collector resistor's resistance in kilo ohm\n",
+ "V_BE=0.7;\t\t\t#Base-emitter voltage in V\n",
+ "beta=100.0;\t\t\t#Base current amplification factor\n",
+ "R_E=1.0;\t\t\t#Emitter resistor's resistance in kilo ohm\n",
+ "\n",
+ "\n",
+ "#Calculation\t\n",
+ "\n",
+ "#Case (i):\n",
+ "V_BB=0.5;\t\t\t#Base supply voltage in V\n",
+ "VB=V_BB; #Base voltage, V\n",
+ "print(\"(i) Base voltage =%.1fV is less than VBE=%.1fV, therefore, transistor is cut-off.\"%(VB,V_BE));\n",
+ "\n",
+ "\n",
+ "#Case (ii):\n",
+ "V_BB=1.5;\t\t\t#Base supply voltage in V\n",
+ "VB=V_BB; #Base voltage, V\n",
+ "VE=VB-V_BE; #Emitter voltage, V\n",
+ "IE=round(VE/R_E,1); #Emitter current, mA\n",
+ "#Assuming transistor to be in active state\n",
+ "#Applying Kirchhoff's voltage law along collector side,\n",
+ "IC=IE; #Collector current, mA\n",
+ "IB=IC/beta; #Base current, mA\n",
+ "VC=V_CC-IC*R_C; #Collector voltage, V\n",
+ "print(VE,IE,VC);\n",
+ "print(\"(ii) VC=%dV > VE=%.1fV, therefore the transistor is active. Our assumption was correct.\"%(VC,VE));\n",
+ "\n",
+ "#Case (iii):\n",
+ "V_BB=3; \t\t\t#Base supply voltage in V\n",
+ "VB=V_BB; #Base voltage, V\n",
+ "VE=VB-V_BE; #Emitter voltage, V\n",
+ "IE=round(VE/R_E,1); #Emitter current, mA\n",
+ "#Assuming transistor to be in active state\n",
+ "#Applying Kirchhoff's voltage law along collector side,\n",
+ "IC=IE; #Collector current, mA\n",
+ "IB=IC/beta; #Base current, mA\n",
+ "VC=V_CC-IC*R_C; #Collector voltage, V\n",
+ "\n",
+ "print(\"(iii) VC=%dV < VE=%.1fV, therefore the transistor is saturated. Our assumption was wrong.\"%(VC,VE));"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) Base voltage =0.5V is less than VBE=0.7V, therefore, transistor is cut-off.\n",
+ "(0.8, 0.8, 7.0)\n",
+ "(ii) VC=7V > VE=0.8V, therefore the transistor is active. Our assumption was correct.\n",
+ "(iii) VC=-8V < VE=2.3V, therefore the transistor is saturated. Our assumption was wrong.\n"
+ ]
+ }
+ ],
+ "prompt_number": 41
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.38: Page number 181\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "P_D_max=100.0;\t\t\t#Maximum power dissipation of a transistor in mW\n",
+ "V_CE=20.0;\t\t\t#Collector emitter voltage in V\n",
+ "\n",
+ "#Calculation\n",
+ "#As power=curent*voltage\n",
+ "#P_D_max=I_C_max*V_CE\n",
+ "#From the above equation, we get:\n",
+ "\n",
+ "I_C_max=P_D_max/V_CE;\t\t#Maximum collector current that can be allowed without destruction of the transistor, in mA\n",
+ "\n",
+ "#Result\n",
+ "print(\"Maximum collector current that can be allowed without destruction of the transistor = %d mA.\"%I_C_max); \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum collector current that can be allowed without destruction of the transistor = 5 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.39: Page number 181\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_CC=5.0;\t\t\t\t#Collector supply voltage in V\n",
+ "V_BB=5.0;\t\t\t\t#Base supply voltage in V\n",
+ "V_BE=0.7;\t\t\t\t#Base-emitter voltage in V\n",
+ "R_B=1.0;\t\t\t\t#Base resistor's resistance in kilo ohm\n",
+ "R_C=0;\t\t\t\t\t#Collector resistor's resistance in kilo ohm\n",
+ "beta=200.0;\t\t\t\t#base current amplification factor\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Applying Kirchhoff's voltage law along base circuit<\n",
+ "#We get, VBB- IB*RB - VBE=0.\n",
+ "#From the above equation, we get:\n",
+ "\n",
+ "I_B=(V_BB-V_BE)/R_B;\t\t\t#Base current in mA\n",
+ "\n",
+ "I_C=beta*I_B;\t\t\t\t#Collector current in mA\n",
+ "\n",
+ "#Applying Kirchhoff's voltage law along collector circuit:\n",
+ "\n",
+ "V_CE=V_CC-I_C*R_C;\t\t\t#Collector-emitter voltage in V\n",
+ "\n",
+ "#As power=curent*voltage\n",
+ "#P_D=I_C*V_CE\n",
+ "#From the above equation, we get:\n",
+ "P_D=V_CE*I_C;\t\t\t\t#Power dissipated in mW\n",
+ "P_D=P_D/1000;\t\t\t\t#Power dissipated in W\n",
+ "\n",
+ "#Result\n",
+ "print(\"Power dissipated = %.1fW\"%P_D);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power dissipated = 4.3W\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.40: Page number 181-182\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_CC=5.0;\t\t\t\t#Collector supply voltage in V\n",
+ "V_BB=1.0;\t\t\t\t#Base supply voltage in V\n",
+ "V_BE=0.7;\t\t\t\t#Base-emitter voltage in V\n",
+ "R_B=10.0;\t\t\t\t#Base resistor's resistance in kilo ohm\n",
+ "R_C=1.0;\t\t\t\t\t#Collector resistor's resistance in kilo ohm\n",
+ "beta=100.0;\t\t\t\t#base current amplification factor\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "#Applying Kirchhoff's voltage law along base circuit<\n",
+ "#We get, VBB- IB*RB - VBE=0.\n",
+ "#From the above equation, we get:\n",
+ "\n",
+ "I_B=(V_BB-V_BE)/R_B;\t\t\t#Base current in mA\n",
+ "\n",
+ "I_C=beta*I_B;\t\t\t\t#Collector current in mA\n",
+ "\n",
+ "#Applying Kirchhoff's voltage law along collector circuit:\n",
+ "\n",
+ "V_CE=V_CC-I_C*R_C;\t\t\t#Collector-emitter voltage in V\n",
+ "\n",
+ "#As power=curent*voltage\n",
+ "#P_D=I_C*V_CE\n",
+ "#From the above equation, we get:\n",
+ "P_D=V_CE*I_C;\t\t\t\t#Power dissipated in mW\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"Power dissipated = %.0fmW\"%P_D);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Power dissipated = 6mW\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 8.41 : Page number 182"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VBB=5.0; #Base supply voltage, V\n",
+ "RB=22.0; #Base resistor, kilo ohm\n",
+ "RC=1.0; #Collector resistor, kilo ohm\n",
+ "beta=100.0; #Base current amplification factor\n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "PD_max=800.0; #Maximum power dissipation, mW\n",
+ "VCE_max=15.0; #Maximum collector-emitter voltage, V\n",
+ "IC_max=100.0; #Maximum collector current, mA\n",
+ "\n",
+ "#Calculation\n",
+ "IB=((VBB-VBE)/RB)*1000; #Base current, \u03bcA\n",
+ "IC=beta*IB/1000; #Collector current, mA\n",
+ "\n",
+ "print(\"IC=%.1fmA is much less than IC_max=%dmA. Therefore, will not change with VCC and current rating is not exceeded.\"%(IC,IC_max));\n",
+ "\n",
+ "#VCC=VCE+IC*RC\n",
+ "VCC_max=VCE_max+IC*RC; #Maximum value of Collector supply voltage, V\n",
+ "PD=VCE_max*IC; #Power dissipation, mW\n",
+ "\n",
+ "print(\"PD=%dmW is less than PD_max=%dmW. Therefore, power rating is not exceeded.\"%(PD,PD_max));\n",
+ "\n",
+ "print(\"If base current is removed, transistor will turn off. Hence, VCE_max will be exceeded because entire supply voltage VCC will be dropped across the transistor.\");"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "IC=19.5mA is much less than IC_max=100mA. Therefore, will not change with VCC and current rating is not exceeded.\n",
+ "PD=293mW is less than PD_max=800mW. Therefore, power rating is not exceeded.\n",
+ "If base current is removed, transistor will turn off. Hence, VCE_max will be exceeded because entire supply voltage VCC will be dropped across the transistor.\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter9.ipynb b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter9.ipynb
new file mode 100644
index 00000000..e8168ab8
--- /dev/null
+++ b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/chapter9.ipynb
@@ -0,0 +1,1907 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:1e5463fc2e8c67a2f9099cf3f6c078bc1c9dccccd63589a75ad6ce5024fe6432"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "CHAPTER 9 : TRANSISTOR BIASING"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.1: Page number 195-196"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "V_CC=6.0; #Collector supply voltage\n",
+ "R_C=2.5; #Collector load in k\u2126\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#(i)\n",
+ "#For faithful amplification Vce (collector-emitter voltage)> 1V for Si transistor.\n",
+ "V_CE_max=1; #Maximum allowed collector-emitter voltage for faithful amplification, in V.\n",
+ "V_Rc_max=V_CC-V_CE_max; #maximum voltage drop across collector load in V.\n",
+ "I_C_max=V_Rc_max/R_C; #Maximum allowed collector current in mA\n",
+ "\n",
+ "#(ii)\n",
+ "IC_min_zero_signal=I_C_max/2; #Minimum zero signal collector current in mA\n",
+ "\n",
+ "#Results\n",
+ "print(\"The maximum allowed collector current during application of signal for faithful amplification = %d mA.\"%I_C_max);\n",
+ "print(\"The minimum zero signal collector current required = %d mA.\"%IC_min_zero_signal);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum allowed collector current during application of signal for faithful amplification = 2 mA.\n",
+ "The minimum zero signal collector current required = 1 mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.2: Page number 196\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=13.0; #Collector supply voltage in V\n",
+ "V_knee=1.0; #Knee voltage in V\n",
+ "R_C=4.0; #Collector load in k\u2126\n",
+ "rate_IC_VBE=5.0; #Rate of change of collector current IC with base-emitter voltage VBE in mA/V.\n",
+ "beta=100.0; #base current amplification factor\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "V_Rc_max=VCC-V_knee; #Maximum allowed voltage across collector load in V\n",
+ "I_C_max=V_Rc_max/R_C; #Maximum allowed collector current in mA\n",
+ "I_B_max=I_C_max/beta; #Maximum base current in mA\n",
+ "I_B_max=I_B_max*1000; #Maximum base current in \ud835\udf07A\n",
+ "\n",
+ "V_B_max=I_C_max/rate_IC_VBE; #Maximum base voltage signal in V\n",
+ "V_B_max=V_B_max*1000; #Maximum base voltage signal in mV\n",
+ "\n",
+ "#Results\n",
+ "print(\"Maximum base current =%d \ud835\udf07A.\"%I_B_max);\n",
+ "print(\"Maximum input signal voltage =%d mV.\"%V_B_max);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Maximum base current =30 \ud835\udf07A.\n",
+ "Maximum input signal voltage =600 mV.\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.3: Page number 200-201"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=9.0; #Colector supply voltage in V\n",
+ "VBB=2.0; #Base supply voltage in V\n",
+ "R_B=100.0; #Base resistor's resistance in k\u2126\n",
+ "R_C=2.0; #Collector load in k\u2126\n",
+ "beta=50.0; #base current amplification factor\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Case (i):\n",
+ "\n",
+ "#Applying Kirchhoff's law to the input circuit\n",
+ "#We get, IB*RB +VBE =VBB.\n",
+ "#Neglecting the small base-emitter voltage, we get:\n",
+ "I_B=VBB/R_B; #Base current in mA\n",
+ "I_C=beta*I_B; #Collector current in mA\n",
+ "\n",
+ "print(\"Collector current = %dmA\"%I_C);\n",
+ "\n",
+ "#Applying Kirchhoff's law to the output ciruit\n",
+ "#We get, IC*RC + VCE= VCC.\n",
+ "#From the above equation, we get:\n",
+ "V_CE=VCC-I_C*R_C; #Collector emitter voltage in V\n",
+ "\n",
+ "print(\"Collector emitter voltage =%dV.\"%V_CE);\n",
+ "\n",
+ "\n",
+ "#Case (ii):\n",
+ "\n",
+ "R_B=50.0;\n",
+ "I_B=VBB/R_B;\n",
+ "I_C=beta*I_B;\n",
+ "V_CE=VCC - I_C*R_C;\n",
+ "\n",
+ "print(\"The new operating point for base resistor RB=50 k\u2126 is, VCE=%dV and IC=%dmA.\"%(V_CE,I_C));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Collector current = 1mA\n",
+ "Collector emitter voltage =7V.\n",
+ "The new operating point for base resistor RB=50 k\u2126 is, VCE=5V and IC=2mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.4: Page number 201-202"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#variable declaration\n",
+ "beta=100.0; #base current amplification factor\n",
+ "VCC=6.0; #Collector suply voltagein V\n",
+ "VBE=0.7 #Base emitter voltage in V\n",
+ "R_B=530.0; #Base resistor's resistance in k\u2126 .\n",
+ "R_C=2.0; #Collector resistor's resistance in k\u2126 .\n",
+ "\n",
+ "#Calculation\n",
+ "#D.C load line equation : VCE=VCC-IC*RC;\n",
+ "#Calculating maximum VCE ,by IC=0;\n",
+ "I_C_Vce_max=0; #Collector current for maximum collector-emitter voltage, in mA\n",
+ "VCE_max=VCC;-I_C_Vce_max*R_C; #Maximum collector-emitter voltage in V\n",
+ "\n",
+ "\n",
+ "#Calculating maximum collector current IC,by VCE=0;\n",
+ "V_CE_IC_max=0; #Collector-emitter voltage for maximum collector current, in V \n",
+ "I_C_max=(VCC-V_CE_IC_max)/R_C; #Maximum collector current in mA\n",
+ "\n",
+ "\n",
+ "#Operating point:\n",
+ "#For input circuit, applying Kirchhoff's law, We get,\n",
+ "#VCC=IB*RB + VBE.\n",
+ "#From the above equation,\n",
+ "IB=(VCC-VBE)/R_B; #Base current in mA\n",
+ "IC=beta*IB; #Collector current\n",
+ "\n",
+ "#From the output circuit, applying Kirchhoff's law, we get:\n",
+ "VCE=VCC-IC*R_C; #Collector-emitter voltage in V\n",
+ "\n",
+ "\n",
+ "#Stability factor\n",
+ "SF=beta+1; \n",
+ "\n",
+ "#Result\n",
+ "print(\"Operating point: VCE= %dV and IC=%d mA\"%(VCE,IC));\n",
+ "print(\"Stability factor= %d.\"%SF);\n",
+ "\n",
+ "\n",
+ "#plot\n",
+ "limit = plt.gca()\n",
+ "limit.set_xlim([0,10])\n",
+ "limit.set_ylim([0,5])\n",
+ "VCE=[i for i in range(0,(int)(VCC+1))]; #Plot variable for V_CE\n",
+ "IC=[((VCC-i)/(R_C)) for i in (VCE[:])]; #Plot variable for I_C\n",
+ "\n",
+ "p=plot(VCE,IC);\n",
+ "xlabel(\"VCE(V)\");\n",
+ "ylabel(\"IC(mA)\");\n",
+ "title(\"d.c load line\");\n",
+ "show(p);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Operating point: VCE= 4V and IC=1 mA\n",
+ "Stability factor= 101.\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAEZCAYAAACZwO5kAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGk5JREFUeJzt3XtQVPfdx/HPIqTexQugCKjxEpVFwetoNVk0XqsmijFi\nNQZjMqONo0lnWmsatZ3RxMTUYFrTPonGWCsYGxuNEms1WWu11NbLo6FpiVNJuHi/U0Vu+/zhwwoo\nCMjZs3v2/ZphIrvL/r7smA8ff5xz1uZyuVwCAFhWgNkDAACMRdADgMUR9ABgcQQ9AFgcQQ8AFkfQ\nA4DFEfTwas8++6xeffXVB3qOrKwsBQQEqLS0tJ6musPhcGjt2rX3vG/p0qWaMWOGJOnbb79Vs2bN\nxNHMMEOg2QMA1bHZbLLZbGaPUaXq5it/e1RUlK5fv+6psYAKaPTwer7agn11blgPQQ+vcvToUfXp\n00fNmzfX1KlTVVBQUOVjS0tLtXz5cnXp0kXNmzdXv379lJOTc9818vLyNGHCBLVu3Vpdu3bV+++/\n777v0KFDGjRokFq2bKnw8HDNmzdPRUVF7vv/9Kc/qXv37goODta8efPkcrlqFOiVt48cDocWL16s\nIUOGqHnz5ho1apQuXrzofnx6eroGDx6sli1bKjY2Vvv27bvvGkBVCHp4jcLCQj355JOaOXOmLl++\nrKeeekoff/xxlVsjb731llJTU/XZZ5/p2rVr+uCDD9S4ceP7rjN16lRFRUXp9OnT+v3vf69Fixbp\niy++kCQFBgYqOTlZFy9e1F//+lft3btXa9askSRduHBBCQkJWr58uS5evKjOnTvrwIEDdd5aSklJ\n0fr163Xu3DkVFhZq5cqVkqTc3FyNGzdOixcv1uXLl7Vy5UolJCTowoULdVoHIOjhNdLT01VcXKz5\n8+erQYMGSkhIUP/+/at8/Nq1a7Vs2TJ17dpVkhQTE6NWrVpVu0Z2drYOHjyoFStW6KGHHlLv3r01\ne/ZsbdiwQZLUp08fDRgwQAEBAerQoYNeeOEFd5tOS0uT3W7XpEmT1KBBAy1YsEBt27at0/dqs9mU\nlJSkLl26qGHDhpoyZYqOHTsmSdq4caPGjh2r0aNHS5Ief/xx9evXT2lpaXVaCyDo4TXy8vLUvn37\nCrd16NChyq2R7Oxsde7cudZrtGrVSk2aNHHfFhUVpdzcXElSZmamxo0bp3bt2qlFixZ65ZVX3Fsq\neXl5ioiIqPB8kZGRtVq/vPI/JBo1aqT8/HxJ0jfffKMtW7aoZcuW7o8DBw7ozJkzdV4L/o2gh9do\n166dO3DLfPPNN1VujURGRurkyZO1WiM8PFyXLl1yh6p0+9DHsgCfM2eOevbsqZMnT+rq1atatmyZ\ne189PDxc2dnZ7q9zuVwVPq+srls6UVFRmjFjhi5fvuz+uH79un70ox/V6fkAgh5eY/DgwQoMDNTq\n1atVVFSkrVu36u9//3uVj589e7ZeffVVnTx5Ui6XS8ePH9elS5eqXSMyMlKDBw/WT37yE926dUvH\njx/XunXrNH36dElSfn6+mjVrpsaNG+tf//qX3n33XffXjh07VhkZGfrDH/6g4uJirV69utqWfb9f\n0lZ1//Tp0/Xpp59q9+7dKikpUUFBgZxO510/BIGaIujhNYKCgrR161atX79erVu31kcffaSEhAT3\n/WUnHZUdWfPyyy9rypQpGjlypFq0aKHnn3++yqN0yrfrlJQUZWVlKTw8XJMmTdLPf/5zDRs2TJK0\ncuVKbdq0Sc2bN9cLL7ygqVOnur+2TZs22rJlixYuXKg2bdro5MmTGjJkSJXfT+Vj7Cs3/Mr3lX0e\nERGhbdu2afny5QoNDVVUVJTeeustQ074gn+wGf3GIx07dlTz5s3VoEEDBQUF6dChQ0YuBwCoxPAz\nY202m5xO532PhgAAGMMjWzecIQgA5jE86G02m/s44Pfee8/o5QAAlRi+dXPgwAG1a9dO58+f14gR\nI9S9e3cNHTrU6GUBAP/P8KBv166dJCkkJEQTJ07UoUOH3EHvzVclBABvVpstcUO3bm7cuOG+NOt/\n//tf7d69WzExMRUeU3ZRKH//WLJkiekzeMsHrwWvBa9F9R+1ZWijP3v2rCZOnChJKi4u1ve//32N\nHDnSyCUBAJUYGvSdOnVyX6gJAGAOzoz1Eg6Hw+wRvAavxR28FnfwWtSd4WfGVru4zVan/SYA8Ge1\nzU4aPQBYHEEPABZH0AOAxRH0AGBxBD0AWBxBDwAWR9ADgMUR9ABgcQQ9AFgcQQ8AFkfQA4DFEfQA\nYHEEPQBYHEEPABZH0AOAxRH0AGBxBD0AWBxBDwAWR9ADgMUR9ABgcQQ9AFgcQQ8AFkfQA4DFEfQA\nYHEEPQBYHEEPABZH0AOAxRH0AGBxBD0AWBxBDwAWR9ADgMUR9ABgcQQ9AFgcQQ8AFmd40JeUlCgu\n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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f8eea67df10>"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.5: Page number 202"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=12.0; #Collector supply voltage in V\n",
+ "beta=100.0; #base current amplification factor\n",
+ "I_C_zero_signal=1.0; #zero signal collector current in mA\n",
+ "VBE=0.3; #Base-emitter voltage of Ge transistor in V\n",
+ "\n",
+ "#calculations\n",
+ "\n",
+ "#Case(i)\n",
+ "I_B_zero_signal=I_C_zero_signal/beta; #Zero signal base current in mA\n",
+ "\n",
+ "#applying the Kirchhoff's law along input circuit:\n",
+ "#We get, VCC=IB*RB +VBE\n",
+ "#From the above equation we get,\n",
+ "R_B=(VCC-VBE)/I_B_zero_signal; #Required base resistor's resistance in k\u2126\n",
+ "\n",
+ "print(\"Value of base resistor for operating the given Ge transistor at zero signal IC=1mA is = %d k\u2126\"%R_B);\n",
+ "\n",
+ "\n",
+ "\n",
+ "#Case(ii)\n",
+ "beta=50;\n",
+ "I_B=(VCC-VBE)/R_B; #Base current of another transistor with beta=50, in mA\n",
+ "I_C_zero_signal=beta*I_B; #Zero signal collector current for beta=50 , in mA\n",
+ "\n",
+ "print(\"The new value of zero signal collector current =%.1fmA\"%I_C_zero_signal);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of base resistor for operating the given Ge transistor at zero signal IC=1mA is = 1170 k\u2126\n",
+ "The new value of zero signal collector current =0.5mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.6:Page number 202-203"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Varaible declaration\n",
+ "VCC=10.0; #Collector supply voltage in V\n",
+ "VBE=0; #Base emitter voltage in V(considering itas zero due to it's small value)\n",
+ "R_B=1.0; #Base resistor's resistance in M\u2126\n",
+ "R_C=2.0; #Collector resistor's resistance in k\u2126 \n",
+ "R_E=1.0; #Emitter resistor's resistance in k\u2126\n",
+ "beta=100.0; #Base current amplification factor\n",
+ "\n",
+ "#Calculations\n",
+ "#using Kirchhoff's law in the input circuit, we get:\n",
+ "#VCC=IB*RB +VBE +IE*RE\n",
+ "#Since, IE=(beta +1)*I_B\n",
+ "#From the above equation we get:\n",
+ "I_B=round((VCC-VBE)/((beta + 1)*R_E + R_B*1000),4); #Base current in mA\n",
+ "I_C=round(beta*I_B,2); #Collector current in mA\n",
+ "I_E=I_B+I_C; #Emitter current in mA\n",
+ "\n",
+ "#Result\n",
+ "print(\"Base current =%.4f mA\"%I_B);\n",
+ "print(\"Collector current =%.2f mA\"%I_C);\n",
+ "print(\"Emitter current =%.3f mA\"%I_E);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Base current =0.0091 mA\n",
+ "Collector current =0.91 mA\n",
+ "Emitter current =0.919 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.7: Page number 203-204"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCE=8.0; #Collector-emitter voltage at operating point in V\n",
+ "IC=2.0; #Colector current at operating point in mA\n",
+ "VCC=15.0; #Collector supply voltagein V\n",
+ "beta=100.0; #base current amplification factor\n",
+ "VBE=0.6; #base emitter voltage in V\n",
+ "\n",
+ "#Calculations\n",
+ "#Applying Kirchhoff's law along the output circuit,\n",
+ "#we get, VCC=VCE+IC*RC.\n",
+ "#So, from above equation we get:\n",
+ "RC=(VCC-VCE)/IC; #Collector resistor's resistance in k\u2126 .\n",
+ "IB=IC/beta; #Base current in mA\n",
+ "\n",
+ "#Applying Kirchhoff's law along the input circuit,\n",
+ "#we get, VCC=IB*RB + VBE\n",
+ "#So, from the above equation:\n",
+ "RB=(VCC-VBE)/IB; #Base resistor's resistance in k\u2126 .\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"Collector load =%.1f k\u2126 .\"%RC);\n",
+ "print(\"Base resistor=%d k\u2126 .\"%RB);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Collector load =3.5 k\u2126 .\n",
+ "Base resistor=720 k\u2126 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.8: Page number 204"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=12.0; #Collector supply voltage in V\n",
+ "VBE=0.7; #Base-emitter voltage in V\n",
+ "RB=100.0; #Base resistor's resistance in k\u2126\n",
+ "RC=560.0; #Collector resistor's resistance in \u2126\n",
+ "beta_25=100.0; #base current amplification factor at 25 degree celsius\n",
+ "beta_75=150.0; #base current amplification factor at 25 degree celsius\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "\n",
+ "#Applying Kirchhoff's law along input circuit, we get\n",
+ "#VCC=IB*RB+VBE\n",
+ "IB=(VCC-VBE)/RB; #Base current at 25 degree celsius, in mA\n",
+ "\n",
+ "\n",
+ "#For temperature 25 degree celsius\n",
+ "IC_25=beta_25*IB; #Collector current at 25 degree celsius, in mA\n",
+ "\n",
+ "\n",
+ "#Applying Kirchhoff's alw at the output circuit,\n",
+ "#we get: VCC=IC*RC + VCE\n",
+ "#From the above equation,\n",
+ "VCE_25=round(VCC-(IC_25/1000)*RC,2); #Collector emitter voltage at 25 degree celsius, in V\n",
+ "\n",
+ "\n",
+ "#For temperature 75 degree celsius\n",
+ "IC_75=round(beta_75*IB,0); #Collector current at 75 degree celsius, in mA\n",
+ "\n",
+ "#Applying Kirchhoff's alw at the output circuit,\n",
+ "#we get: VCC=IC*RC + VCE\n",
+ "#From the above equation,\n",
+ "VCE_75=round(VCC-(IC_75/1000)*RC,2); #Collector emitter voltage at 75 degree celsius, in V\n",
+ "\n",
+ "\n",
+ "change_IC=(IC_75-IC_25)*100.0/IC_25; #percentage change in collector current\n",
+ "change_VCE=(VCE_75-VCE_25)*100.0/VCE_25; #Percentage change in collector-emitter voltage \n",
+ "\n",
+ "#Results\n",
+ "print(\"The percentage change in collector current =%d%%\"%change_IC);\n",
+ "print(\"The percentage change in collector-emitter voltage =%.1f%%\"%change_VCE);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The percentage change in collector current =50%\n",
+ "The percentage change in collector-emitter voltage =-56.3%\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.10: Page number 205"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCE_max=20.0; #Maximum collector-emitter voltage in V\n",
+ "VBE=0.7; #Base-emitter voltage in V\n",
+ "IC_max=8.0; #Maximum collector current in mA\n",
+ "IB=40.0; #Base current in microampere\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#During cut off state the collector-emitter voltage is maximum and equal to collector supply voltage\n",
+ "VCC=VCE_max; #Collector supply voltage in V\n",
+ "\n",
+ "#Maximum collector current IC_max=collector supply voltage(VCC)/collector load(RC)\n",
+ "#Collector load(RC)=VCC*IC_max\n",
+ "RC=VCC/IC_max; #Collector load in k\u2126 .\n",
+ "\n",
+ "#Applying Kirchhoff's law along input circuit,\n",
+ "#we get, VCC=IB*RB +VBE.\n",
+ "#From the above equation, we get:\n",
+ "RB=(VCC-VBE)/(IB/1000); #Base resistor's resistance in k\u2126 .\n",
+ "\n",
+ "#Results\n",
+ "print(\"Collector supply voltage = %dV\"%VCC);\n",
+ "print(\"Collector load=%.1f k\u2126 .\"%RC);\n",
+ "print(\"Base resistor's resistance=%.1f k\u2126 .\"%RB);\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Collector supply voltage = 20V\n",
+ "Collector load=2.5 k\u2126 .\n",
+ "Base resistor's resistance=482.5 k\u2126 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.12: Page number 208"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=20.0; #Collector supply voltage in V\n",
+ "VEE=-20.0; #Emitter supply voltage in V\n",
+ "RB=100.0; #Base resistor's resistance in k\u2126\n",
+ "RC=4.7; #Collector resistor's resistance in k\u2126\n",
+ "RE=10.0; #Emitter resistor's resistance in k\u2126\n",
+ "VBE=0.7; #Base-emitter voltage in V\n",
+ "beta=85.0; #Base current amplification factor\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "#Applying Kirchhoff's voltage law along the base-emitter circuit (input circuit),\n",
+ "#we get,IB*RB +IE*RE +VBE -VEE=0.\n",
+ "#Since IB=IC/beta and IC~IE,\n",
+ "#(IE/beta)*RB + IE*RE + VBE + VEE =0.\n",
+ "IE=(-VEE-VBE)/(RE + RB/beta); #Emitter current in mA\n",
+ "IC=IE; #Collector current (approximately equal to emitter current) in mA\n",
+ "\n",
+ "#Applying Kirchhoff's law from VCC till collector terminal,\n",
+ "#we get, VCC - IC*RC =VC\n",
+ "VC=VCC-IC*RC; #voltage at collector terminal in V\n",
+ "\n",
+ "#Applying Kirchhoff's law from emitter terminal to VEE\n",
+ "#we get, VE -IE*RE =VEE\n",
+ "VE=VEE + IE*RE; #Voltage at emitter treminal in V\n",
+ "\n",
+ "VCE=VC-VE; #Collector-emitter voltage in V\n",
+ "\n",
+ "#Results\n",
+ "print(\"The collector current = %.2f mA\"%IC);\n",
+ "print(\"The emitter current = %.2f mA\"%IE);\n",
+ "print(\"The voltage at collector terminal = %.1f V\"%VC);\n",
+ "print(\"The collector-emitter voltage = %.1f V\"%VCE);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The collector current = 1.73 mA\n",
+ "The emitter current = 1.73 mA\n",
+ "The voltage at collector terminal = 11.9 V\n",
+ "The collector-emitter voltage = 14.6 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.13: Page number 208-209\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=20.0; #Collector supply voltage in V\n",
+ "VEE=-20.0; #Emitter supply voltage in V\n",
+ "RB=100.0; #Base resistor's resistance in k\u2126\n",
+ "RC=4.7; #Collector resistor's resistance in k\u2126\n",
+ "RE=10.0; #Emitter resistor's resistance in k\u2126\n",
+ "beta1=85.0; #Base current amplification factor for case 1 \n",
+ "beta2=100.0; #Base current amplification factor for case 1\n",
+ "VBE_1=0.7; #Base emitter voltage for case 1 in V\n",
+ "VBE_2=0.6; #Base emitter voltage for case 2 in V\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "#For beta=85 and VBE=0.7,\n",
+ "#As calculated in the previous question,\n",
+ "IC_1=1.73; #Collector current in mA.\n",
+ "VCE_1=14.6; #Collector-emitter voltage in V.\n",
+ "\n",
+ "\n",
+ "#For case (ii)\n",
+ "#beta=100 and VBE=0.6\n",
+ "\n",
+ "#Applying Kirchhoff's voltage law along the base-emitter circuit (input circuit),\n",
+ "#we get,IB*RB +IE*RE +VBE -VEE=0.\n",
+ "#Since IB=IC/beta and IC~IE,\n",
+ "#(IE/beta)*RB + IE*RE + VBE +VEE =0.\n",
+ "IE_2=round((-VEE-VBE_2)/(RE + RB/beta2),2); #Emitter current in mA\n",
+ "IC_2=IE_2; #Collector current (approximately equal to emitter current) in mA\n",
+ "\n",
+ "#Applying Kirchhoff's law from VCC till collector terminal,\n",
+ "#we get, VCC - IC*RC =VC\n",
+ "VC=round(VCC-IC_2*RC,1); #voltage at collector terminal in V\n",
+ "\n",
+ "#Applying Kirchhoff's law from emitter terminal to VEE\n",
+ "#we get, VE -IE*RE =VEE\n",
+ "VE=round(VEE + IE_2*RE,1); #Voltage at emitter treminal in V\n",
+ "\n",
+ "VCE_2=VC-VE; #Collector-emitter voltage in V\n",
+ "\n",
+ "\n",
+ "change_IC= (IC_2-IC_1)*100/IC_1; #%age change in collector current\n",
+ "\n",
+ "change_VCE=(VCE_2-VCE_1)*100/VCE_2; #%age change in collector-emitter voltage\n",
+ "\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"Percentage change in collector current =%.1f%%\"%change_IC);\n",
+ "print(\"Percentage change in collector-emitter voltage =%.1f%%\"%change_VCE);"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Percentage change in collector current =1.7%\n",
+ "Percentage change in collector-emitter voltage =-3.5%\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.14: Page number 210\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=20.0; #Collector supply voltage in V\n",
+ "VBE=0.7 #Base-emitter voltage in V\n",
+ "RB=100.0; #Base resistor's resistance in k\u2126\n",
+ "RC=1.0; #Collector resistor's resistance in k\u2126\n",
+ "beta=100.0; #base current amplification factor\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "#Applying Kirchhoff's law along input circuit,\n",
+ "#we get, VCC -IC*RC -IB*RB -VBE=0.\n",
+ "#since IC= beta*IB,\n",
+ "#We get,\n",
+ "IB=(VCC-VBE)/(RB + beta*RC); #Base current in mA\n",
+ "IC=beta*IB; #Collector current in mA\n",
+ "\n",
+ "#Applying Kirchhoff's law along the output circuit,\n",
+ "#we get, VCC-VCE - IC*RC=0.\n",
+ "#From the above equation,\n",
+ "VCE=VCC-IC*RC; #Collector emitter voltage in V\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"The operating point : VCE=%.2fV and IC=%.2fmA.\"%(VCE,IC));\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The operating point : VCE=10.35V and IC=9.65mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.15: Page number 210-211\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=12.0; #Collector supply voltage in V\n",
+ "VBE=0.3; #Base emitter voltage in V\n",
+ "IC=1.0; #Collector current in mA\n",
+ "VCE=8.0; #Collector emitter voltage in V\n",
+ "beta=100.0; #Base current amplification factor\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#Case(i)\n",
+ "\n",
+ "#Applying Kirchhoff's law along the output circuit,\n",
+ "#we get, VCC-IC*RC-VCE=0.\n",
+ "#from the above equation we get,\n",
+ "RC=(VCC-VCE)/IC; #Collector load in kilo ohm\n",
+ "IB=IC/beta; #Base current in mA\n",
+ "\n",
+ "#Applying Kirchhoff's law along input circuit\n",
+ "#we get, VCC-VBE-(beta*IB*RC)-IB*RB=0.\n",
+ "#From the above equation we get,\n",
+ "RB=round((VCC-VBE-beta*IB*RC)/IB,0); #Base resistor's resistance in k\u2126\n",
+ "\n",
+ "#Results\n",
+ "print(\"The resistance value of base resistor=%d k\u2126 and collector load= %d k\u2126.\"%(RB,RC));\n",
+ "\n",
+ "#Case(ii)\n",
+ "\n",
+ "beta=50;\n",
+ "\n",
+ "#Applying Kirchhoff's law along input circuit,\n",
+ "#we get, VCC -IC*RC -IB*RB -VBE=0.\n",
+ "#since IC= beta*IB,\n",
+ "#We get,\n",
+ "IB=(VCC-VBE)/(RB + beta*RC); #Base current in mA\n",
+ "IC=beta*IB; #Collector current in mA\n",
+ "\n",
+ "#Applying Kirchhoff's law along the output circuit,\n",
+ "#we get, VCC-VCE - IC*RC=0.\n",
+ "#From the above equation,\n",
+ "VCE=round(VCC-IC*RC,1); #Collector emitter voltage in V\n",
+ "\n",
+ "#Results\n",
+ "print(\"The operating point : VCE=%.1fV and IC=%.1fmA.\"%(VCE,IC));\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The resistance value of base resistor=770 k\u2126 and collector load= 4 k\u2126.\n",
+ "The operating point : VCE=9.6V and IC=0.6mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.16 : Page number 211"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCE=2.0; #Collector-emitter voltage at operating point in V\n",
+ "VBE=0.7; #Base-emitter voltage in V \n",
+ "IC=1.0; #Collector current at operating point in mA\n",
+ "beta=100.0; #Base current amplification factor\n",
+ "\n",
+ "#Calculations\n",
+ "IB=IC/beta; #Base current in mA\n",
+ "\n",
+ "#As, VCE=VCB +VBE\n",
+ "#we get,\n",
+ "VCB=VCE-VBE; #Collector-base voltage in V\n",
+ "RB=VCB/IB; #Base resistor's resistance in k\u2126\n",
+ "\n",
+ "#Results\n",
+ "print(\"Value of base resistor's resistance=%d k\u2126.\"%RB);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of base resistor's resistance=130 k\u2126.\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.17 : Page number 211-212"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=12.0; #Collector supply voltage in V\n",
+ "VBE=0.7 #Base-emitter voltage in V\n",
+ "RB=400.0; #Base resistor's resistance in k\u2126\n",
+ "RC=4.0; #Collector resistor's resistance in k\u2126\n",
+ "RE=1.0; #Emitter resistor's resistance in k\u2126\n",
+ "beta=100.0; #Base current amplification factor\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "#Applying Kirchhoff's law along outut circuit,\n",
+ "#we get, VCC -(IC+IB)*RC -IB*RB -VBE - IE*RE=0.\n",
+ "#since IC= beta*IB, IC+IB ~ IC and IE~IC,\n",
+ "#We get, VCC - IC*RC -(IC/beta)*RB -VBE - IE*RE\n",
+ "IC=(VCC-VBE)/(RB/beta + RC + RE); #Collector current current in mA.\n",
+ "IE=IC; #Emitter current in mA\n",
+ "\n",
+ "#Applying Kirchhoff's law along the output circuit,\n",
+ "#we get, VCC-VCE - IC*RC -IE*RE=0. (IE~IC)\n",
+ "#From the above equation,\n",
+ "VCE=VCC-IC*(RC+RE); #Collector emitter voltage in V\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"The operating point : VCE=%.1fV and IC=%.2fmA.\"%(VCE,IC));\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The operating point : VCE=5.7V and IC=1.26mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.18 : Page number 212"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=10.0; #Collector supply voltage in V\n",
+ "RB=100.0; #Base resistor's resistance in k\u2126\n",
+ "RC=10.0; #Collector resistor's resistance in k\u2126\n",
+ "RE=0; #Emitter resistor's resistance in k\u2126\n",
+ "VBE=0.7; #Base-emitter voltage in V\n",
+ "beta=100.0; #Base current amplification factor\n",
+ "\n",
+ "#Calculations\n",
+ "#Applying Kirchhoff's law along outut circuit,\n",
+ "#we get, VCC -(IC+IB)*RC -IB*RB -VBE - IE*RE=0.\n",
+ "#since IC= beta*IB, IC+IB ~ IC and IE~IC,\n",
+ "#We get, VCC - IC*RC -(IC/beta)*RB -VBE - IE*RE\n",
+ "IC=(VCC-VBE)/(RC +RB/beta + RE); #Collector current in mA\n",
+ "\n",
+ "#Applying Kirchhoff's law along the output circuit,\n",
+ "#we get, VCC-VCE - IC*RC =0. (IE~IC)\n",
+ "#From the above equation,\n",
+ "VCE=VCC-IC*RC; #Collector-emitter voltage in V\n",
+ "\n",
+ "#Results\n",
+ "print(\"The d.c bias values are: VCE=%.2fV and IC=%.3fmA\"%(VCE,IC));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The d.c bias values are: VCE=1.55V and IC=0.845mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.19: Page number 214-215\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "#Variable declaration\n",
+ "VCC=15.0; #Collector supply voltage in V\n",
+ "R1=10.0; #Resistor R1's resistance in k\u2126\n",
+ "R2=5.0; #Resistor R2's resistance in k\u2126\n",
+ "RC=1.0; #Collector resistor's resistance in k\u2126 \n",
+ "RE=2.0; #Emitter resistor's resistance in k\u2126\n",
+ "VBE=0.7; #Base-emitter voltage in V\n",
+ "\n",
+ "#Calculations\n",
+ "#Applying Kirchhoff's law along output circuit\n",
+ "#VCE=VCC-IC*(RC+RE);\n",
+ "#IC=0, for VCE_max\n",
+ "VCE_max=VCC; #Maximum collector-emitter voltage in V\n",
+ "#VCE=0, for IC_max\n",
+ "IC_max=VCC/(RC+RE); #Maximum collector current in mA\n",
+ "\n",
+ "#Operating point\n",
+ "V2=(VCC*R2)/(R1+R2); #Voltage across R2 resistor V\n",
+ "IE=(V2-VBE)/RE; #Emitter current in mA\n",
+ "IC=IE; #Collector current(Approx. equal to emitter current) in mA\n",
+ "VCE=VCC-IC*(RC+RE); #Collector-emitter voltage in V\n",
+ "\n",
+ "#Results\n",
+ "print(\"Collector-emitter voltage at operating point=%.2fV\"%VCE);\n",
+ "print(\"Collector current at operating point = %.2fmA\"%IC);\n",
+ "\n",
+ "#plot\n",
+ "limit = plt.gca()\n",
+ "limit.set_xlim([0,20])\n",
+ "limit.set_ylim([0,6])\n",
+ "VCE=[i for i in range(0,(int)(VCC+1))]; #Plot variable for V_CE\n",
+ "IC=[((VCC-i)/(RC+RE)) for i in (VCE[:])]; #Plot variable for I_C\n",
+ "\n",
+ "p=plot(VCE,IC);\n",
+ "xlabel(\"VCE(V)\");\n",
+ "ylabel(\"IC(mA)\");\n",
+ "title(\"d.c load line\");\n",
+ "show(p);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Collector-emitter voltage at operating point=8.55V\n",
+ "Collector current at operating point = 2.15mA\n"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\nAAAAAElFTkSuQmCC\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7f8eeacf1ad0>"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.20: Page number 215-216\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=15.0; #Collector supply voltage in V\n",
+ "R1=10.0; #Resistor R1's resistance in k\u2126 .\n",
+ "R2=5.0; #Resistor R2's resistance in k\u2126 .\n",
+ "RC=1.0; #Collector resistor's resistance in k\u2126 . \n",
+ "RE=2.0; #Emitter resistor's resistance in k\u2126 .\n",
+ "VBE=0.7; #Base-emitter voltage in V\n",
+ "\n",
+ "#Calculations\n",
+ "#Using Thevenin's Theorem for replacing circuit consisting of VCC,R1,R2\n",
+ "E0=(VCC*R2)/(R1+R2); #Thevenin's voltage in V\n",
+ "R0=(R1*R2)/(R1+R2); #Thevenin's equivalent resistance in k\u2126 .\n",
+ "\n",
+ "#Applying Kirchhoff' law along thevenin's equivalent circuit,\n",
+ "#E0=IB*R0+VBE+IE*RE;\n",
+ "#Since IE~IC and IC=beta*IB\n",
+ "#IC=(E0-VBE)/(R0/beta +RE);\n",
+ "IC=(E0-VBE)/RE; #(Since R0/beta << RE) collector current in mA\n",
+ "VCE=VCC-IC*(RC+RE); #Collector emitter voltage in V\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"Collector-emitter voltage at operating point=%.2fV\"%VCE);\n",
+ "print(\"Collector current at operating point = %.2fmA\"%IC);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Collector-emitter voltage at operating point=8.55V\n",
+ "Collector current at operating point = 2.15mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.21: Page number 216-217\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=12.0; #Collector supply voltage in V\n",
+ "RE=1.0; #Emitter resistor, k\u2126 .\n",
+ "R1=50.0; #Resistor R1, k\u2126 .\n",
+ "R2=10.0; #Resistor R2, k\u2126 .\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#(i)\n",
+ "VBE=0.1; #Base-emitter voltage in V\n",
+ "V2=(VCC*R2)/(R1+R2); #Voltage drop across resistor R2, V \n",
+ "IE=(V2-VBE)/RE; #Emitter current in mA\n",
+ "\n",
+ "print(\"(i)Emitter current= %.1fmA\"%IE);\n",
+ "\n",
+ "#(ii)\n",
+ "VBE=0.3; #Base-emitter voltage in V\n",
+ "V2=(VCC*R2)/(R1+R2); #Voltage drop across resistor R2, V\n",
+ "IE=(V2-VBE)/RE; #Emitter current in mA\n",
+ "\n",
+ "print(\"(ii)Emitter current= %.1fmA\"%IE);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i)Emitter current= 1.9mA\n",
+ "(ii)Emitter current= 1.7mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.22: Page number 217\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=20.0; #Collector supply voltage, V\n",
+ "R1=10.0; #Resistor R1, k\u2126\n",
+ "R2=10.0; #Resistor R2, k\u2126 .\n",
+ "RC=1.0; #Collector resistor, k\u2126 .\n",
+ "RE=5.0; #Emitter resistor, k\u2126 .\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "V2=(VCC*R2)/(R1+R2); #Voltage drop across resistor R2, V\n",
+ "\n",
+ "#Applying kirchhoff's law from base terminal to emitter resistor\n",
+ "#V2=VBE+IE*RE\n",
+ "#VBE is neglected due to its small value\n",
+ "\n",
+ "IE=V2/RE; #Emitter current in mA\n",
+ "IC=IE; #Collector current (approx. equal to emitter current), mA\n",
+ "\n",
+ "#Applying Kirchhoff's law along output circuit\n",
+ "VCE=VCC-IC*(RC+RE); #Collector-emitter voltage , V\n",
+ "VC=VCC-IC*RC; #Voltage at collector terminal,V\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"Emitter current =%dmA\"%IE);\n",
+ "print(\"Collector-emitter voltage=%dV\"%VCE);\n",
+ "print(\"Collector terminal's voltage=%dV\"%VC);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Emitter current =2mA\n",
+ "Collector-emitter voltage=8V\n",
+ "Collector terminal's voltage=18V\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.23: Page number 219-220\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Variable declaration\n",
+ "VCC=12.0; #Collector supply voltage, V\n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "beta=50; #Base current amplification factor\n",
+ "R1=150; #Resistor R1, k\u2126 .\n",
+ "R2=100; #Resistor R2, k\u2126 .\n",
+ "RC=4.7; #Collector resistor, k\u2126 .\n",
+ "RE=2.2; #Emitter resistor, k\u2126 .\n",
+ "\n",
+ "#Calculations\n",
+ "#Using Thevenin's theorem, calculating Thevenin's voltage and resistance\n",
+ "E0=(VCC*R2)/(R1+R2); #Thevenin's voltage, V\n",
+ "R0=(R1*R2)/(R1+R2); #Thevenin's resistance, k\u2126 .\n",
+ "\n",
+ "#Applying Kirchhoff' law along thevenin's equivalent circuit,\n",
+ "#E0=IB*R0+VBE+IE*RE;\n",
+ "#Since IE~IC and IC=beta*IB\n",
+ "IB=round((E0-VBE)/(R0+beta*RE),3); #Base current in mA\n",
+ "IC=round(beta*IB,1); #Collector current, mA\n",
+ "\n",
+ "#Applying Kirchhoff's law along the output circuit\n",
+ "VCE=VCC-IC*(RC+RE); #Collector-emitter voltage, V\n",
+ "\n",
+ "S=(beta+1)*(1+R0/RE)/(beta +1+R0/RE); #Stability factor\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"Operating point : VCE= %.2fV and IC=%.1fmA\"%(VCE,IC));\n",
+ "print(\"Stability factor=%.1f\"%S);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Operating point : VCE= 3.72V and IC=1.2mA\n",
+ "Stability factor=18.4\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.24 : Page number 220\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Variable declaration\n",
+ "VCC=15.0; #Collector supply voltage, V\n",
+ "VBE=0.7; #Base-emitter voltage , V\n",
+ "beta=100.0; #Base current amplification factor\n",
+ "R1=6.0; #Resistor R1, k\u2126 .\n",
+ "R2=3.0; #Resistor R2, k\u2126 .\n",
+ "RC=470.0; #Collector resistor, \u2126.\n",
+ "RE=1.0; #Emitter resistor, k\u2126 .\n",
+ "\n",
+ "#Calculations\n",
+ "#Using Thevenin's theorem, calculating Thevenin's voltage and resistance\n",
+ "E0=(VCC*R2)/(R1+R2); #Thevenin's voltage, V\n",
+ "R0=(R1*R2)/(R1+R2); #Thevenin's resistance, k\u2126 .\n",
+ "\n",
+ "#Applying Kirchhoff' law along thevenin's equivalent circuit,\n",
+ "#E0=IB*R0+VBE+IE*RE;\n",
+ "#Since IE~IC and IC=beta*IB\n",
+ "IB=round((E0-VBE)/(R0+beta*RE),3); #Base current in mA\n",
+ "IC=round(beta*IB,1); #Collector current, mA\n",
+ "\n",
+ "#Applying Kirchhoff's law along the output circuit\n",
+ "VCE=VCC-IC*(RC/1000+RE); #Collector-emitter voltage, V\n",
+ "\n",
+ "S=(beta+1)*(1+R0/RE)/(beta +1+R0/RE); #Stability factor\n",
+ "\n",
+ "#Results\n",
+ "print(\"Operating point : VCE= %.2fV and IC=%.1fmA\"%(VCE,IC));\n",
+ "print(\"Stability factor=%.2f\"%S);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Operating point : VCE= 8.83V and IC=4.2mA\n",
+ "Stability factor=2.94\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.25 : Page number 221-222\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Varaible declaration\n",
+ "VCC=9; #Collector supply voltage, V\n",
+ "VCE=3; #Collector-emitter voltage, V\n",
+ "VBE=0.3; #Base-emitter voltage in V\n",
+ "RC=2.2; #Collector resistor , k\u2126 .\n",
+ "IC=2; #Collector current, mA\n",
+ "beta=50.0; #Base current amplification factor\n",
+ "\n",
+ "#Calculations\n",
+ "IB=IC/beta; #Base current in mA\n",
+ "\n",
+ "#According to given relation, I1=10*IB\n",
+ "I1=IB*10; #Current through the resistor R1, mA\n",
+ "\n",
+ "#I1=VCC/(R1+R2), .'s LAW\n",
+ "R1_R2_sum=VCC/I1; #Sum of the resistor's R1 and R2, k\u2126 (OHM'S LAW).\n",
+ "\n",
+ "#Applying Kirchhoff's law along the output circuit\n",
+ "#VCC=IC*RC+VCE+IE*RE\n",
+ "#IC~IE\n",
+ "RE=(VCC-IC*RC-VCE)/IC; #Emitter resistor, k\u2126 .\n",
+ "RE=round(RE*1000,0); #Emittter resistor, \u2126 .\n",
+ "\n",
+ "IE=IC; #Emittter current(approximately equal to collector current), mA\n",
+ "VE=IE*(RE/1000); #Voltage at emitter terminal (OHM's LAW), V\n",
+ "V2=VBE+VE; #Voltage drop across resistor R2, V\n",
+ "\n",
+ "R2=V2/I1; #Resistor R2,(OHM's LAW), k\u2126 .\n",
+ "R1=R1_R2_sum-R2; #Resistor R1, k\u2126 .\n",
+ "\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"RE=%d \u2126., R1=%.2f k\u2126 . and R2=%.2f k\u2126 .\"%(RE,R1,R2));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "RE=800 \u2126., R1=17.75 k\u2126 . and R2=4.75 k\u2126 .\n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.26 : Page number 222\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=16.0; #Collector supply voltage, V\n",
+ "R2=20.0; #Resistor R2, k\u2126\n",
+ "RE=2.0; #Emitter resistor, k\u2126\n",
+ "VCE=6.0; #Collector-emitter voltage, V\n",
+ "IC=2.0; #Collector current , mA\n",
+ "VBE=0.3; #Base-emitter voltage,V\n",
+ "alpha=0.985; #Current amplification factor\n",
+ "\n",
+ "#Calculations\n",
+ "beta=alpha/(1-alpha); #Base current amplificatioon factor\n",
+ "IE=IC; #Emitter current, mA\n",
+ "IB=IC/beta; #Base current, mA\n",
+ "VE=IE*RE; #Emitter voltage,(OHM's LAW) V\n",
+ "V2=VBE+VE; #Voltage drop across resistor R2,(Kirchhoff's law) V\n",
+ "V_R1=VCC-V2; #Voltage drop across resistor R1, V\n",
+ "I1=V2/R2; #Current through resistor R2 an R1,(OHM's LAW) mA\n",
+ "R1=V_R1/I1; #Resistor R1,(OHM's LAW) k\u2126\n",
+ "\n",
+ "V_RC=(VCC-VCE-VE); #Voltage across collector resistor, V\n",
+ "RC=V_RC/IC; #Collector resistor,(OHM's LAW) k\u2126\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"R1=%.1f k\u2126 and RC=%d k\u2126.\"%(R1,RC));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "R1=54.4 k\u2126 and RC=3 k\u2126.\n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.27 :Page number 222-223\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=15.0; #Collector supply voltage, V\n",
+ "R1=10.0; #Resistor R1, k\u2126 \n",
+ "R2=5.0; #Resistor R2, k\u2126 \n",
+ "RC=1.0; #Collector resistor, k\u2126 \u007f\n",
+ "RE=2.0; #Emitter resistor, k\u2126 \n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "beta=100; #Base current amplification factor\n",
+ "\n",
+ "#Calculations\n",
+ "#Using Thevenin's theorem, calculating Thevenin's voltage and resistance\n",
+ "E0=(VCC*R2)/(R1+R2); #Thevenin's voltage, V\n",
+ "R0=(R1*R2)/(R1+R2); #Thevenin's resistance, k\u2126 \n",
+ "\n",
+ "#Applying Kirchhoff' law along Thevenin's equivalent circuit,\n",
+ "#E0=IB*R0+VBE+IE*RE;\n",
+ "#Since IE~IC and IB=IE/beta,\n",
+ "IE=(E0-VBE)/(R0/beta + RE); #Emitter current , mA\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "print(\"The exact value of emitter current in the circuit = %.2fmA.\"%IE);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The exact value of emitter current in the circuit = 2.11mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2.28: Page number 223-224\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "#Variable declaration\n",
+ "IE=2.0; #Emitter current, mA\n",
+ "IB=50.0; #Base current, mA\n",
+ "VCC=10.0; #Collector supply voltage, V\n",
+ "VBE=0.2; #Base-emitter voltage, V\n",
+ "R2=10.0; #Resistor R2, k\u2126\n",
+ "RE=1.0; #Emitter resistance, k\u2126\n",
+ "\n",
+ "#Calculations\n",
+ "#Applying Kirchhoff's law from the base to the emitter resistor,\n",
+ "V2=VBE+IE*RE; #Voltage at base terminal, V\n",
+ "I2=V2/R2; #Current through the resistor R2, mA\n",
+ "I1=I2+IB/1000; #Current through the resistor R2, mA\n",
+ "V1=VCC-V2; #Voltage drop across the resistor R2\n",
+ "R1=V1/I1; #Resistor R1, k\u2126\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of the resistor R1=%.2f k\u2126.\"%R1);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of the resistor R1=28.89 k\u2126.\n"
+ ]
+ }
+ ],
+ "prompt_number": 41
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.30 :Page number 225-226\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=8.0; #Collector supply voltage, V\n",
+ "RB=360.0; #Base resistor, k\u2126\n",
+ "RC=2.0; #Collector resistor, k\u2126\n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "beta=100.0; #base current amplification factor\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "IC_max=VCC/RC; #Maximum collector current, mA\n",
+ "VCE_max=VCC; #Maximum collector voltage, V\n",
+ "\n",
+ "#Operating point\n",
+ "#Applying Kirchhoff's law along the input circuit\n",
+ "IB=(VCC-VBE)/RB; #Base current, mA\n",
+ "IC=beta*IB; #Collector current, mA\n",
+ "\n",
+ "#Kirchhoff' law along the output circuit\n",
+ "VCE=VCC-IC*RC; #Collector-emitter voltage, V\n",
+ "\n",
+ "#Results\n",
+ "print(\"VCE=%.2fV, is approximately half of VCC=%dV \\n therefore it is mid-point biased.\"%(VCE,VCC));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "VCE=3.94V, is approximately half of VCC=8V \n",
+ " therefore it is mid-point biased.\n"
+ ]
+ }
+ ],
+ "prompt_number": 42
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.31: page number 226\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=10.0; #Collector supply voltage, V\n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "beta=50.0; #Base current amplification factor\n",
+ "R1=12.0; #Resistor R1, k\u2126 \n",
+ "R2=2.7; #Resistor R2, k\u2126 \n",
+ "RC=620.0; #Collector resistor, \u2126 \n",
+ "RE=180.0; #Emitter resistor, \u2126\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "#Voltage divder rule across R1 and R2\n",
+ "V2=round((VCC*R2)/(R1+R2),2); #Voltage drop across resistor R2, V\n",
+ "IE=round(((V2-VBE)/RE)*1000,2); #Emitter current, mA\n",
+ "IC=IE; #Collector current(Approximately equal to emitter current), mA\n",
+ "print(\"IC~IE=%.2fmA.\"%IC);\n",
+ "\n",
+ "#Applying Kirchhoff's law along the output circuit\n",
+ "VCE=VCC-(IC/1000)*(RC+RE); #Collector-emitter voltage, V\n",
+ "\n",
+ "#Results\n",
+ "print(\"VCE=%.2fV, is approximately half of VCC=%dV \\n therefore it is mid-point biased.\"%(VCE,VCC));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "IC~IE=6.33mA.\n",
+ "VCE=4.94V, is approximately half of VCC=10V \n",
+ " therefore it is mid-point biased.\n"
+ ]
+ }
+ ],
+ "prompt_number": 49
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.32 : Page number 227\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "\n",
+ "#Variable declaration\n",
+ "VCC=10.0; #Collector supply voltage, V\n",
+ "IC=10.0; #Collector current, mA \n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "R1=1.5; #Resistor R1, k\u2126 \n",
+ "R2=680.0; #Resistor R2, \u2126 \n",
+ "RC=260.0; #Collector resistor, \u2126 \n",
+ "RE=240.0; #Emitter resistor, \u2126 \n",
+ "beta_min=100; #Minimum value of base current amplification factor\n",
+ "beta_max=400; #Maximum value of base current amplification factor\n",
+ "\n",
+ "#Calculations\n",
+ "#Voltage divder rule across R1 and R2\n",
+ "V2=round((VCC*R2/1000)/(R1+R2/1000),2); #Voltage drop across resistor R2, V\n",
+ "IE=round((V2-VBE)/(RE/1000),0); #OHM' LAW, Emitter current, mA\n",
+ "IC=IE; #Collector current(approx. equal to emitter current),mA\n",
+ "beta_avg=sqrt(beta_min*beta_max); #Average value of base current amplification factor\n",
+ "IB=IE/(beta_avg +1); #Base current, mA\n",
+ "IB=IB*1000; #Base current, \ud835\udf07A\n",
+ "\n",
+ "#Results\n",
+ "print(\"Base current= %.2f \ud835\udf07A\"%IB);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Base current= 49.75 \ud835\udf07A\n"
+ ]
+ }
+ ],
+ "prompt_number": 51
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.33 : Page number 227-228\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VEE=12.0; #Emitter supply voltage, V\n",
+ "RC=1.5; #Collector resistor, k\u2126\n",
+ "RB=120.0; #Base resistor k\u2126\n",
+ "RE=510.0; #Emitter resistor, \u2126 \n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "beta=60.0; #Base current amplification factor\n",
+ "\n",
+ "#Calculations\n",
+ "#Applying Kirchhoff's voltage law,\n",
+ "#IB*RB - VBE - IE*RE +VEE=0\n",
+ "#Since IE~IC and IC=beta*IB,\n",
+ "IB=(VEE-VBE)/(RB + beta*RE/1000); #Base current , mA\n",
+ "IC=round(beta*IB,1); #Collector current, mA\n",
+ "\n",
+ "#Applying Kirchhoff's voltage law along output circuit,\n",
+ "VCE=VEE-IC*(RC + RE/1000); #Collector-emitter voltage, V\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"Operating point : VCE= %.2fV and IC=%.1fmA.\"%(VCE,IC));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Operating point : VCE= 2.96V and IC=4.5mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 60
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.34 : Page number 228-229\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import floor\n",
+ "\n",
+ "#Variable declaration\n",
+ "VEE=9.0; #Emitter supply voltage, V\n",
+ "RC=1.2; #Collector resistor, k\u2126\n",
+ "RB=100.0; #Base resistor ,k\u2126\n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "beta=45.0; #Base current amplification factor\n",
+ "\n",
+ "#Calculations\n",
+ "#Applying Kirchhoff's voltage law,\n",
+ "#IB*RB + VBE=VEE\n",
+ "#Since IE~IC and IC=beta*IB,\n",
+ "IB=round((VEE-VBE)/RB,3); #Base current , mA\n",
+ "IC=floor(beta*IB*100)/100; #Collector current, mA\n",
+ "\n",
+ "#Applying Kirchhoff's voltage law along output circuit,\n",
+ "VCE=VEE-IC*RC; #Collector-emitter voltage, V\n",
+ "\n",
+ "#Results\n",
+ "print(\"Operating point : VCE= %.2fV and IC=%.2fmA.\"%(VCE,IC));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Operating point : VCE= 4.52V and IC=3.73mA.\n"
+ ]
+ }
+ ],
+ "prompt_number": 68
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.35 : Page number 229\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "VCC=16.0; #Collector supply voltage, V\n",
+ "VBE=0.7; #Base-emitter voltage, V\n",
+ "IC=1.0; #Collector current, mA\n",
+ "VCE=6.0; #Collector-emitter voltage, V\n",
+ "beta=150.0; #Base current amplification factor\n",
+ "\n",
+ "#Calculations\n",
+ "#For a good design, VE=VCC/10;\n",
+ "VE=VCC/10; #Emitter terminal's voltage, V\n",
+ "#OHM's Law\n",
+ "#And, taking IE~IC\n",
+ "RE=VE/IC; #Emitter resistor, k\u2126\n",
+ "\n",
+ "#Applying Kirchhoff's voltage law alog output circuit:\n",
+ "#VCC=IC*RC + VCE + VE\n",
+ "RC=(VCC-VCE-VE)/IC; #Collector resistor, k\u2126\n",
+ "V2=VE+VBE; #Voltage drop across resistor R2,V\n",
+ "#From the relation I1=10*IB\n",
+ "R2=(beta*RE)/10; #Resistor R2, kilo ohm\n",
+ "\n",
+ "#From voltage divider rule across R1 and R2,\n",
+ "#V2=(VCC*R2)/(R1+R2)\n",
+ "R1=(VCC-V2)*R2/V2; #Resistor R1, k\u2126 \n",
+ "\n",
+ "#Results\n",
+ "print(\"RE=%.1f k\u2126 , RC=%.1f k\u2126, R1=%.0f k\u2126 and R2=%d k\u2126.\"%(RE,RC,R1,R2));\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "RE=1.6 k\u2126 , RC=8.4 k\u2126, R1=143 k\u2126 and R2=24 k\u2126.\n"
+ ]
+ }
+ ],
+ "prompt_number": 69
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.36 : Page number 230-231\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "ICBO=5.0; #Collector to base leakage current, microampere\n",
+ "beta=40.0; #Base current amplification factor\n",
+ "IC_zero_signal=2.0; #Zero signal collector current, mA\n",
+ "op_temp=25.0; #operating temperature, degree celsius\n",
+ "temp_risen=55.0; #Temperature risen, degree celsius\n",
+ "temp_ICBO_doubles=10.0; #Temperature after which ICBO doubles, degree celsius\n",
+ "\n",
+ "#Calculations\n",
+ "\n",
+ "#(i)\n",
+ "ICEO=(beta+1)*ICBO; #Collector to emitter leakage current, microampere\n",
+ "\n",
+ "#(ii)\n",
+ "Number_of_times_ICBO_doubled=(temp_risen - op_temp)/temp_ICBO_doubles; #Number of times ICBO doubles\n",
+ "ICBO_final=ICBO*2**Number_of_times_ICBO_doubled; #Final value of collector to base leakage current, microampere\n",
+ "ICEO_final=ICBO_final*(beta + 1); #Final value of collector to emitter leakage current, microampere\n",
+ "\n",
+ "IC_zero_signal_55=(ICEO_final/1000) +IC_zero_signal; #Zero signal collector current at 55 degree celius\n",
+ "change=(IC_zero_signal_55-IC_zero_signal)*100/IC_zero_signal; #Percentage change in zero signal collector current\n",
+ "\n",
+ "#Result\n",
+ "print(\"(i) The percentage change in the zero signal collector current=%.0f%%. \"%change)\n",
+ "\n",
+ "#(iii)\n",
+ "#For the silicon transistor\n",
+ "ICBO=0.1; #Collector to base leakage current, microampere\n",
+ "\n",
+ "ICEO=(beta+1)*ICBO; #Collector to emitter leakage current, microampere\n",
+ "\n",
+ "Number_of_times_ICBO_doubled=(temp_risen - op_temp)/temp_ICBO_doubles; #Number of times ICBO doubles\n",
+ "ICBO_final=ICBO*2**Number_of_times_ICBO_doubled; #Final value of collector to base leakage current, microampere\n",
+ "ICEO_final=ICBO_final*(beta + 1); #Final value of collector to emitter leakage current, microampere\n",
+ "\n",
+ "IC_zero_signal_55=(ICEO_final/1000) +IC_zero_signal; #Zero signal collector current at 55 degree celius\n",
+ "change=(IC_zero_signal_55-IC_zero_signal)*100/IC_zero_signal; #Percentage change in zero signal collector current\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print(\"(ii) The percentage change in the zero signal collector current=%.1f%%. \"%change)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "(i) The percentage change in the zero signal collector current=82%. \n",
+ "(ii) The percentage change in the zero signal collector current=1.6%. \n"
+ ]
+ }
+ ],
+ "prompt_number": 70
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 9.37 : Page number 231\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Variable declaration\n",
+ "ICBO=0.02 #Collector to base leakage current, \ud835\udf07A\n",
+ "alpha=0.99; #Current amplification factor\n",
+ "IE=1.0; #Emitter current, mA\n",
+ "op_temp=27.0; #operating temperature, degree celsius\n",
+ "temp_risen=57.0; #Temperature risen, degree celsius\n",
+ "temp_ICBO_doubles=6.0; #Temperature after which ICBO doubles, degree celsius\n",
+ "\n",
+ "#Calculations\n",
+ "Number_of_times_ICBO_doubled=(temp_risen - op_temp)/temp_ICBO_doubles; #Number of times ICBO doubles\n",
+ "ICBO_55=ICBO*2**Number_of_times_ICBO_doubled; #collector to base leakage current at 55 degree celsius, \ud835\udf07A\n",
+ "IC=alpha*IE + ICBO_55/1000; #Collector current, mA\n",
+ "IB=IE-IC; #Base current, mA\n",
+ "IB=IB*1000; #Base current,\ud835\udf07A\n",
+ "\n",
+ "#Results\n",
+ "print(\"Base current at 57 degree celsius=%.1f \ud835\udf07A \"%IB);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Base current at 57 degree celsius=9.4 \ud835\udf07A \n"
+ ]
+ }
+ ],
+ "prompt_number": 71
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/screenshots/chapter10_ac_load_line.png b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/screenshots/chapter10_ac_load_line.png
new file mode 100644
index 00000000..d7feffd7
--- /dev/null
+++ b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/screenshots/chapter10_ac_load_line.png
Binary files differ
diff --git a/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/screenshots/chapter18_clipping_ckt_output.png b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/screenshots/chapter18_clipping_ckt_output.png
new file mode 100644
index 00000000..76486c7b
--- /dev/null
+++ b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/screenshots/chapter18_clipping_ckt_output.png
Binary files differ
diff --git a/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/screenshots/chapter8_dc_load_line.png b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/screenshots/chapter8_dc_load_line.png
new file mode 100644
index 00000000..9b26fbe2
--- /dev/null
+++ b/Principles_of_Electronics_____by_V.K._Mehta_and_Rohit_Mehta/screenshots/chapter8_dc_load_line.png
Binary files differ
diff --git a/principle_of_physics_by_V.K.MEHTA_,_ROHIT_MEHTA_/README.txt b/principle_of_physics_by_V.K.MEHTA_,_ROHIT_MEHTA_/README.txt
new file mode 100644
index 00000000..7640a371
--- /dev/null
+++ b/principle_of_physics_by_V.K.MEHTA_,_ROHIT_MEHTA_/README.txt
@@ -0,0 +1,10 @@
+Contributed By: Ruchi Mittal
+Course: others
+College/Institute/Organization: aggarwal public school
+Department/Designation: commerce
+Book Title: principle of physics
+Author: V.K.MEHTA , ROHIT MEHTA
+Publisher: S.CHAND & COMPANY PVT. LTD.,NEW DELHI-110 055
+Year of publication: 2013
+Isbn: 81-219-1769-7
+Edition: 7 \ No newline at end of file