{
 "metadata": {
  "name": "",
  "signature": "sha256:d610d0d35b1108468962e5c6764a0229e274de9fd25b118501a5da4efbea7d39"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": [
      "Part B : Chapter 4 : Radio Communication"
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 4.1 Page no : 4.3"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math \n",
      "\n",
      "fc = 100.;\t\t\t\t#kHz\n",
      "fm = 5.;\t\t\t\t#kHz\n",
      "\n",
      "# Calculations and Results\n",
      "LSB = [fc-fm ,fc];\t\t\t\t#kHz\n",
      "USB = [fc, fc+fm];\t\t\t\t#kHz\n",
      "print (\"Part (a)\");\n",
      "print (\"Lower sideband is from \"+str(LSB[0])+\" kHz to \"+str(LSB[1])+\" kHz\");\n",
      "print (\"Upper sideband is from \"+str(USB[0])+\" kHz to \"+str(USB[1])+\" kHz\");\n",
      "B = 2*fm;\t\t\t\t#kHz\n",
      "print \"(b) Bandwidth(kHz)\",B\n",
      "print (\"part (c)\");\n",
      "fm = 3;\t\t\t\t#kHz\n",
      "f_usf = fc+fm;\t\t\t\t#kHz\n",
      "print \"Upper side frequency(kHz)\",f_usf\n",
      "f_lsf = fc-fm;\t\t\t\t#kHz\n",
      "print \"Lower side frequency(kHz)\",f_lsf\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Part (a)\n",
        "Lower sideband is from 95.0 kHz to 100.0 kHz\n",
        "Upper sideband is from 100.0 kHz to 105.0 kHz\n",
        "(b) Bandwidth(kHz) 10.0\n",
        "part (c)\n",
        "Upper side frequency(kHz) 103.0\n",
        "Lower side frequency(kHz) 97.0\n"
       ]
      }
     ],
     "prompt_number": 46
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 4.2 Page no : 4.9"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math \n",
      "\n",
      "# Variables\n",
      "fc = 500.;\t\t\t\t#kHz\n",
      "fm = 10.;\t\t\t\t#kHz\n",
      "#Am = 7.5*Vp & Ac = 20*Vc\n",
      "Em = 7.5;\t\t\t\t#times of Vp\n",
      "Ec = 20.;\t\t\t\t#times of Vp(unmodulated carrier)\n",
      "\n",
      "# Calculations and Results\n",
      "print (\"Part (a)\");\n",
      "f_usf = fc+fm;\t\t\t\t#kHz\n",
      "print \"Upper side frequency(kHz)\",f_usf\n",
      "f_lsf = fc-fm;\t\t\t\t#kHz\n",
      "print \"Lower side frequency(kHz)\",f_lsf\n",
      "print (\"Part (b)\");\n",
      "m = Em/Ec;\t\t\t\t#modulation coefficient\n",
      "print \"Modulation coefficient\",m\n",
      "M = 100*m;\t\t\t\t#% modulation\n",
      "print \"% Modulation\",M\n",
      "print (\"Part (c)\");\n",
      "Ec1 = Ec;\t\t\t\t#times of Vp(modulated carrier)\n",
      "Eusf = m*Ec/2;\t\t\t\t#times of Vp\n",
      "Elsf = m*Ec/2;\t\t\t\t#times of Vp\n",
      "print (\"Peak amplitude of modulated carrier is \"+str(Ec1)+\"*Vp\");\n",
      "print (\"Upper & lower side frequency voltages, Eusf  =  Elsf  =  \"+str(Eusf)+\"*Vp\");\n",
      "print (\"Part (d)\");\n",
      "Vmax = Ec+Em;\t\t\t\t#times of Vp\n",
      "Vmin = Ec-Em;\t\t\t\t#times of Vp\n",
      "print (\"Maximum amplitude of envelope is \"+str(Vmax)+\"*Vp\");\n",
      "print (\"Minimum amplitude of envelope is \"+str(Vmin)+\"*Vp\");\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Part (a)\n",
        "Upper side frequency(kHz) 510.0\n",
        "Lower side frequency(kHz) 490.0\n",
        "Part (b)\n",
        "Modulation coefficient 0.375\n",
        "% Modulation 37.5\n",
        "Part (c)\n",
        "Peak amplitude of modulated carrier is 20.0*Vp\n",
        "Upper & lower side frequency voltages, Eusf  =  Elsf  =  3.75*Vp\n",
        "Part (d)\n",
        "Maximum amplitude of envelope is 27.5*Vp\n",
        "Minimum amplitude of envelope is 12.5*Vp\n"
       ]
      }
     ],
     "prompt_number": 47
    },
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": [
      "Example 4.3 Page no : 4.14"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math \n",
      "\n",
      "# Variables\n",
      "fc = 1.;\t\t\t\t#MHz\n",
      "fm = 5.;\t\t\t\t#kHz\n",
      "m = 60./100;\t\t\t\t#Modulation\n",
      "Pc = 6;\t\t\t\t#kW\n",
      "RL = 50.;\t\t\t\t#W\n",
      "\n",
      "# Calculations and Results\n",
      "Pavg = Pc*(1+m**2/2);\t\t\t\t#kW(Average power delivered to load)\n",
      "print (\"Part(a)\");\n",
      "print \"Average power of modulated signal(kW)\",Pavg\n",
      "PdB = 10*math.log10(Pavg*1000);\t\t\t\t#dB\n",
      "print \"Average power of modulated signal(dB) :%.2f\"%PdB\n",
      "PdBm = 10*math.log10(Pavg*10**6);\t\t\t\t#dBm\n",
      "print \"Average power of modulated signal(dBm) : %.2f\"%PdBm\n",
      "print (\"Part(b)\");\n",
      "VS_RMS = math.sqrt(2*RL*Pavg*1000)/1000;\t\t\t\t#kV\n",
      "print \"RMS voltage of modulated signal(kV) : %.2f\"%VS_RMS\n",
      "Vp = math.sqrt(2)*VS_RMS;\t\t\t\t#V\n",
      "print \"Peak value of modulated signal(kV) : %.2f\"%Vp\n",
      "#Answer is wrong in the book.\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Part(a)\n",
        "Average power of modulated signal(kW) 7.08\n",
        "Average power of modulated signal(dB) :38.50\n",
        "Average power of modulated signal(dBm) : 68.50\n",
        "Part(b)\n",
        "RMS voltage of modulated signal(kV) : 0.84\n",
        "Peak value of modulated signal(kV) : 1.19\n"
       ]
      }
     ],
     "prompt_number": 48
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 4.4 Page no : 4.15"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "# Variables\n",
      "Vc = 10.;\t\t\t\t#times of Vp\n",
      "RL = 10.;\t\t\t\t#ohm\n",
      "m = 1.;\t\t\t\t#modulation coefficient\n",
      "\n",
      "# Calculations and Results\n",
      "Pc = Vc**2/2/RL;\t\t\t\t#W\n",
      "Pusb = m**2*Pc/4;\t\t\t\t#W\n",
      "Plsb = m**2*Pc/4;\t\t\t\t#W\n",
      "print (\"Part(a)\");\n",
      "print \"Carrier power(W)\",Pc\n",
      "print \"Upper side band power(W)\",Pusb\n",
      "print \"Lower side band power(W)\",Plsb\n",
      "print (\"Part(b)\");\n",
      "Psbt = m**2*Pc/2;\t\t\t\t#W\n",
      "print \"Total side band power(W)\",Psbt\n",
      "print (\"Part(c)\");\n",
      "Pt = Pc*(1+m**2/2);\t\t\t\t#W\n",
      "print \"Total power of modulated wave(W)\",Pt\n",
      "print (\"Part(e)\");\n",
      "m = 0.5;\t\t\t\t#modulation coefficient\n",
      "Pusb = m**2*Pc/4;\t\t\t\t#W\n",
      "Plsb = m**2*Pc/4;\t\t\t\t#W\n",
      "print \"Carrier power(W)\",Pc\n",
      "print \"Upper side band power(W)\",Pusb\n",
      "print \"Lower side band power(W)\",Plsb\n",
      "Psbt = m**2*Pc/2;\t\t\t\t#W\n",
      "print \"Total side band power(W)\",Psbt\n",
      "Pt = Pc*(1+m**2/2);\t\t\t\t#W\n",
      "print \"Total power of modulated wave(W)\",Pt\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Part(a)\n",
        "Carrier power(W) 5.0\n",
        "Upper side band power(W) 1.25\n",
        "Lower side band power(W) 1.25\n",
        "Part(b)\n",
        "Total side band power(W) 2.5\n",
        "Part(c)\n",
        "Total power of modulated wave(W) 7.5\n",
        "Part(e)\n",
        "Carrier power(W) 5.0\n",
        "Upper side band power(W) 0.3125\n",
        "Lower side band power(W) 0.3125\n",
        "Total side band power(W) 0.625\n",
        "Total power of modulated wave(W) 5.625\n"
       ]
      }
     ],
     "prompt_number": 49
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 4.5 Page no : 4.21"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math \n",
      "\n",
      "# Variables\n",
      "RF = 200.;\t\t\t\t#kHz\n",
      "IF = 10.;\t\t\t\t#kHz\n",
      "\n",
      "# Calculations\n",
      "BI = RF/IF;\t\t\t\t#unitless(Bandwidth Improvement)\n",
      "NF = 10*math.log10(BI);\t\t\t\t#dB\n",
      "\n",
      "# Results\n",
      "print \"Noise Figure improvement(dB) : %.f\"%NF\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Noise Figure improvement(dB) : 13\n"
       ]
      }
     ],
     "prompt_number": 51
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 4.6 Page no : 4.35"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math \n",
      "\n",
      "# Variables\n",
      "#Part (a)\n",
      "K1 = 5.;\t\t\t\t#kHz/V\n",
      "#vm(t) = 2*math.cos(2*p*2000*t);\n",
      "Vm = 2.;\t\t\t\t#V\n",
      "fm = 2000.;\t\t\t\t#Hz\n",
      "\n",
      "# Calculations and Results\n",
      "delta_f = K1*Vm;\t\t\t\t#kHz\n",
      "print \"(a) Pak frequency deviation(kHz) : %.2f\"%delta_f\n",
      "m = delta_f*1000/fm;\t\t\t\t#modulation index\n",
      "print \"(a) Modulation index : %.2f\"%m\n",
      "#Part (b)\n",
      "K = 2.5;\t\t\t\t#rad/V\n",
      "#vm(t) = -math.cos(2*p*2000*t);\n",
      "fm = 2000;\t\t\t\t#Hz\n",
      "m = K*Vm;\t\t\t\t#rad(Peak phase shift)\n",
      "print \"(b) Peak phase shift(rad) : %.2f\"%m\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "(a) Pak frequency deviation(kHz) : 10.00\n",
        "(a) Modulation index : 5.00\n",
        "(b) Peak phase shift(rad) : 5.00\n"
       ]
      }
     ],
     "prompt_number": 52
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 4.7 Page no : 4.36"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math \n",
      "\n",
      "# Variables\n",
      "#v(t) = 20*math.sin(6.28*10**6*t+10*math.sin(6.28*10**3*t));\n",
      "#Comparing with VPM(t) = A*math.sin(omega_c*t+mp*math.sin(omega_m*t))\n",
      "A = 20;\n",
      "omega_c = 6.28*10**6;\t\t\t\t#rad\n",
      "omega_m = 6.28*10**3;\t\t\t\t#rad\n",
      "# Calculations\n",
      "fc = omega_c/2/math.pi/10**6;\t\t\t\t#MHz\n",
      "fm = omega_m/2/math.pi/10**3;\t\t\t\t#kHz\n",
      "mp = 10;\t\t\t\t#modulation index\n",
      "delta_theta = mp;\t\t\t\t#radians\n",
      "\n",
      "# Results\n",
      "print \"(a) Carrier freuency(MHz)\",fc\n",
      "print \"(b) Modulating freuency(kHz)\",fm\n",
      "print \"(c) Modulation index(mp)\",mp\n",
      "print \"(d) Peak phase deviation(radians)\",delta_theta\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "(a) Carrier freuency(MHz) 0.999493042617\n",
        "(b) Modulating freuency(kHz) 0.999493042617\n",
        "(c) Modulation index(mp) 10\n",
        "(d) Peak phase deviation(radians) 10\n"
       ]
      }
     ],
     "prompt_number": 53
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 4.8 Page no : 4.39"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%matplotlib inline\n",
      "from matplotlib.pyplot import plot,title,xlabel,ylabel,bar\n",
      "\n",
      "# Variables\n",
      "delta_f = 10.;\t\t\t\t#kHz\n",
      "fm = 10.;\t\t\t\t#kHz\n",
      "Vc = 10.;\t\t\t\t#V\n",
      "fc = 500.;\t\t\t\t#kHz\n",
      "\n",
      "# Calculations and Results\n",
      "m = delta_f/fm;\t\t\t\t#modulation index\n",
      "#For m = 1 we have 3 sidebands\n",
      "B = 2*(3*fm);\t\t\t\t#kHz\n",
      "print \"(a) Actual minimum bandwidh(kHz)\",B\n",
      "B = 2*(fm+delta_f);\t\t\t\t#kHz\n",
      "print \"(b) Approximate minimum bandwidh(kHz)\",B\n",
      "A0 = 0.77*fm;\t\t\t\t#V\n",
      "A1 = 0.44*fm;\t\t\t\t#V\n",
      "A2 = 0.11*fm;\t\t\t\t#V\n",
      "A3 = 0.02*fm;\t\t\t\t#V\n",
      "#For frequency spectrum\n",
      "A = [A3, A2, A1, A0, A1, A2, A3];\t\t\t\t#V(Amplitudes)\n",
      "f = [fc-3*fm ,fc-2*fm, fc-fm, fc, fc+fm, fc+2*fm, fc+3*fm];\t\t\t\t#kHz\n",
      "bar(f,A);\n",
      "title('Output frequency spectrum');\n",
      "xlabel('Frequency(kHz)');\n",
      "ylabel('Amplitudes(V)');\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "(a) Actual minimum bandwidh(kHz) 60.0\n",
        "(b) Approximate minimum bandwidh(kHz) 40.0\n"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nfwqVJ9IAAAAAAElFTkSuQmCC\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10f04ced0>"
       ]
      }
     ],
     "prompt_number": 63
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 4.9 Page no : 4.40"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "# Variables\n",
      "#Part (a)\n",
      "delta_f = 75.;\t\t\t\t#kHz\n",
      "fm = 15.;\t\t\t\t#kHz\n",
      "\n",
      "# Calculations and Results\n",
      "DR = delta_f/fm;\t\t\t\t#Deviation ratio\n",
      "print \"(a) Deviation ratio\",DR\n",
      "#For m or DR = 5 we have 8 sidebands\n",
      "B = 2*(8*fm);\t\t\t\t#kHz\n",
      "print \"(a) Bandwidh for worst case(kHz)\",B\n",
      "#Part (b)\n",
      "delta_f = 75./2;\t\t\t\t#kHz\n",
      "fm = 15./2;\t\t\t\t#kHz\n",
      "DR = delta_f/fm;\t\t\t\t#Deviation ratio\n",
      "print \"(b) Deviation ratio or modulation index\",DR\n",
      "#For m or DR = 5 we have 8 sidebands\n",
      "B = 2*(8*fm);\t\t\t\t#kHz\n",
      "print \"(b) Bandwidh for worst case(kHz)\",B\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "(a) Deviation ratio 5.0\n",
        "(a) Bandwidh for worst case(kHz) 240.0\n",
        "(b) Deviation ratio or modulation index 5.0\n",
        "(b) Bandwidh for worst case(kHz) 120.0\n"
       ]
      }
     ],
     "prompt_number": 64
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 4.10 Page no : 4.44"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "# Variables\n",
      "#Part (a)\n",
      "ft = 88.8;\t\t\t\t#MHz\n",
      "N1N2N3 = 20;\t\t\t\t#frequency multiplication\n",
      "\n",
      "# Calculations and Results\n",
      "fc = ft/N1N2N3;\t\t\t\t#MHz\n",
      "print \"(a) Master oscillator center frequency(MHz)\",fc\n",
      "delta_ft = 75.;\t\t\t\t#kHz\n",
      "delta_f = delta_ft*1000/N1N2N3;\t\t\t\t#Hz\n",
      "print \"(b) Frequency deviation at the output(Hz)\",delta_f\n",
      "fm = 15;\t\t\t\t#kHz\n",
      "DR = delta_f/1000/fm;\t\t\t\t#Deviation ratio at output\n",
      "print \"(c) Deviation ratio at the output\",DR\n",
      "DR = DR*N1N2N3;\t\t\t\t#Deviation ratio at antenna\n",
      "print \"(d) Deviation ratio at the antenna\",DR\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "(a) Master oscillator center frequency(MHz) 4.44\n",
        "(b) Frequency deviation at the output(Hz) 3750.0\n",
        "(c) Deviation ratio at the output 0.25\n",
        "(d) Deviation ratio at the antenna 5.0\n"
       ]
      }
     ],
     "prompt_number": 65
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 4.11 Page no :4.46"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math \n",
      "\n",
      "# Variables\n",
      "VCO = 200.;\t\t\t\t#ppm(VCO stability)\n",
      "fc = 5.1;\t\t\t\t#MHz\n",
      "ft_old = 91.8;\t\t\t\t#MHz\n",
      "k0 = 10.;\t\t\t\t#kHz/V\n",
      "kd = 2.;\t\t\t\t#V/kHz\n",
      "f2 = 30.6;\t\t\t\t#MHz\n",
      "\n",
      "# Calculations\n",
      "fc = fc*10**6+(VCO*10**-6*fc*10**6);\t\t\t\t#Hz(with feedback loop open)\n",
      "N1 = 2;\n",
      "N2 = 3;\n",
      "f2_new = N1*N2*fc;\t\t\t\t#Hz\n",
      "df2 = f2_new-f2*10**6;\t\t\t\t#Hz(Frequency drift)\n",
      "ft = N2*f2_new/10**6;\t\t\t\t#MHz(Transmit frequency)\n",
      "df2_reduced = df2/(1+N1*N2*kd*k0);\t\t\t\t#Hz(reduced frequency drift)\n",
      "df2_reduced = round(df2_reduced);\t\t\t\t#Hz\n",
      "print \"Reduced frequency drift(Hz)\",df2_reduced\n",
      "f2dash = f2*10**6+df2_reduced;\t\t\t\t#Hz(New transmit frequency of antenna)\n",
      "ftnew = f2dash*N2;\t\t\t\t#Hz\n",
      "print \"New transmit frequency of antenna(Hz)\",ftnew\n",
      "old_drift = ft*10**6-ft_old*10**6;\t\t\t\t#Hz\n",
      "new_drift = ftnew-ft_old*10**6;\t\t\t\t#Hz\n",
      "print (\"The frequency drift at the antenna has been reduced from \"+str(old_drift)+\" Hz to\\\n",
      " \"+str(new_drift)+\" Hz. This fulfill the FCC requirements.\")\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Reduced frequency drift(Hz) 51.0\n",
        "New transmit frequency of antenna(Hz) 91800153.0\n",
        "The frequency drift at the antenna has been reduced from 18360.0 Hz to 153.0 Hz. This fulfill the FCC requirements.\n"
       ]
      }
     ],
     "prompt_number": 66
    }
   ],
   "metadata": {}
  }
 ]
}