diff options
Diffstat (limited to 'Linear_Integrated_Circuit_by_M._S._Sivakumar/Ch7_1.ipynb')
-rw-r--r-- | Linear_Integrated_Circuit_by_M._S._Sivakumar/Ch7_1.ipynb | 747 |
1 files changed, 747 insertions, 0 deletions
diff --git a/Linear_Integrated_Circuit_by_M._S._Sivakumar/Ch7_1.ipynb b/Linear_Integrated_Circuit_by_M._S._Sivakumar/Ch7_1.ipynb new file mode 100644 index 00000000..c7941467 --- /dev/null +++ b/Linear_Integrated_Circuit_by_M._S._Sivakumar/Ch7_1.ipynb @@ -0,0 +1,747 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 7 Filters and Rectifiers" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.1 Pg 232" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The resistor value is = 1.59 k ohm \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi, sqrt\n", + "# Design active low filter with cut-off frequency 10 kHz\n", + "fc = 10 # # kHz\n", + "C = 0.01 # #uF # we assume\n", + "\n", + "# the cut-off frequency of active low pass filter is defined as\n", + "# fc = (1/2*pi*R3*C)#\n", + "\n", + "# R3 can be calculated as\n", + "R3 = (1/(2*pi*fc*C))#\n", + "print 'The resistor value is = %0.2f'%R3,' k ohm '" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.2 Pg 233" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The resistor value is = 106 ohm \n", + "The pass band gain is = 1.50 \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi, sqrt\n", + "# Design active low filter with cut-off frequency 15 kHz\n", + "fc = 15*10**3 # # Hz \n", + "C = 0.1*10**-6 # #F # we assume\n", + "\n", + "# the cut-off frequency of active low pass filter is defined as\n", + "# fc = (1/2*pi*R3*C)#\n", + "\n", + "# R3 can be calculated as\n", + "R3 = (1/(2*pi*fc*C))#\n", + "print 'The resistor value is = %0.f'%R3,' ohm '\n", + "\n", + "# the pass band gain of filter is given by\n", + "# Af = 1+(R2/R1)#\n", + "# assume that the inverting terminal resistor R2=0.5*R1#\n", + "# in Af equation if we put R2=0.5R1 in R1 R1 cancellout each other \n", + "Af = 1+(0.5)\n", + "print 'The pass band gain is = %0.2f'%Af,' '" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.3 Pg 234" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The resistor value is = 159 Kohm \n", + "The resistor R2 value is = 900.00 k ohm \n", + "The magnitude of an active low pass filter is = 1.96 \n", + "The phase angle of the filter is = -78.69 \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi, sqrt\n", + "# Design active low filter with cut-off frequency 20 kHz\n", + "fc = 20 # # kHz \n", + "f = 100 # # frequency of filter\n", + "Af = 10 # # desired pass band gain\n", + "C = 0.05 # #nF # we assume\n", + "\n", + "# the cut-off frequency of active low pass filter is defined as\n", + "# fc = (1/2*pi*R3*C)#\n", + "\n", + "# R3 can be calculated as\n", + "R3 = (1/(2*pi*fc*1e3*C*1e-9))/1e3 # Kohm\n", + "print 'The resistor value is = %0.f'%R3,' Kohm '\n", + "\n", + "# the pass band gain of filter is given by\n", + "# Af = 1+(R2/R1)#\n", + "# assume that the inverting terminal resistor R1= 100 k ohm#\n", + "R1 = 100 # # k ohm\n", + "R2 = (Af*R1)-R1#\n", + "print 'The resistor R2 value is = %0.2f'%R2,' k ohm '\n", + "\n", + "# the magnitude of an active low pass filter is given as\n", + "A = Af/(sqrt(1+(f/fc)**2))#\n", + "print 'The magnitude of an active low pass filter is = %0.2f'%A,' '\n", + "\n", + "#the phase angle of the filter\n", + "from math import atan , degrees\n", + "Angle = -degrees(atan(f/fc))#\n", + "print 'The phase angle of the filter is = %0.2f'%Angle,' '" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.4 Pg 236" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The frequency of the first order low pass filter is = 2.65 kHz \n", + "The pass band gain of filter is = 13.00 \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi, sqrt\n", + "# to determine the cut-off frequency and pass band gain Af\n", + "R1 = 1 # # k ohm\n", + "R2 = 12 # # k ohm\n", + "R3 = 1.2 # # k ohm\n", + "C = 0.05 # #uF # we assume\n", + "\n", + "# the frequency of the first order low pass filter is defined as\n", + "fc = (1/(2*pi*R3*C))#\n", + "print 'The frequency of the first order low pass filter is = %0.2f'%fc,' kHz '\n", + "\n", + "# the pass band gain of filter is given by\n", + "Af =(1+R2/R1)#\n", + "print 'The pass band gain of filter is = %0.2f'%Af,''" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.5 Pg 236" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The capacitor of high pass filter is = 25.13 uF \n", + "The second resistor value is = 90.00 K ohm \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi, sqrt\n", + "# to design a first order high pass filter with cut-off frequency 2kHz\n", + "Af = 10 #\n", + "fc = 2 # # kHz \n", + "R3 = 2 # #K ohm # we assume\n", + "R1 = 10 # # k ohm\n", + "# the capacitor of high pass filter is given by\n", + "C = 2*pi*R3*fc#\n", + "print 'The capacitor of high pass filter is = %0.2f'%C,' uF '\n", + "\n", + "# the voltage gain of the high pass filter is\n", + "# Af = 1+(R2/R1)#\n", + "R2 = R1*(Af-1)#\n", + "print 'The second resistor value is = %0.2f'%R2,' K ohm '" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.6 Pg 237" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The resistance R3 is = 1.59 K ohm \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi, sqrt\n", + "# to design an active high pass filter with cut-off frequency 10kHz\n", + "fc = 10 # # kHz \n", + "C = 0.01 # #uF # we assume\n", + "# the cut-off frequency of active high pass filter is given by\n", + "# fc = 2*pi*R3*C#\n", + "# R3 can be calculated as\n", + "R3 = (1/(2*pi*fc*C))#\n", + "\n", + "print 'The resistance R3 is = %0.2f'%R3,' K ohm '" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.7 Pg 238" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The resistance R3 is = 64 Kohm \n", + "The pass band gain is = 1.20 \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi, sqrt\n", + "# to design an active high pass filter with cut-off frequency 25kHz\n", + "fc = 25 # # kHz \n", + "C = 0.1 # #nF # we assume\n", + "# the cut-off frequency of active high pass filter is given by\n", + "# fc = 2*pi*R3*C#\n", + "# R3 can be calculated as\n", + "R3 = (1/(2*pi*fc*1e3*C*1e-9)) / 1e3 # Kohm\n", + "print 'The resistance R3 is = %0.f'%R3,' Kohm '\n", + "\n", + "# the desire pass band gain of filter is given by \n", + "#Af = 1+(R2/R1)#\n", + "# assume that the inverting terminal resistor R2=0.2*R1#\n", + "# in Af equation if we put R2=0.2R1 in R1 R1 cancellout each other \n", + "Af = 1+(0.2)\n", + "print 'The pass band gain is = %0.2f'%Af,' '" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.8 Pg 239" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The resistance R3 is = 159 K ohm \n", + "The resistance R2 is = 700.00 K ohm \n", + "The magnitude of an active high pass filter is = 14.55 \n", + "The phase angle of the filter is = 14.04 degree\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi, sqrt\n", + "## # to design an active high pass filter with cut-off frequency 20kHz \n", + "Af = 15 #\n", + "fc = 20 # #kHz\n", + "f = 80 # # kHz the frequency of filter \n", + "C = 0.05 # #nF # we assume\n", + "# the cut-off frequency of active high pass filter is given by\n", + "# fc = 2*pi*R3*C#\n", + "# R3 can be calculated as\n", + "R3 = (1/(2*pi*fc*C))#\n", + "print 'The resistance R3 is = %0.f'%(R3*1000),' K ohm ' # Round Off Error\n", + "\n", + "# the desire pass band gain of filter is given by \n", + "#Af = 1+(R2/R1)#\n", + "# assume that the inverting terminal resistor R1=50 K ohm#\n", + "R1 = 50 # # K ohm\n", + "R2 = (R1*Af)-(R1)\n", + "print 'The resistance R2 is = %0.2f'%R2,' K ohm '\n", + "\n", + "# the magnitude of an active high pass filter is given as\n", + "A = Af*(f/fc)/(sqrt(1+(f/fc)**2))#\n", + "print 'The magnitude of an active high pass filter is = %0.2f'%A,' '\n", + "\n", + "#the phase angle of the filter\n", + "from numpy import inf\n", + "Angle = degrees(-atan(f/fc)+atan(inf))\n", + "print 'The phase angle of the filter is = %0.2f'%Angle,' degree' # Round Off Error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.9 Pg 241" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The lower cut-off frequency FLC of band pass filter is = 159.2 Hz \n", + "The upper cut-off frequency FUC of band pass filter is = 15.92 kHz \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi, sqrt\n", + "# to calculate upper and lower cut-off frequency of the band pass filter\n", + "R1 = 10*10**3 # #K ohm\n", + "R2 = 10 # #K ohm\n", + "C1 = 0.1*10**-6 # # uF\n", + "C2 = 0.001 # #uF\n", + "\n", + "# the lower cut-off frequency of band pass filter is\n", + "fLC = 1/(2*pi*R1*C1)#\n", + "print 'The lower cut-off frequency FLC of band pass filter is = %0.1f'%fLC,' Hz '\n", + "\n", + "# The upper cut-off frequency of band pass filter is\n", + "fUC = 1/(2*pi*R2*C2)#\n", + "print 'The upper cut-off frequency FUC of band pass filter is = %0.2f'%fUC,' kHz '" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.10 Pg 242" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The resistance R3 Value is = 7.96 M ohm \n", + "The resistance R6 value is = 1.59 M ohm \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi, sqrt\n", + "# to design an active band pass filter with lower cut-off frequency 10 kHz an upper 50 kHz\n", + "fL = 10 # # kHz\n", + "fH = 50 # # kHz\n", + "C1 = 0.002 # # nF\n", + "C2 = 0.002 # # nF\n", + "\n", + "# the lower cut-off frequency of band pass filter is\n", + "# fL = 1/(2*pi*R3*C1)#\n", + "R3 = 1/(2*pi*fL*C1)#\n", + "print 'The resistance R3 Value is = %0.2f'%R3,' M ohm '\n", + "\n", + "# The upper cut-off frequency of band pass filter is\n", + "# fH = 1/(2*pi*R6*C2)#\n", + "R6 = 1/(2*pi*fH*C2)#\n", + "print 'The resistance R6 value is = %0.2f'%R6,' M ohm '" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.11 Pg 243" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The resistance R3 Value is = 7.96 M ohm \n", + "The resistance R6 value is = 3.98 M ohm \n", + "The desire pass band gain of filter is = 15 \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi, sqrt\n", + "# to design an active band pass filter with lower cut-off frequency 20 kHz an upper 40 kHz\n", + "fL = 20 # # kHz\n", + "fH = 40 # # kHz\n", + "# the inverting terminal resistance 2R1=R2 and 4R4=R5\n", + "C1 = 0.001 # # nF\n", + "C2 = 0.001 # # nF\n", + "\n", + "# the lower cut-off frequency of band pass filter is\n", + "# fL = 1/(2*pi*R3*C1)#\n", + "R3 = 1/(2*pi*fL*C1)#\n", + "print 'The resistance R3 Value is = %0.2f'%R3,' M ohm '\n", + "\n", + "# The upper cut-off frequency of band pass filter is\n", + "# fH = 1/(2*pi*R6*C2)#\n", + "R6 = 1/(2*pi*fH*C2)#\n", + "print 'The resistance R6 value is = %0.2f'%R6,' M ohm '\n", + "\n", + "# the desire pass band gain of filter is defined as\n", + "R1 = 1 # # M ohm we assume\n", + "#we define inverting terminal resistance 2R1=R2\n", + "R2 = 2 # # M ohm\n", + "# then\n", + "R4 = 1 # #M ohm\n", + "R5 = 4 # # M ohm\n", + "Af = (1+(R2/R1))*(1+(R5/R4))#\n", + "print 'The desire pass band gain of filter is = %d'%Af,' '" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.12 Pg 244" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The resistance R3 Value is = 7.96 M ohm \n", + "The resistance R6 value is = 1.99 M ohm \n", + "The desire pass band gain of filter is = 15.00 \n", + "The magnitude of gain of band pass filter is = 11.49 \n", + "The phase angle of gain of band pass filter is = 50 degree\n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "from math import pi, sqrt\n", + "# to design an active band pass filter with lower cut-off frequency 20 kHz an upper 80 kHz\n", + "f = 100 # # kHz the frequency of band pass filter\n", + "fL = 20 # # kHz\n", + "fH = 80 # # kHz\n", + "# the inverting terminal resistance R1=0.5*R2 and R4=0.25*R5\n", + "C1 = 0.001 # # nF\n", + "C2 = 0.001 # # nF\n", + "\n", + "# the lower cut-off frequency of band pass filter is\n", + "# fL = 1/(2*pi*R3*C1)#\n", + "R3 = 1/(2*pi*fL*C1)#\n", + "print 'The resistance R3 Value is = %0.2f'%R3,' M ohm '\n", + "\n", + "# The upper cut-off frequency of band pass filter is\n", + "# fH = 1/(2*pi*R6*C2)#\n", + "R6 = 1/(2*pi*fH*C2)#\n", + "print 'The resistance R6 value is = %0.2f'%R6,' M ohm ' # Round Off Error\n", + "\n", + "# the desire pass band gain of filter is defined as\n", + "R1 = 1 # # M ohm we assume\n", + "#we define inverting terminal resistance R1=0.5*R2\n", + "R2 = 2 # # M ohm\n", + "# then\n", + "R4 = 1 # #M ohm\n", + "R5 = 4 # # M ohm\n", + "Af = (1+(R2/R1))*(1+(R5/R4))#\n", + "print 'The desire pass band gain of filter is = %0.2f'%Af,' '\n", + "\n", + "# the magnitude of gain of band pass filter is given as\n", + "A = Af*(f**2/(fL*fH))/((sqrt(1+(f/fL)**2))*(sqrt(1+(f/fH)**2)))#\n", + "print 'The magnitude of gain of band pass filter is = %0.2f'%A,' ' # Round Off Error\n", + "\n", + "#the phase angle of the filter\n", + "from numpy import inf\n", + "Angle = degrees(2*atan(inf)-atan(f/fL)-atan(f/fH))\n", + "print 'The phase angle of gain of band pass filter is = %0.f'%Angle,'degree' # Round Off Error" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.13 Pg 247" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The output of the half wave precision rectifier Vo is = -20.00 V \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "# to determine the output voltage of the precision rectifier circuit\n", + "Vi = 10 # #V i/p volt\n", + "R1 = 20 # # K ohm\n", + "R2 = 40 # # K ohm\n", + "Vd = 0.7 # # V the diode voltage drop\n", + "\n", + "# the output of the half wave precision rectifier is defined as\n", + "# Vo = -(R2/R1)*Vi # for Vi < 0\n", + "# = 0 otherwise\n", + "# i.e for Vi > 0\n", + "# Vo = 0\n", + "# for Vi < 0\n", + "Vo = -(R2/R1)*Vi\n", + "print 'The output of the half wave precision rectifier Vo is = %0.2f'%Vo,' V '" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.14 Pg 247" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The output of the half wave precision rectifier Vo is = -15.00 V \n", + "The output of the half wave precision rectifier Vo is = 15.00 V \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "# to determine the output voltage of the precision rectifier circuit for i/p voltage a) Vi = 5 b) Vi = -5\n", + "Vi = 5 # #V i/p volt\n", + "R1 = 5 # # K ohm\n", + "R2 = 15 # # K ohm\n", + "Vd = 0.7 # # V the diode voltage drop\n", + "\n", + "# the output of the half wave precision rectifier is defined as\n", + "# Vo = -(R2/R1)*Vi # for Vi < 0\n", + "# = 0 otherwise\n", + "\n", + "# for Vi = 5 V\n", + "# i.e for Vi > 0\n", + "# Vo = 0\n", + "# for Vi < 0\n", + "Vo = -(R2/R1)*Vi#\n", + "print 'The output of the half wave precision rectifier Vo is = %0.2f'%Vo,' V '\n", + "\n", + "# for Vi = -5 V\n", + "# i.e for Vi > 0\n", + "# Vo = 0\n", + "# for Vi < 0\n", + "Vi =-5 # # V\n", + "Vo = -(R2/R1)*Vi#\n", + "print 'The output of the half wave precision rectifier Vo is = %0.2f'%Vo,' V '" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 7.15 Pg 248" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The gain of precision full wave rectifier A is = 6.00 \n", + "The output voltage Vo is = 42.00 V \n", + "The output voltage Vo is = 42.00 V \n" + ] + } + ], + "source": [ + "from __future__ import division\n", + "# to determine the output voltage of the precision rectifier circuit for i/p voltage a) Vi = 7 b) Vi = -7\n", + "Vi = 7 # #V i/p volt\n", + "R1 = 5 # # K ohm\n", + "R3 = 5 # # K ohm\n", + "R4 = 5 # # K ohm\n", + "R2 = 15 # # K ohm\n", + "R5 = 15 # # K ohm\n", + "Vd = 0.7 # # V the diode voltage drop\n", + "\n", + "# the output of the full wave precision rectifier is defined as\n", + "# Vo = -A*Vi # for Vi < 0 equation 1\n", + "# = A*Vi # otherwise equation 2\n", + "\n", + "# or Vo = abs(A*Vi) #\n", + "\n", + "# The gain of precision full wave rectifier\n", + "A = (((R2*R5)/(R1*R3))-(R5/R4)) #\n", + "print 'The gain of precision full wave rectifier A is = %0.2f'%A,' '\n", + "\n", + "\n", + "# for Vi = 7 V the output voltage is\n", + "Vi = 7 #\n", + "Vo = -A*Vi # # from equation 1\n", + "Vo = A*Vi # # from equation 2\n", + "Vo = abs(A*Vi) #\n", + "print 'The output voltage Vo is = %0.2f'%Vo,' V '\n", + "\n", + "# for Vi = -7 V the output voltage is\n", + "Vi = -7 #\n", + "Vo = -A*Vi # # from equation 1\n", + "Vo = A*Vi # # from equation 2\n", + "Vo = abs(A*Vi) #\n", + "print 'The output voltage Vo is = %0.2f'%Vo,' 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.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} |