{ "metadata": { "name": "", "signature": "sha256:cb60ee7f42a7b0bece5a5746c25a13580870509997aa5b34919ff07c70afa77d" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "EE120 Fall 2014\n", "Generate .wav file for sine wave and clipped sine wave." ] }, { "cell_type": "code", "collapsed": false, "input": [ "%pylab" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Using matplotlib backend: Qt4Agg\n", "Populating the interactive namespace from numpy and matplotlib\n" ] } ], "prompt_number": 72 }, { "cell_type": "code", "collapsed": true, "input": [ "import numpy as np\n", "import scipy as sp\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 73 }, { "cell_type": "code", "collapsed": false, "input": [ "# Graphing helper function\n", "def setup_graph(title='', x_label='', y_label='', fig_size=None):\n", " fig = plt.figure()\n", " if fig_size != None:\n", " fig.set_size_inches(fig_size[0], fig_size[1])\n", " ax = fig.add_subplot(111)\n", " ax.set_title(title)\n", " ax.set_xlabel(x_label)\n", " ax.set_ylabel(y_label)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 74 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Setup data rate." ] }, { "cell_type": "code", "collapsed": false, "input": [ "from scipy.io import wavfile\n", "rate1 = 22050 # sample rate for wavfile\n", "print 'rate1 =', rate1" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "rate1 = 22050\n" ] } ], "prompt_number": 75 }, { "cell_type": "code", "collapsed": false, "input": [ "# pure sine wave\n", "length = 2**17\n", "t1 = np.linspace(0, float(length)/float(rate1), length)\n", "data2 = 100.0 * np.sin(2.0 * np.pi * 500.0 * t1)\n", "# _ = plt.plot(t1, data2)\n", "# now write data file\n", "wavfile.write('sine500Hz.wav', rate1, (data2+[128]).astype(uint8)) # unsigned 8 bit \n", "print 'data2:', (data2[0:8]+[128]).astype(uint8)\n", "setup_graph(title='$x[n]$', x_label='$n$', y_label='$ real x[n]$', fig_size=(6,3))\n", "_ = plt.plot(t1[30000:30500],data2[30000:30500].real)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "data2: [128 142 156 169 181 193 203 212]\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nUwb/H07+eDvjJty2AAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 80 }, { "cell_type": "code", "collapsed": false, "input": [ "# sine wave with clipping\n", "clip = 20\n", "data3 = (100.0/clip)* np.clip(data2, -clip,clip)\n", "# _ = plt.plot(t1, data2)\n", "# now write data file\n", "wavfile.write('sine500Hz-sat.wav', rate1, (data3+[128]).astype(uint8))\n", "print 'data3:', (data3[0:8]+[128]).astype(uint8)\n", "setup_graph(title='$x[n]$', x_label='$n$', y_label='$ real x[n]$', fig_size=(6,3))\n", "_ = plt.plot(t1[30000:30500],data3[30000:30500].real)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "data3: [128 198 228 228 228 228 228 228]\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAZwAAADjCAYAAACxQqKZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztnX20pVV93z9n5t4ZZmACjsAAQjqUYhBrEVNR08Xymo4W\nYwPSmqKrJrTaNmuRlz+wiZjaMiQhQdayq3a5tFmJJphaKtVqTRNfULyKySoyZKD4MhVG3gYNjIO8\nOMzbnTn9Yz8P59zhnLnP3vvc3/3tfb6ftc6655773Pt7znP2s7/7992/vS8IIYQQQgghhBBCCCGE\nEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghxBTzLuD3gdVLHPcrwAeX/3SEEELUyrXLdKwQblm10icg\nhBBiOpDgCCGEMEGCI4QQwoSZlT4BISrnUuAwcDFwL3AJcP1Rx7wCeDVwBrCNUEjwJuAddqcphBCi\nZH4S+DvN87uAkwhCsp7FhQCXAD8LfLr5vgfsHPq5igZEFchSE2L5eBi4H9gEPAM8Cfw58OxRx30e\neD3wp833rwHuNDpHIcyQ4AixfJwHXAD8HPC15rV/PObY1wFfbp7/EvCHhMxHiGrQHI4Qy8cbgA3A\nD4DjgMuBXSOOW0/Ifp5qvt8LnErIjoQQy8hHgccIE6wtG4Fbge8CXyR44S3vAe4DdhBucCFKQAs/\nxdTh0VL7Y55vJVxDEJwXE2yHa5rXzweuaL5eAnwIn+9JCCGmHo+d8+3Aj4567VLgpub5TcCbm+eX\nATcDh4AHCRbERct/ikIIIWLxKDij2ESw2Wi+bmqen8FiT3wX8CLD8xIilWfovnnnyct/OkIsPyUW\nDfSbx7F+vohzzjmnv3PnzlHHCrHSXLP0IQD86rKehRCj2clgLVk2pWQ4jwGnNc9PBx5vnj8KnDV0\n3JnNa4vYuXMn/X6/8+Pkk/s8/nj344cf27f3ueCCbsfedVf3Y0c9bryxz9VXdzv2hhv6/MZv9Ln2\n2muTYr3+9X0+//lux27Z0ucLX0h7T0eOhPHE4cPdjl29us/Bg2mx3v72a9mypduxd97Z58IL0z+r\nd70rfF5dj5+d7XPgQFqsl72sz913dzv2ttv6zM2ltYvvf7/Ppk3dj3/3u/tcf336NTz99D4PP9zt\n2Fe8os+2bamf1bWcemq3Y3fv7rNxY/p7uvnmPldc0e3Yj3+8z1vfmh4r5QGcM8mOvBTB+SxwZfP8\nSuAzQ6+/FVgDnA2cC3wjN9jMDCwspP3us8/CunXdjl2zBg4dSosDcPAgrF3b7di1a+HAgfRYhw7B\n7Gy3Y9etg3370uIcOQKrVoXHUvR6sGEDPPNMeqyZjjn+WWfBrlEFzR05fLh7LIDVq8PvpMZavZRR\nN4E47WfVlZxY+/fDnj1wxhndY6XewwcOwIkndjs2p68A2/7CAx4F52bgr4CfAh4B/iVwA2El9ncJ\nW4Dc0Bz7beCW5uvngKs4tt3WidnZ9A92377uDSgnDoQbw0pwDh60EZwYYQP4iZ+Ap59OixUjOKec\nAk89FTq+FGJEAEJHniM4XYUgN07Me5qZSY/10ENB9LvGy4m1f39oV12Ync0TnH37YP367rFKFxyP\nczhvG/P6ljGv/17zmBg5o5aYBrRmTejIUzlwAF7wgrhYc3NzSbEOHQp/ows5grOwEC84qRnOS186\nx7Zt3Y5dtSqMrh99FM5JMBkWFuI659WrgyCmcORIXIZz5Ehau4gVnNWr0zvMBx+EzZu7H59zD593\n3hzf+173ODkiEJPhzM7m9Rce8JjhrDg5I4nYBmSd4aQKjmWGE2M95WQ45503FxXrzDPhkUfSYnm3\n1FLaRYqllioCu3fDpk1LH9eSIzhnnz3nMsORpVYpuRmO1YjF0lKzynBiLbUNG9IFZ2EhXtz27k2L\nlZINeJ/DsbTUYgU75x5+6qnuczit4Ka+L2U4InsOx2rEUuMcTooIWAlOznxHrKVW4xxOrrhZFSjE\nCA7kZTnTNocjwRmBVZXaJCy1rllH7nyR1wwnZw4nVnByO8zYWJZzOKlxrCy1lGwqNdbTT3cvGmhj\nWVjwstQqxbJKrSRLzWOGY2mp5XTOstTyLLVYcbOy1HJjxWY4stQqJDfDiWlACwvQTyzktlyHc/Cg\n3wynFEvNc9HAcsexjmUpODmWmqUj4gEJzgisigZWrcpfoNZVcCZhqSnDqa9ztl74mdrWY2zC3Fj7\n98Nxx3U/PsdSi+kvZKlVipWlBnlCYF000DXDWb/eLsPJuQlTJvKtLLUaiwZyq9RiLTWr95Wb4chS\nm3KsLDXIEzfN4eTPq1hlOJbvy7JowGPWBnn3cOz7sspwZKlVimWGU4Lg9PtxOwBYzuFYz6uoaGBx\nHKtS5RQRyKmIsypQ0MJPYTaHA3aWWk6cdvV/r9fteOsMx0pwLNfhlCI4NYpAiqVmtTOJLLUKyW1A\ntVlqMfM3YJvh5GQd3tfheBccy92iUzJES0vNamcSZTgVktOAYjvnEgQnVgQs91Kr1VKrsWjAUtws\nCxRyigZiFlTLUquUHBGIvQlzLbWujdUyw8m52WN3iy7JUrMQt3ZNV9cO01JELW2uUooGYsStbeup\nn5cHJDgjsGysOeIWs/Bz9erQGaV0mJYT+SkZjqWl5r1ooO3Aus63lWKpeS4ayMlwYtpFr1e+rSbB\nGUFuhhPTWHPS5BhLrddLz3Ji0n7In1exzHAsbS4rwfFYnDCJWJ73bUu9h2OFtHRbTYIzAusMJ8VS\n6/fjBAfSBSdmp2iwzXBqXodTm+BYW2q1ZlMlV6pJcEZg5clCeja1sDDYGqcra9emNdaUDMdqDqeE\neRVIKxpIiRVrc+VYkrLUAlaWWhtLGU5lWDag1KKB2I65jWWR4eR0zCkZTglFA7LUbC0162xKllo3\nJDgjsGxAqSOW2BsQ0m/42AwnN+uocR2OLDX7yrGcWJYZjiy1Kce6AaUKTswNCOn2SUqGkzOH49VS\ns9y800pwer3wsLDvVDSwmH4/PCz6Cy9IcEZgnSKnjFhib3bIy3BiRaCEUmXPGU6qkKZkvjmxPGdT\nVvNFqQPUI0cGgt+V3H8zstJIcEZQa4aT2jnHLvysNcOxXoeTmnVYtQvrnQa8Fg2kDlBT7mFlOBWS\nW6VmMQmY0rGkds6W+5tZFw1M+zqcnFiW//bZe9FAaoYjwRFZGY7VthiWRQPWW8BYiZvW4djGqrVA\nIbW/SLmHZalViOVIzLpjsbBpci212vY3g3ozHK+bd+YWDXi11HLaoAckOCPISVtTbkIrr95qIjq3\naKDGzTtTFn6WUDTg2eYqoWjA6rPyggRnBJY3hmXHUmOGU2uVmooGFqOigUDONfSABGcEllvbWNkZ\nYJvhtGsMYvG8tU2N63ByYlkORDxnUzkZjtVaOi9IcEZgWTSQM7q0KhqwXGRaa4ZjVaBgXTTgVQRy\n5nBqLPzxggRnBJYZjtWiO7C3aSzeVylFA7El2KUIjmdLzXs2paIBAZRhnXi21NpY3ueLrNbhpGxh\nYrVbtGWsWi21Eu5hL0hwRmA5Eku92b1balY2TQnrcGLj5MbymuGUsBgT6rTFvRB5G6w4DwJPA4eB\nQ8BFwEbgE8Dfan7+z4Anc4LkdmJe1+FYZR0gS+3oOF6vn2Usy3U4llVqqW3QsqLQC6VlOH1gDriQ\nIDYA1wC3Ai8Gvtx8n0VOJ+Z5HY5V1gHlWGpWG2p6FYGcWNaWmteiAcsMR5aaPUfvrXopcFPz/Cbg\nzbkBLG+MGtfhtLFKWGRq0bHEChuUs/DT62JMy6KBEgp/vFCa4PSBLwHbgH/dvLYJeKx5/ljzfRY5\nHTPEbTdewoSjpbhZ2jSWgwPvFYVWn5XlllEqGvBHaXM4/wD4AXAKwUbbcdTP+83jeWzduvW553Nz\nc8zNzY0NUoIn671owOoa5s63WZUq11g0EGupDS8IjhmUge8S7BLu4a7Mz88zPz+/bH+/NMH5QfN1\nN/BpwjzOY8BpwN8ApwOPj/rFYcFZihI82RJGzVaWmveORUUDgV5vECtWgK0HItNqqR09GL/uuusm\n+vdLstTWAxua58cDbwDuBT4LXNm8fiXwmdxAJWQ43i21EooGvHcs3mOltneLrfxL+N9F07h5Z0kZ\nziZCVgPhvD8OfJEwn3ML8E4GZdFZlGA9qWhgEKdGS62UogErS8jzv0LIWUtndV95oSTBeQB4+YjX\nnwC2TDJQCZ6s9wzHaiK6Zkst5R9teS4agPTqMauBSL9vJ25ahyOAMiw1FQ0ESvDqPS+czYllbalZ\nDETagobYSlPvc75ekOCMoIQGpKKBQAkZjvfBgdVnBf7n9mq9h70gwRlBCSNZ75aala+tooHpiVXb\nvMo0rsOR4IzA2nrSqHlAynYp3osGLP/RlvVu0V7ni0qYV/G4Dme5keCMoIQGVLOlVlvRQAntwrv9\n5PmzKmHO1wsSnBGU0IBqtdRqXIfjWbBLiuX5s/Iubl6Q4IyghGourcMJ5GzeabkOp8YMx7N9V0LW\npqIBAeR1zFqHM4hltQ6n3Z8rhvZ4rxPRpSz89DoQsVxbVMI97AUJzghKGLHUPGqOidXrpQmB5fXz\nbrVad86eFwR7t9RUNFAhJXiyNRcNWFzDWjuWEiw1FQ0MYslSE0WMjmq11KzErYSORbEWx6ptzZQs\nNQGoaOBovGc4Ke/LeyZQigh4tdRKWDMlS00A9VonJWQ4Vu/L+1xHCUUD1paaVdFAjXN7XpDgjKAU\nS82zuHm/CWtd4OddSFU0MEDrcATgf8K7jeW9E/N8DVVRmB/Lcg5C63ACynAqxPuEd2qsWi21lGto\naQeVMK9iOd9mVTQA8euzahVsL0hwRlDKJKpGzYNYKhoIlCBunufBvFtqKhqokBI8WVlqA0roWKwq\nnzxvN9PG8j4QqfEe9oIEZwTeb4rUWCVYalqHEyglw/FqqYH/uT1LW9cLEpwR1FqqXGuGI0ttQAni\nprm9gOVn5QUJzghSN4TU5p2LY8mrD5QgAt7bYOq95X0gYmW1ekGCM4JeLzysGqv3CUfvN6F3r76E\nwYHnbLQ9vsa5vWkrGpjpcMy/ALqO9XvAn6SejCfaRhTT+EqYF6jRUqu1Y6lx4afVZwX1zu2VnOF0\nEZwfAf+r49+7LONcXNE2otnZ7r9jXTSwZk3c75RgqaloIFBKNmoxQk/5rCCtDXrP5qehaOBYYvMa\n4MyOxxZF6o3h2TopoRNT0UBerBLEzeKzamPVmPmWLDhdMpyjeS9wLrAA3ApcBHxgkiflgVSv2XPH\nYr22w3Oln3fryVoEDhywiWVtqdU2t1e6pZZSNPAt4ErgasKczc6JnpETaqzh9z6SBVlqk4jldQdn\nsLfUvA9Epm0dTkqGA/BK4E7g5gmeiytq7MS8iwDYzReVYKnVWDSQ6hyoaCBQeoaTIjivbb7+B2A/\n8FXggxM7IydY3RglTDhaiUC79sli1JxqE7bn2Ot1/70SLDXPmVtqhlPC3J5V4Y8XugjOTwN3DX3/\nyebr14HjgL97jGOLxbulVmPRQCsCMZ15G8uiYxlenxXzuyXYn54zt9SigRottWkoGngji0Wl5Zyh\n5y9tvp5FJYJjVTRQQjpulU159+ohfX2W56zDe4ZTa9GALLXR/O6yn4VDvGc43i21Gr16SFufVUJF\noee5PcuBiPcMsXRLLaVK7W8D6yZ9It6odR1OjR1LCWs7arTUPK+ZamNZze15L5f3QorgvAt4VfP8\n4uax0lwC7ADuA949iT/ofR2O9wzHqnKsjeXdpvFsc8lSG2Cd4Vhlvl5IEZxvAGc3j9uBkyd6RvGs\nJlTJXQKcD7wNeEnuH/VuqdVaNODZqwfbiWjPnxX4z3xVNOCPFME5CzhAWPj5FUJl2kpyEXA/8CBw\nCPjvTGBPN004DqixaCDHpvHeLrzHqm1ur4R72AspgvM94FPArwG/ADw80TOK50XAI0Pf72pey8L7\nSNa7pVajVw/+M98SFn7WNrc3vD4rhmncvDNl4ecngAuAvybYapsmekbxdPqYt27d+tzzubk55ubm\njnm8ZdGA93Tceh1OLDWKm/fPCuzEzfvcXq83uI9jy+W9WWrz8/PMz88v29/vKji/A/wf4A7ghwSx\nATgB+NAynFcMjxJsvpazCFnOIoYFpwveiwZKKLW1srk0Eb1ysSzaRUlzezHn6XHzzqMH49ddd91E\n/35XwVkH/CTwFuBUwv/IuYOwyPOdwI0TPas4thF2r94MfB+4glA4kEWt1olnr9m7Vw/+13bUGMt7\n0QD4n9vzQlfB+bfN1w83X08kbOB5MSu/W/QC8KvAFwgVax8BvpP7R7UOZ4D3aqQaLbUSiga8b23j\nXdymsWggZQ7nXwHfJJRE7wPOmOgZpfG55jExLC21I0fiN4T0XjSgdTgDSsh8rYoGUj+rWgciKhpY\nmlMJO0b/OrCBkOH8j0melAesRizthpApOxB7ni/SOpwB3uf2Uj8rsHlfNQ9EvBUNLDcpgrML+Fjz\nfA0TWPPiEasMBwY3Rszveh81e1+HU0KG411wSvisPLfBabTUUtbhHAL+BPgnhMn6Myd5Ql7wvpjQ\nu6WmooHFsazWdlhO5JfwWXm31FQ0sDQ3E8qi3w68jkG2UxXeU38VDSyOVVvHAmlrO6w2n/SeIbax\nrLIpK3GbRkvtNOAw8O8J8zlPTfSMnGBpqXmfcFTRwICV6DBjFxN6HhyU8Fl5v4enzVL7p4Q1Oa8D\nniCszakO75aaigbyYllbaladmCy1ATWKW+kZTorgrAFuA44nrIF5cqJn5ATvE6kqGlgcq0abxrPg\nWHbMNQ9Epq1oIMVS20FYg3Nf8/t/D/jzSZ6UB2rsxFJuin6/zgV+JaztsBJt7xWF1nN7Mf/NdTiW\n13vYEykZzo8JBQP3EOZwPjDRM3KCddGA13T8yJHBWiGLWDWKgOX78r6hpvdiHFlqy0tKhvMrwJVU\nKjQt3osGUkttrewMbd45wHvn7L2ay7sIgF0bLN1SS8lwniTsNJCQeJaD96KBGkuV5dUvxrPgWBdC\nlPBZafPOpUkVnFcCtwB/QfjXBdVhPerzug7H+3sC/1mH98zXukqtxs9KRQPdSLHU/jewG7ge6BFK\npKuj1hr+GkWgVkvNc9GA5UCkhM/K8z3siRTB+frQ8z7w0ITOxRU1puPe11vU6tV7tyW9D668z6uA\n73vYEymW2lRgWTTgOR0vwVLzPq9S4zoc7/OVbaza2mDplpoEZwzeM5waLTXLjiV3f7MYaiwaKGEg\nUqOl1v4rk9hNXb0gwRmD9/UCKhoYUELHUmPRgPfPqkZLrdcrex5HgjMG7+twasxwau5YPIu21kwN\nqHW+yAsSnDF4t9RUNJAXS0UD+XFUNDDAu7h5QYIzBtXwB0qw1LzPq6hoYHEsz5+V96IBUIZTJd5v\nDFlqi2N5H8nWJjjW63DUBgcow6kQ7yOWVK8e4mKVcAN6tzOsYrXXIHajVeuBiOaLApbX0AsSnDHU\nuA4H4t9XKZaa547FKlbb/lJ29rYshPBcLi9LbXmR4IzBewOyEgLvE95tLO8di8VItpRsVHN7AcsB\nqhckOGPw7slaCUGN76mNVVvnXMLkeq2flXdx84IEZwzePdkaM5yavfoaBafWz6qEe1iWWmV4t9Rk\n0yyOpaKBcubAvF4/KKMNKsOpEO+erIoG8mPVJqSldJaa2xvEUtGAAOw9WRUNlDFh6/l9pcbp9cLD\nolxec3sDtA5HPIfnBpS63gLib0Jrr957x2L9viwExzKW5osGyFITz+G5AeV0LCnipgV+AzyPmksQ\nHOt1OJ7n9rR5p3gOz55sqgi0saxGsvLqbWOlxkmNVetnVaO4eUGCMwbPRQO5I9naigY8Zx3gv2gg\nJZZ1x+x9bs+7uHmhFMHZCuwCtjePNw797D3AfcAO4A2TCuj5xsjpWGosGvBuZ8hSG6DPasA0Fg3M\nrPQJdKQP/MfmMcz5wBXN1xcBXwJeDGTrv+cbI8c6UccSKMFSq1FwvFtqVm2w/TfRqYU/pQpOKRkO\nwKiP5jLgZuAQ8CBwP3DRJIJ57sRKsNS8dyw1jmRLmcPxnHVYz7dZVJp6oiTB+TXgHuAjwEnNa2cQ\nrLaWXYRMJxvPnmytlpqluFlX33ne9y4llvU6nJkEL8bz/mY5hT+y1CbDrcBpI17/d8CHgd9uvv8d\n4P3AO8f8nf6oF7du3frc87m5Oebm5o55MrWOZFU0MIiV8r5mZmDv3rjf8b55Z2qsFBFIua8WFuxi\nWe1vZvlZxTA/P8/8/Pzy/HF8Cc7rOx73R8CfNc8fBc4a+tmZzWvPY1hwuuB5HU6tGU4J80UzM37t\nO8tObGHBbh1Oaqya7+HlstSOHoxfd911E/37pVhqpw89vxy4t3n+WeCtwBrgbOBc4BuTCOjZUlPR\nwGKsba6FBbtYXgXHel4l1VLzWjRgeQ97wlOGcyzeB7ycYJc9APxy8/q3gVuarwvAVYyx1GLxXMOv\nooHFWHr1KRlOCVar56KBnAzHc9GA1T3siVIE55eO8bPfax4TxfuEoyy1xbEsR7KWGY6KBvLmi1La\noMV8keU97IlSLDVzvE84erfUer3BWoOupGaIMzN2IhAbq/1cZamlxYG8+aLYWIcO2YjbtFpqEpwx\neJ5wzOlYYsUtVQR6PTubYXY2XnCsigZys44aBcdr1gGhHc3OxsdK2RR3Gi01Cc4YPBcNlLB5ZxvL\nwhKyzHBiLbUSslHLWCn3lXVFnPcMR5ZahXhfh+NdBMBuvihVcLxnOLUWDVjO4Vit+fF8D3tCgjMG\nz5ZaKZ2Y1UR0iuBYFQ2UMjhI+aysVv9bZR25sWLvYWU44jlSU3/v6bi1TRM7we7dUouNVdJn5TnD\nsbTvLO7hQ4fS5oraWBKcyohtQP1+nel4zqjZqnOemQk3cAwlWGqeBcdy9b/l1jZW93Cu4MhSq4zY\nBtQ2VIvdX0ux1GZn44Qg9X2lVql5LxqocQ6ntdRiyuVrFLccwZGlViGeG5DlvEqOuMUKTo1FA6Vk\no1bzbb1eeFjNF8VmozkDkZj3lCpsbSwJTmWkeLJWDajWDKfGooFaLTXLtWBWGU6OS2FpqS3n5p3L\njQRnDCmWmpUnW8pEtJWlpqKBQawSBCcllkWGk5t1qGhgaSQ4Y/BsqR06BGvWpMVK2ZpFltoAy2zU\nuwiUUKBgNWhU0UA3JDhjiE1bLUcsBw+mC86aNTYiALaWWmyVmlU2paKB0bEs5nA8z6uoaEAswroB\nxdwYuYJz8GD340uw1FatClVPFrakigYCqSLQxrLIcGSp+UOCMwbPDchScHJWRFtZar1efGl0jqWm\nogFbIbXa2iZHcDyLmyckOGPw7Mkqw3k+KXNTKhpYmVhWnXNKNZwsteVFgjOGlAZkNTqqVXByOucU\nIbCYiC5FBKxsLstY1hmOpSOiDKcyLC212I7ZUnAOHoS1a9NiWRUNgF31nWWVn4oGBrFUNLA4VmxV\nphckOGOwtNSOOw4OHOh+fK7gxMTavz+cXwrWlppVCXaNu0JY7TTQxlLRgF1/4QkJzhgsRyzHHRc6\n9q5YZjj799tmOCVYaioaKGPhp2db3LK/8IQEZwwpE44lCM7atXGCc+CAXYaTO1+kooEyBMfz1jZW\nlaY52ZQEp0KU4QSsLTWLDKfthCz+WZ5lNVcpczja2kYZjjgKzw2oVkstp/IpVnC8FyeA/zkcq865\nlCo1rwNUT0hwxhA7uZ7j/3oXHKsM59lnYf36tFgxQmA9VyRLbTExnXO/nx7Lch1ObFuX4IhFHH88\n7N3b/ficBrR2rV/BsZzDefbZcN1TiBUcq45ZRQN5sVqb1cL+zBEcy/5CglMhbQPq+p8Ja7bUrARn\n7948wekaq4R/mw1+RSA3VkzmYbmFTo7gnHAC/PjH3Y+3dEQ8IcEZw+rVIfPYt6/b8SUJTuw6HKs5\nnBzBialSK0UEPBcNWO00UMr+ZrEZjmVVqyckOMcgphGVJDgeM5zDh8OxqbGsLDUVDQSsMg/rLXQs\nMxwJjljE8cd3b0Sl7DTgdR3O3r2hYCDl3/tCnBBYbitSSjblNXOzrIbLsbk0h9MNCc4xOOEEmwyn\nLRroOl9UY4aTY6dBnOA88QS84AVpcVrxsJqDqFFwYi211Di9Xri3nn22e6xUwVm3LtwrXd+XBEc8\nj1hLLbWxzsyEjqxrh1njOpw2w0klVnBe+MK0OL1e/JofZTjPjxUj2Kn3FcDJJ8OePd2Ozf0X0+vX\ndxc3CY54HjGCk9NYIa4R1VgWPYkMp2usJ56AjRvTY8V0zrUWDeQIQUysnAwHguD88IfdY+WIW8w8\njqrUfPALwLeAw8ArjvrZe4D7gB3AG4Ze/2ng3uZnH5jkyVjN4YBPwen37f49Qa7gxFSp7dmTnuGA\n3a4GNRcNWMzhQBCc3bu7HZsrOF6LjDzhTXDuBS4HvnbU6+cDVzRfLwE+BLTTyx8G3gmc2zwumdTJ\nWM3hgJ3gbN8+31lwDhwIcVIn8mMEJ2fRJ8Rbahs3wvz8fFKsmMKBUooGHnpo3uU6nFwROOWU+Awn\ntV3EZDgqi/bBDuC7I16/DLgZOAQ8CNwPvAo4HdgAfKM57mPAmyd1MlYjFrATnG3b5jtXxOXM34Df\nooE9e/IEJ+Z/4jz2WLp9V6vgxAq2taWW2i6U4SyNN8EZxxnArqHvdwEvGvH6o83rE6FGS2316u6W\nWs78DfgVnJyigdhYf/mX8DM/kxbHcg6n17MTt5e8BLZt63ZsbobjeQ4ntb9oz7HE//qZcXmTuRU4\nbcTrvwX8mfG5HJMNG+AP/gC+/OWlj/3mN+Hqq9NjrVsHV10FJ5209LEPPJCeeczMhA73539+6WP3\n7QvnlcqaNXDbbd1iPfwwXHRRXqz3vx9uuWXpY7dvh7k5ePzxtFizs/CLv9hNjL/6VXjf+9LjPPBA\nt+sHcPfd8NrXpsVatQo+9SnYsaPb8bt3p3eYb3lLeNxxx9LHPv103kDu1FPhxhvDZ74UO3fCm96U\nHmvDBnjve+GDH1z62DvvTB80QqiIu/RSuP56uPDC9L8jAl9hcdHANc2j5fMES+004DtDr78N+C8j\n/t79QF8WgaANAAAEE0lEQVQPPfTQQ4+ox/1MAV8hVJ+1nA/cDawBzgZ2MigauIMgPj3gL5hg0YAQ\nQoh6uRx4BNgH/A3wuaGf/RZBbXcA/2jo9bYs+n7gP9ucphBCCCGEEEJMiI8CjxGymlFcBtwDbAfu\nAn526GcnAZ8kzPt8G3h18/pGQjHDd4EvNseVwCSvxaua17cSKv+2N49SLMrUa/FTDN7rduAp4Neb\nn01buzjWtdjKdLULCIvNv9X87n8D2lKdaWsXMP5abKXMdtGZi4ELGX/RhotrX8biSa+bgHc0z2eA\nE5vnNwK/2Tx/N3DDRM50+VmOa3EtkFFvt2LkXIuWVcAPgLOa76exXbQcfS2mrV1sBr7HoGP9BHBl\n83za2sVmxl+LqHZRyjqcYW4HfnSMnw8vvToBaKvwTyRc8I823y8QRnAAlxI6YJqvE1s8uswsx7WA\nQUFGSaRei2G2EApSHmm+n7Z2MczR1wKmq108TVhovp4wIFtPWOcH09cujnUtoMx2EcVmxqs0hAbw\nHeBJoF3d8XJCRdsfA38N/CHhwsHiD6HHsT8Ub2xmstfiWsJuDvcAH6EcuwDSrsUwHwWuGvp+2trF\nMEdfi2lsF/8GeAZ4HPivQ69PY7sYvhZ/OvR6ye2iM5s59kVruRj4f83zv09Q6Vc23/8n4Leb50c3\nmCcyz8+SzUz2WpxKuIl6wO8SGlEpbCb+WrSsAXYDpwy9Nm3tomXUtZi2dnEOYW7zhYRR/aeBf978\nbNraxbGuRVS7KNFSi+F2wgV6IWFiaxdwZ/OzTzFYXPoYg90PTieoeG0c61p8ksG1eJzBoq8/YvTo\nt3SGr0XLGwkTpcN7C09bu2gZdS2mqV2cTBiU/RWwh2A5/0+g3aRomtrFUtciql3UKDjnMPAU2050\nD2FdzyPAi5vX/iGh6gLgswwmwa4EPrP8p2lC12uxhcG1OH3o9y+n22ioBMZdi5a3ETaIHWba2kXL\nqGsxTe3ih4TR/auBdc3PtxBG+TBd7WKpa1Fru3iOm4HvAwcJneY7gF9uHhCqR75JKNG7nYFtBHAB\nYVR/D0Gl28qsjcCXKK/McTmuxceA/9u8/hlg07K+g8mRcy2OJ9xYG476m9PYLsZdi2lsF7/JoBT4\nJqDd1W0a28W4a1FquxBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIcSys3ql\nT0CIKeViwj+uWge8BHgL8LUVPSMhlpkaN+8UogT6zdddhO3ez13BcxHCBAmOECvD1wm7895J2Dh1\nYWVPR4jlR4IjxMqwDtjfPP854FbgNSt3OkIsPxIcIVaGlwJfbZ4/Q9jWfdfKnY4QQgghhBBCCCGE\nEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBiavj/DBoM/Hr/x0sAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 78 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now calculate FFT" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print 'size of data3', np.size(data3)\n", "Y = np.fft.fft(data3)\n", "n1 = np.linspace(0,2**17, 2**17)\n", "setup_graph(title='$Y$', x_label='$k$', y_label='real Y[k]', fig_size=(6,3))\n", "_ = plt.plot(n1,Y.real)\n", "# print Y[0:4].real\n", "setup_graph(title='$Y$', x_label='$k$', y_label='$|Y[k]|$', fig_size=(6,3))\n", "_ = plt.plot(n1[1:50000],np.abs(Y[1:50000])) # discard DC sample" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "size of data3 131072\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 81 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }