{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Chapter - 29 : NON SINUSOIDAL OSCILLATORS"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 29.1 Pg 861"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "f=362.32 kHZ\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "R=20*10**3#\n",
    "C=100*10**-12#\n",
    "f=1/(1.38*R*C)#\n",
    "print 'f=%0.2f kHZ'%(f*10**-3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 29.2 Pg 861"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "T=0.70 ms\n",
      "f=1.42 kHZ\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "R1=2*10**3#\n",
    "R2=20*10**3#\n",
    "C1=0.01*10**-6#\n",
    "C2=0.05*10**-6#\n",
    "T=0.69*(R1*C1+R2*C2)\n",
    "print 'T=%0.2f ms'%(T*10**3)\n",
    "f=1/T#\n",
    "print 'f=%0.2f kHZ'%(f*10**-3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 29.3 Pg 861"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "C1=144.93 pF\n",
      "C2=1304.35 pF\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "T1=1*10**-6#\n",
    "f=100*10**3#\n",
    "R1=10*10**3#\n",
    "R2=10*10**3#\n",
    "T=1/f#\n",
    "C1=T1/(0.69*R1)#\n",
    "print 'C1=%0.2f pF'%(C1*10**12)\n",
    "T2=T-T1#\n",
    "C2=T2/(0.69*R1)#\n",
    "print 'C2=%0.2f pF'%(C2*10**12)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 29.4 Pg 862"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RC1=RC2=RC= RC=3000.00 ohm\n",
      "C1=14975.85 pF\n",
      "C2=12077.29 pF\n",
      "tao1=449.28 microsec\n",
      "tao2=362.32 microsec\n",
      "tao11=22.46 microsec\n",
      "tao12=18.12 microsec\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "T2A=310*10**-6#\n",
    "T2B=250*10**-6#\n",
    "VCC=15#\n",
    "IC=5*10**-3#\n",
    "hFC=20#\n",
    "RC=VCC/IC#\n",
    "RC1=RC#\n",
    "RC2=RC#\n",
    "print \"RC1=RC2=RC=\",'RC=%0.2f ohm'%RC\n",
    "hFE=hFC#\n",
    "IBsat=IC/hFE#\n",
    "IB=2*IBsat#\n",
    "R=VCC/IB#\n",
    "R1=R#\n",
    "R2=R#\n",
    "C1=T2A/(0.69*R1)#\n",
    "print 'C1=%0.2f pF'%(C1*10**12)\n",
    "C2=T2B/(0.69*R2)#\n",
    "print 'C2=%0.2f pF'%(C2*10**12)\n",
    "tao1=R1*C1#\n",
    "print 'tao1=%0.2f microsec'%(tao1*10**6)\n",
    "tao2=R2*C2#\n",
    "print 'tao2=%0.2f microsec'%(tao2*10**6)\n",
    "tao11=RC1*C1/2#\n",
    "print 'tao11=%0.2f microsec'%(tao11*10**6)\n",
    "tao12=RC2*C2/2#\n",
    "print 'tao12=%0.2f microsec'%(tao12*10**6)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 29.5 Pg 862"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "T=50.00 microsec\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "f=20*10**3#\n",
    "T=1/f#\n",
    "print 'T=%0.2f microsec'%(T*10**6)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 29.6 Pg 862"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "T=10.00 us\n",
      "tp=0.10 us\n",
      "R3=7.25 kohm\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "f=100*10**(-3)#\n",
    "T=(1/f)#\n",
    "print 'T=%0.2f us'%(T)\n",
    "tp=(1/T)#\n",
    "print 'tp=%0.2f us'%tp\n",
    "C1=0.001*10**(-6)#\n",
    "R3=((5*10**(-6))/(0.69*C1))#\n",
    "print 'R3=%0.2f kohm'%(R3*10**(-3))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 29.7 Pg 863"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "T=13.80 microsec\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "RC=2*10**3#\n",
    "R3=20*10**3#\n",
    "rbb=200#\n",
    "C1=1000*10**-12#\n",
    "T=0.69*C1*R3#\n",
    "print 'T=%0.2f microsec'%(T*10**6)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 29.8 Pg 864"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tp=24.20 microS\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "R1=2.2*10**3#\n",
    "C1=0.01*10**-6#\n",
    "tp=1.1*R1*C1#\n",
    "print 'tp=%0.2f microS'%(tp*10**6)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 29.9 Pg 864"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "R1=9.09 kohm\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "tp=10*10**-6#\n",
    "c=1000*10**-12#\n",
    "R1=tp/(1.1*c)#\n",
    "print 'R1=%0.2f kohm'%(R1*10**-3)\n",
    "#t=(0:0.1:5*pi)'#\n",
    "#plot2d1('onn',t,[squarewave(t,60)])#"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 29.10 Pg 865"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "t2=3.29 microS\n",
      "t1=8.05 microS\n",
      "dc=70.99 %\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "R1=6.8*10**3#\n",
    "R2=4.7*10**3#\n",
    "C1=1000*10**-12#\n",
    "t2=0.7*R2*C1#\n",
    "print 't2=%0.2f microS'%(t2*10**6)\n",
    "t1=0.7*(R1+R2)*C1#\n",
    "print 't1=%0.2f microS'%(t1*10**6)\n",
    "dc=(t1/(t1+t2))*100#\n",
    "print 'dc=%0.2f %%'%dc"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 29.11 Pg 865"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "f=1.03 kHZ\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "R1=27*10**3#\n",
    "R2=56*10**3#\n",
    "C1=0.01*10**-6#\n",
    "t2=0.7*R2*C1#\n",
    "t1=0.7*(R1+R2)*C1#\n",
    "T=t1+t2#\n",
    "f=1/T#\n",
    "print 'f=%0.2f kHZ'%(f*10**-3)\n",
    "#t=(0:0.1:6*pi)'#\n",
    "#plot2d1('onn',t,[squarewave(t,60)])#"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex 29.12 Pg 866"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "R2=5.19 kohm\n",
      "R1=2.60 kohm\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "f=50*10**3#\n",
    "dutyc=0.60#\n",
    "C=0.0022*10**-6#\n",
    "T=1/f#\n",
    "t1=dutyc*T#\n",
    "t2=T-t1#\n",
    "R2=(t2)/(0.7*C)#\n",
    "print 'R2=%0.2f kohm'%(R2*10**-3)\n",
    "R1=(t1)/(0.7*C)-R2#\n",
    "print 'R1=%0.2f kohm'%(R1*10**-3)"
   ]
  }
 ],
 "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
}
