summaryrefslogtreecommitdiff
path: root/Analog_Integrated_Circuits_by__Pramod_Sharma/Chapter05.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Analog_Integrated_Circuits_by__Pramod_Sharma/Chapter05.ipynb')
-rwxr-xr-xAnalog_Integrated_Circuits_by__Pramod_Sharma/Chapter05.ipynb863
1 files changed, 863 insertions, 0 deletions
diff --git a/Analog_Integrated_Circuits_by__Pramod_Sharma/Chapter05.ipynb b/Analog_Integrated_Circuits_by__Pramod_Sharma/Chapter05.ipynb
new file mode 100755
index 00000000..df466cfa
--- /dev/null
+++ b/Analog_Integrated_Circuits_by__Pramod_Sharma/Chapter05.ipynb
@@ -0,0 +1,863 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:59cd343af66270b4e29714c4ca9503ff6321478ece54592a85a310df01cfd603"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter05 : Waveform Generators"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Exa 5.1 : page 170"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "# given data \n",
+ "fo=1 #in KHz\n",
+ "# assume R1=1 Kohm and C=1 uF\n",
+ "R1=1 #in Kohm\n",
+ "C=1 #in uF\n",
+ "R2=1.16*R1 #in Kohm\n",
+ "R=1/(2*fo*10**3*C*10**-6)\n",
+ "print \"Value of R1 = %0.2f kohm\" %R1\n",
+ "print \"Value of R2 = %0.2f kohm\" %R2\n",
+ "print \"Value of R = %0.2f ohm\" %R\n",
+ "print \"Value of C = %0.2f uF\"%C"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of R1 = 1.00 kohm\n",
+ "Value of R2 = 1.16 kohm\n",
+ "Value of R = 500.00 ohm\n",
+ "Value of C = 1.00 uF\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Exa 5.2 : page 170"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import log\n",
+ "# given data \n",
+ "fo=1 #in KHz\n",
+ "BETA=0.6 #unitless\n",
+ "print \"As choosing R1=1 Kohm\"\n",
+ "# assume R1=1 Kohm and C=1 uF\n",
+ "R1=1 #in Kohm\n",
+ "C=1 #in uF\n",
+ "R=1/(2*fo*10**3*C*10**-6*log((1+BETA)/(1-BETA))) \n",
+ "print \"Value of R = %0.2f ohm\"%R\n",
+ "#Answer in the book is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "As choosing R1=1 Kohm\n",
+ "Value of R = 360.67 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Exa 5.3 : page 170"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# given data \n",
+ "BETA=0.41 #unitless\n",
+ "R=2.7 #in Kohm\n",
+ "C=0.1 #in uF\n",
+ "fo=1/(2*R*C*log((1+BETA)/(1-BETA))) #in KHz\n",
+ "print \"Output signal frequency = %0.3f khz\"%fo,"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Output signal frequency = 2.126 khz\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Exa 5.4 : page 171"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# given data \n",
+ "Ton=100 #in mSEC\n",
+ "Toff=200 #in mSEC\n",
+ "BETA=0.2 #unitless\n",
+ "#Let R1=1 Kohm\n",
+ "R1=1 #in Kohm\n",
+ "R2=R1*(1-BETA)/BETA #in Kohm\n",
+ "# Assuming C=10 uF\n",
+ "C=10 #in uF\n",
+ "R3=Ton*10**-3/(C*10**-6*0.41) #in Kohm\n",
+ "R4=Toff*10**-3/(C*10**-6*0.41) # in Kohm\n",
+ "print \"Value of R1 = %0.2f kohm\"%R1\n",
+ "print \"Value of R2 = %0.2f kohm\"%R2\n",
+ "print \"Value of R3 = %0.2f kohm\"%(R3/1000)\n",
+ "print \"Value of R4 = %0.2f kohm\"%(R4/1000)\n",
+ "print \"Value of C = %0.2f uF\"%C"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of R1 = 1.00 kohm\n",
+ "Value of R2 = 4.00 kohm\n",
+ "Value of R3 = 24.39 kohm\n",
+ "Value of R4 = 48.78 kohm\n",
+ "Value of C = 10.00 uF\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Exa 5.5 : page 171"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# given data \n",
+ "Vo=7.5 #in Volt\n",
+ "fo=1 # in KHz\n",
+ "DutyCycle=60 #in %\n",
+ "Vz=6.8 # in volt\n",
+ "Vz1=6.8 # in volt\n",
+ "Vz2=6.8 # in volt\n",
+ "VD=0.7 # in volt\n",
+ "T=1/fo #in mSec\n",
+ "# duty cycle 60% gives Ton & Toff\n",
+ "Ton=0.6*T #in mSec\n",
+ "Toff=T-Ton #in mSec\n",
+ "# choosing R2=1.16*R1\n",
+ "R1=1 #in Kohm\n",
+ "C=0.1 #in uF\n",
+ "R2=1.16*R1 #in Kohm\n",
+ "R3=Ton*10**-3/(C*10**-6) #in ohm\n",
+ "R4=Toff*10**-3/(C*10**-6) #in ohm\n",
+ "print \"Value of R1 = %0.2f kohm\"%R1\n",
+ "print \"Value of R2 = %0.2f kohm\"%R2\n",
+ "print \"Value of R3 = %0.2f kohm\"%(R3/1000)\n",
+ "print \"Value of R4 = %0.2f kohm\"%(R4/1000)\n",
+ "print \"Value of C = %0.2f uF\"%C"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of R1 = 1.00 kohm\n",
+ "Value of R2 = 1.16 kohm\n",
+ "Value of R3 = 6.00 kohm\n",
+ "Value of R4 = 4.00 kohm\n",
+ "Value of C = 0.10 uF\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Exa 5.6 : page 179"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# given data \n",
+ "RA=6.8 #in Kohm\n",
+ "RB=3.3 #in Kohm\n",
+ "C=0.1 #in uF\n",
+ "fo=1.45/((RA+2*RB)*C) # in KHz\n",
+ "d=(RA+RB)/(RA+2*RB) \n",
+ "print \"Frequency of oscillation = %0.2f khz\"%fo\n",
+ "print \"Duty cycle = %0.2f %%\" %(d*100)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Frequency of oscillation = 1.08 khz\n",
+ "Duty cycle = 75.37 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Exa 5.7 : page 179"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# given data \n",
+ "fo=50 #in kHz\n",
+ "d=75/100 #unitless\n",
+ "C=1 #in nF\n",
+ "print \"RA+2RB=28.9 kohm\" \n",
+ "print \"d=0.75=(RA+RB)/(RA+2*RB)\" \n",
+ "print \"It gives RA=2*RB\" \n",
+ "RA=28.9/2 # in kohm\n",
+ "RB=RA/2 #in kohm\n",
+ "print \"Value of RA = %0.1f kohm \" %RA\n",
+ "print \"Value of RB = %0.2f kohm \" %RB"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "RA+2RB=28.9 kohm\n",
+ "d=0.75=(RA+RB)/(RA+2*RB)\n",
+ "It gives RA=2*RB\n",
+ "Value of RA = 14.4 kohm \n",
+ "Value of RB = 7.22 kohm \n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Exa 5.8 : page 180"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# given data \n",
+ "fo=800 # in Hz\n",
+ "d=60/100 #unitless\n",
+ "T=1/fo #in Sec\n",
+ "TC=0.6*T #in Sec\n",
+ "TD=T-TC #in Sec\n",
+ "C=0.01 #in uF\n",
+ "C2=10 #in uF\n",
+ "RB=TD/(0.69*C*10**-6) #in ohm\n",
+ "RA=(TC-0.69*RB*C*10**-6)/(0.69*C*10**-6) #in ohm\n",
+ "print \"Value of RA = %0.2f kohm \" %(RA/1000)\n",
+ "print \"Value of RB = %0.2f kohm \" %(RB/1000)\n",
+ "print \"Value of C = %0.2f uF\" %C\n",
+ "print \"Value of C2 = %0.2f uF\" %C2"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of RA = 36.23 kohm \n",
+ "Value of RB = 72.46 kohm \n",
+ "Value of C = 0.01 uF\n",
+ "Value of C2 = 10.00 uF\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Exa 5.9 : page 180"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# given data \n",
+ "fo=700 # in Hz\n",
+ "d=50/100 #unitless\n",
+ "T=1/fo #in Sec\n",
+ "TC=0.5*T #in Sec\n",
+ "TD=T-TC #in Sec\n",
+ "C=0.1 #in uF\n",
+ "RB=TD/(0.69*C*10**-6) #in ohm\n",
+ "RA=TC/(0.69*C*10**-6) #in ohm\n",
+ "print \"Value of RA = %0.1f kohm \" %(RA/1000)\n",
+ "print \"Value of RB = %0.1f kohm \" %(RB/1000)\n",
+ "print \"We have TC = TD = %0.3f ms\" %(TC*1000)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of RA = 10.4 kohm \n",
+ "Value of RB = 10.4 kohm \n",
+ "We have TC = TD = 0.714 ms\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Exa 5.10 : page 181"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# given data \n",
+ "fo=1 # in KHz\n",
+ "d=40/100 #unitless\n",
+ "T=1/fo #in Sec\n",
+ "TC=0.4*T #in mSec\n",
+ "TD=T-TC #in mSec\n",
+ "C=0.1 #in uF\n",
+ "RB=TD*10**-3/(0.69*C*10**-6) #in ohm\n",
+ "RA=TC*10**-3/(0.69*C*10**-6) #in ohm\n",
+ "print \"Value of RA = %0.2f kohm \" %(RA/1000)\n",
+ "print \"Value of RB = %0.2f kohm \" %(RB/1000)\n",
+ "print \"We have TC = %0.2f ms\" %(TC)\n",
+ "print \"We have TD = %0.2f ms\" %(TD)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of RA = 5.80 kohm \n",
+ "Value of RB = 8.70 kohm \n",
+ "We have TC = 0.40 ms\n",
+ "We have TD = 0.60 ms\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Exa 5.11 : page 186"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# given data \n",
+ "T=100 # in uSec\n",
+ "C=15 #in \n",
+ "R=T*10**-6/(1.1*C*10**-9) #in ohm\n",
+ "print \"To obtain a output pulse at 100uSec resistor required = %0.2f kohm\"%(R/1000)\n",
+ "#Note : in the question 15uF is given but in the solution 15nF is used in the book"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "To obtain a output pulse at 100uSec resistor required = 6.06 kohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Exa 5.12 : page 187"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# given data \n",
+ "VCC=15 #in Volt\n",
+ "T=10 #in mSec\n",
+ "ILED=20 #in mA\n",
+ "Vf=1.4 #in Volt\n",
+ "VBE=0.7 #in Volt\n",
+ "VCEsat=0.2 #in Volt\n",
+ "C=0.22 #in uF\n",
+ "R=T*10**-3/(1.1*C*10**-6) #in ohm\n",
+ "#output of the device \n",
+ "Vo=VCC-2*VBE-VCEsat \n",
+ "R5=(Vo-Vf)/(ILED*10**-3) #in ohm\n",
+ "print \"Value of R = %0.2f kohm\" %(R/1000)\n",
+ "print \"Output of the device = %0.2f Volt\" %(Vo)\n",
+ "print \"Value of RB = %0.2f ohm\" %(R5)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of R = 41.32 kohm\n",
+ "Output of the device = 13.40 Volt\n",
+ "Value of RB = 600.00 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Exa 5.13 : page 187"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# given data \n",
+ "fo=2 # in KHz\n",
+ "C=0.01 #in uF\n",
+ "T=1/fo #in mSec\n",
+ "tp=1.2*T #in mSec\n",
+ "R=tp*10**-3/(1.1*C*10**-6) #in ohm\n",
+ "print \"Period of trigger pulse = %0.2f ms\" %(tp)\n",
+ "print \"Value of R = %0.2f kohm\"%(R/1000)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Period of trigger pulse = 0.60 ms\n",
+ "Value of R = 54.55 kohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Exa 5.14 : page 193"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# given data \n",
+ "fo=2 # in KHz\n",
+ "Vopp=5 #in volts\n",
+ "Vsat=13 #in Volts\n",
+ "# Let the value of R2 used be 10 Kohm \n",
+ "R2=10 #in Kohm\n",
+ "R3=(2*R2*Vsat)/Vopp #in Kohm \n",
+ "# Let C1=0.1 uF\n",
+ "C1=0.1 # in uF\n",
+ "R1=R3/(4*fo*10**3*C1*10**-6*R2) # in ohm\n",
+ "print \"Value of R1 = %0.2f kohm\" %(R1/1000)\n",
+ "print \"Value of C1 = %0.2f uF\" %(C1)\n",
+ "print \"Value of R2 = %0.2f kohm\" %R2\n",
+ "print \"Value of R3 = %0.2f kohm\" %R3 "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of R1 = 6.50 kohm\n",
+ "Value of C1 = 0.10 uF\n",
+ "Value of R2 = 10.00 kohm\n",
+ "Value of R3 = 52.00 kohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Exa 5.15 : page 193"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# given data \n",
+ "Vcc=12 #in Volt\n",
+ "R1=10 #in Kohm\n",
+ "R2=100 #in Kohm\n",
+ "R3=820 #in Kohm\n",
+ "# Let Vsat=10 volt\n",
+ "Vsat=10 #in volt\n",
+ "# part (a)\n",
+ "Vopp=2*R2*Vsat/R3 #in Volt\n",
+ "print \"Amplitude of triangular wave = %0.2f Volt\" %(Vopp)\n",
+ "Vopp=Vsat-(-Vsat) # in Volt\n",
+ "print \"Amplitude of square wave = %0.2f Volt\" %(Vopp)\n",
+ "# part (b)\n",
+ "C1=0.1 # in uF\n",
+ "fo=R3*1000/(4*R1*1000*R2*1000*C1*10**-6) # in Hz\n",
+ "print \"Frequency = %0.2f kHz\" %(fo/1000)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Amplitude of triangular wave = 2.44 Volt\n",
+ "Amplitude of square wave = 20.00 Volt\n",
+ "Frequency = 2.05 kHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Exa 5.16 : page 205"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt, pi\n",
+ "# given data \n",
+ "fo=1 # in KHz\n",
+ "# choose C=.01 uF\n",
+ "C=.01 # in uF\n",
+ "R=1/(2*pi*sqrt(6)*fo*1000*C*10**-6) # in ohm\n",
+ "R1=35.6 # in Kohm\n",
+ "RF=29*R1 #in ohm\n",
+ "print \"Value of C = %0.2f uF\" %(C)\n",
+ "print \"Value of R = %0.2f kohm\" %(R/1000)\n",
+ "print \"Value of R1 = %0.2f kohm\" %R1\n",
+ "print \"Value of RF = %0.2f Mohm\" %(RF/1000) \n",
+ "# Note : Answer in the book is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of C = 0.01 uF\n",
+ "Value of R = 6.50 kohm\n",
+ "Value of R1 = 35.60 kohm\n",
+ "Value of RF = 1.03 Mohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Exa 5.17 : page 206"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt, pi\n",
+ "# given data \n",
+ "fo=1 # in KHz\n",
+ "# choose C=.01 uF\n",
+ "C=.01 # in uF\n",
+ "R=1/(2*pi*fo*1000*C*10**-6) # in ohm\n",
+ "# choosing R1=10 Kohm\n",
+ "R1=10 # in Kohm\n",
+ "RF=2*R1 #in Kohm\n",
+ "print \"Value of C = %0.2f uF\" %(C)\n",
+ "print \"Value of R = %0.2f kohm\" %(R/1000)\n",
+ "print \"Value of R1 = %0.2f kohm\" %R1\n",
+ "print \"Value of RF = %0.2f kohm\" %(RF) "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of C = 0.01 uF\n",
+ "Value of R = 15.92 kohm\n",
+ "Value of R1 = 10.00 kohm\n",
+ "Value of RF = 20.00 kohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Exa 5.19 : page 207"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# given data \n",
+ "R=1 #in Kohm\n",
+ "C=3.6 #in uF\n",
+ "fo=1/(2*pi*R*1000*C*10**-6) # in Hz\n",
+ "print \"The frequency of oscillation = %0.2f Hz\" %fo"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The frequency of oscillation = 44.21 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Exa 5.20 : page 217"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# given data \n",
+ "R1=10 #in Kohm\n",
+ "R2=47 #in Kohm\n",
+ "R3=5.6 #in Kohm\n",
+ "RT=4.7 #in Kohm\n",
+ "CT=0.05 #in uF\n",
+ "V1=-10 #in Volt\n",
+ "V2=2 #in Volt\n",
+ "Vop=-(R1*V1/R2+R1*V2/R3) # in volt\n",
+ "VEE=0 #in Volt\n",
+ "I=(VEE+3-Vop)/RT # in mA\n",
+ "fo=0.32*I*10**-3/(CT*10**-6) #in Hz\n",
+ "print \"Op-amp voltage = %0.2f V \"%Vop\n",
+ "print \"Frequency = %0.2f kHz\" %(fo/1000)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Op-amp voltage = -1.44 V \n",
+ "Frequency = 6.05 kHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Exa 5.21 : page 233"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# given data \n",
+ "RT=50 #in Kohm\n",
+ "CT=0.001 #in uF\n",
+ "V=20 #in Volt\n",
+ "C=10 #in uF\n",
+ "fo=0.25/(RT*10**3*CT*10**-6) #in Hz\n",
+ "dfl=7.8*fo/V #in Hz\n",
+ "dfc=sqrt(dfl/(2*pi*3.6*10**3*C*10**-6)) #in Hz\n",
+ "print \"Free running frequency = %0.2f kHz\" %(fo/1000)\n",
+ "print \"Lock range = %0.2f kHz\" %(dfl/1000)\n",
+ "print \"Capture range = %0.2f Hz\" %(dfc)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Free running frequency = 5.00 kHz\n",
+ "Lock range = 1.95 kHz\n",
+ "Capture range = 92.85 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Exa 5.22 : page 237"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import log10, ceil\n",
+ "# given data \n",
+ "fomax=100 # in KHz\n",
+ "Resolution=2 #in Hz\n",
+ "flowest=Resolution #in Hz\n",
+ "fclk=fomax*2.2 #in KHz\n",
+ "# formula: 2**n=fclk/flowest\n",
+ "n=(log10(fclk*1000/flowest))/log10(2) \n",
+ "print \" Frequency of reference oscillator = %0.2f kHz\" %fclk\n",
+ "print \" No. of bits needed is \",ceil(n) "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " Frequency of reference oscillator = 220.00 kHz\n",
+ " No. of bits needed is 17.0\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file