{
 "metadata": {
  "name": "",
  "signature": "sha256:82b1a87e5b1e62f448481647ab7f0e2ca7607ff780f8775431ec8c2b250882dc"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": [
      "Chapter 4: Angle Modulation Techniques"
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 4.1, page no. 71"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      " \n",
      "# Variable Declaration\n",
      "fm1    = 500               # Audio Frequency (Hz)\n",
      "Vm1    = 2.4               # AF Voltage (V)\n",
      "del_f1 = 4.8*pow(10,3)     # Deviation (Hz)\n",
      "fm2    = 500               # Audio Frequency (Hz)\n",
      "Vm2    = 7.2               # AF Voltage (V)\n",
      "fm3    = 200               # Audio Frequency (Hz)\n",
      "Vm3    = 10                # AF Voltage (V)\n",
      "\n",
      "# Calculation\n",
      "import math\t               # Math Library\n",
      "kf     = del_f1/Vm1        # Proportionality Constant\n",
      "mf1    = del_f1/fm1        # Modulation Index\n",
      "del_f2 = kf*Vm2            # Deviation (Hz)\n",
      "mf2    = del_f2/fm2        # Modulation Index\n",
      "del_f3 = kf*Vm3            # Deviation (Hz)\n",
      "mf3    = del_f3/fm3        # Modulation Index\n",
      " \n",
      "# Result\n",
      "\n",
      "print \"CASE 1 : Modulation Index, mf1 =\",round(mf1,1)\n",
      "print \"         Deviation,     del_f1 =\",round(del_f1/pow(10,3),1),\"kHz\"\n",
      "print \"CASE 2 : Modulation Index, mf2 =\",round(mf2,1)\n",
      "print \"         Deviation,     del_f2 =\",round(del_f2/pow(10,3),1),\"kHz\"\n",
      "print \"CASE 3 : Modulation Index, mf3 =\",round(mf3)\n",
      "print \"         Deviation,     del_f3 =\",round(del_f3/pow(10,3),1),\"kHz\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "CASE 1 : Modulation Index, mf1 = 9.6\n",
        "         Deviation,     del_f1 = 4.8 kHz\n",
        "CASE 2 : Modulation Index, mf2 = 28.8\n",
        "         Deviation,     del_f2 = 14.4 kHz\n",
        "CASE 3 : Modulation Index, mf3 = 100.0\n",
        "         Deviation,     del_f3 = 20.0 kHz\n"
       ]
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 4.2, page no. 71"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "# Variable Declaration\n",
      "# GIVEN EXPRESSION : v = 12 sin(6 X 10^(8)t + 5 cos(1250t))\n",
      "omega1 = 6.00*pow(10,8)         # Angular Velocity (rad/s)\n",
      "omega2 = 1250                   # Angular Velocity (rad/s)\n",
      "mf     = 5                      # Modulation Index\n",
      "A      = 12                     # Amplitude (V)\n",
      "R      = 10                     # Resistance (Ohms)\n",
      "\n",
      "# Calculation\n",
      "import math\t                    # Math Library\n",
      "fc    = omega1/(2*math.pi)      # Carrier frequency (Hz)\n",
      "fm    = omega2/(2*math.pi)      # Modulating frequency (Hz)\n",
      "del_f = mf*fm                   # Maximum deviation (Hz)\n",
      "P     = pow(A/math.sqrt(2),2)/R # Power dissipation (w)\n",
      "\n",
      "# Result\n",
      "print \"Carrier frequency, fc =\",round(fc/pow(10,6),1),\" MHz\"\n",
      "print \"Modulating frequency, fm =\",round(fm),\" Hz\"\n",
      "print \"Modulation Index, mf =\",round(mf)\n",
      "print \"Maximum deviation, del_f =\",round(del_f),\"Hz\"\n",
      "print \"Power dissipation, P =\",round(P,1),\"W\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Carrier frequency, fc = 95.5  MHz\n",
        "Modulating frequency, fm = 199.0  Hz\n",
        "Modulation Index, mf = 5.0\n",
        "Maximum deviation, del_f = 995.0 Hz\n",
        "Power dissipation, P = 7.2 W\n"
       ]
      }
     ],
     "prompt_number": 2
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 4.3, page no. 73"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "# Variable Declaration\n",
      "fm1    = 500               # Audio Frequency (Hz)\n",
      "Vm1    = 2.4               # AF Voltage (V)\n",
      "del_p1 = 4.8               # Deviation (kHz)\n",
      "fm2    = 500               # Audio Frequency (Hz)\n",
      "Vm2    = 7.2               # AF Voltage (V)\n",
      "fm3    = 200               # Audio Frequency (Hz)\n",
      "Vm3    = 10                # AF Voltage (V)\n",
      "\n",
      "# Calculation\n",
      "import math                # Math Library\n",
      "kp     = del_p1/Vm1        # Proportionality Constant\n",
      "mp1    = del_p1            # Modulation Index\n",
      "del_p2 = kp*Vm2            # Deviation (kHz)\n",
      "mp2    = del_p2            # Modulation Index\n",
      "del_p3 = kp*Vm3            # Deviation (kHz)\n",
      "mp3    = del_p3            # Modulation Index\n",
      " \n",
      "# Result\n",
      "print \"CASE 1 : Modulation Index, mp1 =\",round(mp1,1)\n",
      "print \"         Deviation,     del_p1 =\",round(del_p1,1),\"kHz\"\n",
      "print \"CASE 2 : Modulation Index, mp2 =\",round(mp2,1)\n",
      "print \"         Deviation,     del_p2 =\",round(del_p2,1),\"kHz\"\n",
      "print \"CASE 3 : Modulation Index, mp3 =\",round(mp3)\n",
      "print \"         Deviation,     del_p3 =\",round(del_p3,1),\"kHz\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "CASE 1 : Modulation Index, mp1 = 4.8\n",
        "         Deviation,     del_p1 = 4.8 kHz\n",
        "CASE 2 : Modulation Index, mp2 = 14.4\n",
        "         Deviation,     del_p2 = 14.4 kHz\n",
        "CASE 3 : Modulation Index, mp3 = 20.0\n",
        "         Deviation,     del_p3 = 20.0 kHz\n"
       ]
      }
     ],
     "prompt_number": 3
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 4.4, page no. 74"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "# Variable Declaration\n",
      "# GIVEN EXPRESSION : v = 12 sin(6 X 10^(8)t + 5 cos(1250t))\n",
      "omega1 = 6*pow(10,8)          # Angular Velocity (rad/s)\n",
      "omega2 = 1250                 # Angular Velocity (rad/s)\n",
      "mp     = 5                    # Modulation Index\n",
      "A      = 12                   # Amplitude (V)\n",
      "\n",
      "# Calculation\n",
      "import math\t                  # Math Library\n",
      "fc     = omega1/(2*math.pi)   # Carrier frequency (Hz)\n",
      "fm     = omega2/(2*math.pi)   # Modulating frequency (Hz)\n",
      "del_p  = mp                   # Maximum Deviation (kHz)\n",
      "\n",
      "# Result\n",
      "print \"Carrier frequency, fc =\",round(fc/pow(10,6),1),\" MHz\"\n",
      "print \"Modulating frequency, fm =\",round(fm),\" Hz\"\n",
      "print \"Modulation Index, mp =\",round(mp),\"radians\"\n",
      "print \"Maximum deviation, del_p =\",round(del_p),\"kHz\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Carrier frequency, fc = 95.5  MHz\n",
        "Modulating frequency, fm = 199.0  Hz\n",
        "Modulation Index, mp = 5.0 radians\n",
        "Maximum deviation, del_p = 5.0 kHz\n"
       ]
      }
     ],
     "prompt_number": 4
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 4.5, page no. 75"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "# Variable Declaration\n",
      "# GIVEN EXPRESSION FM: v=A sin(omega_c*t + mf cos(omega_m*t))\n",
      "# GIVEN EXPRESSION PM: v=A sin(omega_c*t + mp cos(omega_m*t))\n",
      "A       = 4                  # Carrier Voltage (V)\n",
      "del_f   = 10.00*pow(10,3)    # Maximum Frequency Deviation (Hz)\n",
      "del_p   = 25                 # Maximum Phase Deviation (Hz)\n",
      "f_c     = 25.00*pow(10,6)    # Carrier Frequency (Hz)\n",
      "f_m1    = 400                # Modulating Frequency 1 (Hz)\n",
      "f_m2    = 2000               # Modulating Frequency 2 (Hz)\n",
      "\n",
      "# Calculation\n",
      "import math                  # Math Library\n",
      "omega_c = 2*math.pi*f_c      # Angular Velocity of carrier (rad/s)\n",
      "omega_m = 2*math.pi*f_m1     # Angular Velocity of Modulating Wave (rad/s)\n",
      "mf1     = del_f/f_m1         # Modulation Index for FM\n",
      "mf2     = del_f/f_m2         # Modulation Index for FM\n",
      "mp      = del_p              # Modulation Index for PM\n",
      "\n",
      "# Result\n",
      "print \"(a)For FM Case 1, v =\",round(A),\"sin(\",round(omega_c/pow(10,8),2),\"* 10^(8) * t +\",round(mf1),\"cos\",round(omega_m),\"* t )\"\n",
      "print \"(b)For PM Case 1, v =\",round(A),\"sin(\",round(omega_c/pow(10,8),2),\"* 10^(8) * t +\",round(mp),\"cos\",round(omega_m),\"* t )\"\n",
      "print \"(c)For FM Case 2, v =\",round(A),\"sin(\",round(omega_c/pow(10,8),2),\"* 10^(8) * t +\",round(mf2),\"cos\",round(omega_m),\"* t )\"\n",
      "print \"(d)For PM Case 2, v =\",round(A),\"sin(\",round(omega_c/pow(10,8),2),\"* 10^(8) * t +\",round(mp),\"cos\",round(omega_m),\"* t )\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "(a)For FM Case 1, v = 4.0 sin( 1.57 * 10^(8) * t + 25.0 cos 2513.0 * t )\n",
        "(b)For PM Case 1, v = 4.0 sin( 1.57 * 10^(8) * t + 25.0 cos 2513.0 * t )\n",
        "(c)For FM Case 2, v = 4.0 sin( 1.57 * 10^(8) * t + 5.0 cos 2513.0 * t )\n",
        "(d)For PM Case 2, v = 4.0 sin( 1.57 * 10^(8) * t + 25.0 cos 2513.0 * t )\n"
       ]
      }
     ],
     "prompt_number": 5
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 4.6, page no. 79"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "# Variable Declaration\n",
      "del1  = 10.00*pow(10,3)    # Maximum Deviation (Hz)\n",
      "fm    = 2.00*pow(10,3)     # Modulating frequency (Hz)\n",
      "H     = 8                  # Highest Needed Sideband from Table 4.1\n",
      "\n",
      "# Calculation\n",
      "import math                # Math Library\n",
      "mf    = del1/fm            # Modulation Index\n",
      "delta = fm*H*2             # Bandwidth required for the FM signal (Hz)\n",
      "\n",
      "# Result\n",
      "print \"Bandwidth required for the FM signal, delta =\",round(delta/pow(10,3)),\"kHz\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Bandwidth required for the FM signal, delta = 32.0 kHz\n"
       ]
      }
     ],
     "prompt_number": 6
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 4.7, page no. 88"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "# Variable Declaration\n",
      "gm   = 12.00* pow(10,-3) # Transconductance (Siemens) \n",
      "f    = 5.00*pow(10,6)    # Frequency (Hz)\n",
      "n    = 9                 # Constant, from X_GS = (1/9)X_GD\n",
      "\n",
      "# Calculation\n",
      "import math # Math Library\n",
      "XCeq = n/gm # Capacitive Reactance of the FET (Ohms)\n",
      "\n",
      "# Result\n",
      "print \"Capacitive reactance of the FET, XCeq =\",round(XCeq),\"Ohms\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Capacitive reactance of the FET, XCeq = 750.0 Ohms\n"
       ]
      }
     ],
     "prompt_number": 7
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 4.8, page no. 89"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "# Variable Declaration\n",
      "gm = 9.00*pow(10,-3)   # Transconductance (Siemens) \n",
      "f  = 50.00*pow(10,6)   # Frequency (Hz)\n",
      "n  = 8                 # Constant, from R_GS = (1/8)XC_GD\n",
      "C        = 50.00*pow(10,-12)    # Capacitance (F)\n",
      "\n",
      "# Calculation\n",
      "import math                             # Math Library\n",
      "Cn       = 0                            # Minimum Equivalent Capacitance of FET (F)\n",
      "Cx       = gm/(2*math.pi*f*n)           # Maximum Equivalent Capacitance of FET (F)\n",
      "fx_by_fn = math.sqrt(1+Cx/C)            # Maximum to Minimum Frequency Ratio\n",
      "delta    = (fx_by_fn-1)*f/(fx_by_fn+1)  # Total frequency variation of FET (Hz)\n",
      "\n",
      "# Result\n",
      "print \"Total frequency variation of FET =\",round(2*delta/pow(10,6),2),\"MHz\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Total frequency variation of FET = 1.73 MHz\n"
       ]
      }
     ],
     "prompt_number": 8
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 4.9, page no. 90"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "# Variable Declaration\n",
      "gm_max = 830.00*pow(10,-6)   # Max. Transconductance (Siemens)\n",
      "gm_min = 320.00*pow(10,-6)   # Min. Transconductance (Siemens) \n",
      "f      = 88.00*pow(10,6)     # Frequency (Hz)\n",
      "n      = 10                  # Constant, from R_GS = (1/10)XC_GD\n",
      "delta  = 75*pow(10,3)        # Maximum Deviation (Hz)\n",
      "Vgs1   = -2                  # Gate Source Voltage (V)\n",
      "Vgs2   = -0.5                # Gate Source Voltage (V)\n",
      "\n",
      "# Calculation\n",
      "import math                  # Math Library\n",
      "Vm_rms = -(Vgs1-Vgs2)/(2*math.sqrt(2))  # RMS value of required voltage modulating voltage (V)\n",
      "Cn     = gm_min/(2*math.pi*f*n)         # Minimum Equivalent Capacitance of FET (F)\n",
      "Cx     = Cn*gm_max/gm_min               # Maximum Equivalent Capacitance of FET (F)\n",
      "C      = (Cx-Cn)*f/(4*delta)-Cn         # Capacitance (F)\n",
      "L      = 1/(4*pow(math.pi*f,2)*C)       # Inductance (H)\n",
      "\n",
      "# Result\n",
      "print \"(a) RMS value of required modulating voltage, Vm_rms =\",round(Vm_rms,2),\"V\"\n",
      "print \"(b) Capacitance, C =\",round(C/pow(10,-12)),\"pF\"\n",
      "print \"    Inductance,  L =\",round(L/pow(10,-6),3),\"uH\""
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "(a) RMS value of required modulating voltage, Vm_rms = 0.53 V\n",
        "(b) Capacitance, C = 27.0 pF\n",
        "    Inductance,  L = 0.121 uH\n"
       ]
      }
     ],
     "prompt_number": 9
    }
   ],
   "metadata": {}
  }
 ]
}