{
 "metadata": {
  "name": "",
  "signature": "sha256:864553603dd4721841ece01ff88819765d78956507068d6cf100b7669fda390f"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": [
      "Chapter 2 : Spectral Analysis I Fourier Series"
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 2.1  Page No : 31"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math \n",
      "\n",
      "# Calculations and Results\n",
      "#v(t) = 12coos(2pi*2000t)\n",
      "A = 12.;   #in volts\n",
      "print '(a)  The amplitude is idetified as',A,'V'\n",
      "\n",
      "w = 2*math.pi*2000;\n",
      "print '(b)  The radian frequincy is',w,'rad/s'\n",
      "\n",
      "f = w/(2*math.pi);\n",
      "print '(c)  The cyclic frequency is',f,'Hz'\n",
      "\n",
      "T = 1/f;\n",
      "print '(d)  The period is',T,'s'\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "(a)  The amplitude is idetified as 12.0 V\n",
        "(b)  The radian frequincy is 12566.3706144 rad/s\n",
        "(c)  The cyclic frequency is 2000.0 Hz\n",
        "(d)  The period is 0.0005 s\n"
       ]
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 2.2  Page No : 32"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math \n",
      "from sympy import acot\n",
      "\n",
      "# Variables\n",
      "#i(t) = 4math.cos50t + 3math.sin50t\n",
      "A = 4.;\n",
      "B = 3.;\n",
      "\n",
      "# Calculations and Results\n",
      "C = math.sqrt(A**2+B**2);  #right triangle\n",
      "theta = -1*math.atan(3./4);  #in rad\n",
      "print '(a)  The current is expressed as 5math.cos(50t + theta),where theta is',theta,'rad'\n",
      "\n",
      "phi = math.radians(acot(3./4));  #from figure 2.5 in radian\n",
      "print '(b)  The current is expressed as 5math.sin(50t+phi), where phi is',phi,'rad',\n",
      "\n",
      "phi = phi*180/math.pi;\n",
      "print 'or',phi,'degrees'\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "(a)  The current is expressed as 5math.cos(50t + theta),where theta is -0.643501108793 rad\n",
        "(b)  The current is expressed as 5math.sin(50t+phi), where phi is 0.0161843546921 rad or 0.927295218002 degrees\n"
       ]
      }
     ],
     "prompt_number": 3
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 2.3  Page No : 37"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# Variables\n",
      "T = 12.5*10**-6; #in sec\n",
      "f0 = 0;   #dc\n",
      "\n",
      "# Calculations\n",
      "f1 = 1./T*10**-3;   #in kHz\n",
      "f2 = f0+2*f1;\n",
      "f3 = f0+3*f1;\n",
      "f4 = f0+4*f1;\n",
      "\n",
      "# Results\n",
      "print 'The lowest five frequencies are (in kH)',f0,f1,f2,f3,f4,'kHz'\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The lowest five frequencies are (in kH) 0 80.0 160.0 240.0 320.0 kHz\n"
       ]
      }
     ],
     "prompt_number": 4
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 2.4  Page No : 40"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%matplotlib inline\n",
      "import math \n",
      "from numpy import zeros,arange,concatenate\n",
      "from matplotlib.pylab import plot,suptitle,xlabel,ylabel\n",
      "\n",
      "# Variables\n",
      "#all frequencies are in Hz\n",
      "f = 0;\n",
      "f1 = 500.;  #fundamental freq.\n",
      "f2 = 1000.;  \n",
      "f3 = 1500.;  #harmonics\n",
      "print (f3,f2,f1,f,'(a)  The frequencies in signal are');\n",
      "#for plot\n",
      "fHz = arange(0,1600);\n",
      "Cn = concatenate(([5],zeros(499),[8],zeros(499),[6],zeros(499), [3], zeros(99)))\n",
      "\n",
      "plot(fHz,Cn)#,[3],rect = [-0.5,0,1550,10])\n",
      "suptitle('Linear amplitude spectrum')\n",
      "xlabel('f,Hz')\n",
      "ylabel('Cn(V)')\n",
      "#xgrid\n",
      "print ('(c)  The required bandwidth is 1500 Hz');\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "(1500.0, 1000.0, 500.0, 0, '(a)  The frequencies in signal are')\n",
        "(c)  The required bandwidth is 1500 Hz"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10ee31150>"
       ]
      }
     ],
     "prompt_number": 11
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 2.5  Page No : 43"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%matplotlib inline\n",
      "import math \n",
      "from numpy import zeros,concatenate\n",
      "from matplotlib.pylab import plot,suptitle,xlabel,ylabel,title\n",
      "\n",
      "#page no 43\n",
      "#problem 2.5\n",
      "\n",
      "# Variables\n",
      "#All voltages are in V\n",
      "#All power in watts\n",
      "R = 5.;  #ohm\n",
      "C0 = 5.;  #dc value\n",
      "C1 = 8.;\n",
      "C2 = 6.;\n",
      "C3 = 3.;   #volts\n",
      "\n",
      "# Calculations and Results\n",
      "Vrms = math.sqrt(C0**2+0.5*(C1**2+C2**2+C3**2));  #rms voltage\n",
      "print '(a)  The rms value of voltage is',Vrms\n",
      "\n",
      "P = Vrms**2/R;   #watts\n",
      "print '(b)  The average power dissipated in resistor is',P,'W'\n",
      "\n",
      "P0 = C0**2/R;\n",
      "print '(c)  The dc power is ',P0\n",
      "\n",
      "P1 = C1**2/(2*R);\n",
      "print 'The power in fundamental is',P1\n",
      "\n",
      "P2 = C2**2/(2*R);\n",
      "P3 = C3**2/(2*R);\n",
      "print 'The second and third harmonics are',P2,P3\n",
      "#for plot\n",
      "fHz = range(1600);\n",
      "f1 = 500;  #fundamental freq.\n",
      "f2 = 1000;  f3 = 1500; \n",
      "Pn = concatenate(([P0],zeros(499), [P1], zeros(499), [P2], zeros(499), [P3], zeros(99)))\n",
      "plot(fHz,Pn,color=\"red\")#,rect = [0,0,1600,8])\n",
      "suptitle('Power spectrum')\n",
      "xlabel('f,Hz')\n",
      "ylabel('Pn(W)')\n",
      "#xgrid\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "(a)  The rms value of voltage is 8.91627725006\n",
        "(b)  The average power dissipated in resistor is 15.9 W\n",
        "(c)  The dc power is  5.0\n",
        "The power in fundamental is 6.4\n",
        "The second and third harmonics are 3.6 0.9\n"
       ]
      },
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 12,
       "text": [
        "<matplotlib.text.Text at 0x10f003250>"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n/wGx3MelLpqZYgAAAABJRU5ErkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10ee3f3d0>"
       ]
      }
     ],
     "prompt_number": 12
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 2.6  Page No : 48"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "\n",
      "# Variables\n",
      "#All frequencies in Hz\n",
      "#There is no dc component\n",
      "T = 4.*10**-3;\n",
      "\n",
      "# Calculations and Results\n",
      "f1 = 1/T;\n",
      "print 'The fundmental frequency is',f1\n",
      "\n",
      "#The function have only odd numbered components\n",
      "print 'The five lowest frequencies are ',f1,f1*3,f1*5,f1*7,f1*9\n",
      "print ('(b)  The rolloff rate is -6dB/octave');\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The fundmental frequency is 250.0\n",
        "The five lowest frequencies are  250.0 750.0 1250.0 1750.0 2250.0\n",
        "(b)  The rolloff rate is -6dB/octave\n"
       ]
      }
     ],
     "prompt_number": 13
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 2.7  Page No : 51"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math \n",
      "\n",
      "# Variables\n",
      "#All frequencies in kHz\n",
      "#The time is in ms\n",
      "#Power in WATTS\n",
      "#All voltage in volts\n",
      "T = 0.2;  #ms\n",
      "\n",
      "# Calculations and Results\n",
      "f1 = 1/T;\n",
      "print 'The fundamental frequency is',f1\n",
      "\n",
      "#There are only odd numbered harmonics\n",
      "Ap2p = 40.; # peak to peak\n",
      "R = 50.;  #ohm\n",
      "A = Ap2p/2;\n",
      "C1 = 4*A/math.pi;\n",
      "C3 = 4*A/(3*math.pi);\n",
      "C5 = 4*A/(5*math.pi);\n",
      "print 'The magnitude of fundamental , third and fifth harmonics are ',C1,C3,C5,'respectively',\n",
      "def Power(Cn,R):\n",
      "    return Cn**2/(2*R);\n",
      "\n",
      "P1 = Power(C1,R);\n",
      "P3 = Power(C3,R);\n",
      "P5 = Power(C5,R);\n",
      "#power is calculated umath.sing the function Power defined above\n",
      "print ('Frequency  Amplitude   Power')\n",
      "table = [[f1,C1,P1],[3*f1,C3,P3],[5*f1,C5,P5]];\n",
      "print (table);\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The fundamental frequency is 5.0\n",
        "The magnitude of fundamental , third and fifth harmonics are  25.4647908947 8.48826363157 5.09295817894 respectively Frequency  Amplitude   Power\n",
        "[[5.0, 25.464790894703256, 6.4845557531096185], [15.0, 8.48826363156775, 0.7205061947899574], [25.0, 5.092958178940651, 0.2593822301243847]]\n"
       ]
      }
     ],
     "prompt_number": 15
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 2.8  Page No : 52"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import math \n",
      "\n",
      "# Variables\n",
      "#All frequencies in kHz\n",
      "#The time is in ms\n",
      "#Power in WATTS\n",
      "#All voltage in volts\n",
      "#following values are copied from Ex2-7\n",
      "T = 0.2;  #ms\n",
      "f1 = 1/T;\n",
      "#There are only odd numbered harmonics\n",
      "Ap2p = 40.; # peak to peak\n",
      "R = 50.;  #ohm\n",
      "\n",
      "# Calculations\n",
      "A = Ap2p/2;\n",
      "C1 = 4*A/math.pi;\n",
      "C3 = 4*A/(3*math.pi);\n",
      "C5 = 4*A/(5*math.pi);\n",
      "def Power(Cn,R):\n",
      "    return Cn**2/(2*R);\n",
      "\n",
      "P1 = Power(C1,R);\n",
      "P3 = Power(C3,R);\n",
      "P5 = Power(C5,R);\n",
      "\n",
      "# Results\n",
      "Vrms = A;\n",
      "P = Vrms**2/R;\n",
      "print 'Total power is',P,\"W\"\n",
      "P135 = P1+P3+P5\n",
      "print 'Power of fundamental , third and fifth harmonics is',P135\n",
      "prcnt = P135/P*100;\n",
      "print 'The percent of power is ',prcnt\n",
      "\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Total power is 8.0 W\n",
        "Power of fundamental , third and fifth harmonics is 7.46444417802\n",
        "The percent of power is  93.3055522253\n"
       ]
      }
     ],
     "prompt_number": 16
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Example 2.9  Page No : 54"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%matplotlib inline\n",
      "import math \n",
      "from numpy import zeros,concatenate,array,arange\n",
      "from matplotlib.pyplot import plot,suptitle,xlabel,ylabel,subplot\n",
      "\n",
      "\n",
      "# Variables\n",
      "f0 = 0;\n",
      "f1 = 500.;  #fundamental freq.\n",
      "f2 = 1000.;  \n",
      "f3 = 1500.;  #harmonics\n",
      "\n",
      "# Calculations and Results\n",
      "#Values from ex 2.4\n",
      "C = [5, 8, 6, 3]#  Values in Volts\n",
      "#Values from ex 2.5\n",
      "P = [5, 6.4, 3.6, .9];   #poweer in watts\n",
      "\n",
      "# plot two sided linear amplitude spectrum\n",
      "#fHz = -1510:10**-2:1510;    #x-axis matrix\n",
      "fHz = arange(-1510,1510.01,10**-2)\n",
      "\n",
      "#Y-axis matrix\n",
      "Cn = [C[0]]\n",
      "for i in range(1,4):\n",
      "    Cn = concatenate(([zeros(49999), Cn, zeros(49999)]))\n",
      "    Cn = concatenate(([C[i]/2], Cn, [C[i]/2]));\n",
      "\n",
      "Cn = concatenate((zeros(1000), Cn, zeros(1000)))\n",
      "subplot(211)\n",
      "plot(fHz,Cn)#,[2],rect = [-2000,0,2000,6])\n",
      "suptitle('Two-sided Linear amplitude spectrum')\n",
      "xlabel('f,Hz')\n",
      "ylabel('Vn(V)')\n",
      "\n",
      "# plot two power spectrum\n",
      "fHz = arange(-1510,1510.01,10**-2);    #x-axis matrix\n",
      "#Y-axis matrix\n",
      "Pn = [P[0]]\n",
      "for i in range(1,4):\n",
      "    Pn = concatenate((zeros(49999), Pn, zeros(49999)))\n",
      "    Pn = concatenate(([P[i]/2], Pn ,[P[i]/2]));\n",
      "\n",
      "Pn = concatenate((zeros(1000), Pn ,zeros(1000)))\n",
      "subplot(212)\n",
      "plot(fHz,Pn)#,[6],rect = [-2000,0,2000,6])\n",
      "suptitle('Two-sided power spectrum')\n",
      "xlabel('f,Hz')\n",
      "ylabel('Pn(W)')\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 17,
       "text": [
        "<matplotlib.text.Text at 0x10f030290>"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nEREJ1v8H4LIMj4yPOCMAAAAASUVORK5CYII=\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10d7fdb50>"
       ]
      }
     ],
     "prompt_number": 17
    }
   ],
   "metadata": {}
  }
 ]
}