{
 "metadata": {
  "name": "",
  "signature": "sha256:f8edf8ce3087d3427d18e8cd2380d8c52cf11f5604fcdfa69ecbcc1dd7de5bc3"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": [
      "Chapter8 - Frequency synthesizers and PLL"
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Ex 8.1 - page : 255"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "from __future__ import division\n",
      "from math import sqrt, pi\n",
      "VCC=6 #V\n",
      "VEE=6 #V\n",
      "RT=4 #kohm\n",
      "CT=330 #pF\n",
      "C=240 #pF\n",
      "fo=0.3/(RT*1000*CT*10**-12)/1000 #kHz\n",
      "print \"Free running frequency is %0.f kHz \" %fo\n",
      "Vplus=(VCC-(-VEE))/2 #V\n",
      "deltafL=8*fo/Vplus #kHz\n",
      "print \"Lock Range(+ve & -ve) is %0.f kHz \" %deltafL \n",
      "#For LM 565\n",
      "R=3.6 #kohm\n",
      "deltafC=sqrt(deltafL*1000/(2*pi*R*1000*C*10**-12))/1000 #kHz\n",
      "print \"Capture Range(+ve & -ve) is %0.f kHz \" %deltafC\n",
      "deltafP=2*deltafC/2 #kHz\n",
      "print \"Pull-in Range is %0.f kHz \" %deltafP "
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Free running frequency is 227 kHz \n",
        "Lock Range(+ve & -ve) is 303 kHz \n",
        "Capture Range(+ve & -ve) is 236 kHz \n",
        "Pull-in Range is 236 kHz \n"
       ]
      }
     ],
     "prompt_number": 4
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Ex 8.2 - page : 256"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "from __future__ import division\n",
      "from math import sqrt, pi, floor\n",
      "fo=450 #kHz\n",
      "deltafL=240 #kHz(+ve & -ve)\n",
      "deltafC=40 #kHz(+ve & -ve)\n",
      "Vplus=8*fo/deltafL #V\n",
      "#Vplus=(VCC-(-VEE))/2 but |VCC|=|-VEE|\n",
      "VCC=Vplus #V\n",
      "VEE=Vplus #V\n",
      "print \"For the design |VCC|=|-VEE| is %d Volt\" %VCC\n",
      "RT=4.7 #kohm(Assumed for design)\n",
      "R=3.6 #kohm\n",
      "CT=0.3/(RT*1000*fo*1000)*10**12 #pF\n",
      "C=1/((deltafC*10**3)**2*(2*pi*R*10**3)/(deltafL*1000))*10**9 #nF\n",
      "print \"Value of RT = %0.2f kohm \" %RT\n",
      "print \"Value of CT = %0.f pF \" %CT\n",
      "print \"Value of C = %0.f nF \" % floor(C)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "For the design |VCC|=|-VEE| is 15 Volt\n",
        "Value of RT = 4.70 kohm \n",
        "Value of CT = 142 pF \n",
        "Value of C = 6 nF \n"
       ]
      }
     ],
     "prompt_number": 10
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Ex 8.3 - page : 264"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "from __future__ import division\n",
      "from math import log\n",
      "fmax=160 #kHz\n",
      "fr=4 #Hz(Resolution)\n",
      "M=2.4 #unitless\n",
      "fclk=M*fmax #kHz\n",
      "print \"Clock frequency is %0.2f kHz \" %fclk\n",
      "N=log(fclk*1000/fr)/log(2) #no. of bits\n",
      "print \"No. of bits = %0.f \" % round(N) "
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Clock frequency is 384.00 kHz \n",
        "No. of bits = 17 \n"
       ]
      }
     ],
     "prompt_number": 12
    }
   ],
   "metadata": {}
  }
 ]
}