{
 "metadata": {
  "name": "",
  "signature": "sha256:45efe743bf94f00c802dd39015ad376fd44cc3123ce2dc6a019a80a6bcc8fe7a"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "# Sine and Square Waves for St. Patrick's Day"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "This notebook is part of a guest lecture I gave in our introductory signal processing class, ELEG 305, on St. Patrick's Day.\n",
      "\n",
      "The command below loads numpy (the vector processing library) and matplotlib (Matlab-style plotting) and tells the notebook to draw the plots in place.  Many Ipython notebooks start with this command."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%pylab inline"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Populating the interactive namespace from numpy and matplotlib\n"
       ]
      }
     ],
     "prompt_number": 2
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Sine Wave"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Let's plot a sine wave.  The Nyquist theorem says we have to sample at least twice per period.  Let's try it."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "f = 1\n",
      "Fs = 2.1 #more than twice per period\n",
      "t = linspace(0,3,3*Fs+1)\n",
      "y = sin(2*pi*f*t)\n",
      "plot(t,y)  #connects the dots with straight lines\n",
      "#plot(t,y,'ro') #show the dots"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 3,
       "text": [
        "[<matplotlib.lines.Line2D at 0x10a842490>]"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10a819d90>"
       ]
      }
     ],
     "prompt_number": 3
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "That didn't work.  Clearly the plotting routine does not understand the Nyquist criterion (neither, by the way, does Matlab's plotting routine).  \n",
      "\n",
      "We need to increase the sampling rate."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "f = 1\n",
      "Fs = 100 #a lot more than twice per period\n",
      "t = linspace(0,3,3*Fs+1)\n",
      "y = sin(2*pi*f*t)\n",
      "plot(t,y)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 4,
       "text": [
        "[<matplotlib.lines.Line2D at 0x10b1b5b90>]"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10a849d50>"
       ]
      }
     ],
     "prompt_number": 4
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "That's better.  They look like sinusoids."
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Lissajous figures\n",
      "\n",
      "Various plots of sines and cosines on both axes."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "t = linspace(0,1,201)\n",
      "wt = 2*pi*t\n",
      "plot(cos(wt), sin(wt))\n",
      "axes().set_aspect('equal')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10b1c0290>"
       ]
      }
     ],
     "prompt_number": 5
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "In early oscilloscopes, Lissajous figures were used to measure phase shifts between two signals.  In the figure below, the input to the system is $\\cos(wt)$ and the output is $\\cos(wt+\\theta)$.  See the differences below as $\\theta$ changes."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "plot(cos(wt), cos(wt), cos(wt),cos(wt+pi/4),cos(wt),cos(wt+pi/3),cos(wt),cos(wt+pi/2))\n",
      "axes().set_aspect('equal')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10b1d28d0>"
       ]
      }
     ],
     "prompt_number": 6
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "In the plots below, play with the frequencies and the phase shift to change the picture.  There are many interesting Lissajous figures. "
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "plot(cos(4*wt),cos(3*wt+pi/5))\n",
      "axes().set_aspect('equal')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "iVBORw0KGgoAAAANSUhEUgAAAQ8AAAEACAYAAACtefPrAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztnXd8Tff/x1++Wt9f228HErFXraQoNUqtFFU6VIfZotrq\nopMqOqRadKFVlOpCjeqg1C6CmlESgtgriCBkyrj3vH9/vHKbiIw7zrj35vN8PM7jrnM/53PW+3w+\n7wkoFAqFQqFQKBQKhUKhUCgUCoVCoVAoFAqFwgf5HsA5AHsKWWcSgEMAogA0NqNTCoXC+2kDCoSC\nhMcDAJZlv78bwFYzOqVQKHyD6ihYeEwD0DPX5xgAQUZ3SKFQGMt/TNhGJQCncn2OBVDZhO0qFAoD\nMUN4AECJPJ/FpO0qFAqDuM6EbZwGUCXX58rZ313FDTfcLleuHDGhOwqFIg9HANRy9U9mCI/FAAYD\nmA+gBYDLoHXmKq5cOQKR/Ack6enA2rXAkiXA4sXATTcBXbtyad0a+I9Z4ycPCAsLQ1hYmNXdMATH\nvp07B+zZA0RH83XPHiAmBtA0oHJloFKlnCXv56AgoGRJc/utacChQ8C+fcDBg1wiI4GdO6/Zw+yF\n1K4N3H030KIFXxs2BEqV0r9/IsDFi8CxY1wOHgT++gv45x+gZUugSxcudesCJfKO7V2gRIkSt7v1\nP/c3+S/zALQDEAAKhVEArs/+bXr262QAnQGkAhgA4JrTA0CysgTXFSHORHhylywBfv8dSEwE+vYF\n+vUD6tTxfGeMwp+ER0oKsHdvjpD4448wpKaGwWYDGjS4egkOBm67zbOLWy/OnQO2bQO2b+drRARQ\nujT7WacOl9q1+VqxYk6fc5+7rCzgwAH+f+tWvh45AjRqdLVAqVrVuH1OSgLWrAGWL+dy3XVA585A\nr15Au3aut1eCHXW5t3qMPHo7sc5gZxp69VVgypTCD3qJEkCTJlzCwoCoKGDWLKBtW6BGDaB/f6Bn\nT14UCs9JSgL+/hvYsiVnNBEXB9SrB9SvzxuvVSvg00+BChW8Q0gAQGoqn9AOQbF9O5CcDDRvzuX1\n14FmzYBy5Vxr9/rrud/16wPPPsvvkpOBHTsoTObO5XUMUJDccw/QrZu+D7ZbbgEefZSLCEdOy5cD\nzz1HoTVmDLddnJD69UW++ELcIitLZOlSkR49RG69VeSJJ0SWLxex291rT2/WrVtndRec4uJFkUWL\nRN58U6RJE5H//U/k3ntF3n1X5JdfRGJiRGy2q//jDft26pTIDz+IDBwo0rChyA03iDRvLvLKKyKz\nZ4scPCiiae617er+aZrI8eMiP/8s8vLLIuXLs08ffSRy4IB7fXCGzEyRGTNEqlQRefBBkZ07nfsf\n3DRgeMlzAgAgx48L7rkHmDYNePhh9xu6fBlYsACYPp3vX3oJGDAAKFtWv876C/HxwIYNwPr1fD12\njPPpdu24NG0K/Pe/VvfyWtLS2N9Vq7icPQt06MARaPPmwJ13ek+/7XZg0ybgl1+AX3/laKd7dy51\n6+q/vYwM4JtvgHHjOCocNw6oVYg61N1pizchIiLbtokEBoosXOi5JNY0ka1bRfr2FbntNpGnnxaJ\niPC8XV/m9GmRuXNFXnhBJDiYx+XBB0U+/ZTHPjPT6h7mj90usmuXyCefiHTowBFR27Z8mm/ffu1o\nyFux2UTWrxcZPDhnRPLhhxzR6U1qqsi4cSJBQbwPCgJ+4Drx78788w8P7A8/6Hcg4+NFPv5YpFo1\nkWbNRH78USQtTb/2vRVNE9m7lxfoXXeJlCkj0q2byMSJHNZ680139qzIrFkiTz3FG6B2bZFBg0T+\n+EMkKcnq3nlObkESFCTSubPIxo36b+fPP/lAXr06/9/hT8JDRGT/fpGqVUUmTND3QNpsIkuW8EQF\nBIgMH86nsT+haXwaDx8uUqeOSOXKIq++KhIeTt2Qt6JpIrt3U7/SsCFHRY8/LjJ9usjRo1b3zljS\n00W++UakRg2Rdu1E/vrLfR1NfqxfTwHy22/X/gZ/Ex4iIidO8OJ/5x19D6SDQ4eoUCtdmlOaPXv0\n34ZZZGWJrF3L/alcWaRuXZERIzhNM+LY6YWmiURFUWDUrcsHxpAhIps2ebegM4qsLI626tUTadGC\nDzq9zt/OnRzRf//91d/DH4WHiMi5cyJNm4r06WPcNOPiRZExY3hgO3fWX+obxZUrvLgGDOAoqkkT\n6gD27bO6Z4XjEBjvvMOHQ7VqIkOHUufiC8fdDGw2kQULOAJr1IiWLj0shwcOiJQtS+uTA/ir8BCh\n0OjVi7qK2FjPD2BBpKdTKoeE8ITNnu19CkRN4/TjySdpkm7blvqL48et7lnhaJpIZKQSGK6iaSKL\nF9PsHBysj05kzBi6NDiAPwsPx0EcM0akUiVecEZit4ssWybSvj2nAJ99JnL5srHbLIrz50XGj+fQ\nPiSE/jBxcdb2qSgcAmPkSCo7q1UTeest6mOUwHANTRP5/XeOjt9+mw86d0lJEalQQWTHDn6GvwsP\nB4sWcYg+Z477B88V/vmHU6ayZTkvP3/enO2K5IwyevfmKKNvX5G///b+Gy8hQeSrr0TuvFMJDL05\nd07kkUd4bD3R0U2dKnLffXyP4iI8RKiRr1GD1gSzTI1Hjog8/zxNnUOH0oxoFOfPi3z+OYf3ISEi\nX35JvYw34xB0Tz1FQderF3VH3uLh609omsh33/EhOn68e8c4M1Pk9tt5jlCchIcI/TZCQyk94+Nd\nP3jucuoUzZ6lS9M+f+KEPu1qmsi6dTmjjH79fGOUERdHx63atSnoJk40d3RWnDl6VKR1a94H7ui8\nvviCD0QUN+EhQrPWiBH05d+82fWD5wlxcSLDhnEk8txzIocPu9dOaipPoi+NMmw26oQefZS+GM88\nw+Pv7YLOH7HZKLwDA2mRcYXVq+lTguIoPBwsXixSrhxvPLMv4AsXRN5/nzqRp56iN6czJCfTJTwo\nSOSxx6hF9/ab7/hxkVGjKKybNaPzVmKi1b1SiNCHo0IF13SBJ09SAYviLDxEqJO46y6aoKxwXb58\nWWTsWAqxJ54oWJmVmJizXo8e1N94M5rGUcb993OUNXgwLSgK72PPHgqD+fOdW99uF7nxRiU8RIRO\nUwMH0pwZHe1xc26RkkLTbrly1F84QrAvXRIZPZpKrj59nB+hWEVun5c77yw+sUC+TlQUR7POTmEa\nNVLC4yp+/JE36axZujXpMklJ9PYsWVKEKVuoBDUielJPEhI4MqpQgaON1au9fzqluJpduyhAfv+9\n6HV5bbonPHwg+6fr9O/PnKdjxwJPP820eWaTkcGcE7nTst54I/OveiPHjzO71u23M+/oihVcOnb0\nnuxgCudo1AhYtgx48UXm/C2MwED3t+OXwgNgerwdO5gcuWlTpis0g8REYPhwpp27cAE4fJgC5Px5\npo9r2JA3aVycOf0pih07mPuySRMmz9m9G5g5k/1U+C533QUsXQoMHMiHQEFUqVLwb76EYcO4n37i\nNGbyZOOG4JrG7VSowEC1gvw/zp4Vee01Kh+HDaO1xmzsduZ4CA2l5WT8eGU18VfWr6cSNT/zv6bR\npwhK51E4Bw/SGtOtm/5+FHv2MECtcWPn/U1OnRJ58UWaeN97z5zYmYwMeiYGB1NRNmeO9wX+KfRn\n0CCRZ5+99vuLF0VuuUUJD6dITxd5/XXmjPj7b8/bS0pi7onAQI5q3HGVP3qUuUTKlaN3picBTwVh\ns1F5XKMGPXLXrFFK0OJEYiIDPPPmcd6+nQ88KOHhPIsXUxs9Zox7N7ymicybxwjfp59msJKn7NnD\nXKI1anBEoEdMiKYxc1RIiEirVow9URRPFi2iF/OVKznfzZ/PTG1QwsM1Tp0SadOGYfeu5AjZu5el\nCO68U5/RS17Cw+m9edddBeecLApNE1mxgsmBGjemk5caaSgee4yR4Q5GjmR4B5TwcB2bjYmBg4KK\nztaenEwFZ0CAyKRJxqbI0zRmkapVS6RTJ9rtnWXDBgrFevX0yz6l8A9On+b1u2cPr7GaNZmmEkp4\nuM/mzTyQzz9PD9G8LF/OOWPfvsaG4uclM5O6lKAgxs0UFjm5YwdTKFavTic5b86KrrCOr7/mFHbL\nFnpia5oSHh6TmEjhUK9eTqWtzEwmsqlcmcmFrSIpicF3Zcqwkltua9HevZy3VqwoMmUKLSoKRUHY\n7byeQ0M56hbxk4pxItYLwLlz6cTVsyfrmwYGAj/+CAQEWN0zOpZ98AGrjj3xBJCQAKxbB7z1FjBo\nED1YFYqieO01YNIkFuiuWdPaQtd+RZ8+LF04dCg/nz7tHYIDAMqXByZMYAnNadP43YwZLLisXMgV\nzlKmDF9r1PCsHb91T3eH9HQ+wadMATZvBkaNopvvkiVW94wu7osWASEhgKYBJ09y1DF5MmvK7txp\ndQ8VvsL+/XyNiLC2H3pi5VRQYmJofu3e/Wpvz7//phLy5ZeZ9csKDhygMjQ4mDknc2OzsdJY+fJ0\nizdToavwPRIS6JI+aBAdJkWUwtQjZs2iCWvatPz9IS5fprWjbt2cdPVmkJJCO3zZskyIXJgr+eXL\nVO6WLcvixrmdgRQKB8OGMefNvn2Mw7LZlPBwi+Rkkf79aWGJiip6/Xnz6Io+dqyxplBNo49GlSpM\nHORKLd1Dh5iav0YNkV9/Vc5hihxOnqTFznE93XknrYhQwsM14uLofdmvX/6+HQVx8iQ9TFu3Nqb4\n8r59Ih07ijRowIhId/nrL7bRrp1rTmYK/+Xpp1mxz8EHH3C0CiU8nOfYMXpvjhrl3pPZbuc0IiCA\nDll6PN2TkngiAwKYTV0PD9asLDoFlSvHDO/eXmFOYRy7d/M6yK3PmzNHpGdPJTycZs8eOsl89ZXn\nbUVFidSvz4THnuTlWLCAQXb9+xuj8Lx0ic5lZcsyY7tyJCt+PPggH0q5CQ/nCBpKeBTNpk2UvnPn\n6tfmlSsib7xBgbRqlWv/vXCBGdTr1TMmyC4vBw6IdOlCq42VHrMKcwkPpw4sb7qHw4dpSYQSHoWz\ndCmVnStWGNP+6tUUIK+95lyW8aVL6VL+xhvmZiXXNAYBVq3K7O6uKGMVvoemiTRvnn89l7Q0kVKl\nlPAolJ9+4ohjyxbDNiEijDnp0UPkjjsKrm2SlET9Q/Xq1yZnMZPcZuAJE4yNElZYx7x5NAwUFF1d\ntqwSHgXy5ZccEZhVx0XTRGbP5ijns8+uPmnh4RQazz7rPTlDY2JyrDsbN1rdG4WenDnDiOzCHpoN\nGyrhcQ2axsQndeq4VwTYU44dY16N0FDqGt58k9OUJUvM70tRaJrIzz9Taduvn7LK+AOaRv3We+8V\nvt4DDyjhcQ1vvcVMWvHxujbrEjYbLTGOok/eXj0+KUlk6NCcTPMqJ4jv8vXXvP6LSnA9YIASHlcx\nbZpI7drWVpvPzBQJC+P0ZehQWlR696bZ1NuJjs7JBm+0nkihPwcP8gGwf3/R6z76qBIe/7JyJed5\nBw/q0pxb7Nsn0rQpyzU68qOmprJIdNWqvmEmdehuKlSggtfbR00KkpUlcvfdTJXpDC1aKOEhInQA\nCwxkHk+rKCrIbtky6j7eesuYMgt6c/myyKuv0lo1a5aKlfF2Ro9meQ1nc9dWraqEh8TF0ZIxe7ZH\nzbhNRgZHFrVrF23ZOX+exafuvJMCzxeIiGB/O3UyJqZH4TkREXx4OlsNQNOUn4ekpXGo9v77bjfh\nEWfP0s334Yed12loGqu3BQSw2JMvZDnPzBT5+OMc3xClUPUe0tKoV5s3z/n/nD/PKFtYKDw6A4gB\ncAjA2/n8HgogEcCu7OXdAtpx66DZ7bRo9OljzZB682aaOD/4wD0BcPiwSMuW9LVwpX6MlRw8SBN0\ns2YFO8MpzEPTGDHbu7dr/3PEZsEi4VESwGEA1QFcDyASQHCedUIBLHaiLbcO3IgRTCVvdvIbTROZ\nOpW6gD//9KytrCzOVcuVYx4PX0DTRL79lsPkESPMdbFXXM2ECZxSupJaQoQlRe67zzrh0RLAilyf\nh2cvuQkF4EwWUJcP2vffi9x+u/mWgLQ0Svr69Zl8Ry+2baPOpF8/7/FALYqzZ5m6sXZtVc7SClas\nYApKdxwhv/+ekdxwU3h4mgC5EoBTuT7HZn+XGwFwD4AoAMsAhHi4TQBAdDQwbBjw55/mZjc/cQJo\n04bJkrduBWrV0q/t5s2ZyPj//g+4805g40b92jaK8uWBBQuAzz4DnnoKeP55ZndXGM+BA0C/fsAv\nvwDVqrn+/0OH3PufA09LLzgjsXYCqAIgDUAXAIsA1MlvxbCwsH/fh4aGIjQ0NN8G7XbgueeAjz4C\n6tVzrcOe8NdfvEGGDQPeeMOYcgf/+x8wfToztvfoATzzDLO4lyql/7b05JFHgNBQYMQI4I47WBfk\nscdUSQijuHwZ6NoVGDsWaN3atf+Gh4cjPDwcP/wAdO5sTP+coQWunraMQP5K09wcA1Amn++dHm59\n8QU9IM2yUGiayCefcHhopoNXXByTuNx1l3Pegt7Cxo3U/Hfr5jtKYF8iK4sOiK++6n4bcXHMop6Z\naZ3O4zoAR0CFaSnkrzANQk41quYAjhfQllM7fewYTYUHDrh/4FwhK4v+/02bMn+p2Wga4xQc8Sa+\n4qSVnk7TeUCAyMyZvtNvX+DNN6no9CSNwsyZIo89xvew0FTbBcAB0OoyIvu7F7IXABgEIBoULJvB\n0Up+FLnDmkaJO3as+wfNFa5c4dOzUyfXNdl6ExNDAdali2/VZtm1i+H+jzyionX14IcfqJxOSPCs\nnd69RWbM4HsUByex2bNpkioqUlAPEhOZJb1HD+/J+ZmZyRDroCBmA/MV0tNFRo5kvxcssLo3vsum\nTTSNezqFtdk4eneMpOHvwiM+nhdfRIRnB84Z4uMZzvzCC97pRblpk0jNmgxYS062ujfOs3Ur86v0\n6uVZwujiyMGDDFJctszztrZuZbY7B7DIVGsab7xBS0fTpsZu5+RJmmI7dwa+/hooWdLY7bnDPfcA\nkZFAVhZr6fpKzdG77wZ27aJ5t2FDmtkVRRMbC3TqBHz4IdCli+ftrVihTzveRIGSctkyPmmN1jvs\n388owwkTjN2Onsyfb04VO71Zt46BjAMGXF1LRHE158/TcvX55/q12aLF1TWP4a/TlowMXmSrV+t3\n8PIjIoKm2Jkzjd2OEZw4wcpwbdvyva+QlMSpYdWqxp9fXyQxkdPnkSP1a/PsWZFbbrk6HQT8VXjM\nni3SoYN+By8/1qzh0/uPP4zdjpHYbCxwHRjI0YgvsXw5k1S//LL1Vi1vIS2ND4SXXtLXzP3++xTY\nuYE/Cg9NYyo8PZREBfH777zh/CUuIyKCSklfio8Roemxb1/GKhX3LO6ZmSIPPURzqp6OkGlpDL6M\nibn6e/ij8Fi3jtXNjPIknTWLGuydO41p3ypSUkSef55VwjZvtro3rrFwIaePb73lPSZyM7HbRZ58\nkp7FerskTJ9OoZQX+KPweOghkW++0fcAOli8mKbfffuMad8bWLiQ+xgW5ltFneLjRbp25Xzfyly0\nZqNpIoMGsWRHaqq+bdvtVLzmF14BfxMeMTEcYhmRJ8LhbLNtm/5texunT9OVuWVLkSNHrO6N82ga\n3fEDAkR+/LF4uLe/+y6n6UZYn5YuFWnUKP/jCH8THi++aExawehoCiWjatZ6I3Y7zc8BAb6XxDgq\nSiQkhJnifEmH4yrjx1NXde6cMe136MBznx/wJ+Fx/rzIbbfpHwtx4gS1+j/9pG+7vkJkJG/EXr18\no36Mg9RUWghq1qR3pL/x+efUTxllZo+MZMb+gnRI8Cfh8dFHIs88o+8BdDjbTJyob7u+RlpaTv2Y\n9eut7o1r/PYbR42+5hBXGGPGiNSqZWzEdv/+NOMXBPxFeKSnU9uuZ0mClBRmV3/7bf3a9HWWLuVx\nHjnSnEBDvTh5kgrF9u2pz/FVNE1k1Cg+0IzcjzNnREqXLrx6IvwltmXpUiA4GKhfX5/2srKA7t2B\nkBBg3Dh92vQHHniA8TGRkYyVOXTI6h45R5UqwLp1QLt2jOtZ4kx2XC9DBBg5EvjtNyA8HKhY0bht\njRvHmLAy+aXf8iNEhB51evnx2+0iTz1Fk68vmSrNJLdV49tvfUuZ+vffItWqcRpmdvZ8d9E0kTfe\noOXD6MTdUVG0Kha1HfjLtKVOHSaQ0YOhQ0XuuUd/m7k/sncvc6U89phvhcsnJDB7e4MG3Advxm6n\nH0fTpsYXYdc0xjpNnVr0uvAH4XHqFJOU6OFR+tVXtCwYfZL8ifR0kSFDaJHKHXXp7Wgas2IFBLCc\ngDditzP/SsuW5kQRz53L0Y0zimX4g/D48UdWf/MUR81OX3KK8iZWrWIVvCFDfKMYt4O9e0Xq1hUZ\nONC7pjE2Gy0ebdsykthokpJ4/v7+27n14Q8K0zVrgA4dPGsjMRHo2ROYMgWoWVOffhU37ruPitQj\nR5jAZ98+q3vkHCEhwPbtQEICyxGcOGF1jwCbDejbFzh1Cli2DLj5ZuO3+dFHvI9atTJ+W96CVKzo\nWSyDpjHn6Esvud+GIofc04EpU3xHmappVLpb7UmckSHy+OMinTubV45z/35O/V1Jkg1/mLZUqeLZ\nBTp9ukjDht41ZPUHDhxg7Zhu3XxLhxQezqjp0aPNq/HjIDGRLuHdupk39dM0xjG5mgkP/jBt6dDB\n/Qpje/YA77wD/PwzyzUq9KNOHWDzZk4DGzUCNmywukfO0a4dsGMHsHIlq6tdumTOds+dY/W8WrWA\nX38F/vtfc7a7aBFw+jQweLA52/MmZPZs9yRuSgo99XwxhaCv4fBMHTXKd3xnMjNFXn+d8SNG5245\ndIgxOGFh5k7z0tKYrnPNGtf/C3+YtrgbGPT009RmK8zhzBkOydu0saaKnrvMn2+sOdeRB3faNGPa\nL4whQ6jvcwf4g/Bw50k2axZHHb5Uv8QfsNsZoFaunG8VoHKYc59/Xl/d2KpVFExWHItly+ib465z\nH/xBeLhKTAxPWFSUewdN4TmbN3O4/PLLvqOoTkykFaRpU5Hjxz1vb84cClErcq+eOcPRjic5eFHc\nhEdmJt2prRgiKq7m0iUOmRs08J20jg5zblCQe3oCB+PHi1Spom8UuLPY7SIdO3qeNAvFTXh88QXN\nUr7ie+Dv5PYJmTHDd87L2rUcNbiaK9duZ+xUcLB1tXI+/ph6J08V1yhOwuP8ebqfe3sgVHFk3z76\n2vTo4TvZyg4eZEDmm286FwuSmclo7ZYtrfN72bqVQk8PwQV/8PNwllGjgF696I6s8C6Cg4Ft24DA\nQKBxY2DLFqt7VDS1a7Ofu3YB3boByckFr5uSAjz8MMMg/vrLmjwZiYlA797AtGlA1armb98bcUpK\n7t7NUYcveToWVxYt4tPx00/N9/B0h8xMBtU1bJj/E/3UKUaqPvecdT4umsYctHqGYKA4TFs0jenn\nJk/W78ApjOX4cRZWfvBB38gTomlUglaseHWy5R07GKn6ySfW6nO++46KaT1jZVAchMfChSJ33OE7\nno0KkplJ5WLVqqyZ4wssXswR7s8/syRpQABfrWTfPvZDb10f/F14pKezjumqVfoeOIV5LFnCacwn\nn/jGNCYyUoQZR+k9aiXJyZxOTZ+uf9vwd4Xpl18Cd9zBXBMK3+Shh4CICAZwPfQQcOGC1T0qmMxM\nYNIkoHx5JiieOBFIT7emL3Y70KcP0LQpMHCgNX3ID58QHnFxwKefAp9/bnVPFJ5StSqwfj3QoAGz\nn//9t9U9upaEBKBzZwq3Q4eAw4eZ1Kd9eyA+3vz+DB0KpKbSuuJu1Lm/U+Cw6plnWDVd4V/8+Sc9\nPMeN855pjMPnY8iQq30+7HZ6clavbq436ZQpjN1KSDBuG/BXncfx4yJlypiTNFZhPidPMsN9584i\n8fHW9iU8nMKsMG/Tn36i3sbZ/KCesGwZ41aMzsULfxUeI0aIvPaasQdPYS2ZmazmV7myyIYN1vTh\nhx8oFJzJGr9iBS0xy5YZ1x9HzRUzrFPwR+GRns4TGhNj/AFUWM/SpXzyjx1r3jTGbhcZPpyWvP37\nnf/f5s28NufO1b9PZ87QrD1vnv5t5wf8UXjMncukM4riw6lTIq1acRpjtFNZcjKLXLVu7V71tj17\n6Dg2ZYp+fUpJEWnSROTDD/Vrsyjgj6baqVOBl1+2uhcKM6lcmfVbGzQAmjShadcIjhwBWrQASpdm\njEpAgOtt1K8PbNwITJgAjB5NjxBP0DTWla1fn/l4Fc5zlTSMiqKLsPImLb789hvn/dOm6esSvnIl\npxxTp+rT7tmzzC3z6queTbeGDhVp144lG8wE/jBtyV1T9sUXmURWUbw5cECkfn2Rfv08rzmsaSKf\nfcZyDOvX69M/B5cucfrz1FNUALvK9OkitWtbE/8DfxAejszWiYkit90mcvq0+QdS4X2kpPCmbNDA\n/aJgqakivXtTn2BU0ubUVAYAPvSQa4Fr8+dToHlS8MwT4A86j/Xr+Tp7NtCxI92CFYqbbgJmzQJe\neoklFBctcu3/J06w/GTJktRRVKliTD9vvBFYuBC49Vbg/vuZd6Mofv8deO011papXduYfhUH5JFH\nOLS84w7P8koq/Jdt22jGHDbMOX3YunV0tJowwbxQertd5JVXmPsjLq7g9RyBgkbXkikKWDht6Qwg\nBsAhAG8XsM6k7N+jADQuYB0pXZqee3Xr+k4OTIX5nD8v0qmTSGhowTVZNU1k0iTenKtXm9s/x/bD\nwqjHiI299neHo9m2beb3LS+wSHiUBHAYQHUA1wOIBBCcZ50HACzLfn83gK0FtCV167K257BhVh9O\nhbdjszHWpFKla0seXLkiMmAAdSRGu3YXxccf82GYewSyZo153qPOAIuER0sAK3J9Hp695GYagJ65\nPscACMqnLXnhBeZOMNLtV+FfLF3K0YVjWhIbK9K8uUj37lS0egMffECL0fnzdL8PDPSszorewCKF\naSUAp3J9js3+rqh1KufXWIsWfG3VysNeKYoNDzzAhMtz5tDBLDiYSYx//pmKVm/gvfdYaDswkGH9\nc+eyCLc76iY6AAAgAElEQVSvc52H/3dWYuXNQpDv//78MwwAMH48cO+9oQgNDXW7Y4riQ7VqQI8e\nwNvZGrfu3b0r70WJEsBjjwFjxzIvSLNm1vYnPDwc4eHh1nYCQAtcPW0ZgWuVptMA9Mr1ucBpS1gY\npy27dlk9kFP4CsnJIj170rJx5IjI119zWrB8udU9yyEykgF/CxeKDB7Mei9JSVb3KgdYpPO4DsAR\nUGFaCkUrTFugEIVpaCjNcBMnWn04Fb7A/v2s2PbMM1c7ZW3YQKerjz+23mq3dy9NxQsW8LPdzvIO\nbdt67jGrF7DQVNsFwAHQ6jIi+7sXshcHk7N/jwJwVwHtyE03MRHLAw9YfTgV3s7PPzOT+Lff5v/7\nyZP0Ju3Z0zrF6Z49jM/66aerv7fbRfr3Z51ZbygODn9wT2/enMO50qUZmq1Q5CUzU+T110Vq1BD5\n55/C101LE+nbl0Frx46Z0r1/KSrfh81Gd/kuXZi3xkrgD+7poaHAzTezlN6MGVb3RuFtnD4N3Hsv\nkxL/8w8TKBfGDTcAM2cCAwbQkrd2rTn9XLmS1pUff+S1nB8lS9Ll/sYbgZ49gawsc/rmr/zr37Fn\nD+es7kQnKvyTtWt5TXz0kXth73/9RaXlF18YqweZP9+1HKcZGSIPPyzyxBPWpZ+AP0xbcmdzats2\nR8mkKL5oGhWfQUGeF/w6epSFk/r107dco4Ovv6aOIyrKtf+lp1P/MWiQNQpe+IPwyP1EmT+fsQuK\n4sulSyKPPCJy9936hdGnpIj06CHStKl+ejVN44ioRg2Rw4fda+PyZQaEfvmlPn1yBfiD8MhNRgaf\nNvv2mX8wFdYTGcmkxIMH659ZyzGaqVDh2rgYV7HbRd54g+7nnuafOXaMI5clSzxrx1Xgb8JDROSd\ndxjarCg+aJrI99/TDDtnjrHbWraMDmUzZrj3/6wsmlxbttSvKNPWreyTmWH68EfhceIEzbbJyeYd\nSIV1JCfTtBoSIhIdbc42DxwQqVWL+UNzV4grirQ0ka5dmeVdbz+SX35hDZv8QvmNAP5gqs1L1apA\n27YMJFL4N9HRjPm47jpg+3YWNTeDOnWArVu5zccfZ03YokhKArp0oZn1jz/0D8B74glg8GDg4YeB\nlBR929YTrxYeAFPPTZ3qeVp7hXciAnz3Hf03hg8Hvv/e/GjYsmWB1atZhqFNG/qTFER8PPsaEgL8\n9BNQqpQxfRo2jH4sffoAdrsx2/An8h1S2e3UQi9caM4QTmEeyclMbHzHHYwBsRpNY9HtypXz916N\njqZF5f33zTGpZmaKtG9vfLlV+KPOw8GqVdS8W+3Gq9CP3buZYeuZZ7wnQMzBr79SYZv7gbV8ORWZ\ns2aZ25eEBJF69UQmTzZuG/Bn4SFCL7xPPjHuACrMQdNo3QgIEJk50+reFExEBFMcfvopc6GWL++8\n16jeHDnC7S9dakz7cFN4eFHKFGTvR/4cOgS0bEnFWvnyJvZKoRvJycCLLwJRUcAvvzDrlzdz7BhQ\nsybfx8QAdeta15ctW4BHHmHpCL37UYKZk1yWBT4jPADgrbeAhAQq2BS+xe7dzPDVpg0waRItFd5M\nYiKzk6WmMoitZEngt9+oVLWKadOA6dNpHfrvf/Vr113h4fXWlty8+y6wbBkjKhW+gQgjpDt0YC7P\nb7/1fsFx9ChHuXXqsOj22rVAo0aMzD182Lp+vfACcPvttMQorsap+dmMGSKtWlmfIUpRNElJIn36\n0HV7/36re+McGzdSv5CfgnLaNIZM6F3n1hUSEphtb/Fi/dqEvytMHdhsIo0bi8ybp9/BU+hPRAQt\nZAMHep81pSBmzqRFZcWKgtdZtYrr/Pqref3Ky8aNFGJ6eaCiuAgPEeaorFrVdy7K4oTdLvL557zB\nfv7Z6t44h90uMnIkfTic8TfZuZMBbFOnGt+3ghg9mlHnrrjUFwT83dqSl5496cL8/vsG9kjhEufO\nAU8/DVy+DMybB1SvbnWPiiYtDejXD4iLY5HqwEDn/nf0KItZ9+oFjB5tfqkHu53F4Dt2BN55x7O2\n3FWYehMuScvjx0XKlvWdubS/s2oVn8YjR/pOBrijR0Xuuoteru44IJ47x7wgzz1nTRaw2FhOXzwt\nW4niNG1xMH06M0MZkRVK4RyZmawtXLEiU/35CsuWMV3gxImeKd+Tk1l0u2tXa6bRf/whUq2aZykB\n4A/TFk0Tl4Z/Ihw2likDfP21cR1T5M/Ro0zwGxDAZL/ODvmtRNM4zfj2W2D+fKB1a8/bzMwEnnmG\nTmVLlvB6NJNXXwXOnKHjnTvTJ7+Ytly65LrUvHxZpGZNle/UbObNo4u5p09uM7l4kfk32rQROXNG\n37btdpEhQ1iESq+Uic5y5QrLS3zzjXv/hz9MW9audW/nIyKo3T9yxL3/K5wnJUVkwACR2rWLrpvi\nTfzzj0j16iJvvmmsTubzz0WqVDEvmZGDPXsozM+dc/2/8Afh8c477h+8iROpvNI736Uih127GAnb\nv7931Votim+/5Y1l1uj0p59cK7+gF2+8IfLss67/D/4gPFq0cP/AaRqVVm++6X4bivzRNEaWBgRc\nWzrRm7lyhTdTcLD5ibRXruRo2Mw8NJcvM6nztm2u/Q/+IDz+9z+RxET3D97Fi/q77hZ34uJYO7hp\nU5FDh6zujfM4zLDdu1s3SoqIoKu7mQJ35kyeK1cKY8EfhEeHDp7f+H//zSGj2Uorf2TpUj7JRozw\nremgwww7YYL1ytzoaJqxv//enO3Z7SL33ONaRnj4g/AYM0aflGtjx4q0bm1d+T5fJy2N9VKqVhUJ\nD7e6N85jt4uMGsWbdcMGq3uTQ0wMUxtOn27O9nbupPC8eNG59eEPwmPrVkZgeordLnLffUr/4Q6R\nkSx90LOnfrVIzCAuTuT++40xw+rBoUMUxl99Zc72XnqJ5SudAf4gPLKyRG69lReCp1y4QEXZ5597\n3lZxwG4XGT+eStFZs6wf7rvCypWcXnm7a/yxYwy+M+OavHiRo49du4peF/4gPERoMZk7V58DePIk\nbe6zZ+vTnr9y+jRHai1b+pavTEYGizVVriyyZo3VvXGOkyfpIzNmjPHbmj7dudw38JeiTx06AH/9\npU9bVaoAy5cDQ4bwVXEtixaxPkirVsCGDTk5O72dQ4eAe+4BDh4Edu0C2re3ukfOUaUKsH49MHs2\nEBZmbD2iZ58F0tOBOXOM24a3ICIsMVmmjL7mtU2bOBzfulW/Nn2dlBQm6qlRw/OoTDPRNJEff+T5\nnDzZt6ZXuYmLo35v+HBj92HtWpZuKMx0C3+ZtoiI9Ogh8sUX+h7EJUsYvqxC+Ol/UKeOSL9+nvnV\nmE1iItMahoSIREVZ3RvPOX9epFEjeoYaJUA0jZn3/vyz4HXgT8Jj61bGIeiRJSk3P/zA8OVTp/Rt\n11ew2VgRLTBQZP58q3vjGlu3MgDyxRf9K4NcQoJIs2a0jLji2OUKs2ez8lxBwJ+EhwgdXYzIE/nJ\nJyxv6KwN3F84eVKkXTuRtm05NfQV7HYKvHLlRH77zereGMPlyyItWhg3AsnIoO9LQZYX+Jvw+PVX\nChC90TSepFat/OsJVhg//8zRxrhx+o/mjOT0aT4x27b1f4/hhAQmtho92pj2x43jNDU/4G/Cw2aj\nMm/LFv0PpN0u8uSTLGHpz16oiYmMgK1dm3oOX8Khoxo92rcEniecPcuM80Y4kiUkiJQuTYGcF/ib\n8BAR+fJLBjYZQUYGE8P07OlbcRvOsnkzdQQDBzJVnq+QnEy9RrVq1tWGtZJjx+i3YoRv0uDBjFPK\nC/xReCQlMcnxsWP6H0gRhmx37Uq35pQUY7ZhNllZIh98QB3B779b3RvXWL+eAm/AAOoBiit793LU\npXd0+KFDvJ/yXuvwR+EhIvLWW9RRGEVWFof2LVv6vhL16FHqiTp2zH946q2kpfEcV6zI6YpCZPt2\n6qnWrdO33W7dRKZMufo7+KvwOHmSTmPupFdzFrudQXT16/vWTedA0zjMDQhgfIpRJj8j2LaN2cl6\n9WI8kiKHtWspQPTUV23YwOOd26oDfxUeIoxf6NNHvwOYH5rGUP4aNXwr6c2lS7zxgoOdC4LyFjIy\nRN55h8NzX6ksZwV//MFjpFcmNE0TqVRJ5MCBnO/gz8IjNZVz4cK85PRi+nQOnyMjjd+Wp6xfzzDv\nwYN9q3ZNZCTNkl270sKgKJxZsxjgqZfu79lnaYxwAH8WHiIsKFS1qjkp5RYsoMJx40bjt+UOGRkM\nPy9f3hyBqhdZWSIffcTp1Y8/+m5cihVMmiRSqxZd2j3ll19oaXQAfxceIiLPPMOnrBmsXMmLfOlS\nc7bnLPv3izRpwryieuQ9MYv9++mG3bGj/zt8GcXw4fQS9tS14NIlkf/9L2e0CguERxkAqwEcBLAK\nwG0FrHccwG4AuwBsL6S9Inf64kUmfTErCnTLFs43vSFjuKZRSx4QIPL1177z1LbbmUu0bFlWlfeV\nfnsjdjsdG194wfPj2Lq1yIoVfA8LhMenAIZlv38bwMcFrHcMFDRF4dROL1hA5aA7hYndITqaTjtW\nJtM9e1akSxdmxY6JsaYP7nDwIF3LW7cWOXzY6t74B4mJjM3Ka251ldz5gmGB8IgBEJT9vnz25/w4\nBqCsE+05tdOaJvLII0x0axbHjlHB17ev+YrJRYuo23j3Xe9OsZebzEzGUpQtS6FbXNzLzeLwYY6I\nPcme9s8/NNmKWCM8LuV6XyLP59wcBacsOwAMLKQ9p3c8NpbDdzNL+qWk0FzcuLFxHq+5SU4Wee45\nmo59yU07IoJ1Uzt1otOawhjWrKFS390Rnd3O/x896r7wuK6I31eDo4q8vJP3xi+kA60AnAUQmN1e\nDICN+a0YFhb27/vQ0FCEhobm22ClSsBHHzHN2saNwPXXF7wDenHTTcBPPwFffgm0aME0cvfdZ8y2\ntm4F+vYF2rQBIiOBW24xZjt6kpoKvP8+j9H48cCTT7pXsV3hHO3bA6NGAV27Alu2uHaNhIeHIzw8\nHOXLA4MHG9fHwohBjmCpgIKnLbkZBWBIAb+5LDkffFDk+efN10WEh1NxO26cvtvOyuJ0rFw5Y3KZ\nGMXKlRwhPfmkSHy81b0pPmgalacPPeTe1PCrr1iiARYkQF4MoH/2+/4AFuWzzo0Abs5+fxOATgD2\neLDNf/nPf4B58/iUnjBBjxadp107YPt2Jg/u3h1ITva8zcOHgdat+RTZtQt4/HHP2zSaixeB/v2B\n558HpkzhqCMw0OpeFR9KlAAmTQKSkoB333X9/xUrAmfP6t8vZygD4C9ca6qtCGBp9vuaACKzl2gA\nIwppzy3pe/Ik3W3NLCjsID2dI5/gYPetIJrG0oABAXQE8oW4FE0TmTOHSrvXX/etkH9/JD6eaTtd\nLVmyZYtI8+bFxEmsIHbs4M1nVcKbGTMYwLRokWv/i4+ni3ajRuYqfz3h+HGajRs0UNnovYldu3gP\nuKLMP36cbggozsJDhCOPihWty8+5bRvjD95917n5p6OI9Ntvm+ez4gk2GzPaly1LHwFfMRsXJz75\nhOU2ndV/pKeLXH+9Eh4iwjJ+DRpYV07g3Dm6D3fuXHAKgdRUkZdf9q0i0rt2idx9Nx2+fMlJrbhh\ns1F4fPqp8/8JCFDCQ0RytM9duliXmzQrKydoLW+274gIOuY8+STjC7ydy5dFXnmF1p9vvvENfUxx\n59gxCgRn69o0aKCEx79kZtJBadAga+MoNm9mFGTfvkxyM2YM9SLz5lnXJ2dxJBeqUIE5UPWI5FSY\nx/ff0yPamenw/fcr4XEVly/T/3/cON2adIuUFEa/siKpb0STRkdz6tW4sVKI+iqaxnSDw4YVve7T\nT/tRoWs9uPVWYMUKYNYs4O23jS0mXBAiwK+/0h+kc2d6xX78MT0xvZHkZGDoUCA0lL4rERHA3Xdb\n3SuFO5QoAXzzDb2gN+bry52DJ9ejXwoPAKhcmQcuPBwYOBCw2czb9sWLQI8ewOefA2vWAMuXA9HR\nQEoK0KgRsHmzeX0pChFgwQIgJAS4cIH9HDQIKFnS6p4pPCEwkAKkXz86kRVEbKx5fTISQ4ZwycnU\ngXTrxlILRrNyJZ3W3ngj/+39/judq7zBRBsTI3LffVSabdhgbV8UxvDcc3RBL4iqVZXOo1AyMljc\nKTTUODNuWhrzI1SuLLJ6deHrxsUxrUCDBtbkSk1NZfEfR8i88tnwXy5coPUlPxO73e6Zn4ffTlty\nU6oUMGcOEBzMOX18vL7tR0UBzZoBZ87wfceOha8fFAQsXAgMGcJ1x441Z1olwnickBDg+HFg927g\njTfMiUpWWEPZstRljRx57W/x8cBtBeX/8zEMl8KaxqjV2rX1yclhs9EhJyCAGa7dMQ2fOMG8ng0b\nGptwOTqaU5TgYM+SyCh8j7Q0jog3b776+4gIWtWgpi3O89VX1Evs2eN+GydOcBrUpo3ngkjTRObP\n5wl+6imRM2c8ay8358/TozUwkIF3aopSPPn+e16ruR9wixYxnB9q2uI8gwcDn30GdOgArF/v+v/n\nzgWaNgXuvx9Ytw6oXt2z/pQoAfTsCezfzzDpBg2AiROBrCz328zKYuKikBCmL9i/H3jlFTVFKa70\n6wckJAB//pnzXWwsrZL+gOnSeNUqWj4+/NC5YKKEBJHevUXq1WMOSKPYv59TjDvucK9W6dKldIPv\n1Ml3onUVxrNkiUhISE7oxuOPMyIcatriHqdOMeCrffvCpwtr1+ZUZ0tNNb5fmsZsYlWrspxkbGzR\n/9m7l0F5deqwGJQqc6DIjabxWv/uO1odb7mFD0Qo4eE+NhsVqRUq0E8jNxkZdPOtWFFk2TLz+5aS\nwpquZcsy5Dq/gj8XLzKALSBAZOJEz4sCKfyXLVuYOuKHH1gDRkQJD11Yu5aK1OHDqVg8cIDV2R5+\n2PrcnAcPMlq4Xr0cP5LMTCpBAwPpCKQC2BTO0KQJ/TscmceghIc+nDvHob8jmM2bqpxpGjXk1auL\n3HSTyA030MzridVIUfwYOZLXdkoKP0NZW/ThuuuAG2/M+VyhgveUEChRgtrxihUZ0HTlClC7NlDG\nmXp8CkU212UXXPH0ulbCIxfh4Qxcq1qVN+aWLfTAfOUVID3d2r4dPQr07g08/DBrumRm0kPwhhuA\n+vWBYcMYkKdQFMW6dXxdssTafuiJZcO4zEzGelSoILJ8+dW/XbpEk9Ydd4isX29+3+LjRV59VaRM\nGZHRo/PPVB4bK/Lii1wnLMy6NIwK72f3birWZ8ygg5iI0nm4zaFDIs2aMWlPXFz+62iayC+/UEv9\n1FMsPG00KSkiH31EK8vgwQXnRM3N4cPMXBYYSLd5M0zKCt/BZmMu2unT+RC69VY+nKCEh2tomsiP\nP+bUS3FGKZqczFD6gACRL780Jk9qVhbzhVasKNK9O4Wbq0RHizz2GNuYMkWZbhXkq6/oou7IRdun\nj8jkyUp4uERSEkcQwcEcxrnKvn10KmvYUL8i1A5LSnAw0wBu2+Z5mxERzFFZowYFpapWX3w5eZKj\n2H37cr775huRAQOU8HCanTsZVfvsszmmKndwBLNVqiTSv79z04qC2LRJpFUrkfr16Vqut2l4/XqR\n1q0pmBYsUEKkuKFpLC4WFnb192vW8EEFJTyKPoBffskph6tl+QojKUlk6FC2O3myazfmjh10/Kpa\nlVGPRt7UmkYP2ebNmdV96lSlEyku/PorHxx5M9cdO6YqxhXJhQuUvE2bUqloBLmzjufNm5CX3btF\nHn2UOonJk81NR6hpTDnYtSsVq6NGWe89qzCOS5d4neWXKyYrS6RUKSU8CmTDBlpJ3nzTeMWhowB0\npUp0ad++/erfY2IY5BYUJDJ+PJO0WMn+/SzUfdttLJZ14IC1/VHoy5Ur1HkNGlTwOrVqKeFxDTYb\nQ+2DghhhaiZpadRsV67MacmcOdSLBASIjB3rfVXl4+JE3nuPI5Fu3agE9haXfIV7pKfT/aB798Kt\ngp06uS88vMTxGgCFhy4NnT8P9OnDhDhz5rBmihUcPkz3cQd//gk8+KA1fXGG1FRg5kxgwgSm7h86\nFOjWTZVh8DUyM4HHHwf++19g3rzCE0D17w/MmlUCcEMW+J17+ubNQJMmTEj811/WCI6zZ4FXX2XR\npOHD+XnGDLq5t29PN3hv5KabgJdfBg4coOD47DOgbl1g6lQgLc3q3imcITOTNYOuu65owQEAJ06Y\n0y+j8WiYpmnMZVGuHDMmWcGpUyy/ULq0yOuvX+uxmpnJPAq1atFZZ/Vq754eaBqnMN260UfglVfc\n84tRmENmJp0DH37Yef1e+fLFXOeRmMi53V13iRw96nYzbnP0KBWOpUuLDBlSdALjrCwWkq5bV6Rl\nS8bTeLMQEeE+vvcelcHNmzM2IinJ6l4pHGRl8R548EHnrXeJiSI33liMhcfu3Uy79/zz5lSEy01M\nDBWhZcow25eryXhsNpF58xh0FxIi8sUXzArmzdhsVEB360YrzbPPsiC2tws/f+bYMaYXfOAB1+6B\n7dtFGjUqpsJj9mxaMGbOdPmvHrF7NyvQBQQw0vXSJc/a0zSR8HDGGtx6K13nN270/hvy7FmRjz/m\nNKx+fTrhebvw8yc0jdPggACRzz5z3clw9mxexyhOwiMri7Vga9Uydw6+fTvLRJYvz6hVI4bt58+z\nBGTduvQKnDjR+29ITWOW9yefpPDr3ZspHR0BWAr9iY+no2HDhiJRUe610b07rzUUF+Fx6RIdXzp2\nNOemcowK7r+ffhuTJpnj3KVpjEnJPRrZsMH7RyMXL/IYNWggcvvtTCvgTmSwomCWLGHumWHD3PdO\njohgGykpxUR4HDjAJ/IrrxgTDp+brCwGvjVtSp3KN99YV9X+wgXfHI1s385qdUFBnFuPGcNEzgr3\nSE4WGTiQOWw9TUzVsaPI11/zPfxdeKxcSTPsN994dtCKIimJN2e1alRCLV7sPcNvx2jEMT149FHO\nWz3VuRiNzcbR26BBnPIpQeIaGRki335LofH0055nilu9mlN+R+lR+LPw+PJLPr2MTAMYG8tEP2XL\nivTooU8+DSO5eJE5Orp2Fbn5ZroZT5tmTpYzT8grSO68k1MbFVdzLY4whypVeH43bPC8TZuNo+n5\n83O+gz8KD03jDR0cbJz/xu7dNLeWLs1coVb4iXhKcjLTJPbuzRFJq1Yin38ucuSI1T0rHJuNDwQl\nSK4mOZnnr0IFPhz0epBlZNC60rHj1aNp+JvwsNk4v2vWTP9iRllZIgsX8iBWqMBgNW/XIThLejrz\ndjz3HAPdGjUS+eAD1nbxZmWrQ5AMHkxBcscddLhbudL66GOzuHyZwjMwkKPfyEj92k5NZZBm167X\nHk/4U2BcZibw1FMsJbBoEXDzzfps4Nw5xphMnw5UqQIMGgQ88QQDiPwRux3YtAn4/Xdg4ULu5yOP\nAPfeC7RuDdxyi9U9zB+7HYiIAFavBlatAiIjgZYtgU6duDRo4D21dDxFBIiOZgDnt98ycHLECKBe\nPf22cfky8NBDwO23A999l1O3xUGJEu4FxnnTKRARQVoa8NhjLLw0dy7wf//naaO8gaZMAVasALp3\nB156CWjcWJ9O+woiwM6drNWxfj1vznr1gHbtgLZtgTZtvLd4VGIigwlXreKSkgLcdx8FSceOQPny\nVvfQNRwC45dfgAULWCOoe3cGJdasqe+2YmMpONq1AyZOBP6TTyisXwgPu13w+OMUHDNnXishXSE5\nmcJn6lQWbHr5ZYYf33abfh32ZTIygO3bgQ0bKEy2bgVq1MgRJm3bAuXKWd3L/Dl6NGdUsnYtUK1a\nzqikZUtGB3sbBQmM7t2B5s31H0mdPw988gnwww8sCDZsWMHb8Avh8dZbgu3beVGUKuV6A3Y7q2HN\nnMkn7L33cmrSvn3+EleRQ1YWRybr13PZtIllLdu2pUBp3ZqlLr1tumCz4d9rxjHFqV2b6RCaN+dr\nSIg1OUk0jQLj11/NERgApyjjx/Oh2asX8M47PI+FYYXw6A4gDEA9AM0A7Cxgvc4AvgBQEsC3AD4p\nYD2pXVuwZQtQtqxrHYmJocD46Scmsenfn6UZvfXJ6QvY7UBUVI4w2bKFuqgGDXKW+vX5euutVvc2\nh4wM9nv7dmDbNr6eOcMcL7kFSqVK+t+8Fy5we1u35my7TBng0UeNFRgAkJBAXd6ECSxJ+v77QPXq\nzv3XCuFRD4AGYDqAIchfeJQEcABARwCnAUQA6A1gfz7ryoEDgjp1nNt4bCyVqbNmAadOUcHarx8v\nZm8kPDwcoaGhVnfDI+LjgT17cpboaGDvXuDGG8PRrFnoVUKlXj3vUUQnJAA7dvCGdtzU112XI0wa\nNADq1OG0Lb/kOfmdu8xMjnIcbW7dyqlC06ZAixZs++67gaAgY/ZJ0zhSXL6cS3R0jtCoW9e1tqyc\ntqxDwcKjJYBR4OgDAIZnv36cz7r/WlvyQwTYtQtYvJhTkuPHgQceAJ58kkozT/QjZhAWFoawsDCr\nu6E7mga8/noY2rcPu0qwHD9O5V9ICKc7lSvzae9YKlb0XBnuLiLs3/btXPbtAw4e5AOpalUKktq1\nKUxuvBFYtiwMXbuG4dQpZt7atw/YvRuoVStHSLRoQYFp1PRIhMJ7zRoKi5UrgYAAoEsXoHNnKrzd\nPZ7uCg+jb7lKAE7l+hwL4G5n/pieTmkaGUnLwNKlPJFdu3Jo1qqV9wuM4sB//sOhebduXBykp3M6\nGRPDmzI2lk/o2Fjg9GmmZrz11hxhkle4BAXxfN9wQ87rDTd4prsSYb+uXOEIo3FjPqXPnqVQOHSI\nVp1ly67976JFOe8bN2ZKyWrVuO9ly3IkEhvL9zfd5N70JC2NQu3YsZzl6NGc9yVKAKGhFBYffuj8\ntMQoirr9VgPIzxA2EsASJ9p3yfmkZk1aQ7KycpIHN24M3HUX8Oabrg/HFNbxf/8HNGrEJT80jU/S\n0/ZbMLUAAAMZSURBVKdzlthYYONGvo+P501+5QpvqitXeOOXKpUjSPITLnY718+95G6jVKlr/xcU\nREFQrRrw2ms57ytVopAJC2NO18OHOUI5dYo+SFFRfE1I4Kvjvc2WI1Ruu437arNdu2Rl5bzPzGQC\n6mrVOOJxLC1a8LVmTaB0ae9TWHvKOgB3FfBbCwArcn0eAeDtAtY9DAobtahFLeYuh2ER6wA0KeC3\n6wAcAVAdQCkAkQCCzemWQqHwVh4F9RlXAMQBWJ79fUUAS3Ot1wW0uBwGRx4KhUKhUCgU5tIdwF4A\ndhSsLwFo4o0BcAgF60q8kTKgsvkggFUACnKKPw5gN4BdALab0jPPcOZ8TMr+PQqAr0UQFbV/oQAS\nwfO1C8C7pvXMc74HcA7AnkLW8YlzVw9AHRSubC0JTnWqA7gevqUv+RTAsOz3byN/vxYAOAYKGl/A\nmfPxAACHofNuAFvN6pwOOLN/oQAWm9or/WgDCoSChIfL586qiI8Y8KlcGM3Bk3kcQBaA+QAeMbZb\nutEVwMzs9zMBdCtkXV8xvjlzPnLv9zZwxGWQj6XuOHu9+cr5ystGAJcK+d3lc+fN4WL5OZhZVLLa\nZYLAISKyXws6CQLgLwA7AAw0oV+e4Mz5yG+dygb3Sy+c2T8BcA84rF8GIMScrpmCy+fOSB9NUx3M\nLKCg/Xsnz2eHLT0/WgE4CyAwu70Y8AnhjTh7PvI+mb39PDpwpp87AVQBkAZaEReB029/waVzZ6Tw\nuM/D/58GT5SDKqA09BYK279zoGCJA1ABQHwB653Nfj0PYCE4dPZW4eHM+ci7TuXs73wBZ/YvOdf7\n5QCmgjqrBGO7Zgo+d+781cHsU+Ro64cjf4XpjQAcCRZvArAJQCfju+Y2zpyP3Eq3FvAthakz+xeE\nnKdzc1A/4ktUh3MKU68+d/7uYFYG1GXkNdXm3r+a4AUaCSAavrF/+Z2PF7IXB5Ozf49C4WZ4b6So\n/RsEnqtIAJvBm8xXmAfgDIBM8N57Bv517hQKhUKhUCgUCoVCoVAoFAqFQqFQKBQKhUKhUCgUCoVC\noSf/D0O14G8Ow2ROAAAAAElFTkSuQmCC\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10b4e5ad0>"
       ]
      }
     ],
     "prompt_number": 7
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Let's improve the picture a bit by increasing the box size a little."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "X=cos(2*wt)\n",
      "Y=cos(3*wt+pi/4)\n",
      "axes().set_aspect('equal')\n",
      "xlim(X.min() * 1.1, X.max() * 1.1)\n",
      "ylim(Y.min() * 1.1, Y.max() * 1.1)\n",
      "plot(X,Y)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 8,
       "text": [
        "[<matplotlib.lines.Line2D at 0x10b48ded0>]"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nYII=\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10b48d890>"
       ]
      }
     ],
     "prompt_number": 8
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "With a small change, we can generate other shapes.  Here we want successive time values to be relatively far apart so the points on the circle jump around.\n",
      "\n",
      "Let's also eliminate the box. "
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "tt=0.4*arange(0,6)\n",
      "plot(cos(2*pi*tt),cos(2*pi*tt+pi/2))\n",
      "axes().set_aspect('equal')\n",
      "axes().axis('off') #eliminate the box"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 17,
       "text": [
        "(-1.0, 1.0, -1.0, 1.0)"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\ngg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10b58b510>"
       ]
      }
     ],
     "prompt_number": 17
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Square Waves"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "The Fourier series for a square wave is the following: \n",
      "\n",
      "$$sq(t) = \\frac{4}{\\pi}\\sum_{\\text{$k=1$, $k$ odd}}^\\infty \\frac{\\sin(2\\pi k f t)}{k} = \\frac{4}{\\pi} \\left( \\sin(2\\pi f t) + (1/3) \\sin(2\\pi 3 f t) + (1/5)\\sin(2\\pi 5 ft) + \\ldots\\right)$$\n",
      "\n",
      "The various frequencies are called *harmonics*.  The first harmonic is also called the *fundamental*.  Notice this series has only odd terms.  I.e., all the even harmonics are 0.  (Other Fourier series may have non-zero even terms.)\n",
      "\n",
      "Let's look at a some approximations to the square wave."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "t = linspace(0,2,201) #two cycles, 100 points each\n",
      "y1 = (4/pi)*sin(2*pi*f*t)\n",
      "y3 = y1 + (4/(3*pi))*sin(2*pi*3*f*t)\n",
      "y5 = y3 + (4/(5*pi))*sin(2*pi*5*f*t)\n",
      "sqwave = sign(sin(2*pi*f*t)) #an actual square wave\n",
      "plot(t,y1,'b', t,y3,'r', t,y5,'g', t, sqwave,'k')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 10,
       "text": [
        "[<matplotlib.lines.Line2D at 0x10b5066d0>,\n",
        " <matplotlib.lines.Line2D at 0x10b506950>,\n",
        " <matplotlib.lines.Line2D at 0x10b508050>,\n",
        " <matplotlib.lines.Line2D at 0x10b508690>]"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nAu+JFB2ZOYcXAAAAAElFTkSuQmCC\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10b1d2990>"
       ]
      }
     ],
     "prompt_number": 10
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "We can clearly see we are approaching a square wave.  Let's add a bunch more terms, but let's also do it more efficiently."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "sq = zeros(len(t)) #preallocate the output array\n",
      "for h in arange(1,25,2):\n",
      "    sq += (4/(pi*h))*sin(2*pi*f*h*t)\n",
      "\n",
      "plot(t,sq, t,sqwave)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 11,
       "text": [
        "[<matplotlib.lines.Line2D at 0x10b1d2910>,\n",
        " <matplotlib.lines.Line2D at 0x10b1d2bd0>]"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nSUVORK5CYII=\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10b4f03d0>"
       ]
      }
     ],
     "prompt_number": 11
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Those little peaks near the discontinuities are called Gibbs Phenomena. As long as we have a finite number of terms, no matter how many, we will have Gibbs phenomena. \n",
      "\n",
      "Note, if we change the sine to cosine the final picture looks a lot different.  Phase matters."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "not_sq = zeros(len(t))\n",
      "for h in arange(1,15,2):\n",
      "    not_sq += (4/(pi*h))*cos(2*pi*f*h*t)\n",
      "\n",
      "plot(t,not_sq, t,sqwave)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 12,
       "text": [
        "[<matplotlib.lines.Line2D at 0x10b4b8d90>,\n",
        " <matplotlib.lines.Line2D at 0x10b4bb050>]"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nRETc9n89A/GZuety8gAAAABJRU5ErkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10b1de750>"
       ]
      }
     ],
     "prompt_number": 12
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "C. Boncelet, 17 March 2014, rev. 11 May 2014"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 12
    }
   ],
   "metadata": {}
  }
 ]
}