summaryrefslogtreecommitdiff
path: root/Linear_Integrated_Circuit_by_M._S._Sivakumar/Ch13.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Linear_Integrated_Circuit_by_M._S._Sivakumar/Ch13.ipynb')
-rw-r--r--Linear_Integrated_Circuit_by_M._S._Sivakumar/Ch13.ipynb438
1 files changed, 438 insertions, 0 deletions
diff --git a/Linear_Integrated_Circuit_by_M._S._Sivakumar/Ch13.ipynb b/Linear_Integrated_Circuit_by_M._S._Sivakumar/Ch13.ipynb
new file mode 100644
index 00000000..bf527bf0
--- /dev/null
+++ b/Linear_Integrated_Circuit_by_M._S._Sivakumar/Ch13.ipynb
@@ -0,0 +1,438 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 13 Waveform Generators"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.1 Pg 378"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "the frequency selective element resistor is = 6.50 K ohm \n",
+ "The feedback resistance is = 188.4 K ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import sqrt, pi\n",
+ "from __future__ import division\n",
+ "# to design RC phase shift oscillator for the oscillation frequency f = 1 KHz\n",
+ "f =1 # # KHz\n",
+ "C = 0.01 # # uF\n",
+ "\n",
+ "# The oscillation frequency of practical RC phase shift oscillator is defined as\n",
+ "#w = 1/(sqrt(6)*R*C)#\n",
+ "\n",
+ "# gain of practical RC phase shift oscillator is\n",
+ "#A = R1/R = 29 equation 1\n",
+ "# the frequency selective element resistor\n",
+ "#R = 1/(sqrt(6)*w*C)#\n",
+ "R = 1/(sqrt(6)*2*pi*f*C)#\n",
+ "print 'the frequency selective element resistor is = %0.2f'%R,' K ohm '\n",
+ "\n",
+ "# The feedback resistance\n",
+ "R1 = 29*R # # from equation 1\n",
+ "print 'The feedback resistance is = %0.1f'%R1,' K ohm'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.2 Pg 379"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "the oscillator frequency of practical RC phase shift oscillator f is = 0.52 KHz \n"
+ ]
+ }
+ ],
+ "source": [
+ "# to determine the oscillaton frequency of the phase shift oscillator\n",
+ "C = 0.05 # # uF\n",
+ "R = 2.5 # # K ohm\n",
+ "\n",
+ "# the oscillator frequency of practical RC phase shift oscillator f\n",
+ "f = 1/(2*pi*(sqrt(6)*(R*C)))#\n",
+ "print 'the oscillator frequency of practical RC phase shift oscillator f is = %0.2f'%f,' KHz '"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.3 Pg 380"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "the oscillator frequency of practical RC phase shift oscillator f is = 6.63 kHz \n"
+ ]
+ }
+ ],
+ "source": [
+ "# to calculate the frequency of a wein bridge oscillator\n",
+ "C = 2400*10**-12 # # F\n",
+ "R = 10*10**3 # # ohm\n",
+ "\n",
+ "# the oscillator frequency of practical RC phase shift oscillator f\n",
+ "f = 1/(2*pi*R*C)/1e3#\n",
+ "print 'the oscillator frequency of practical RC phase shift oscillator f is = %0.2f'%f,' kHz '"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.4 Pg 380"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "the resistor R is = 15.9 K ohm \n",
+ "The resistor R2 value is = 20.00 K ohm \n"
+ ]
+ }
+ ],
+ "source": [
+ "# to design the wien bridge oscillator for the oscillation frequency f = 1 KHz\n",
+ "f = 1 # # K ohm\n",
+ "C = 0.01 # # uF\n",
+ "\n",
+ "\n",
+ "# the frequency f is define as\n",
+ "# f = 1/(2*pi*R*C)#\n",
+ "\n",
+ "# the resistor R is\n",
+ "R = 1/(2*pi*f*C)#\n",
+ "print 'the resistor R is = %0.1f'%R,' K ohm '\n",
+ "\n",
+ "# the loop gain of the wien bridge oscillator is unity which is defined as\n",
+ "# A = (1+(R2/R1))*(1/3) = 1 #\n",
+ "# R2/R1 = 2 #\n",
+ "R1 = 10 # # K ohm we assume\n",
+ "R2 = 2*R1 #\n",
+ "print 'The resistor R2 value is = %0.2f'%R2,' K ohm '"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.5 Pg 382"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "the frequency of wien bridge oscillator f is = 159.155 Hz \n"
+ ]
+ }
+ ],
+ "source": [
+ "# to calculate the frequency of a wein bridge oscillator\n",
+ "C = 0.05*10**-6 # # F\n",
+ "R = 20*10**3 # # ohm\n",
+ "R1 = 10*10**3 # # ohm\n",
+ "R2 = 20*10**3 # #ohm\n",
+ "\n",
+ "# the frequency of wien bridge oscillator f\n",
+ "f = 1/(2*pi*R*C)#\n",
+ "print 'the frequency of wien bridge oscillator f is = %0.3f'%f,' Hz '"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.6 Pg 382"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The frequency of the astable multivibrator is = 0.87/(C*R)\n"
+ ]
+ }
+ ],
+ "source": [
+ "from sympy import symbols, log, N\n",
+ "R, C = symbols('R C')\n",
+ "# Determine the frequency response of the astable multivibrator circuit\n",
+ "Vsat = 2.5 #\n",
+ "VT = 0.7 #\n",
+ "\n",
+ "# The frequency of the astable multivibrator is\n",
+ "f = (1/(2*R*C*log((Vsat+VT)/(Vsat-VT))))#\n",
+ "print 'The frequency of the astable multivibrator is =',N(f,2)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.7 Pg 383"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of resistance R2 is = 32.86 K ohm \n",
+ "The value of resistor R is = 10.52 K ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "from math import log\n",
+ "# Design astable multivibrator for the frequency f = 10 KHz\n",
+ "f = 10 # # K ohm\n",
+ "Vsat = 3 #\n",
+ "VT = 0.7 #\n",
+ "\n",
+ "# The saturation voltage of an astable multivibrator is defined as\n",
+ "# Vsat = (R1+R2/R1)+VT #\n",
+ "R1 = 10 # # K ohm we choose\n",
+ "R2 = ((Vsat/VT)-1)*R1 #\n",
+ "print 'The value of resistance R2 is = %0.2f'%R2,' K ohm '\n",
+ "\n",
+ "# The frequency of an astable multivibrator is defined as\n",
+ "C = 0.01 # # uF\n",
+ "# f = (1/(2*R*C*log(1+(2*R1/R2))))#\n",
+ "\n",
+ "R = 1/(2*f*C*log(1+2*R1/R2))#\n",
+ "print 'The value of resistor R is = %0.2f'%R,' K ohm'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.8 Pg 384"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of resistor R is = 200.00 ohm \n"
+ ]
+ }
+ ],
+ "source": [
+ "# to design astable multivibrator \n",
+ "f = 25*10**3 #\n",
+ "\n",
+ "# The output frequency of practical astable multivibrator is defined as\n",
+ "# f = 1/(2*R*C)#\n",
+ "C = 0.1*10**-6 # # uF we choose\n",
+ "R = 1/(2*f*C)#\n",
+ "print 'The value of resistor R is = %0.2f'%R,'ohm '"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.9 Pg 385"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of resistance R is = 579.7 ohm \n",
+ "The value of resistance R2 is = 9.94 K ohm \n"
+ ]
+ }
+ ],
+ "source": [
+ "# Design a monostable circuit with frequency f = 25 KHz\n",
+ "f =25*10**3 # # Hz\n",
+ "\n",
+ "# The output frequency of monostable multivibrator is defined as \n",
+ "# f = 1/(0.69*R*C)#\n",
+ "C = 0.1*10**-6 #\n",
+ "R = 1/(0.69*f*C)#\n",
+ "print 'The value of resistance R is = %0.1f'%R,' ohm '\n",
+ "\n",
+ "# In the practical monostable multivibrator\n",
+ "# ln(1+(R2/R1))= 0.69 #\n",
+ "R1 = 10*10**3 # # we choose\n",
+ "R2 = R1*(1.99372-1)#\n",
+ "print 'The value of resistance R2 is = %0.2f'%(R2/1000),' K ohm ' # Round Off Error "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.10 Pg 386"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "the output of monostable multivibrator is = 6.01 kHz\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Determine the frequency of the monostable multivibrator\n",
+ "R1 = 5*10**3 #\n",
+ "R2 =15*10**3 #\n",
+ "C = 0.01*10**-6 #\n",
+ "R = 12*10**3 #\n",
+ "\n",
+ "# the output of monostable multivibrator is defined as\n",
+ "f = 1/(R*C*(log(1+(R2/R1))))/1e3 # kHz\n",
+ "print 'the output of monostable multivibrator is = %0.2f'%f,' kHz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13.11 Pg 386"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "the output of monostable multivibrator is = 4.00 KHz\n"
+ ]
+ }
+ ],
+ "source": [
+ " # Determine the frequency of the monostable multivibrator\n",
+ "R1 = 5*10**3 #\n",
+ "R2 =15*10**3 #\n",
+ "C = 0.01 #\n",
+ "R = 25 #\n",
+ "\n",
+ "# the output of monostable multivibrator is defined as\n",
+ "f = 1/(R*C)#\n",
+ "print 'the output of monostable multivibrator is = %0.2f'%f,' KHz'"
+ ]
+ }
+ ],
+ "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
+}