{ "metadata": { "name": "", "signature": "sha256:04d53f93727554c3fbbb0e9ed397de2b19cb3f2ed85ecf8d339ef03ffe407720" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "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": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "phs = linspace(0, 20* 2*pi, 1024, endpoint=False)\n", "g = cos(phs + 0.4)\n", "plot(g)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 2, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nCgoKAPx/kWhp/HDAmDwAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "from scipy.signal import freqz" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "plot(abs(fft.rfft(g[:512], n=512)))\n", "xlim(0, 400);" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "plot(abs(fft.rfft(g[512:1024], n=512)))\n", "xlim(0, 400);" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Starting phase for first window:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "angle(fft.rfft(g[:512])[10])" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 6, "text": [ "0.39999999999999808" ] } ], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Starting phase for second window: (no phase change!)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "angle(fft.rfft(g[512:1024])[10])" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 7, "text": [ "0.40000000000000219" ] } ], "prompt_number": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Phase at the end of the window:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "0.4 + (10 * 2 * pi)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 8, "text": [ "63.23185307179586" ] } ], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we wrap the phase:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "(0.4 + (10 * 2 * pi)) %(2* pi)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 9, "text": [ "0.3999999999999986" ] } ], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "However for a frequency that has a fractional cycle the ending window phase is:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "(10.1 * 2 * pi)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 10, "text": [ "63.46017160251382" ] } ], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "And wrapped:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "(10.1 * 2 * pi)%(2* pi)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 11, "text": [ "0.6283185307179551" ] } ], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's see a concrete example:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "phs = linspace(0, 23.4* 2*pi, 1024, endpoint=False)\n", "g = cos(phs)\n", "plot(g)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 12, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nd6EAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 12 }, { "cell_type": "code", "collapsed": false, "input": [ "plot(abs(fft.rfft(g[:512], n=512)))\n", "xlim(0, 50);" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n/j9VuS+bUUZgvwAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 13 }, { "cell_type": "code", "collapsed": false, "input": [ "X = abs(fft.rfft(g[:512], n=512))\n", "argmax(X)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 14, "text": [ "12" ] } ], "prompt_number": 14 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The precise center is at 23.4 / 2.\n", "\n", "Because the number of cycles is not an integer, the starting phase for the second window is different:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "plot(g[:512])\n", "plot(g[512:1024])" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 15, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 15 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Starting phase first window:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "angle(fft.rfft(g[:512]))[12]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 16, "text": [ "-0.9519681448511772" ] } ], "prompt_number": 16 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Starting phase second window:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "angle(fft.rfft(g[512:1024]))[12]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 17, "text": [ "-2.8196061225509639" ] } ], "prompt_number": 17 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Phase difference:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "angle(fft.rfft(g[512:1024]))[12] - angle(fft.rfft(g[:512]))[12]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 18, "text": [ "-1.8676379776997867" ] } ], "prompt_number": 18 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The total elapsed phase for the bin should be:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "12 * 2 * pi" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 19, "text": [ "75.39822368615503" ] } ], "prompt_number": 19 }, { "cell_type": "markdown", "metadata": {}, "source": [ "But what actually elapsed (adding the phase difference measured) was:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "12 * 2 * pi + __" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 20, "text": [ "73.530585708455249" ] } ], "prompt_number": 20 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Which if we count cycles in that phase accumulation we get:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "_ / (2 * pi)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 136, "text": [ "11.702756183942927" ] } ], "prompt_number": 136 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Must multiply by two because we split the signal into two windows and get the frequency we put in (to the presicion allowed by the sampling rate):" ] }, { "cell_type": "code", "collapsed": false, "input": [ "_ * 2" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 21, "text": [ "147.0611714169105" ] } ], "prompt_number": 21 }, { "cell_type": "markdown", "metadata": {}, "source": [ "#Phase Vocoder" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Two sine tones ( Second one 4 times the frequency and half the amplitude)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "f0 = 203.3\n", "p0 = 0.3\n", "N = 4096\n", "\n", "test_phs = linspace(0, (f0 * 2*pi), N, endpoint=False)\n", "test_sig = sin(test_phs + p0) + 0.5 * cos(p0 + (test_phs * 4))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 145 }, { "cell_type": "code", "collapsed": false, "input": [ "X = rfft(test_sig[:512])\n", "plot(abs(X))\n", "# xlim(0,1000);" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAXsAAAEACAYAAABS29YJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGBNJREFUeJzt3XuMnXWdx/HPt3PpvdQWnF5ooWIlVJHWdct1l1nF0iZS\nwBsQN1QWySqumigulERb1oRlUdHEBGMETXF3ceuipWZBoMhEUEuttlAohdYwhRaYFrn1QmemzHf/\n+D2HnjmdMzPnPs/ze7+Sk/PMc26/5zzt53zP97kcc3cBALJtVKMHAACoPcIeACJA2ANABAh7AIgA\nYQ8AESDsASACg4a9mc0ys4fM7Ekze8LMvpTMn2JmD5jZM2Z2v5lNznvMcjPbbmbbzGxRrRcAADA0\nG2w/ezObJmmau282swmS/iTpIklXSHrZ3W82s2slvcPdrzOzeZL+W9LfSpopaZ2k97h7X60XBABQ\n3KCVvbu/5O6bk+n9kp5SCPGlklYld1ul8AEgSRdKutPde929U9IOSQtrMG4AQAmG3bM3sxMlLZD0\nqKQ2d+9KbuqS1JZMz5C0K+9huxQ+HAAADTSssE9aOHdJ+rK778u/zUMfaLBzLnA+BgBosOah7mBm\nLQpB/1N3X5PM7jKzae7+kplNl7Qnmb9b0qy8hx+fzCt8Tj4AAKAM7m7lPG6ovXFM0u2Strr79/Ju\nWitpWTK9TNKavPmXmlmrmc2RNFfShiIDzuxlxYoVDR8Dy8bysXzZu1RiqMr+bEn/KOlxM9uUzFsu\n6SZJq83sSkmdkj6VBPhWM1staaukw5Ku9kpHCACo2KBh7+6PqHj1f16Rx9wo6cYKxwUAqCKOoK2B\n9vb2Rg+hZrK8bBLLl3ZZX75KDHpQVc1e1IzuDgCUyMzktdhACwDIBsIeACKQ+bD/3e+kQ4caPQoA\naKzMh/0110gbNzZ6FADQWJkP+74+6fDhRo8CABqLsAeACBD2ABCBKMK+t7fRowCAxooi7KnsAcSO\nsAeACEQR9rRxAMQuirCnsgcQO8IeACKQ+bB3p40DAJkPeyp7ACDsASAKhD0ARCCKsKdnDyB2UYQ9\nlT2A2BH2ABCBKMKeNg6A2EUR9lT2AGJH2ANABDIf9hxBCwARhD2VPQAQ9gAQBcIeACIQRdjTswcQ\nuyjCnsoeQOwIewCIQBRhTxsHQOyiCHsqewCxI+wBIAKZDnv3cE0bB0Dsogh7KnsAsct02Pf1hWvC\nHkDsCHsAiEAUYU/PHkDsogh7KnsAsSPsASACUYQ9bRwAsYsi7KnsAcSOsAeACEQR9rRxAMQu02HP\nEbQAEAwZ9mb2YzPrMrMtefNWmtkuM9uUXJbk3bbczLab2TYzW1SrgQ9HX580ejRhDwDDqex/Imlx\nwTyXdIu7L0gu90qSmc2TdImkecljbjWzhn176OuTWlsJewAYMojd/WFJrw5wkw0w70JJd7p7r7t3\nStohaWFFI6xALuzp2QOIXSVV9xfN7DEzu93MJifzZkjalXefXZJmVvAaFaGyB4CguczH/UDSvyXT\n35T0HUlXFrmvDzRz5cqVb0+3t7ervb29zKEU19cnNTeH674+aVSmN0cDyJqOjg51dHRU5bnMfcAs\n7n8nsxMl/crdTx3sNjO7TpLc/abktl9LWuHujxY8xofzupV69lnpQx+Sdu2SDhwIVT4ApJWZyd0H\naqEPqaxa18ym5/15saTcnjprJV1qZq1mNkfSXEkbynmNashV883NtHIAxG3INo6Z3SnpXEnHmtnz\nklZIajez+Qotmmcl/bMkuftWM1staaukw5KurksJX0Qu7FtaCHsAcRtWG6fqL1qnNs7TT0tLl0p7\n90rbt0tTp9b8JQGgZurexkkL2jgAEGQ67N1p4wCAlPGwp7IHgCCasOcoWgAxy3zYm9HGAYDMhz1t\nHACIKOxp4wCIWRRhTxsHQOzKPRFaKuTC3oywBxC3KMK+qYk2DoC4RdHGYQMtgNhlOuw5ghYAgkyH\nPXvjAEAQTdhT2QOIWebDniNoASCCsKeNAwCRhH1Tk/TWW40eDQA0DmEPABEg7AEgAoQ9AESAsAeA\nCGQ67HNH0BL2AGKX6bCnsgeAgLAHgAhkPuzNCHsAyHzYU9kDAGEPAFEg7AEgAoQ9AESAsAeACBD2\nABABwh4AIpDpsOd0CQAQZDrsqewBIMh82HMELQBEEPZU9gAQSdg3N0uHDzd6NADQOFGEPZU9gNgR\n9gAQAcIeACJA2ANABAh7AIhApsOeI2gBIMh02FPZA0CQ+bDnCFoAiCDsqewBgLBHmdavD+8vgHQY\nMuzN7Mdm1mVmW/LmTTGzB8zsGTO738wm59223My2m9k2M1tUq4EPB2FfO5dfLj39dKNHAWC4hlPZ\n/0TS4oJ510l6wN3fI+nB5G+Z2TxJl0ialzzmVjNr2LcHwr52enp4T4E0GTKI3f1hSa8WzF4qaVUy\nvUrSRcn0hZLudPded++UtEPSwuoMtXSEfe309HByOSBNyq2629y9K5nuktSWTM+QtCvvfrskzSzz\nNSpG2NdOby/vKZAmzZU+gbu7mflgdxlo5sqVK9+ebm9vV3t7e6VDOQphXzu9vVT2QK11dHSoo6Oj\nKs9Vbth3mdk0d3/JzKZL2pPM3y1pVt79jk/mHSU/7GuFsK8devZA7RUWwjfccEPZz1VuG2etpGXJ\n9DJJa/LmX2pmrWY2R9JcSRvKHl2FOF1C7dDGAdJlyMrezO6UdK6kY83seUnfkHSTpNVmdqWkTkmf\nkiR332pmqyVtlXRY0tXuPliLp6Y4grY23EMLhzYOkB5Dhr27X1bkpvOK3P9GSTdWMqhqoY1TG729\n4Zr3FEiPaI6gpQqtHsIeSJ8owr65mWCqplzY8wEKpEcUYU8bp7p6esI17ymQHoQ9SkYbB0gfwh4l\no40DpA9hj5LRxgHSh7BHyWjjAOmT6bDnCNrayFX2tHGA9Mh02HMEbW1Q2QPpk/mwp7KvPsIeSB/C\nHiWjjQOkD2GPklHZA+lD2KNkhD2QPoQ9SkYbB0gfwh4lo7IH0ieKsB816sjfqBxhD6RPFGEvUd1X\nE20cIH0Ie5SMyh5In0yHvXs4glYi7KuJsAfSJ9NhT2VfG7RxgPSJKuwJp+qgsgfSJ5qw53doq6e3\nVxo9mvcTSJNowp42TvX09Ehjx/JNCUgTwh4l6+0NYc/7CaQHYY+S9fZKY8bwfgJpQtijZLRxgPQh\n7FEy2jhA+hD2KBltHCB9Mh32HEFbG7RxgPTJdNhT2dcGbRwgfQh7lKynhzYOkDaEPUqWq+xp4wDp\nQdijZLRxgPQh7FEy2jhA+hD2KBltHCB9CHuUjDYOkD6EPUpGGwdIH8IeJaONA6RP5sOeI2irjzYO\nkD6ZDnt3KvtaoI0DpE+mw542Tm3QxgHSJ6qwJ5yqgzYOkD7RhD0/OF49ubNe8n4C6ZHpsO/tDSEv\n0capptz57PmmBKRHpsP+wAFp/PgwTdhXD5U9kD6ZDXt36eBBwr7a3KXubmncON5PIE0yG/aHDkkt\nLSHkJcK+WnKtsdZW2jhAmjRX8mAz65T0hqS3JPW6+0IzmyLpfySdIKlT0qfc/bUKx1my/BaORNhX\nS3d36NfzfgLpUmll75La3X2Buy9M5l0n6QF3f4+kB5O/627/fsK+Fg4dkkaP5v0E0qYabRwr+Hup\npFXJ9CpJF1XhNUp24IA0YcKRvwmn6shV9s3NtHGANKlGZb/OzDaa2VXJvDZ370qmuyS1VfgaZaGN\nUxtU9kA6VdSzl3S2u79oZsdJesDMtuXf6O5uZj7QA1euXPn2dHt7u9rb2yscSn+EfW0cOkTPHqiX\njo4OdXR0VOW5Kgp7d38xud5rZr+UtFBSl5lNc/eXzGy6pD0DPTY/7GuBsK+N7u5Q2dPGAWqvsBC+\n4YYbyn6usts4ZjbOzCYm0+MlLZK0RdJaScuSuy2TtKbs0VWgMOxHjw5BhcpQ2QPpVEll3ybplxZO\nGN8s6b/c/X4z2yhptZldqWTXy4pHWYbCsJ84Udq3rxEjyZZcZU/YA+lSdti7+7OS5g8w/xVJ51Uy\nqGooDPtJk6Tduxs3nqzIVfa0cYB0yewRtPv399/1ksq+OnKVfe5son19jR0PgOHJbNjTxqmNXGUv\n0coB0iSasJ80SXrjjcaNJyvyw55WDpAe0YQ9lX115No4EpU9kCbRhD2VfXUUVvaEPZAO0YQ9lX11\nFFb2tHGAdIgm7Knsq4MNtEA6ZTrs83e9nDAh/HIVuwpWJnciNIk2DpAmmQ77/Mp+1Kjwu6kHDjRu\nTFmQO8WxRBsHSJPMhn3hj5dItHKqIb+yp40DpEdmw76wspfYSFsN+ZU9bRwgPaIKeyr7yhVW9rRx\ngHTIZNi7h42xVPbVV9izp7IH0iGTYf/KK6GKb2rqP3/SJMK+UhxUBaRTJsN+925p5syj50+cSBun\nUrRxgHSKKuyp7CtHGwdIp6jCnsq+chxUBaRTdGFPZV8ZDqoC0imqsJ88OWy8Rfk4qApIp6jCftYs\nadeu+o8nSzioCkinqMJ+9mxp5876jydLCiv73t7GjgfA8EQV9iecID33XP3HkyX5+9kfc4z0+uuN\nHQ+A4clc2Hd3hz1ujjvu6NsmTw6nOCagypf/4yVtbdKePY0dD4DhyVzYP/ecNGNGOKVxIbNQ3dPK\nKY97/7B/5zulrq7GjgnA8GQu7Ddvlk47rfjts2fTyilXT4/U2nrkg5TKHkiPzIX9pk3SggXFb2cj\nbfnyN85KobIn7IF0yFzY//nP0gc+UPx2NtKW77XXwikncmjjAOmRqbB3HzrsZ8+WOjvrNqRM2bkz\nfFjm0MYB0iNTYf/CC+F6xozi9zn1VOmxx+oznqwpDHvaOEB6ZCrsH35YOv30sNdNMfPmhaNoX3ut\nfuPKisKwP+aY0Mc/dKhxYwIwPJkK+7vvli64YPD7NDeHNs/GjfUZU5YUhr0Z1T2QFpkJ+54e6de/\nHjrsJWnhQmnDhtqPKWsKw14i7IG0yEzYd3RIJ58sTZ8+9H1PP1169NGaDylznnvu6LBva2OPHCAN\nMhP2t94qXX758O57zjmhv9/dXdsxZYl7CPvZs/vPb2s7smEcwMiVibB/5hnp97+XPvOZ4d1/+nTp\nve+V1q2r6bAyZe9eaexYacKE/vPnzw+7uwIY2TIR9t/4hvSFL0jjxg3/MZ/8pPTzn9duTFnz9NPS\nSScdPf+MM6T16+s/HgClSX3Y33ef9Mc/Sl/7WmmP+/jHpV/9it+kHa7f/EZqbz96/vz54ZvVgQN1\nHxKAEqQ67HfulK64QvrhD0ur6qVwvvvzzw+PxdDWrZPOO+/o+aNHhwPV/vSn+o8JwPClNuxfeEFa\nskS65pqBQ2g4rrtO+u53pf37qzu2rNm3L5xN9JxzBr79jDOkRx6p75gAlCaVYb9hg3TWWWHvm698\npfznef/7pUWLpOuvr97Ysui++8LuqsW+PX3iE9Idd4Q9dgCMTKkK+64u6fOflz76UemWW0JlXqlb\nbpHuuku6997KnyuL3KVvf1v63OeK3+fss8Pv0f72t/UbF4DSjPiwdw8bYK++OuwuOXastG2b9LGP\nVef5p0wJe+UsW8YpFAby0EPSK69IF19c/D5m4cPg5pup7oGRyrwB/zvNzIu97qFD0lNPSVu2hEpx\n3bpQNV5xRQjkWbNqM6a1a6XPflZatSpsC0DYU2nBAulb3xr6w7WnJ5xz6Otfly65pD7jA2JjZnL3\nQU71OMhjGxX23/ymq7s7bPx76aXQotm9W3r++bA/9/veJ515pvSRj0innDL4mSyr5ZFHpEsvDVXs\nypXS1Km1f82R6s03Q8DPnj38PZY2bAgttnvukT74wdqOD4hRKsP++utdY8aEIzLb2qRp08KRrSed\nFH7ntFFefllasUJavVr66ldDtX/ssY0bTyM8+6z06U+H8+DccYfU0jL8x959t3TVVdJtt0lLl9Zu\njECMUhn2jXjdUmzdKt10U2jvLFkSqtzzz+//s3xZs3u39P3vSz/6kbR8edjTaVQZW3XWr5cuuyxU\n98uXD/7LYQCGb8SFvZktlvQ9SU2SbnP3/yi4fcSHfc4rr0g/+1k42vaRR0JL6YwzwmXBAuld7+r/\nI9xp0tNzZNvImjXS44+Hiv7aayvfNnLwYPjguPXW8Mthl10mLV4szZ1bn5YckEUjKuzNrEnS05LO\nk7Rb0h8lXebuT+XdJzVhn+/gwXDSr/XrpT/8IQTlzp0hzObOld797jD92msdOvfc9rfbU1Onhn3U\n6x1yb70lvfpqaE3t2RPG2tkZ2jRbtkhPPhnaZmeeKV14ofThD0tjxgz+nB0dHWof6LwJg4zhnnvC\nN6R77w1/L1gQTrNw6qnSnDlhu8C0aeV9i6i2UpcvbVi+dKsk7JurPRhJCyXtcPdOSTKzn0m6UNJT\ngz0oDcaNC0eR5h9J2tsbAnT7dmnHjrCx+cEHO/TUU+3q6gp///WvoYqeMCG0gSZOPHIZMyb0xFta\nwraK3HTuIkl9fQNfDh8OG1IPHgznpjl48Mj0G2+EoJ80STruuLDd4YQTQriedVbYFnHaadL48aW9\nB6X+Z2pqCj8oc8EFYbfM558PR+Nu3iz94hfhA2jnTun116Xjjw/bb6ZOPfoycWIY64QJ/S/jx4f1\nMnp0dT4ssh4WLF+8ahH2MyU9n/f3Lkmn1+B1RoSWllDVz517ZF5ra9ibJ19vbzgtw759/S+HDoXb\ncpeenv5/m4UQK3YZN+5I4OVPT5wYQrK5Fmu4TGahip89++iNt2++Gc6Xv2dP+HDMXV5+WfrLX8IH\n2P794VI4feBAeN+amkLot7b2vx5oXlNTeG+amvpPP/FEGEfh/KGmc+tpONe1vE/uknu/8997KRQm\nHR395w10v7TO27s3bG8bSL326hupahEF6evP1EFLi/SOd4QLjjZ2bPilsZNPLu/x7uGbTnd3CP7u\n7sGn33orXA4f7j994ED45lY4f6Dp3PMcPhxev68vXOdPF7uu5X1y70f+e5O77uwMl6Hul9Z5e/eG\nAwEH8thjpe1ZljW16NmfIWmluy9O/l4uqS9/I62Z8YEAAGUYSRtomxU20H5Y0guSNqhgAy0AoL6q\n3sZx98Nm9i+S7lPY9fJ2gh4AGqshB1UBAOqrrns2m9liM9tmZtvN7Np6vnatmFmnmT1uZpvMbEMy\nb4qZPWBmz5jZ/WY2udHjHC4z+7GZdZnZlrx5RZfHzJYn63ObmS1qzKiHr8jyrTSzXck63GRmS/Ju\nS83ymdksM3vIzJ40syfM7EvJ/Eysv0GWLyvrb4yZPWpmm81sq5n9ezK/OuvP3etyUWjp7JB0oqQW\nSZslnVKv16/hcj0raUrBvJsl/Wsyfa2kmxo9zhKW5+8kLZC0ZajlkTQvWY8tyXrdIWlUo5ehjOVb\nIekrA9w3VcsnaZqk+cn0BIVtZ6dkZf0NsnyZWH/JmMcl182S1ks6p1rrr56V/dsHW7l7r6TcwVZZ\nULh1fKmkVcn0KkkX1Xc45XP3hyW9WjC72PJcKOlOd+/1cBDdDoX1PGIVWT7p6HUopWz53P0ld9+c\nTO9XOJBxpjKy/gZZPikD60+S3P1gMtmqUCC/qiqtv3qG/UAHW80sct80cUnrzGyjmV2VzGtz965k\nuktSW2OGVjXFlmeGwnrMSfM6/aKZPWZmt+d9TU7t8pnZiQrfYB5VBtdf3vKtT2ZlYv2Z2Sgz26yw\nnh5y9ydVpfVXz7DP6pbgs919gaQlkr5gZn+Xf6OH71uZWfZhLE8al/UHkuZImi/pRUnfGeS+I375\nzGyCpLskfdnd9+XfloX1lyzf/yos335laP25e5+7z5d0vKS/N7N/KLi97PVXz7DfLSn/XIqz1P9T\nKZXc/cXkeq+kXyp8jeoys2mSZGbTJe1p3AirotjyFK7T45N5qeLuezwh6TYd+SqcuuUzsxaFoP+p\nu69JZmdm/eUt33/mli9L6y/H3V+X9H+S/kZVWn/1DPuNkuaa2Ylm1irpEklr6/j6VWdm48xsYjI9\nXtIiSVsUlmtZcrdlktYM/AypUWx51kq61MxazWyOpLkKB9GlSvIfKOdihXUopWz5zMwk3S5pq7t/\nL++mTKy/YsuXofV3bK4FZWZjJX1E0iZVa/3VeUvzEoUt6DskLW/kVu8qLc8cha3hmyU9kVsmSVMk\nrZP0jKT7JU1u9FhLWKY7FY587lHYxnLFYMsj6fpkfW6TdH6jx1/G8v2TpDskPS7pseQ/Ulsal09h\nz42+5N/jpuSyOCvrr8jyLcnQ+jtV0p+T5Xtc0teS+VVZfxxUBQARGAE/FwEAqDXCHgAiQNgDQAQI\newCIAGEPABEg7AEgAoQ9AESAsAeACPw/qmfXCBF8ua4AAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 146 }, { "cell_type": "code", "collapsed": false, "input": [ "X = rfft(test_sig[:512])\n", "plot(abs(X))\n", "xlim(10, 40);" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nktQAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 147 }, { "cell_type": "code", "collapsed": false, "input": [ "argmax(abs(X))" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 148, "text": [ "25" ] } ], "prompt_number": 148 }, { "cell_type": "code", "collapsed": false, "input": [ "(argmax(abs(X)) + 1)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 149, "text": [ "26" ] } ], "prompt_number": 149 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The frequency we are looking for is in between. Let's do STFT with overlap:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "hopsize = 128\n", "winsize = 512\n", "win_start = linspace(0, len(test_sig) - winsize, hopsize)\n", "\n", "stft = []\n", "\n", "for start in win_start:\n", " X = rfft(test_sig[start: start + winsize]* hanning(winsize))\n", " stft.append(X)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 150 }, { "cell_type": "code", "collapsed": false, "input": [ "argmax(abs(stft[1]))" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 151, "text": [ "25" ] } ], "prompt_number": 151 }, { "cell_type": "code", "collapsed": false, "input": [ "plot(abs(stft[1]))\n", "plot(abs(stft[5]))\n", "plot(abs(stft[9]))\n", "xlim(10, 40)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 152, "text": [ "(10, 40)" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 152 }, { "cell_type": "code", "collapsed": false, "input": [ "imshow(angle(stft).T, aspect='auto', cmap=cm.gray, interpolation='nearest')\n", "gcf().set_figwidth(10)\n", "colorbar();" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 153 }, { "cell_type": "code", "collapsed": false, "input": [ "plot(angle(stft).T[24])" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 154, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 154 }, { "cell_type": "code", "collapsed": false, "input": [ "plot(angle(stft).T[25])" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 155, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 155 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's look at the unwrapped phase:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "unwrapped = [angle(stft).T[25][0]]\n", "\n", "for p in angle(stft).T[25][1:]:\n", " while (p < unwrapped[-1]):\n", " p += 2 * pi\n", " unwrapped.append(p)\n", "\n", "plot(unwrapped, 'x')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 156, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nVYCDvZlZBfx/XhGEO4jQgmsAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 156 }, { "cell_type": "markdown", "metadata": {}, "source": [ "A line! The frequency is constant across all the bins!" ] }, { "cell_type": "code", "collapsed": false, "input": [ "delta_phs = diff(unwrapped)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 157 }, { "cell_type": "code", "collapsed": false, "input": [ "plot(delta_phs)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 158, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAEACAYAAAC08h1NAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztnX2QXOV15n+PRiMZgW1C8OIFi4hN4S0bZ21cG+wYb3bi\nEFtJxQbHqfWX8rGp4DgVB0zijWO8jqU/sqlUyIbdGFKsoxA2OKYqAmOcWIC8YRxTm2AgkgVIsiGg\nLF/CYGLHRCCkmbN/9L3MnTvd975vz73d9+0+T5VKrdvPnHne7tPn/ubt2xqZGS6Xy+WaHq0ZdwCX\ny+VyjVY++F0ul2vK5IPf5XK5pkw++F0ul2vK5IPf5XK5pkw++F0ul2vKVDn4JW2UdJuk+yTdK+mi\nPp6TJd0saU/m+fnCfZslHZB0v6SPtpDf5XK5XJFS1XX8kl4OvNzM9kg6AbgbuMDM9hc8W4H1ZvYx\nSScDXwdOASy7fR7wKHAn8N7i17pcLpdr9KokfjM7ZGZ7stvPAPuBU0u2x4GXZLdfAnzLzI4B5wAP\nmNlBMzsKXAec32R4l8vlcsVrbahR0ibgbOCO0l2fBv5a0mPAi4H/lB0/DXi44HsEeMOwQV0ul8vV\njILe3M22eXYAF2fkX9SlwB4zOxV4HXCFpBc3G9PlcrlcTamW+CXNAtcD15rZjX0sbwJ+G8DM/kHS\nQ8C/pUf4Gwu+jdmxcn3/z4JcLpdrCJmZhvm6uqt6BGwH9pnZ5QNsB+i9gYukU+gN/QeBu4AzJW2S\ntA54N3DTgPDJ/vnkJz859gyef/w5pi275x//n9WojvjPBbYAeyXtzo5dCpyeDeyrgP8GXC3pa/RO\nJL9hZk9nJ4IPAbcAM8B28yt6XC6Xa+yqHPxmdjv1V/48Bbx9wH07gZ1Dp3O5XC5X4/JP7q5Sc3Nz\n446wKnn+8Snl7OD5U1blB7hGEkCycWdwuVyu1CQJa+PNXZfL5XJNnnzwu1wu15TJB7/L5XJNmXzw\nu1wu15TJB7/L5XJNmXzwu1wu15TJB7/L5XJNmXzwu1wu15TJB7/L5XJNmXzwu1wu15TJB7/L5XJN\nmXzwu1wu15TJB7/L5XJNmXzwu1wu15TJB7/L5XJNmZIY/Js3wze/Ge7/kR+B73yn2nPbbfDrvx5e\n86/+Cj7xiXrfBRfAP/5jeN3Nm+GJJ6o9d9wBH/xgeM3bboNf+7V63/veB/sjfhnmO99Zv7Z774Wf\n/dnwml/9atjaLrwQ7r47vO773w/79oX7f+qn4ODBas9998GWLeE177wTPvCBet8HPgB33RVed8uW\n+rU99BC8613hNUPXdskl8OUvh9f9pV/qPQ5Vevxx+ImfCK8ZuraPfxx2Rvz+v5C1PfoonHFGeM2u\nKonBf+AA/NM/hfvvvRe++91qz+OP17/Qi3rssbCB/sAD8NRT4XW//vX6tT3xRK/ZQ3XoUNja/uEf\n4Mknw+vef3/92p54Ah58MLzmoUNha3vwwfoTZFFtra2N52GYtdWB0JNP9noxVN/8Ztjz9tBDvXWF\nKmRtTz8N3/hGeM3QtR082HudhypkbceOwcJCeM2uqvJ37kraCPxv4F8BBvwvM/ufJc9HgPcX6r0K\nONnMvi3pIPDPwAJw1MzOGSbksWO9P03626jZVl3P2l7dGH9Ka/Os7dRdWIC1lVMzDdUt4ShwiZnt\nkXQCcLekXWb2wgaBmV0GXAYg6SeBD5vZt/O7gTkze3o1IRcW4s6yIf42arZV17O2VzfGn9LaPGs7\ndY8dg5mZ8JpdVeVWj5kdMrM92e1ngP3AqRVf8j7gs6VjQ/1OyKKmnTI8qxN/rN+zOvFXKXiPX9Im\n4GzgjgH3bwDeBlxfOGzAlyTdJenCYUNOO2V4Vif+WL9ndeKvUtC5K9vm2QFcnJF/P70duL2wzQNw\nrpk9LullwC5JB8zsK+Uv3Lp16wu35+bmmJubW3b/tFOGZ3Xij/V71vayjov45+fnmZ+fb6RW7RIk\nzdKj+GvN7MYK63sobfOY2ePZ309K+hxwDlA5+Psp5sxtBouLk0UZntWJP9bvWdvLOq7BX4bibdu2\nDV2rcqtHkoDtwD4zu7zC91Lgh4HPF45tkPTi7PbxwFuBe4YJGXPmzp+4SaMMz+rEH+P3rO1lnYat\nnnOBLcBeSbuzY5cCpwOY2VXZsQuAW8zs2cLXngJ8rnfuYC3wGTO7dZiQMWfu3DdplOFZnfhj/J51\n8oi/SVUuwcxuJ+ANYDO7BrimdOwh4HWrSkdv62ZhIfzMnfsmjTI8qxN/jN+zOvFXqfOf3F1c7P09\nicQfurYuZA31p5Q11p/S2lLMatZczRhfjH9SiL/zgz+U4GP9XaCMlLKG+lPKGutPaW2pZYUlEGoq\ngxP/YHV+8IcSfKy/C0SUUtZQf0pZY/0prS21rMW/m8rgxD9YnR/8KRH/4mLvx9UUssbWDV1bF7LG\n+vNLgCdpballLf7dVAYn/sHq/OBPifhTyhpbN6Wssf5JXFt+f+j2SReyxj5fdWtz4h+szg/+lIg/\npayxdVPKGuufxLWlRtHFv0Nqhvid+Aer84N/WBoIeQJjaCDEn3/P0Lqh/jayxm5LhT6uCwtxL7ZQ\nf0zd0K2bYm0IW1ssQYYO09C6+eXNbfRiiLeNXgx9/GP9bfSiE/+INCwNhDRbG01RzBBSM8TfZtY2\nTlL5SSW0btMDJ7W1xTy/+fZGG72YnzDrfE33YkrA5MQ/Ijnxp0dZxb9D6jZN/KmtLeb5jemZEN8w\ndVPqRSf+/ur84HfiT4+yYuvWeUO3N1aTIcQ/TC+Grq2tk9S096ITf391fvA78S997ya3GNqm4pi6\ndWsL3d5YTYYQ/zC9WLc1FPvJ9JSIP1+7E3/31PnB78S/5Iu5NC8l4ofqtbWVNdbfRi926QQcWrfp\nml04SYX6nfhHpGFfbCHNFjP4Q/xtZo2tm1LWOn9bWWP9Ka2tC6+blLKG+p34R6Rht3pCiD+GBkL8\nbWaNrVu3fdKlrHX+trLG+lNaWxt1Q7duYjN04TUeujYn/hGpTRoIuXyt6E+NokO2T7qS1Ym/uZpt\n1Y3dPkqJ+GO2upz4R6AuEVFKxF/n96zx/pTWNu1Z8/ubrunEPyJ1iYhSI/5JIU0n/nj/tGeN/fR2\naAYn/hGpS5RRtzXUpax1fs8a709pbZ61+ZrgxD8ydY0yqhqja1knhd6c+OP9nrX5mjAlxC9po6Tb\nJN0n6V5JF/XxfETS7uzPPZKOSToxu2+zpAOS7pf00WECOmV4Vif+eL9nbb4mTA/xHwUuMbOzgDcC\nvyLpVUWDmV1mZmeb2dnAx4B5M/u2pBngU8Bm4NXAe8tfGyKnDM/qxB/v96zN14QpIX4zO2Rme7Lb\nzwD7gVMrvuR9wGez2+cAD5jZQTM7ClwHnB8b0CnDszrxx/s9a/M1YXqI/wVJ2gScDdwx4P4NwNuA\n67NDpwEPFyyPZMei5JThWZ344/2etfmaMDnEH7QESScAO4CLM/Lvp7cDt5vZt7N/B/6XYrB169YX\nbs/NzTE3N/fCv50yPKsTf7zfszZfE3onhnEN/vn5eebn5xupVbsESbP0KP5aM7uxwvoelrZ5AB4F\nNhb+vZEe9a9QcfCX5ZThWZ344/2etfma+f3j2uopQ/G2bduGrlV3VY+A7cA+M7u8wvdS4IeBzxcO\n3wWcKWmTpHXAu4GbYgM6ZXhWJ/54v2dtvmZ+/zRs9ZwLbAH2StqdHbsUOB3AzK7Kjl0A3GJmz+Zf\naGbHJH0IuAWYAbab2f7YgPkZNubMHeJvo65nTStrrD+ltXnWdrOmrsrBb2a3E/AGsJldA1zT5/hO\nYOfQ6eidYdevjztzh/jbqOtZ08oa609pbZ61vayTQPxJfHJ3/fq4M3eIv426njWtrLH+lNbmWdvL\nOgnE3/nBP+yZO7TZQuuG+Nuo2Vbd0Mcp1t9G3bayxvrb6MWUeqatrCn1jBP/iDTsmXvSmq3puj5w\n4v1t9GJKPdNW1pR6xol/RHLid+J34o/3p9TfKfWME/+I5MTvxO/EH+9Pqb9T6hkn/hHJid+J34k/\n3p9Sf6fUM078I1IXiD//BSzr1jnxT9LAifU78TvxO/GPSF0g/oUFWLMGZmed+Cdp4MT6nfjTIv51\n63rAZgH/a5gTf8fUBeJfWOid5es+2ZfSMPWBE+934k+L+Neu7QFbSF0n/o6pDcoyWyKC0KZYu7b3\nx4m/GV+M34k/3p/SCbitnslfs6Fw58TfIR07Bi96URxlvehF1c22uNgjgbo9+1yhTbSwEJc11B9T\nd3ERpPq1hTxOw/jbqNtW1lh/G73YhZ4J9RdPfKHbJyEZ2uqZEFgr+tevr98acuIfkdqirHzrJrQp\nQvxdoLfQrE788X4n/qXtk8XF5rK21TMh27NFf8jWkBP/iNTWvmrsj4GhxD/uYRqaNbWB43v8cf6U\ntk/aPEnFEH/odq4T/wg07cSf/+hZd0VRbNYuDJzi2iaN+EMvAU7tBBz7usnfR6vaPukK8YdewOHE\nPwJNO/G3lbULA6eYtW7gzM4uDdOmssb6Y3oxHyR1a1tY6K0NwtaWGvHPztZvDTnxj14TO/hDiT+k\nbqh/2rPG1o3JunZtHGmmtLbY57fprKH+lHqxraxO/CPSsFs9ocTfJJlOe9bYbamYrLGPQdNrK27d\npLC22G2phYX6taXUi21ldeIfkVKigdSyhuy/xmQtbm+Mm4pjPrUZurY1a7qxtpBtr5hezC8Brnuv\nxV83TvwjU0o0kFrWkP3XrmQdpm7o1lCKa2uyF1PKGup34q9W5eCXtFHSbZLuk3SvpIsG+OYk7c48\n84XjByXtze776jABU6KB1LI2vbfcpazTvrauvB8xaa+bSSH+uiUcBS4xsz2STgDulrTLzPbnBkkn\nAlcAbzOzRySdXPh6A+bM7OlhA6ZEA8V9UrPej89NZn3++Wazxj4GdWtbzeNatba2nq+iv7g11PTa\nnnuu2ax1/uLWzaQRf+janPirVUn8ZnbIzPZkt58B9gOnlmzvA643s0cy31Ol+2vGX7VSooF8/1WK\nu+wwFdKsW1uXssb6166t/tRmSmtLKWvuS+Wnk0kh/uA9fkmbgLOBO0p3nQmclG0J3SXpZwr3GfCl\n7PiFwwRMjfibvkKjS1nr/ClljfWntLaUsua+VN6PyCEhdQUtIdvm2QFcnJF/UbPA64EfBTYAfyvp\n78zsfuDNZvaYpJcBuyQdMLOvlOtv3br1hdtzc3PMzc298O+2if/IkbCaw1DGunXNZo0ll6rtk9US\nUb+1pUaag/zr148uQ2rEf9xxzdYN/fT2MFljH4OQtS0sjG+rZ35+nvn5+UZq1Q5+SbPA9cC1ZnZj\nH8vDwFNm9izwrKS/AV4L3G9mjwGY2ZOSPgecA1QO/rIWFpZfvram5meUnB7qmiI/ux8+XF2v7A+h\ngVDKKG+f9FvbMDVjiSjkhRHib6Nmm3Vj/KshyNBebOr5batn2qibWs+Mk/jLULxt27aha9Vd1SNg\nO7DPzC4fYPs88GZJM5I2AG8A9knaIOnFWZ3jgbcC98QGzB/o0EvzcmKrG3oxNBDqb6NuW1mLRBT6\nuNb526jZZt0Y/2ooetS9mFJ/p9YzuS911Z27zgW2AHsl7c6OXQqcDmBmV5nZAUk3A3uBReDTZrZP\n0r8BbuidO1gLfMbMbo0NWCat/P81qfLHEH8sudRtn6RCb078cX4n/vSI/7jjmq2b7zpM/OA3s9sJ\neAPYzC4DLisdexB43arSMRxprVtXvTWUEhHlDRlTM8SfP64xL+I6/7CUFTJwnPjD/cP0TGh/N92L\nbfRh0ddkLy4s9OZJ3WXaKSiJT+4OQ1p1L+JUiKitF0YbL+Jh6S104Djxt9czof3ddC+2BTZt9GLu\nmQR1fvC3QVpO/E78sX4nfif+SdnfhwQGfxuk5cTvxB/rd+J34nfiH6Gc+J34nfjj/E78Tvx16vzg\nd+J34nfij/M78Tvx16nzg9+J34nfiT/O78TvxF+nzg9+J34nfif+OL8TvxN/nTo/+J34nfid+OP8\nTvxO/HXq/OB34nfid+KP8zvxO/HXqfOD34nfid+JP87vxO/EX6fOD34nfid+J/44vxO/E3+dOj/4\nnfid+J344/xO/E78der84Hfid+J34o/zO/E78dep84O/2JR1T2Dxf+QMabamB0nbA6fJrG0NnFRO\nqLH+mD6MyZBSz7RRN6WeceIfoYo/htY9gblXCvvxsumtg7a3GJrM2tYWQypbaLH+mD6MyZBSz7RR\nN6WeceIfoWJIK/eCE78TvxN/Cv2dUs848Y9Ixa2bGOKH7hO/WRhFOvE78cf6u9Dfof6UesaJf0Qq\nbt1MGvHnJ7S6tTnxO/HH+rvQ36H+/HGamem9JsyqazrxN6MkBj9MHvEXm8iJ34l/2olf6oFQ6Gvc\niX91qhz8kjZKuk3SfZLulXTRAN+cpN2ZZ75wfLOkA5Lul/TR2HBlgu8y8Re3bkLqFpuo68RvtvQi\nduJ34m+D+CHs+XLib0Z156+jwCVmtkfSCcDdknaZ2f7cIOlE4ArgbWb2iKSTs+MzwKeA84BHgTsl\n3VT82jqVqThk8McSf+iLuM6/uLhELU1nzX8Ujhk4oaQZui2Vr63uRTzM4xpykmr6+cqVby/UPW9t\nZWijbrEHFhZ666v6BeExWfO6zz0XlrWuF4uvg7wP1q8Py1q1ttX04qC1TQ3xm9khM9uT3X4G2A+c\nWrK9D7jezB7JfE9lx88BHjCzg2Z2FLgOOD8mXJmKQ34MDKHoNokwNGuoP4S0h/Hnj1XIC6P4uIb8\nKBxLhCE/trdBsEUvhFN06FZP0z95hfrzHshP1ouLq69ZrNtkL4b2VtlftzXURi8WX7OpK3iPX9Im\n4GzgjtJdZwInZVtCd0n6mez4acDDBd8j2bFgrZb4R3klQej7C7H+mAEd4495EZeprOm95dCB0/Se\nddEL4fvmsWQ+jvdaYodp6L55070Y2lux/jZ6sfiaTV1B569sm2cHcHFG/kXNAq8HfhTYAPytpL8D\nat6fX9LWrVtfuD03N8fc3BzgxJ/7mqas2G2pLhH/kSPVNYtbN+Mm/uOOiyP+uu2T/PLmkPdaYodp\nyNbQanrx+ef7e4Yl/qK/39bQJBL//Pw88/PzjdSqXYakWeB64Fozu7GP5WHgKTN7FnhW0t8Ar6VH\n+BsLvo3ZsRUqDv6inPjTpKw1a5Z/BqOubpPEX7xKpA3ij11bk8S/sLB0CXAbxJ/Xzk8ug+qm1IuT\nRPxFKAbYtm3b0LXqruoRsB3YZ2aXD7B9HnizpBlJG4A3APuAu4AzJW2StA54N3BTTDgn/m7tq9b5\ni/uvoUO66T3+0B6I9Q/bi03u8cf2TGjWSe7FSSL+JlW3jHOBLcBeSbuzY5cCpwOY2VVmdkDSzcBe\nYBH4tJntA5D0IeAWYAbYHnNFDzjx5762KSvmca0bDMcd17udP/6zs/V1q2rGfnq73ANHj8b5q9aW\nbynkj23I2qpqFrduhumZQdtewwzTdeuW+/N/96sbUrP8yXQn/m6pcvCb2e0EvAFsZpcBl/U5vhPY\nOWw4J/7lDZzvX4dcmhdDWXV7y7GUla8plN7yK0/6ra24dTMMwT/7bJy/aeKv2hoqbt0M0zOHDw/2\njZv4y5cAO/F3S53+5K4T//Ltk9BPNo57XzVfU2jdqq2hYWs27R+2F6vW1nbPtFW3yQGdEvEXv3fq\n6vTgd+If/oUxTsrKszZRt609+1h/G73YpZ5pmvhDM6RE/MXvnbo6Pfid+Id/YeTr7/efXnWN+Kvq\npk78VXW71DN1ddu6BLgLxF++BNiJf8xqm/iLl69VKUXir/rUphN/vH/aib+tAd0F4h+mv1NXpwd/\n28QfWjdF4q/yO/HH+6ed+Nsa0F0g/mH6O3V1evC3TfyhdVMk/iq/E3+834k/HeJfzae3nfg7oK4R\nf/HSvKZq1vmd+J34Y/3TTvz5eob59LYTfwfUNeKv8neJ3pz4m/c78adD/G30YdmXujo9+LtG/FX+\nLtGbE3/zfif+dIi/jT4s+1JXpwe/E78TvxN/vN+J34m/Tp0e/E78TvxO/PF+J34n/jp1evA78Tvx\nO/HH+534nfjr1OnB78TvxO/EH+934nfir1OnB78Tfzt1R0XFTdR14o/3p9TfKfWME/+IVG6eEMqa\nxGYr0kgMvYUMnFAiCvGvZjgMqtvWwIn1t9GLXeqZkP5uug+hnV5sow9znxP/CFT+ETSEskJ+FG5j\nO6DNLYamXxhtvYhXs3URMnCa3A6J9bfRi13qmZD+bgMW2ujFNvow9znxj0CrpazQrZ4m6raZNeaF\nEeIvvyhjstadUId9DKqGYxuPa6x/0nsmJGvTfVj+3k31Yht9mPuc+Eeg1VJW6Ju7TdRtM2sMaYX4\ny4QTk7VuC23Yx6BqO6SNxzXWP+k9E5K16T4sf++merGNPsx9TvwjkNObE78T/3BZnfjjsjrxFyRp\no6TbJN0n6V5JF/XxzEn6jqTd2Z9PFO47KGlvdvyrseGc3pz4nfiHy+rEH5d12oi/bhlHgUvMbI+k\nE4C7Je0ys/0l35fN7B19vt6AOTN7ephwTm9O/E78w2V14o/LGtvfqauS+M3skJntyW4/A+wHTu1j\nVUWZqvsq5fTmxO/EP1xWJ/64rLH9nbqC9/glbQLOBu4o3WXAmyR9TdIXJb26dN+XJN0l6cLYcE5v\nTvxO/MNldeKPyzptxB+0jGybZwdwcUb+Rf09sNHMDkv6ceBG4JXZfeea2eOSXgbsknTAzL5Srr91\n69YXbs/NzTE3Nwd0g96Kv82nyt8lenPib97vxO/EP27in5+fZ35+vpFatYNf0ixwPXCtmd1Yvt/M\nvlu4vVPSlZJOMrOnzezx7PiTkj4HnANUDv6iukBv+ZMtVfu7RG9O/M37nfjTJP7ib81bM2B/IxXi\nL0IxwLZt24auVXdVj4DtwD4zu3yA55TMh6RzAJnZ05I2SHpxdvx44K3APTHhis0T2hTD0FvI4M81\nyB9TM8ZfJqeQuiEvjBjKCvWHPv4xdVdTs0l/G73YpZ6pq9tGH0I7vVj0hPz6xdAM4yb+JlV3/joX\n2ALslbQ7O3YpcDqAmV0F/DTwy5KOAYeB92S+lwM3ZOeEtcBnzOzWmHALC3DccVnQwB8D68glP/uH\nNlv5LF/VbMXvHdLA69fX+2NeGGbhPwq38SIOefxj666mZpP+sq+JXhymZ0L8wwzTurptwUK5B44e\nra4b2zP59z92DGZnh6+Zr2kq9vjN7Hbqr/y5Ariiz/EHgdetJlxblLVmzdLWzSQRf/7jbN3anPjj\n/U78y7dP8ve+NOCavWGJ/7nnqrPG9kz+/UOJv2praJKIv9Of3G2bskLqtkn8TdNbueGd+J342yD+\nprdPmu7FQcQfUrNqbZNE/J0e/G1TVkjdcRJ/eesmJGuxMZ34nfjbIP6Qul3Z48+/fxPAVPalrE4P\n/mkn/sXFHoHkP3JOEvGX1zZJxF++BDikF/PhZDa4bleIP6Ru+cSXPyZldY34Y+qmrE4P/mkn/tVQ\nVpW/C8Q/DGXlg3RxMazuuIg/f26L77XU9WL+3kzV2lIl/vwEX/f8OvGPTp0e/NNO/KuhrCp/F4h/\nWMqKqTsu4g/NvJpeTIn4q/xO/ONRpwe/E386xB/6Ced+NavqrobemiL+8lUedc9DaObV9GJTxF++\nvHkSetGJv16dHvxO/O1kLT5OxUvzBinkcV0tZbVRt3hpXoi/KkNx66YLxF+1NRTTiwsLyy8BHmcv\nNvUT2qh6MWV1evA78beTtfg4xV6aN8i7Wspqo26baxs38Vf5Y3pxmJpN1m3jJ7RR9WLK6vTgd+Jv\nn7Jy32r3zbtI/LH+mAzjJv5B/tBPb8dm6ALx91ubE/9w6vTgT5n4Fxbqt0+6QPzFvINU9A/aGuoi\n8cf6B20NpUT8oZ/ejs3QBeLvdwmwE/9w6vTgT5X48+asu+wwReIftH0yCcQfs7auEv8o+rvJujHE\nP+6eceIfkVZL/KG0G0tvTddNKesgf0pZY/0prS2lrGVfSllTV6cH/2qJP5R2Y+mt6bqDtoa6mHWQ\nP6Wssf6U1pZS1thPpo+7Z5z4R6SQ/ddB/nHTQEzdQZfmdTHrIH9KWWP9Ka3Nszrxh6jTg381Z+5x\n08C00VtKWWP9Ka3Nszrxh6jTg9/3zT2rE79n7ULWul/fmJo6vYzVnLkH/YdeKVGGZ3Xi96zdyToz\nM/gXz6SmTg/+Y8dWPiF1Z+7cL/X3r6Zmlb+NumUSCakZ4i9/7xAiqvOvdv1V9NbG8xXjn/SeCc3a\ndC+20Yf9fE304iTt70PHB39+ls2VX/2yGn8bNdvMWm7IGHIJzRpCRHX+1a6/it7aeL5i/JPeM6FZ\nm+7FNvqwn6+JXpyk/X2oGfySNkq6TdJ9ku6VdFEfz5yk70janf35r4X7Nks6IOl+SR+NDef05sTv\nxB+f1Ynfib9Odeewo8AlZrZH0gnA3ZJ2mdn+ku/LZvaO4gFJM8CngPOAR4E7Jd3U52sHyunNid+J\nPz6rE78Tf50qid/MDpnZnuz2M8B+4NQ+1n5veZwDPGBmB83sKHAdcH5MOKc3J34n/visTvztEP/U\nDP6iJG0CzgbuKN1lwJskfU3SFyW9Ojt+GvBwwfdIdixYTm9O/E788Vmd+Nsh/mna6gEg2+bZAVyc\nkX9Rfw9sNLPDkn4cuBF4ZUyIrVu3vnB7bm6Oubk5wOnNid+Jf5isTvyTSfzz8/PMz883Uqt2KZJm\ngeuBa83sxvL9Zvbdwu2dkq6UdBI9wt9YsG7Mjq1QcfAX5fTmxO/EH5/ViX8yib8IxQDbtm0bulbd\nVT0CtgP7zOzyAZ5TMh+SzgFkZk8DdwFnStokaR3wbuCmmHBOb078TvzxWZ34J5P4m1TdUs4FtgB7\nJe3Ojl0KnA5gZlcBPw38sqRjwGHgPdl9xyR9CLgFmAG2x1zRA05vTvxO/MNkdeKfTOJvUpWD38xu\np/7KnyuAKwbctxPYOWw4pzfP6sTvWbuYNXX5J3c7Tm+e1Ynfs3Yva+rq9OB3yvCsTvyetYtZU1fn\nB3/5TDypFkNWAAAMeUlEQVToCcx/AXjxv00NpYyqpgj1t1G3raz9HtcqIgrxt1Gzzbox/pg+jMmQ\nUs+0UTelnnHiH6HKbxBVvflT9ub+EMqoa4oQfxt128ra73GtexHX+duo2WbdGH9MH8ZkSKln2qib\nUs848Y9QMaRV9uZ+J/6VPif+OL8TvxN/v/mSsjo7+Ptt3UwK8ee/zafYSE78TvxO/N3tmX7zJWV1\ndvDnxFD8jTeTQvwLC0u/YL3K78TvxB/r70J/h/rLj9OaNUtQ1E9O/M2p04O/H8FPAvH32y904nfi\nn3bir6vrxN+cOjv4BxF8LPGH7CvG0lvZ32/rpqtZY+uaDb9fO+qsbflTWlvKWevqdi1ryurs4G+K\n+EP2FWPprV/N8tZNV7PG1l1cDFtbF7LG+hcXe+uqex8ppbWVPTMzS++XdT1rXd2yf9DW0KiypqzO\nDv6UiD+lrLF1U8oa65/EtZU9+YmtatuxK1nr6vZbW8h+vBP/SnV28KdG/Klk7bd109Wsbdbt5x3k\nT2ltTeybp5I1tK4T/0p1dvCnRNEpZe23vdHVrLF1B316e5rW1sS++cLCyq2haX/dOPGPSKnTwLRn\nzQfUoEvz2iDNUa5NGv3aZmbi32sJqVv051Awrn3zlF43Kauzgz91Gpj2rPn+awxpjur9iFh/ExQ9\nrvda2qqbUi868a9UZwd/6jQw7Vlj6/bzNvXp7a6srbh9kq+t7fda2qpbVTP0k+ldyBrqd+IfkVKn\ngTay5j+CD7o0r0tZY+v2uzSv3/ZGisTfb9trYSHs09ujzhpat6pm6Nq6kDXU78Q/IqVOA21kHXT5\nWhezNlG3rayx/pTW1oXXTUpZQ/1O/CNSajRQboq6rCH+fmtauzb8Mejn7SoV9/O39bjG+ttaWyrP\nQ+int7uQtZ/PiX+lKge/pI2SbpN0n6R7JV1U4f1BScckvatw7KCkvZJ2S/pqTLBR0UBO0Kv5ZGP5\nRRGSNcTfb00xxN9vaygl0mzrcY31Tzvxh356uwtZ+/mqag776e3UVbeUo8AlZrZH0gnA3ZJ2mdn+\noknSDPC7wM2lrzdgzsyejg3Wj8bqaDfEX/atWbM0IPud0cv+kJptZY2tW9wayo93NWs/f1tZY/0p\n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\n", "text": [ "" ] } ], "prompt_number": 158 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now accumulate phase for the hop period:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "k = 25 # bin number\n", "num_cycles = k * (hopsize/ float(winsize)) # how many cycles of bin between STFT hops\n", "\n", "total_phs_k = num_cycles * 2* pi # Total accumulated phase for bin\n", "num_cycles, total_phs_k" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 159, "text": [ "(6.25, 39.269908169872416)" ] } ], "prompt_number": 159 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Adjusted phase:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "phs_change = delta_phs[0]\n", "phs_change" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 160, "text": [ "2.4488454978294771" ] } ], "prompt_number": 160 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Expected change:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "total_phs_k % (2 * pi)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 161, "text": [ "1.5707963267948983" ] } ], "prompt_number": 161 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Phase divergence:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "div = phs_change - total_phs_k % (2 * pi)\n", "div" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 162, "text": [ "0.8780491710345788" ] } ], "prompt_number": 162 }, { "cell_type": "code", "collapsed": false, "input": [ "final_phs = total_phs_k + div\n", "final_phs" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 163, "text": [ "40.147957340906991" ] } ], "prompt_number": 163 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Estimate number of cycles in hop period from total accumulated phase:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "final_phs/(2*pi)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 164, "text": [ "6.3897458658478943" ] } ], "prompt_number": 164 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Multiply by overlap:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "(winsize/float(hopsize)) *final_phs/(2*pi)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 165, "text": [ "25.558983463391577" ] } ], "prompt_number": 165 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now times the number of windows to match the original full length:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "(N/float(winsize))*(winsize/hopsize) *final_phs/(2*pi)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 166, "text": [ "204.47186770713262" ] } ], "prompt_number": 166 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Yay! (or not...!) \n", "\n", "Original frequency was 203.3, but this still got us much closer to the original frequency than what the FFT bins provide:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "(N/float(winsize))*25" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 167, "text": [ "200.0" ] } ], "prompt_number": 167 }, { "cell_type": "code", "collapsed": false, "input": [ "(N/float(winsize))*26" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 168, "text": [ "208.0" ] } ], "prompt_number": 168 }, { "cell_type": "markdown", "metadata": {}, "source": [ "By: Andr\u00e9s Cabrera mantaraya36@gmail.com\n", "For MAT course MAT 201A at UCSB\n", "\n", "This ipython notebook is licensed under the CC-BY-NC-SA license: http://creativecommons.org/licenses/by-nc-sa/4.0/\n", "\n", "![http://i.creativecommons.org/l/by-nc-sa/3.0/88x31.png](http://i.creativecommons.org/l/by-nc-sa/3.0/88x31.png)" ] } ], "metadata": {} } ] }