{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Ch-16 : Wave Shaping and Multivibrator Circuits"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Page No. 512 Example 16.1."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Given      tr = 35 ns\n",
      "We know that,  tr = 0.35 / BW\n",
      "Therefore,    BW = 0.35 / tr =10.00 MHz\n"
     ]
    }
   ],
   "source": [
    "print \"Given      tr = 35 ns\"\n",
    "bw=0.35/(35*10**-9) # in Hz\n",
    "x1=bw*10**-6  #in MHz\n",
    "print \"We know that,  tr = 0.35 / BW\"\n",
    "print \"Therefore,    BW = 0.35 / tr =%0.2f MHz\"%x1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Page No. 514 Example 16.2."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Given      ton = 70 ns\n",
      "         C = ton / 0.1*Rs =1166.67 pF\n",
      "      tre = 2.3*RB*C =15.46 u-seconds\n",
      "      f = 1/2T = 1/2tre =33.33 kHz\n"
     ]
    }
   ],
   "source": [
    "print \"Given      ton = 70 ns\"\n",
    "C=(70*10**-9)/(0.1*600)  # in faraday\n",
    "x1=C*10**12  # in pF\n",
    "print \"         C = ton / 0.1*Rs =%0.2f pF\"%x1  # approximately 1200 pF\n",
    "tre=2.3*(5.6*10**3)*(1200*10**-12) # in seconds\n",
    "x2=tre*10**6  #in us\n",
    "print \"      tre = 2.3*RB*C =%0.2f u-seconds\"%x2\n",
    "f=1./(2*(15*10**-6))  #in Hz\n",
    "x3=f*10**-3  #in kHz\n",
    "print \"      f = 1/2T = 1/2tre =%0.2f kHz\"%x3"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Page No. 514 Example 16.3."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "transition voltage: 3.00\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f02396e67d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAB8CAYAAABkFbdUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAFP5JREFUeJzt3XmUnFWdxvHvwxIwASEhG3CQsIOKEBcGJjDkgEjYAp5B\nkMUFAZVdhAPBEYKjMyQoyCjKOQygDrLIMiAkBBMYg0S2AxIJEAxLooEkHZYIYZEA+c0f93ZS3anu\ndHVX1Vupej7n1Omq933rvfd9q/r91b33vfcqIjAzs9a1VtEZMDOzYjkQmJm1OAcCM7MW50BgZtbi\nHAjMzFqcA4GZWYtzILA1kqR5kvZtgHwcI+l3RefDrC8cCJqIpK9KmiXpLUkLJf1c0kZV2vdoSfMr\nfM88SftUI/0yIj+QdKGka2uUTveZiLguIvYvIm2zanEgaBKSzgImAGcBHwZ2B7YEpklat6BsBaCC\n0rYekLR20XmwBhARfqzhD9KFfylweKflA4DFwHH59S+B75esHw3ML3k9DxgHPAW8BlwDrJf38w7w\nQU7nDWDT7vYHXJu3fzu/5+wy+Z4NHFTyeh3gZWDX/HpszssS4PfAjiXbzgX2AcYA7wLLcjqP5/XH\nAU/nvD4PfL1T2ucAC4AXgROA5cDWed16wI+AvwKLgCuA9bs4918F7i95vRz4BjAn5/vybj633YBH\ngddzOpeUrPtSTv8V4Dv5s9mnh5/jOOC5fOxPAYd1yu8fgUvzvv8d6FfB8f4V+GR+fkw+3p3y6+OB\n20qO7cF8DhYAPwXWzeuuAH7Yab+/Bc7MzzcDbiV9d18ATiv6f6zZHy4RNId/BtYH/rd0YUS8BdwF\n7Ne+KD+6czTwOWAbYHvgu3k/Y4AFEbFhRHw4IhZ2t7+I+BLwN+Dg/J4fldnseuCoktf7A4sjYqak\n7fP604HB+TjulLROp3TuBv4TuDGnMzKvaiMFmQ+TgsKPJY0EkDQGOBPYF9iOdCEtNQHYFtgl/90c\nuKCrE1bGQcCngU8AR0jqqurov4AfR8RGwNbATTl/HwV+TrrQbgZskvOw4rDp/nN8DtgzH/v3gF9L\nGlayfjdScBxKOncT6fnxTmfl+do772fvktfT8/P3gTNy3vcgneuT87rrgSPbdyhpIOk7eoOktYA7\ngcfzse8LfEvS57o5XusjB4LmMBh4JSKWl1m3iPTP2K67qpog/YJ9KSKWAP/Bygt1V+/rS9XP9cBY\nSevn10cDN+TnRwKTIuLeiPiA9Iv1Q6SgVy4PHfIREXdFxNz8/A/AVGCvvPoI4JqImB0R7wDjV+xI\nEnAi8O2I+HtEvAlcBHyxguOaEBFvRMR8Uklm1y62WwZsJ2lwRLwdEQ/n5YcDd0bEjIhYBpxP+uXd\n+ZjLiohbImJRfn4T8CzwTyWbLIiIn+Xvy7sVHu99rLzw75m3bX/9L3k9EfGniHgkIpZHxF+BK0u2\nmwGEpPbP43DggZznzwCDI+IHEfF+/gyv6iY/VgUOBM3hFWBw/jXV2aZ5fU+VNgj/jfSrrCYi4nlS\n9dBYSf2BQ0jBAVK+/1aybeS8bd55P+VIOkDSQ5JelbQEOJCVAXFTOh7niyXPhwD9gcckLcnvnUIK\ntj21qOT528AGXWx3PKnUNVvSI5IOKsnfijxFxNvAqz1NXNKXJT1ekv+P0/HHQOmxV3q8fwD2kjQc\nWBu4GRglaUtgo4iYmfOwvaRJ+aaF10k/KjbJxxPAjaz8kXE0cF1+viWwWXtecn7OI5VerEYcCJrD\ng6Rfdv9aulDSBqQqnXvzordI//TthpfZ10c6PV+Qn5eriljd/noytO0NpAvCocDTEfFCXr6AdFEA\nVvxS3wJ4qcw+OqQjaT1SHfPFwNCIGEiqWmr/Fb0w76td6fNXSO0hH42Igfmxca5mqaqIeC4ijo6I\nIaTqmVtyQOyQv7ys9ELe5XnPF+QrgVOAQfnYn6RjCaL0fFV0vBHxHCm4nQbcFxFLSYHv68D9JZte\nQWqj2TZXff0bHa83NwCH5/zuRvq8IAX/uSV5GZirIg8ulx+rDgeCJhARr5Pqgn8qaX9J60oaQapz\nnk9quAWYCRwoaWD+RfetTrsScLKkzSUNIv3z3pjXtQGbSCq9QKxuf22ktobu3EhqG/gmK38VkvN+\nkKR98l1PZwH/AB4os49FwIgcLCA1fvYjXeSWSzqA1O5Ruu/jJO2YL7Lnt6/I1SX/DVwmaQhAPh+9\nraPusgpH0rHtaZAajIPUwH4rcLCkUZL6kRp0S/9XuzvvA/J+XgHWknQcqURQVi+P9z7g1PwXUrtA\n6WtIpaClwNuSdgRO6pTuzJzHq4C7I+KNvOoRYKmkcyR9SNLakj4u6dPd5Mf6yIGgSUTED0l3l/yI\ndFF5iHSHx74R8V7e7Frgz6Q7UO4mXYRLfx0GqWpmKqkR8FngB3n/z5B+xb0g6bV8AVrd/i4CvpuL\n+N/uIt+LSBf3PYDflCyfAxxLutvkZVID7CER8X6Z3dyc/74q6dH8K/V00gX/NVKJ47cl+74b+Amp\n/n4OqUQFqVQFcC6pwfWhXK0xjVSFU/YQWPUcdre+1P7Ak5KWAj8GvhgR70bEU6Rf9NeTSkav0bH6\nqsvzHhFPA5fkY1pECgIzVpOfSo4X0gV/A1I1UbnXAGeTqnzeIJVQOn83yMe3DyurA9sD08GkdpUX\nSJ/9laQ746xGlKrrapiAtAXwP6Q6vgCujIifSLqQdNvey3nT8/I/qBVE0lzg+Ij4v6LzUk+SdgJm\nAf26aHAvXKt+NlYf66x+kz57j3R/8MxcZ/2YpGmkoHBpRFxahzyYdSDp86R2g/6k+vk7GjUImNVa\nzauGImJR+50E+da02ay888O9Tq0oXye1YTxH+rFyUvebmzWvmlcNdUgsNWDeB3yM1Ph3HKk++1Hg\nrIj4e90yY2ZmQB0bi3O10C3AGblkcAWwFalRaCGpgcvMzOqsLiWCfPvfJGBKRFxWZv0IUk/KnTst\nr19xxcysiUREj6vea14iyPd2X03qLHRZyfJNSzb7POmujVX0ZgAlP8o/xo8fX3gemuXhc+nz2ciP\nStXjrqFRpPvBn5D0eF72HeAoSbuS7h6aSxqx0czM6qzmgSAiZlC+5DGl1mmbmdnquWdxCxk9enTR\nWWgaPpfV5fNZrLrePlopSdHI+TMza0SSiAZrLN5C0u8lPSXpSUmn5+WDJE2TNEfSVEkb1zovZma2\nqnqMNTQcGB4lQ0wAh5E6k70SERdLOhcYGBHjOr3XJQIzswpVWiKoe9WQpNuBy/Nj74hoy8FiekTs\n2GnbYgPBe+/B+efDwIGw9daw1Vbp78CBII+OYWaNqdJAUI/bR1fIHcdGAg8DwyKiLa9qA4Z18bbi\nzJgBt94Khx4KDz8Mc+fCC3nelNLAUPp3xAhYf/1ud2tm1kjqViLI1UL3Ad+PiNslLYk0e1L7+tci\nYlCn9xRbIjj7bNhwQxg/fuWyCFiyJAWE9sBQ+nf+fNhkk44BYvfdYcyY4o7DzFpKQ5YI8hATtwLX\nRsTteXGbpOERsSj3Ml5c7r0XXnjhiuejR4+u721mkybBr3/dcZkEgwalx6fLTJr0wQfw0ksdg8Pc\nufXJr5m1pOnTpzN9+vRev78ejcUCfgW8GhFnliy/OC+bKGkcsHFDNRY//zyMGgULFsBa7m5hZmuO\nRiwRlBti4jxgAnCTpONJU+4dUYe89NzkyXDQQQ4CZtb0ihxiAuCzq3v/P/5R3fz01Lp3TOKDE77J\n8oLSt8a01lrQr1/RuTCrrobvWbzeevXP34B4k3nLNmWrfgt4UxvWPX1rXO+/D089BTvsUHROzLrW\niFVDfVJIieD2e+Bnu/PKNAcB62jUKHj5ZQcCay71GGLiGkltkmaVLLtQ0ouSHs+Pxrq3ctKk1D5g\n1smAAfDWW0Xnwqy66tES+gug84U+gEsjYmR+3F2HfPRMBNx1lwOBleVAYM2o5oEgIu4HlpRZ1Zhj\nNDz+eOpEtt12RefEGpADgTWjIu+NPE3SnyVd3VAjj7payLrRv78DgTWfogLBFcBWwK7AQuCSgvKx\nqvb+A2ZluERgzaiQu4YiYsVwEpKuAu7satu6DjHR1gZ/+QvstVft0rA1mgOBNaKGH2ICVow6emdE\n7JxfbxoRC/PzM4HPRMTRZd5X3yEmfvnLVDV0yy31S9PWKBddBK+/DhMmFJ0Ts641XD8CSTcAewOD\nJc0HxgOjJe1KuntoLvCNWuejR1wtZKsxYEAafsqsmdRjiImjyiy+ptbpVmzZMrjnHrj88qJzYg3M\nVUPWjDyiWrsZM9Ito8Mab34caxwOBNaMHAjauVrIesCBwJpRUUNMDJI0TdIcSVMboh/B5Mlw8MFF\n58IanAOBNaMeBQJJwyUdIulgSUMrTKPcEBPjgGkRsT1wb35dnOeeS7eCjBxZaDas8TkQWDNabSCQ\ndARpsvkvkCaPeUTSF3qaQBdDTIwlzVpG/ntYT/dXE5Mnw4EHehIaWy33LLZm1JO7hr5Lus9/MYCk\nIaRf8Tf3Id1hEdGWn7cBxbbQTp4MJ51UaBZszTBgALz9dtG5MKuunvwEFvByyetXqeKAcbnHWHGz\n4yxdCg8+CJ9d7WRpZq4asqbUkxLB3cDvJF1PCgBHAlP6mG6bpOERsUjSpsDirjas+RAT99wDu++e\nRhw1Ww0HAmtENR9iQtLZpAv1rnnR/RFxW0WJrDrExMXAqxExUdI4YOOIWKXBuC5DTJxwAuy8M5xx\nRm3TsaawfDmss06astJNStaoKh1ioidf5Q2Ac4HdSMNBPFBhhm7I79lB0nxJxwETgP0kzQH2ya/r\nb/ly9x+wiqy1Fqy/PrzzTtE5MaueHg86J2kX0l1DhwMvRsS+tcxYTrO2JYLHHoOjj04jjpr10JAh\naQL7oZXeSG1WJ7UoEbRbDCwiNRYPqTRjDcmdyKwX3E5gzaYn/QhOljSddMvoYOCEiPhErTNWF56N\nzHrBgcCaTU/uGtoC+FZEzKx24pLmAW8AHwDvRcRu1U6jS21tMGcO7Lln3ZK05tC/v/sSWHNZbSCI\niPNqmH4AoyPitRqmUd6UKbDfftCvX92TtjWbSwTWbBrhBriqdU6riKuFrJccCKzZFB0IArhH0qOS\nTqxbqu2T0BxwQN2StObhQGDNppDJ60uMioiFefyiaZKeyYPU1daMGbDDDp6ExnrFgcCaTaGBoH0C\n+4h4WdJtpE5rHQJBTYaYcLWQ9YEDgTWamg8xUSuS+gNrR8RSSQOAqcD3ImJqyTa16VC2ww5w/fXw\nqU9Vf9/W9M49FwYOhHHFzqJh1qVKO5QVWSIYBtwmqT0f15UGgZp59tk04qgnobFe8lDU1mwKCwQR\nMZeVA9nVjyehsT4aMAAWLCg6F2bV03pXQw8yZ33kNgJrNq0VCJYuhYce8iQ01ieertKaTaGBQNIY\nSc9IelbSuTVPcNo02GMPT0JjfeISgTWbwgKBpLWBy4ExwEeBoyTtVNNEXS1kVeBAYM2myBLBbsBz\nETEvIt4DbgQOrVlqy5fDXXd52GnrMwcCazZFBoLNgfklr1/My2rjT3+CjTaCbbapWRLWGhwIrNkU\n2Y+gZz3FIkBVGJfO1UJWJRtsAC+8AMceW3ROzKqjyEDwEmmug3ZbkEoFHVy4zTZwyCEwcGDfhpiY\nPBkmTuzde81KbLstXHUVvPtu0TkxS2bPns7s2dN7/f4ih5hYB/gLsC+wAHgEOCoiZpdsEzFxIlx8\nMVxwAZx6au86gi1aBDvtBIsXw7rrVukIzMwaUy3nLK6qiHgfOBX4HfA08JvSILDCOefAAw/AzTfD\nXnvBM89UntiUKanvgIOAmdkqCu1HEBFTImKHiNg2Ii7qcsPtt4f77oOjjkpTS06YAO+/3/OEPEm9\nmVmXCqsa6omyo4/OmwcnngivvQbXXAO77NL9TpYtg6FD0/zEQ4fWLK9mZo1ijaka6rURI2DqVDjl\nlDTn8AUXdN9qd//9adhpBwEzs7IKCQSSLpT0oqTH82NMhTuAr30NZs6EJ56AT34SHn64/LauFjIz\n61ZRJYIALo2Ikflxd6/2stlmcNttqVRw6KFw9tmrDhTv2chW6MsMRtaRz2V1+XwWq8iqoSr0EiOV\nDo48EmbNSoPE77JLaliGNAnNm296EprM/2zV43NZXT6fxSqyQ9lpkr4MPAqcFRF/79PehgxJ00/e\ncQcccwyMHQvDh6fSQDV6JpuZNamalQgkTZM0q8xjLHAFsBVphrKFwCVVS3jsWHjyyXS30PjxrhYy\nM1uNwm8flTQCuDMidi6zrnHvbTUza2ANP3m9pE0jYmF++XlgVrntKjkQMzPrnaLaCCZK2pV099Bc\n4BsF5cPMrOUVXjVkZmbFasiexXWfy7jJSZon6Yncee+RovOzppF0jaQ2SbNKlg3KN0TMkTRV0sZF\n5nFN0sX57Fsn0xYlaQtJv5f0lKQnJZ2el1f0/Wy4QFDIXMbNL4DRufPebkVnZg30C9L3sdQ4YFpE\nbA/cm19bz5Q7n9XpZNp63gPOjIiPAbsDp+TrZUXfz4YLBNR7LuPW4Yb3XoqI+4ElnRaPBX6Vn/8K\nOKyumVqDdXE+wd/RikXEooiYmZ+/CcwmTflb0fezEQNBfecybg0B3CPpUUknFp2ZJjEsItry8zZg\nWJGZaRKnSfqzpKtd1Va5fCv+SOBhKvx+NmIgcOt19Y2KiJHAAaSi415FZ6iZ5LHS/b3tm9p1Mm0B\nkjYAbgXOiIilpet68v1sxEDQo7mMrefa+2xExMvAbaTqN+ubNknDIfWLARYXnJ81WkQsjgy4Cn9H\ne0zSuqQgcG1E3J4XV/T9bMRA8CiwnaQRkvoBRwJ3FJynNZak/pI2zM8HAJ+jiw58VpE7gK/k518B\nbu9mW1uNfLFq12UnU+tIkoCrgacj4rKSVRV9PxuyH4GkA4DLgLWBq7udxtK6JWkrUikAUgfC63w+\nKyPpBmBvYDCpvvUC4LfATcBHgHnAEX0eOLFFlDmf44HRpGqhFZ1MS+q4rQuS9gT+ADzByuqf84BH\nqOD72ZCBwMzM6qcRq4bMzKyOHAjMzFqcA4GZWYtzIDAza3EOBGZmLc6BwMysxTkQmFVI0kaSTio6\nH2bV4kBgVrmBwMlFZ8KsWhwIzCo3AdgmT6AysejMmPWVexabVUjSlsCkiNi56LyYVYNLBGaV8wQq\n1lQcCMzMWpwDgVnllgIbFp0Js2pxIDCrUES8CvxR0iw3FlszcGOxmVmLc4nAzKzFORCYmbU4BwIz\nsxbnQGBm1uIcCMzMWpwDgZlZi3MgMDNrcQ4EZmYt7v8BSNaueyG1CeoAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f0239952290>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from numpy import arange,sin,pi\n",
    "%matplotlib inline\n",
    "from matplotlib.pyplot import plot,subplot,title,xlabel,show,ylabel\n",
    "amp = 15.\n",
    "vi_t=3.# # transition voltage\n",
    "t=arange(0,2*pi+0.1,0.1)\n",
    "vi=[]\n",
    "for x in t:\n",
    "    vi.append(amp*sin(x))\n",
    "vo=[]\n",
    "for x in vi:\n",
    "    vo.append(x+3)# # output voltage\n",
    "print 'transition voltage: %0.2f'%vi_t\n",
    "for i in range(0,len(t)):\n",
    "    if(vo[(i)]<=0):\n",
    "        vo[(i)]=0\n",
    "\n",
    "subplot(2,1,1)\n",
    "plot(t,vo,2,'011','',[0,0,7,18])\n",
    "title('Ouptut voltage in sin wave')\n",
    "xlabel('t')\n",
    "ylabel('vo')\n",
    "show()\n",
    "\n",
    "\n",
    "t=arange(0,20+0.1,0.1)\n",
    "vo=[]\n",
    "for i in range(0,int(len(t)/2)):\n",
    "    vo.append(15+3)\n",
    "\n",
    "for i in range(int(len(t)/2-1),len(t)-1):\n",
    "    vo.append(0)\n",
    "subplot(3,1,2)\n",
    "\n",
    "plot(t,vo,2,'011','',[0,-5,21,20])#\n",
    "title('Ouptut voltage in square wave')\n",
    "xlabel('t')\n",
    "ylabel('vo')#\n",
    "show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Page No. 515 Example 16.4."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f0239638290>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from numpy import arange\n",
    "%matplotlib inline\n",
    "from matplotlib.pyplot import plot,subplot,title,xlabel,show,ylabel\n",
    "\n",
    "t= arange(0,20+0.1,0.1)\n",
    "x=[]\n",
    "for i in range(0,len(t)):\n",
    "    if(t[(i)]<=5):\n",
    "        x.append((15.0/5)*t[(i)])\n",
    "    elif(t[(i)]>=5 and t[(i)]<=15):\n",
    "        x.append(-3.2*t[(i)]+30)\n",
    "    elif(t[(i)]>=15 and t[(i)]<=20):\n",
    "        x.append((15./5)*t[(i)]-60)\n",
    "y=[]\n",
    "for i in range(0,len(t)):\n",
    "    if(x[(i)]>3):\n",
    "        y.append(x[(i)])\n",
    "    elif(x[i]<=3):\n",
    "        y.append(3)\n",
    "plot(t,y,2,'011','',[0,0,20,16])#\n",
    "\n",
    "title('output voltage')\n",
    "xlabel('t')\n",
    "ylabel('Vo')\n",
    "show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Page No. 516 Example 16.5."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fa57b0ed350>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "max output voltage is 5V\n",
      "min output voltage is -3V\n"
     ]
    }
   ],
   "source": [
    "from numpy import arange\n",
    "%matplotlib inline\n",
    "from matplotlib.pyplot import plot,subplot,title,xlabel,show,ylabel,legend\n",
    "\n",
    "\n",
    "#let input wave be V_in=V_p_in*sin(2*pi*f*t) \n",
    "f=1.#    #Frequency is 1Hz\n",
    "T=1./f#\n",
    "V_p_in=10#    #Peak input voltage\n",
    "V_th=0.7#    #knee voltage of diode\n",
    "#let n be double the number of cycles of output shown in graph\n",
    "for n in range(0,2):\n",
    "    t=arange(T*n/2.,T*(n+1)/2.+0.0005,0.0005)    #time for each half cycle\n",
    "    V_in=[]\n",
    "    for tt in t:\n",
    "        V_in.append(V_p_in*sin(2*pi*f*tt))\n",
    "    Vout=V_in#\n",
    "    if (n%2)==0: #positive half,D1 conducts till V_in=5V\n",
    "        a=(Vout<5)#    \n",
    "        b=(Vout>5)#    \n",
    "        y=[]\n",
    "        for vv in Vout:\n",
    "            y.append(a*vv+5*b)#    #output follows input till 5V then is constant at 5V\n",
    "    else:                    #negative half, D2 conducts till V_in=-3V\n",
    "        a=(Vout<-3)#    \n",
    "        b=(Vout>-3)#\n",
    "        for vv in Vout:\n",
    "            y.append(-3*a+b*vv)  #output follows input till -3V then stays constant at -3V\n",
    "    \n",
    "        plot(t,y[0:1001])\n",
    "        plot(t,V_in)\n",
    "legend(['output','input'])\n",
    "title('Positive and Negative diode limiter')\n",
    "xlabel('t')\n",
    "ylabel('Vo')\n",
    "show()\n",
    "print 'max output voltage is 5V'\n",
    "print 'min output voltage is -3V'"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Page No. 518 Example 16.8."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "V_DC = 10.00 V\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f0239c14410>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from numpy import arange,pi,sin\n",
    "%matplotlib inline\n",
    "from matplotlib.pyplot import plot,subplot,title,xlabel,show,ylabel\n",
    "#Positive Clamping circuit\n",
    "#let input voltage be V_in=V_p_in*sin(2*pi*f*t)\n",
    "V_p_in=10.#\n",
    "V_DC=(V_p_in)#    #DC level added to output\n",
    "print 'V_DC = %0.2f V'%V_DC\n",
    "for n in range(0,2):\n",
    "    t=arange(n/2,(n+1)/2+0.0005,0.0005)\n",
    "    V_in=[]\n",
    "    for tt in t:\n",
    "        V_in.append(V_p_in*sin(2*pi*tt))\n",
    "    Vout=[]\n",
    "    for vv in V_in:\n",
    "        Vout.append(V_DC+vv)\n",
    "    plot(t,Vout)\n",
    "\n",
    "title('Positive clipper graph')\n",
    "xlabel('t')\n",
    "ylabel('Vo')\n",
    "show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Page No. 519 Example 16.9."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "V_DC = -12.00 V\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fa57b361650>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from numpy import arange,pi,sin\n",
    "%matplotlib inline\n",
    "from matplotlib.pyplot import plot,subplot,title,xlabel,show,ylabel\n",
    "#Negative Clamping circuit\n",
    "#let input voltage be V_in=V_p_in*sin(2*pi*f*t)\n",
    "V_p_in=12#\n",
    "V_DC=-(V_p_in)#    #DC level added to output\n",
    "print 'V_DC = %0.2f V'%V_DC\n",
    "#t=[]\n",
    "for n in range(0,2):\n",
    "    t=(n/2.,(n+1)/2.+0.0005,0.0005)\n",
    "    V_in=[]\n",
    "    for tt in t:\n",
    "        V_in.append(V_p_in*sin(2*pi*tt))\n",
    "    Vout=[]\n",
    "    for vv in V_in:\n",
    "        Vout.append(V_DC+vv)\n",
    "    plot(t,Vout)\n",
    "\n",
    "title('Negative clipper graph')\n",
    "xlabel('t')\n",
    "ylabel('Vo')\n",
    "show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Page No. 520 Example 16.10."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The frequency of a symmetrical astable multivibrator is\n",
      "      f = 1/1.386RC =36.08 kHz\n"
     ]
    }
   ],
   "source": [
    "f=1./(1.386*(20*10**3)*(1000*10**-12))  #in Hz\n",
    "x1=f*10**-3  # in kHz\n",
    "print \"The frequency of a symmetrical astable multivibrator is\"\n",
    "print \"      f = 1/1.386RC =%0.2f kHz\"%x1  # answer in textbook is wrong"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Page No. 521 Example 16.11."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The period of oscillation for an asymmetrical astable multivibrator is,\n",
      "    T = 0.693(R1C1+R2C2) = 360.36 us\n",
      "Therefore, the frequency of oscillation, f = 1/T =2.78 kHz\n"
     ]
    }
   ],
   "source": [
    "print \"The period of oscillation for an asymmetrical astable multivibrator is,\"\n",
    "t=0.693*(((2*10**3)*0.01*10**-6)+((10*10**3)*(0.05*10**-6))) # seconds\n",
    "x1=t*10**6 # in us\n",
    "print \"    T = 0.693(R1C1+R2C2) = %0.2f us\"%x1\n",
    "f=1./(360.36*10**-6)  # in Hz\n",
    "x2=f*10**-3 # in kHz\n",
    "print \"Therefore, the frequency of oscillation, f = 1/T =%0.2f kHz\"%x2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Page No. 522 Example 16.12."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The period of oscillation is,  T = 1/f = 10.00 us\n",
      "        T1 = 2us  (given)\n",
      "Hence,  T2 = T - T1 =8.00 us\n",
      "        T1 = 0.693*R1C1\n",
      "Therefore,  C1 = T1 / 0.693R1 =144.30 pF\n",
      "        T2 = 0.693*R2*C2\n",
      "Therefore,  C2 = T2 / 0.693R2 =577.20 pF\n"
     ]
    }
   ],
   "source": [
    "t=1./(100*10**3)  # in seconds\n",
    "x1=t*10**6  # in us\n",
    "print \"The period of oscillation is,  T = 1/f = %0.2f us\"%x1\n",
    "print \"        T1 = 2us  (given)\"\n",
    "t2=10-2 # in us\n",
    "print \"Hence,  T2 = T - T1 =%0.2f us\"%t2\n",
    "print \"        T1 = 0.693*R1C1\"\n",
    "c1=(2*10**-6)/(0.693*(20*10**3))  # in faraday\n",
    "x1=c1*10**12  # in pF\n",
    "print \"Therefore,  C1 = T1 / 0.693R1 =%0.2f pF\"%x1  #answer in textbook is wrong\n",
    "c2=(8*10**-6)/(0.693*(20*10**3))  # in faraday\n",
    "x1=c2*10**12  # in pF\n",
    "print \"        T2 = 0.693*R2*C2\"  #answer in textbook is wrong\n",
    "print \"Therefore,  C2 = T2 / 0.693R2 =%0.2f pF\"%x1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Page No. 523 Example 16.13."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  RC = 12-0.2/1*10**-3 = 11.80 kohm\n",
      "         R <= hfe*RC\n",
      "  R <=1.18 Mohm\n",
      "Hence, let us assume that R = R1 = R2 = 1 M-ohm\n",
      "    Toff = 0.693*R*C1\n",
      "Therefore,  C1 =28.86 pF\n",
      "    Ton = 0.693*R*C2\n",
      "Therefore,  C2 = 14.43 pF\n"
     ]
    }
   ],
   "source": [
    "rc=(12-0.2)/(1*10**-3)  # in ohm\n",
    "x1=rc*10**-3  # in k-ohm\n",
    "print \"  RC = 12-0.2/1*10**-3 = %0.2f kohm\"%x1\n",
    "r=100.*11.8*10**3  # in ohm\n",
    "x1=r*10**-6  # in M-ohm\n",
    "print \"         R <= hfe*RC\"\n",
    "print \"  R <=%0.2f Mohm\"%x1\n",
    "print \"Hence, let us assume that R = R1 = R2 = 1 M-ohm\"\n",
    "print \"    Toff = 0.693*R*C1\"\n",
    "c1=(20*10**-6)/(0.693*10**6)  # in faraday\n",
    "x1=c1*10**12  # in pF\n",
    "print \"Therefore,  C1 =%0.2f pF\"%x1\n",
    "print \"    Ton = 0.693*R*C2\"\n",
    "c1=(10*10**-6)/(0.693*10**6)  # in faraday\n",
    "x1=c1*10**12  # in pF\n",
    "print \"Therefore,  C2 = %0.2f pF\"%x1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Page No. 523 Example 16.14."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "At stable state, Q2 is ON and Q2 is OFF:\n",
      "    RC2(ohm) = RC1(ohm) = VCC-VCE(sat) / IC(sat) =950.00 ohm\n",
      "IB2(sat) = IC(sat) / hfe(min) =0.30 mA\n",
      "Also,    IB1(sat) = 0.3 mA\n",
      "  R = VCC-VBE(sat) / IB2(sat) = 17.67 kohm\n",
      "                                          [because, VBE(sat) = 0.7 V for Si transistor]\n",
      "At quasi-stable state, Q1 is ON and Q2 is OFF\n",
      "    T = 0.693*R*C\n",
      "Therefore,      C= T / 0.693*R =0.01 uF\n",
      "Assume,    IB1(sat) = IR2\n",
      "Therefore,  IR1 = IB1(sat)+IR2 =0.60 mA\n",
      "    VCC = VBE(sat) + IR1(RC2+R1)\n",
      "Therefore,  R1 = (VCC-VBE(sat) / IR1) - RC2 =7.88 kohm\n",
      "    R2 = VBE(sat)-(-VBB) / IR2 =7.33 kohm\n",
      "The speed up capacitor C1 is chosen such that R1C1 = 1 us and hence,\n",
      "      C1 = 127.67 pF\n"
     ]
    }
   ],
   "source": [
    "print \"At stable state, Q2 is ON and Q2 is OFF:\"\n",
    "rc2=(6.-0.3)/(6*10**-3) # in ohm\n",
    "print \"    RC2(ohm) = RC1(ohm) = VCC-VCE(sat) / IC(sat) =%0.2f ohm\"%rc2\n",
    "ib2=(6.*10**-3)/20 # in ampere\n",
    "x1=ib2*10**3  # in mA\n",
    "print \"IB2(sat) = IC(sat) / hfe(min) =%0.2f mA\"%x1\n",
    "print \"Also,    IB1(sat) = 0.3 mA\"\n",
    "r=(6-0.7)/(0.3*10**-3)  # in ohm\n",
    "x1=r*10**-3  # in k-ohm\n",
    "print \"  R = VCC-VBE(sat) / IB2(sat) = %0.2f kohm\"%x1\n",
    "print \"                                          [because, VBE(sat) = 0.7 V for Si transistor]\"\n",
    "print \"At quasi-stable state, Q1 is ON and Q2 is OFF\"\n",
    "print \"    T = 0.693*R*C\"\n",
    "c=(140.*10**-6)/(0.693*17.67*10**3)  # in F\n",
    "x1=c*10**6  # in uF\n",
    "print \"Therefore,      C= T / 0.693*R =%0.2f uF\"%x1\n",
    "print \"Assume,    IB1(sat) = IR2\"\n",
    "ir2=0.3+0.3  # in mA\n",
    "print \"Therefore,  IR1 = IB1(sat)+IR2 =%0.2f mA\"%ir2\n",
    "r1=((6-0.7)/(0.6*10**-3))-950  # in ohm\n",
    "x1=r1*10**-3  # in k-ohm\n",
    "print \"    VCC = VBE(sat) + IR1(RC2+R1)\"\n",
    "print \"Therefore,  R1 = (VCC-VBE(sat) / IR1) - RC2 =%0.2f kohm\"%x1\n",
    "r2=(0.7+1.5)/(0.3*10**-3)  # in ohm\n",
    "x1=r2*10**-3  # in k-ohm\n",
    "print \"    R2 = VBE(sat)-(-VBB) / IR2 =%0.2f kohm\"%x1\n",
    "print \"The speed up capacitor C1 is chosen such that R1C1 = 1 us and hence,\"\n",
    "c1=(1.0*10**-6)/(7.833*10**3)  # in F\n",
    "x1=c1*10**12  # in pF\n",
    "print \"      C1 = %0.2f pF\" %x1  # answer in textbook is wrong"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Page No. 524 Example 16.15."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "      VB1 = -VBB*R2 / R2+R3 = -1.57 V\n",
      "          IC2 = [VCC-VC2(sat) / RC2] - [VC2(sat)-(-VBB) / R2+R3] =5.21 mA\n",
      "      IB2 > IC2 / hfe(min) > 0.27\n",
      "Therefore,  I6 = 0.13 mA\n",
      "            I3 =0.63 mA\n",
      "            VC1 = 10.62 V\n"
     ]
    }
   ],
   "source": [
    "vb1=(-12.*15*10**3)/(115.*10**3)  # in volts\n",
    "print \"      VB1 = -VBB*R2 / R2+R3 = %0.2f V\"%vb1\n",
    "ic2=((12-0.3)/(2.2*10**3))-((0.3+12)/(115*10**3)) # in A\n",
    "x1=ic2*10**3  # in mA  (Since Q2 is ON VC2(sat) = 0.3 V)\n",
    "print \"          IC2 = [VCC-VC2(sat) / RC2] - [VC2(sat)-(-VBB) / R2+R3] =%0.2f mA\"%x1             # answer in textbook is wrong\n",
    "ib2=(5.35*10**-3)/20  # in A\n",
    "x1=ib2*10**3  # in mA\n",
    "print \"      IB2 > IC2 / hfe(min) > %0.2f\"%x1  # approximately 0.5 mA\n",
    "i6=(0.7+12)/(100)  # in mA\n",
    "print \"Therefore,  I6 = %0.2f mA\"%i6\n",
    "i3=0.5+0.127  # in mA\n",
    "print \"            I3 =%0.2f mA\"%i3\n",
    "vc1=12-((0.627*10**-3)*(2.2*10**3))\n",
    "print \"            VC1 = %0.2f V\"%vc1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Page No. 525 Example 16.16."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Voltage across RE is VE = VB2 - VBE =4.30 V\n",
      "    RE = VE / IE =2.15 kohm\n",
      "     IC*RC2 = VCC - VE - VCE(sat) = 7.50 V\n",
      "     RC2 =3.75 kohm\n",
      "     I2 = 0.1*IC2 =0.20 mA\n",
      "     R2 = VB2 / I2 =25.00 kohm\n",
      "     IB2 = IC2 / hfe(min) = 0.00 uA\n",
      "RC1 + R1 =31.82\n",
      "  I1 = VB2 / R2 =0.12 mA\n",
      "  IC1 = IE = VB1-VBE / RE =1.07 mA\n",
      "Therefore,  RC1 =4.84 kohm\n",
      "  R1 = 26.96 kohm\n",
      "  RB < hfe*RE\n",
      "  RB = hfe*RE / 10 =21.50 kohm\n"
     ]
    }
   ],
   "source": [
    "ve=5-0.7  # in volts\n",
    "print \"Voltage across RE is VE = VB2 - VBE =%0.2f V\"%ve\n",
    "re=4.3/2 # in k-ohm\n",
    "print \"    RE = VE / IE =%0.2f kohm\"%re\n",
    "x=12-4.3-0.2  # in volts\n",
    "print \"     IC*RC2 = VCC - VE - VCE(sat) = %0.2f V\"%x\n",
    "rc2=7.5/(2)  # in k-ohm\n",
    "print \"     RC2 =%0.2f kohm\"%rc2\n",
    "i2=0.1*2  # in mA\n",
    "print \"     I2 = 0.1*IC2 =%0.2f mA\"%i2\n",
    "r2=5/0.2  # in k-ohm\n",
    "print \"     R2 = VB2 / I2 =%0.2f kohm\"%r2\n",
    "ib2=(210**-3)/100  # in A\n",
    "x1=ib2*10**6  # in uA\n",
    "print \"     IB2 = IC2 / hfe(min) = %0.2f uA\"%x1\n",
    "x=7/(0.22)  # in k-ohm\n",
    "print \"RC1 + R1 =%0.2f\"%x\n",
    "i1=3./25 # in mA\n",
    "print \"  I1 = VB2 / R2 =%0.2f mA\"%i1\n",
    "ic1=(3-0.7)/2.15  # in mA\n",
    "print \"  IC1 = IE = VB1-VBE / RE =%0.2f mA\"%ic1\n",
    "rc1=(12-((0.12*10**-3)*(56.8*10**3)))/(1.07*10**-3)  # in  ohm\n",
    "x1=rc1*10**-3  # in k-ohm\n",
    "print \"Therefore,  RC1 =%0.2f kohm\"%x1\n",
    "r1=31.8-4.84\n",
    "print \"  R1 = %0.2f kohm\"%r1\n",
    "rb=(100*2.15)/10\n",
    "print \"  RB < hfe*RE\"\n",
    "print \"  RB = hfe*RE / 10 =%0.2f kohm\"%rb"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
