{ "metadata": { "name": "Frequency_Resolution" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Introduction\n", "--------------\n", "\n", "In this section, we consider the very important problem of resolving two nearby frequencies using the DFT. This spectral analysis problem is one of the cornerstone problems in signal processing and we therefore highlight some nuances. We also investigate the circular convolution as a tool to uncover the mechanics of frequency resolution as the uncertainty principle emerges again." ] }, { "cell_type": "code", "collapsed": false, "input": [ "#%qtconsole" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "from __future__ import division\n", "\n", "Nf = 64 # N- DFT size\n", "fs = 64 # sampling frequency\n", "f = 10 # one signal\n", "t = arange(0,1,1/fs) # time-domain samples\n", "deltaf = 1/2. # second nearby frequency\n", "\n", "fig,ax = subplots(2,1,sharex=True,sharey=True)\n", "fig.set_size_inches((8,3))\n", "\n", "x=cos(2*pi*f*t) + cos(2*pi*(f+2)*t) # 2 Hz frequency difference\n", "X = fft.fft(x,Nf)/sqrt(Nf)\n", "ax[0].plot(linspace(0,fs,Nf),abs(X),'-o')\n", "ax[0].set_title(r'$\\delta f = 2$',fontsize=18)\n", "ax[0].set_ylabel(r'$|X(k)|$',fontsize=18)\n", "ax[0].grid()\n", "\n", "x=cos(2*pi*f*t) + cos(2*pi*(f+deltaf)*t) # delta_f frequency difference\n", "X = fft.fft(x,Nf)/sqrt(Nf)\n", "ax[1].plot(linspace(0,fs,Nf),abs(X),'-o')\n", "ax[1].set_title(r'$\\delta f = 1/2$',fontsize=14)\n", "ax[1].set_ylabel(r'$|X(k)|$',fontsize=18)\n", "ax[1].set_xlabel('Frequency (Hz)',fontsize=18)\n", "ax[1].set_xlim(xmax = fs/2)\n", "ax[1].set_ylim(ymax=6)\n", "ax[1].grid()\n", "\n", "# fig.savefig('figure_00@.png', bbox_inches='tight', dpi=300)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Seeking Better Frequency Resolution with Longer DFT\n", "----------------------------------------------------\n", "\n", "The top plot above shows the magnitude of the DFT for an input that is the sum of two frequencies separated by 2 Hz. Using the parameters we have chosen for the DFT, we can easily see there are two distinct frequencies in the input signal. The bottom plot shows the same thing except that here the frequencies are only separated by 0.5 Hz and, in this case, the two frequencies are not so easy to separate. From this figure, it would be difficult to conclude how many frequencies are present and at what magnitude.\n", "\n", "At this point, the usual next step is to increase the size of the DFT since the frequency resolution is $f_s/N$. Thus, the idea is to increase this resolution until the two frequencies separate. This is shown in the next figure." ] }, { "cell_type": "code", "collapsed": false, "input": [ "Nf = 64*2\n", "fig,ax = subplots(2,1,sharex=True,sharey=True)\n", "fig.set_size_inches((8,4))\n", "\n", "X = fft.fft(x,Nf)/sqrt(Nf)\n", "ax[0].plot(linspace(0,fs,len(X)),abs(X),'-o',ms=3.)\n", "ax[0].set_title(r'$N=%d$'%Nf,fontsize=18)\n", "ax[0].set_ylabel(r'$|X(k)|$',fontsize=18)\n", "ax[0].grid()\n", "\n", "Nf = 64*4\n", "X = fft.fft(x,Nf)/sqrt(Nf)\n", "ax[1].plot(linspace(0,fs,len(X)),abs(X),'-o',ms=3.)\n", "ax[1].set_title(r'$N=%d$'%Nf,fontsize=18)\n", "ax[1].set_ylabel(r'$|X(k)|$',fontsize=18)\n", "ax[1].set_xlabel('Frequency (Hz)',fontsize=18)\n", "ax[1].set_xlim(xmax = fs/2)\n", "ax[1].set_ylim(ymax=6)\n", "ax[1].grid()\n", "\n", "# fig.savefig('figure_00@.png', bbox_inches='tight', dpi=300)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nI3BDirMMvmcQERHJhiweperq6opr165phq9duwY3NzcTRkRERCRvsijgnTt3xqVLl5CUlITs7Gys\nX78egwZZg9KxAAAgAElEQVQNMnVYREREsiWLAm5paYnly5ejX79+8PT0xIsvvqh3ARsR6Tp+/DhC\nQ0Ph4uICpVKJgwVXdv3ryJEj8PPzg1KphIeHB959912jrDcnJweffvoppk6diqFDh+K5557DunXr\ndKY5ePAgWrVqhXHjxmHatGkYP348evTogdOnT+tMl5eXh5iYGLz88sv48MMPMXPmTCQWvuKKiIpW\n7DXqRCR7YWFhwsHBQQwZMkSyPTg4WOQXvuemnN5//31x4cIFzfDWrVuFQqEQy5Yt04yLi4sTjRo1\nEnXq1BH169cXL774ovjrr7/0lvXyyy+LqVOnaobbtWsnhg8fbrRYiaoyWVzERkRlk5ycDA8PDzRq\n1AhLlizB33//jWeeeUbTnpiYiICAAKPdxZGeno5Fixbhzp07WLFiBQBg4MCB6Ny5M2bPno3ISPVb\n4xQKBebPn4+xY8cWuayffvoJe/bswd9//60ZN2DAAHh5eRklVqKqThan0ImobOLj4xEYGIg33ngD\nALB8+XKd9ri4OAQGBhptfUqlEg0bNkR64Rt9ATRr1gz37t3D7du3NeNECXeOfPLJJwgODoay0A29\nn3zyCUaOHGm0eImqMlncB05EZRMZGYnFixfD0tISL7zwAuLj45GcnIxatWpp2gs/T6GidO7cGUlJ\nSUhNTYVSqcSBAwewZ88eZGVlwc7ODpcuXcLzzz+PF198EQCQlpaGBg0a4P3330ejRo2QlpaGv/76\nC/7+/oiIiKjweImqAp5CJzJjOTk5sLRUf4wnT56MzZs3Y82aNXj11VcBqC8Sq2inT5/GqVOnsHjx\nYp2j6XPnzmHjxo1QKBRIT09HixYtULNmTYSEhCAxMRFCCGzbtg27d++Gk5MT8vPz0bZtW2RlZWHS\npEkVHjeRueMROJGZSkxMxI8//oh33nlHM87Lyws5OTk4e/Yszp8/j7179+LNN9/Umzc8PBypqakG\nrcfJyQlr1qyRbMvPz0dAQABcXFywfv16zfj09HQIIWBvb68ZN2LECJw7dw5//vknjh07hq5du+LF\nF1/UuYI9MjIS33//PVJSUlCjRg2D4iOqrngETmSm4uPj0atXL51xkydPRkREBPbu3YuLFy8W2f8d\nGxtrlBhUKhVatWqFlStX6oy3s7PTm7ZWrVo4d+4c7t+/j/r16wNQ950X5uDggLS0NPz555/w8fEx\nSoxEVRUvYiMyU6dOnYK3t7fOuJEjR6J+/fpYunQpTp8+jXbt2lXY+pcsWQI7Ozt8+eWXUCgU+Oef\nf5CdnY309HQ0bdoUU6dO1Zn+4cOHUCgUsLKyQuPGjWFjY4Pc3FzJZRd0CxBR0fgpITJT+fn5On3O\nAFCzZk1MnDgR8+bNQ3jB66gklPcU+nfffQelUokPP/xQM27FihX46KOPoFQqkZWVhdatW+vMc/Hi\nRfj6+qJ27doAgL59++rcQgYAN27cQL169dC2bVuDYiOqzljAiczQr7/+CtfC798sZNKkSfjkk0/Q\npUuXIucvzyn03bt3Y+nSpXjhhRewYMECAOpbxhISEmBhYYHatWtj3LhxOqfvjx07hqtXr+LQoUOa\ncR9++CEGDBiAtLQ01KtXD/fu3cPOnTsxd+5cWFhYlDk+ouqCF7ERmZELFy5g+vTpiIuLg7W1NQYO\nHIivv/5ab7rw8HC8//77aNWqlVHXn5aWBnd3d2RkZOjd5x0SEoKNGzcCALKzszFv3jzcunULNWvW\nRGpqKt5991107NhRZ55du3Zh5cqVaNKkCVJSUjBo0CCMGTPGqDETVVUs4ERERGZINhex3b9/H8OG\nDUObNm3g6emJo0ePmjokIiIi2ZJNH/jkyZMRFBSEDRs2IDc3F48fPzZ1SERERLIli1PoDx48gLe3\nN65evWrqUIiIiMyCLI7AExMT4eTkhJdeegl//PEHOnXqhKVLl2qe5wzAaG9TIiIiMhfFHWPLog88\nNzcXJ0+exKRJk3Dy5EnUrl1bc3tKYUII/jz1Ex4ebvIY5PbDnDAvzAvzUhVyUhJZFHA3Nze4ublp\n7lsdNmwYTp48aeKoiIiI5EsWBdzFxQWNGzfGxYsXAQD79u3jk5gM5O7ubuoQZIc5kca8SGNepDEv\n+uSWE1n0gQNATEwMRo0ahezsbDRv3hyrV682dUhmoWfPnqYOQXaYE2nMizTmRRrzok9uOZFNAe/Y\nsSOOHz9u6jCIiIjMgixOoRMREVHpyOI+cEMoFAqDrsojIiKqCkqqezwCJyIiMkMs4GYuPj7e1CHI\nDnMijXmRxrxIY170yS0nLOBERERmiH3gREREMsQ+cCIioiqIBdzMya1PRg6YE2nMizTmRRrzok9u\nOZHNg1wA9WPq7O3tYWFhASsrKxw7dszUIREREcmSrPrAmzZtihMnTsDR0VGvjX3gRERUnZhdHziL\nNBERUclkdQpdoVCgd+/esLCwwMSJE/HKK6/otI8bN07zNhgHBwd4eXlpHi5f0DdR3YYLxsklHjkM\nP50bU8cjl+GEhARMmTJFNvHIZZjbC7cXQ4cLxlXk8uPj45GUlARDyOoU+o0bN9CwYUPcvn0bffr0\nQUxMDPz8/ADwFHpR4uPjNRsBqTEn0pgXacyLNOZFX2XnpKS6J6sCXticOXNga2uLadOmAWABJyKi\n6sVs+sAzMjKQnp4OAHj8+DH27NmD9u3bmzgqIiIieZJNAb916xb8/Pzg5eUFX19fDBw4EH379jV1\nWLJXuO+E1JgTacyLNOZFGvOiT245kc1FbE2bNkVCQoKpwyAiIjILsu0Dfxr7wImIqDoxmz5wIiIi\nMhwLuJmTW5+MHDAn0pgXacyLNOZFn9xywgJORERkhtgHTkREJEPsAyciIqqCWMDNnNz6ZOSAOZHG\nvEhjXqQxL/rklpNi7wMfNmwY0tLSyrUCKysrbNy4Eba2tuVaDhEREWnJqg88Ly8PnTt3hpubG7Zu\n3arTxj5wIiKqTsyqD3zp0qXw9PSEQqEwdShERESyJpsCnpycjB07dmD8+PE80i4FufXJyAFzIo15\nkca8SGNe9MktJ2V6Fnp+fj4SExNx9+5dKBQKODs7w9nZGTVq1ChzIG+99Raio6Px8OHDIqcZN24c\n3N3dAQAODg7w8vIy+QveTT1cQC7xcFi+wwkJCbKKh8PyHub2Uvn724Lfk5KSYAiD+8Dv37+Pr7/+\nGhs3bsTx48eRm5uLunXrwsLCAnfv3kVeXh46dOiAkJAQREREwNXV1aAAAGDbtm3YuXMnPvvsM8TH\nx2PRokXsAyciomqt3H3gQghER0fDz88Pt27dwnvvvYeUlBRkZ2cjNTUVN27cQFZWFtLS0rBw4ULk\n5eUhKCgI06ZNQ2ZmpkFB/vrrr9iyZQuaNm2KsLAw/PLLLxg7dqzhfyUREVF1I4qRkZEhQkNDxVdf\nfSWys7OLm1RHXl6eWL9+vRg0aJC4fv26wfMJIUR8fLwYOHCg3vgSQq224uLiTB2C7DAn0pgXacyL\nNOZFX2XnpKS6V+wR+MKFCzFv3jxERETAysrK4C8FSqUSI0aMwFdffYWPP/641F8qeBU6ERFR8WR1\nH3hx2AdORETVSYXcB56VlYWcnJwyB0VERETlU6YC7uvrC29vb81wbm4uPvjgA6xatQp5eXlGC45K\n9vTtDcScFIV5kca8SGNe9MktJ2Uq4O7u7ggNDdUMW1paYu7cuejVqxc++ugjowVHRERE0srUB75o\n0SJERETAwcEBAHDs2DH8/fffqFu3LmJjY/HNN98YP1D2gRMRUTVS7j7wGzduICMjQ2dcZGQkPv/8\nc+Tl5WHTpk3o1q0bXn/9dYwcORL+/v7lj5qIiIiKVWIBDw4OhqOjIwIDA7FgwQKcPHkSNWrUwKRJ\nk7BkyRKsXLkSx48fR2pqKlJTUzF+/PjKiJv+Jbc+GTlgTqQxL9KYF2nMiz655aTEAv7qq6+iZcuW\n6NGjB7Zv347nnnsOTk5OmDRpEs6dO4dHjx7By8urMmIlIiKif5XYB/7o0SPExsbi9ddfBwA8fvwY\nBw8exP79+7F//36cPn0aDRo0QM+ePeHv74+goCA0adLE+IGyD5yIiKqRkupeuR/kcufOHcTFxWkK\nemZmJpKTk0u9nCdPnsDf3x9ZWVnIzs7G4MGDMX/+fG2gLOBERFSNVMiDXAqrX78+hg8fjhUrVuDS\npUu4dOlSmZZjbW2NuLg4JCQk4PTp04iLi8Phw4fLG16VJ7c+GTlgTqQxL9KYF2nMiz655aTcBfxp\nNjY2ZZ63Vq1aAIDs7Gzk5eXB0dHRWGERERFVKZbFNRa8yMTZ2blMC79z5w7mzp2LJUuWGDR9fn4+\nfHx8cOXKFbz22mvw9PTUaR83bhzc3d0BAA4ODvDy8jL5C945LL/hnj17yioeOQ0XkEs8chjm9sLt\nRS7DBb8nJSXBEMX2gaenp2PixIno378/Ro0aBQsLC4MWKoTATz/9hLVr12LFihVwcXExaL4CDx48\nQL9+/bBgwQLNH8g+cCIiqk7K1QduZ2eHNWvW4O7du/Dx8cHMmTOxZ88ePHjwQG/ax48f48CBA5gz\nZw68vb1x9OhRrFu3rtTFGwDq1KmD4OBg/P7776Wet7p5+psyMSdFYV6kMS/SmBd9cstJiX3glpaW\nmDJlCg4cOIC6desiOjoazs7OsLGxgYuLCxo2bAhra2s4ODjggw8+QM2aNbFt2zYsXLiwVP3hd+7c\nwf379wEAmZmZ2Lt3r84LU4iIiEirTLeRZWdn4+bNm0hNTUV+fj6cnJzg4uJSrgvYzpw5g/DwcOTn\n5yM/Px9jxozB9OnTtYHyFDoREVUjRrkP/MyZM2jfvr1RAystFnAiIqpOjHIf+HvvvWe0gMi45NYn\nIweFc5KSch3BwTMQHDwDKSnXTReUDHBbkca8SGNe9MktJwYV8MOHD+PRo0cGLfDhw4flCojImCZM\niMGOHTOxY8dMhIfHmDocIiKjMegUulKpxOjRo7FmzZoSFzh8+HD8+OOPRgmuMJ5Cp7Lo3HkGTpyY\nCQCwto7CkSPzwXfvEJE5KKnuFfsglwI9evRAWFgYpk2bhkWLFhU53alTp3Do0KHSR0lkRCkp1zFh\nQgyuXweSkoajW7co1KkDDBwYicDA62jWLAbOzsDKlZFwdW1k6nCJiMpGGCA/P18IIcSJEyfEG2+8\nIfLy8jRtubm54vvvvxfdunUTCoVCKJVKQxZZagaGWu3ExcWZOgTZ8fUdKYAMAWQIPz+VTtt//qPS\ntAUFqYpYQtXEbUUa8yKNedFX2Tkpqe4Z1AeuUCgAAD4+Ppg4cSImTZqE5ORkzJ07F8888wzCwsJw\n4cIFTJs2DfXq1avArxtEJSt8xsnOTrfNwaFyYyEiqigGnUL/7rvvMHLkSADqh6xcuXJF887vdu3a\nYfbs2Rg9ejSsra1ha2tbcdGSnoJHzZLWuHHRuHw5Cl27qk+TF7ZyZSTGj4/CL78A06dHFrGEqonb\nijTmRRrzok9uOTHoIrYWLVpg9uzZWL58OY4dOwalUong4GAIIbB27VrY29tXfKC8iI0MFBAAvPYa\nMGJE0dN8+CFw/z4QwwvTiUimjHIf+NWrVzF27FhcvHgR06ZNw+XLl/Hzzz/jq6++wtSpU3Hv3r1y\nB3rt2jUEBASgbdu2aNeuHZYtW1buZVYHcrsv0dTOnwdOn45HSEjx002cCHz7LVCd7nrktiKNeZHG\nvOiTW04MKuD29vb44osvkJycjOjoaM0rPRs0aIDo6GhMnz4dqamp5QrEysoKixcvxtmzZ3H06FF8\n9tlnOH/+fLmWSdXPihVAUBBQo0bx07m5Ab16Ad98UzlxEREZm0Gn0ENCQrB58+Yi29PT0/HWW29h\n5syZWLp0abG3mhkqJCQEkZGR6NWrlzpQnkKnEjx+DDRpApw6pf63JAcOqE+1nz0L/HudJhGRbBjl\nWeh//vkn2rVrV+w0mZmZGDhwIOLj45GXl1f6SAtJSkqCv78/zp49q7koTqFQIDw8XHP07+DgAC8v\nL5O/gJ3D8hnesQM4f74ntm41bPrbt+/g5ZdPoG1b4O23O6F+/fqy+ns4zGEOV6/hgt+TkpIAALGx\nscUfuBrznrVr164Ja2vrci0jPT1ddOrUSWzatElnvJFDrTJ4r6YQyckpIihIJeztVSI2NsXgnAQF\nVa97wrmtSGNepDEv+szyPnBDubm5oXv37mWePycnB0OHDsXo0aMRUtJVSET/Knje+cOHM/H992W7\nrDw318hBERFVMIPuAy+NKVOmlGk+IQQiIiLg6elZ5mVURwWnYEhNoTA8JytXRmLChCgcPw4MGlT1\n7wnntiKNeZHGvOiTW04M6gOvDIcPH0aPHj3QoUMHzZPf5s+fj/79+wPgRWxUtJSU6/DwiEH79sCP\nP5b++earVgG7dwM//FBBARIRlUG5LmIbNmwY0tLSyhWAlZUVNm7cWO4ntLGAS4uPj5fdt8LKdvky\n4OcHpKQASmXpc3L7NtCiBXDzJmBjU3Fxmhq3FWnMizTmRV9l56RcbyPbsGGD0QMiMrZNm4DBg9XF\nuyycnABvb2DfPuD5540bGxFRRZHNKfSS8AicivKf/wCzZgH9+pV9GUuXAn/8Afz3v8aLi4ioPIxy\nH7gcsICTlBs3AE9P4Natkp++Vpx//gF8fNSn0S2NfmknEVHpGeVZ6CRfhR8AUB39/DMwYIBu8S5L\nTpo0AdzdgUOHjBaa7FT3baUozIs05kWf3HLCAk5mbdMmYMgQ4yzrhReAjRuNsywioorGU+hktu7f\nVx85X78OGOM19PHx19G/fwx69VLfI17a29GIiIyJp9CpSkpJuY6AgBmwsZmBBw+uG2WZ0dExyMqa\niR07ZmLCBL4onIjkjQXczMmtT6ayTJgQg4SEmUhN1S+21TUnJWFepDEv0pgXfXLLiWwK+Msvvwxn\nZ2e0b9/e1KGQGaiIZ5evXBmJHj2iULNmFL74ouo/WpWIzJts+sAPHToEW1tbjB07FmfOnNFrZx84\nFfbpp9fxyScx6NTJ+P3VPj7AwoVAYKDRFklEVGrlehJbZfLz89O8A5WoJLt2NcKyZfMxYoTxlz1y\nJPDddyzgRCRvsinghhg3bhzc3d0BAA4ODvDy8jL5C9hNPVwwTi7xVMbwzZvAkSPxmDoVAPTbn85N\naZcfGgq0aROPF18E+vQx/d9rrOGEhATNm/7kEI9chsu7vVTVYW4vlb+/Lfjd0INZ2ZxCB4CkpCQ8\n//zzPIVeCvHV8IUDy5YBJ04AsbHS7cbISUAAMHkyUJVeS18dtxVDMC/SmBd9lZ0Ts3qUKgs4GaJr\nV2DOnPI9+7wkX34J7N3LV4wSkenwPnCqUi5fBhITgV69KnY9Q4eq3xH+8GHFroeIqKxkU8DDwsLw\nn//8BxcvXkTjxo2xevVqU4dkFgr3nVQH69YBI0YU/8IRY+QkM/M6rK1nwM9vBlJSjPOgGFOrbtuK\noZgXacyLPrnlRDYXsa1bt87UIZCMpaRcx4QJMThwAPj220gAFfuY0wkTYpCaOhOpqcCECVHYvn1+\nha6PiKi0ZNUHXhz2gVdvwcEzsGPHTABAUFDFF9TC6/PwiML58yzgRFS52AdOVcLjx5W7vpUrIxEU\nFIXAwCikpUViz57KXT8RUUlYwM2c3PpkyiMl5TqCg2cgOFi33zk9HUhJiUS7dlEICorCypXFP+bU\nGDlxdW2E7dvnY//++diwoRHCwtQvTwkOnoHffz+pE2dRcctNVdpWjIl5kca86JNbTmTTB07VU0Hf\nNgA8efIEv/wyD4C633nlykhMmBCDEyeAwMBIfPedaU5j9+gBNGwYg/h49Sn1AwdG4vHj7/5ti0Kt\nWsCff87UxM3+ciKqDOwDJ5Pq338Gdu9WFz9Ly5HIzVUXRmvrKNjYAPfuzfx3uijs3Gm6wli4T9zG\nZiQyM9VxtmoVhYwMIDlZ3day5XQ0b24HpZLvFCei8jGbZ6FT9VBwxJ2fD3TvHonCZ6Q6dHCFo2MU\nrKyAWbMiMXlyDH77Td2mNHFnj/psQBQAYM6cDzFrVpRmPKA+8n7wALhwwQqXLqmL+dixUVizJlJz\nhmHOnOGYNevHp+aL0Qyz2BNRafAI3MzJ5XGHhU+FF1WohABSU5/gxAn1aXInpyjExkZi+XLpIlZ4\nmaUpcKbMSeEjdSsr9VmEhw/Vw7Vra0+9e3hEwcICOHtW3ebvPx21a9sB0C/uxir8ctlW5IZ5kca8\n6JPbo1R5BG7mEhISyrVBPV0kAcMKR0GbEMDkyZGYNi1GU4z27NGeCvfwiIKlJXD/vrrNwmKkZt1d\nugADBjTCgAHSp8YLLiQrrfLmpDwKH6l//nkkQkNjcPSoui0vTztddjaQk6MdPnAgBYA6Z717q/vV\nT55U5+zIkZG4d0/dFhoaBaUSOHhQ3TZmzHTY2BhW+A8cOIDo6N2SbcXNV7itKp4pMOX2ImfMiz65\n5UQ2BXzXrl2YMmUK8vLyMH78eLz77rumDsmoDDlCLUvb55//hL17b5V5mYUvHAsNjUJmJnDihLo4\nxMVp+3r9/KKgUABXr6rb9u0biexsdduhQ1GoU0f7t9raAvfvq3/38lIXriNH1MM9erjCxkb39LOx\n3S9YuQk8/aVjw4aST70DwOPH7jhwQD3PkyfAvXvaZRZ+nOsffwD5+drhuDht4X/22SjUqAEkJan/\nj+LjRyIjQ90WEBCFu3cPIy1NfT/c4cMj8fChum30aPXZgP371fMdOzYSd+6o28aPV/+/79xZ+i8M\n5tJ27do1BAfPkEUscvpyZMrPkVzJLidCBnJzc0Xz5s1FYmKiyM7OFh07dhTnzp3TmQaACApSiePH\nT4igIJUIClKJ5OQUkZycohmWY9uAASpx5UqK6NtXJYAMAWSIevVCNL/37KkS/v7atrp1tW2+virR\nubO2zdZW29amjUp4eqoE8L4AMkStWto2V1eVaNBAO59SqW2zsVGJWrW0bUBIoeWrhJOTtq3wMj08\nVKJ1a22bvb22reDvNyQvyckpFb49zZo1q8LXYWxP58jQfPr5TdH8P3TooBJt2kj//7VooRJ163bX\nDNeoobtN1KghvU0Aqn9/9Ntq11YJe3ttm5WVtq1ePZWoV08lub7GjVXimWdUhdavbWveXCVatJD+\nG9q2VYl27bRtdnbato4dVcLLS3r77NJFJXx9tW0ODtq2bt1UokkTbV4Kf/569ND9bDo6atsCAlQi\nIEC6rVcvlejdW/rz3revSmdfUL++tq1/f5W4ejVFDBig3m8cO2ba/dnUqVNNvv+UW9vUqVMrdX0l\nlWhZFPBff/1V9OvXTzM8f/58MX/+fJ1pAAggQ1hahhT6IKqEg4P2w1C4zd5ed+diYaFbqGxtpQtc\n7dq6Ba5wm7W1Slhba9sUipBCy1cJpVJ6R6dQ6LYVns/aWiVsbKTjdHRUifr1VYWm1ba5uxfsBEfr\n7QTbt1eJTp2kvxQ8/YXBz+91MWBA+TdAOQkPDzd1CJWmNIV/+PDh5dq5DBigEv7+2i8MPXqoRLdu\n2m2pTh3dotmli3RBbdu26C8aLVuqRMuW0sW9SROVcHPTttWsqW1r2FAlGjaU/sJQr55KODoWvZ+w\nsmov+fkr676gRo2ivxBZWKiEhUXR+4miviwV90VKqSx632NpqRJWVtJx1qypEjVrFt2mVLaXbCvu\nb3+67emDh8L7usJttWoVnevatVWidm3D2orbzxdus7NTCTu70rdZWbXXqSuFt6U6dVSiTh3ptuJq\nlYODStStK91WUgGXxUVsGzZswO7du/Hll18CANauXYvffvsNMTExmmkUCoWpwiMiIjKJ4kq0LPrA\nDSnOMvieQUREJBuyeJSqq6srrl27phm+du0a3NzcTBgRERGRvMmigHfu3BmXLl1CUlISsrOzsX79\negwaNMjUYREREcmWLE6hW1paYvny5ejXrx/y8vIQERGBNm3amDosIiIi2ZLFETgADBgwAH/99Rcu\nX76MGTNm6LTt2rULHh4eaNmyJT7++GMTRSg/7u7u6NChA7y9vfHss8+aOhyTePnll+Hs7Iz27dtr\nxt29exd9+vRBq1at0LdvX/ndu1kJpPIye/ZsuLm5wdvbG97e3ti1a5cJIzSNa9euISAgAG3btkW7\ndu2wbNkyANV7mykqJ9V9e3ny5Al8fX3h5eUFT09PTV2S07Yii6vQi5OXl4fWrVtj3759cHV1RZcu\nXbBu3ToeoQNo2rQpTpw4AUdHR1OHYjKHDh2Cra0txo4dizNnzgAA3nnnHdSvXx/vvPMOPv74Y9y7\ndw8LFiwwcaSVSyovc+bMgZ2dHaZOnWri6Ezn5s2buHnzJry8vPDo0SN06tQJmzdvxurVq6vtNlNU\nTn744Ydqv71kZGSgVq1ayM3NRffu3bFw4UJs2bJFNtuKbI7Ai3Ls2DG0aNEC7u7usLKyQmhoKH7+\n+WdThyUbMv/+VeH8/PxQt25dnXFbtmxBeHg4ACA8PBybN282RWgmJZUXgNuLi4sLvLy8AAC2trZo\n06YNUlJSqvU2U1ROAG4vtWrVAgBkZ2cjLy8PdevWldW2IvsCnpKSgsaNG2uG3dzcNBtXdadQKNC7\nd2907txZcw89Abdu3YKzszMAwNnZGbdu3TJxRPIRExODjh07IiIiolqdJpaSlJSEU6dOwdfXl9vM\nvwpy0rVrVwDcXvLz8+Hl5QVnZ2dNN4OcthXZF3A+wKVo//vf/3Dq1Cns3LkTn332GQ4dOmTqkGRH\noVBwG/rXa6+9hsTERCQkJKBhw4aYNm2aqUMymUePHmHo0KFYunQp7OzsdNqq6zbz6NEjDBs2DEuX\nLoWtrS23FwBKpRIJCQlITk7GwYMHERcXp9Nu6m1F9gWc94gXrWHDhgAAJycnDBkyBMeOHTNxRPLg\n7OyMmzdvAgBu3LiBBg0amDgieWjQoIFmhzN+/Phqu73k5ORg6NChGDNmDEJCQgBwmynIyejRozU5\n4XeNfU4AAAuFSURBVPaiVadOHQQHB+PEiROy2lZkX8B5j7i0jIwMpKenAwAeP36MPXv26FxxXJ0N\nGjQIsbGxAIDY2FjNDqm6u3Hjhub3TZs2VcvtRQiBiIgIeHp6YsqUKZrx1XmbKSon1X17uXPnjqbb\nIDMzE3v37oW3t7e8tpWKfNGCsezYsUO0atVKNG/eXMybN8/U4cjC1atXRceOHUXHjh1F27Ztq21e\nQkNDRcOGDYWVlZVwc3MT//3vf0VaWpro1auXaNmypejTp4+4d++eqcOsdE/nZdWqVWLMmDGiffv2\nokOHDmLw4MHi5s2bpg6z0h06dEgoFArRsWNH4eXlJby8vMTOnTur9TYjlZMdO3ZU++3l9OnTwtvb\nW3Ts2FG0b99efPLJJ0IIIattRfa3kREREZE+2Z9CJyIiIn0s4ERERGaIBZyIiMgMsYATERGZIRZw\nIjIbX3zxBerUqYN79+5VyvqGDBmCwMDASlkXUWmxgBMVIT4+Hkqlssif6vxgC1N48OABZs2ahalT\np+o853327NlQKpU4efKk5HwF/4+LFi0q9TrnzJmDAwcOYOvWrWWOm6iiyOJ94ERyNnLkSAQFBemN\nb968uQmiqb4+//xzPHjwAG+88UaZ5i/LIy87dOiAnj174qOPPsLzzz9fpvUSVRQWcKIS+Pj4YOTI\nkQZPn5eXh+zsbNjY2FRgVNVLfn4+/u///g9BQUGoV69epa57zJgxePnll3Hq1Cl4e3tX6rqJisNT\n6ETl8PXXX0OpVGL//v346KOP0Lx5c9jY2OCHH34AoH5M5RdffIFOnTqhdu3asLOzQ2BgIOLj4/WW\n9eTJE0yfPh2NGjVCrVq14Ovriz179mDcuHFQKnU/qu7u7ggICNBbRsHp4oJHPRbIysrCvHnz0LZt\nW9jY2KBu3boYNGgQEhISipx/9erVaNu2LaytreHu7o7o6GjJHJw6dQrDhw+Hs7MzrK2t0aRJE4wc\nORJXr15FdnY2nJyc0L17d8l5o6OjoVQqcfjw4SJzDKhfK/zPP/9Ingkpi549exbZNdK0aVOdafv3\n7w8Amv9TIrngEThRCR4/fow7d+7ojLO2toatra1m+O2330Zubi4mTpwIe3t7eHh4AFAfvX3//fcY\nPnw4IiIi8OTJE3z77bfo06cPNm7cqHNaNiwsDD///DMGDRqEfv364fLlyxg6dCiaNm2qd/q3pLcg\nFW7LyclB//79ceTIEYwdOxZvvvkm7t+/jy+//BLdunXDwYMH0alTJ535V6xYgVu3bmH8+PFwcHDA\nN998g3fffRdubm4ICwvTTLdt2zYMHToUdnZ2GD9+PFq0aIEbN25gz549OHv2LJo1a4Zx48Zh0aJF\nuHjxIlq1aqWznv/+979o3bp1kQW+wIEDBwAAzz77bJHT3L9/X+//CVD3nT/tgw8+QGpqqs64y5cv\nY/bs2XBxcdEZ7+LiAnd3d8kvXUQmZbKHuBLJXFxcnFAoFJI/YWFhQgghVq9eLRQKhfDw8BCZmZk6\n82/cuFEoFArx1Vdf6YzPzc0VnTt3Fk2bNtWM2717t1AoFOKll17SmXbz5s1CoVAIpVKpM/6ZZ54R\nAQEBRcYcGxurGffpp58KhUIh9uzZozPtw4cPRZMmTUTPnj315nd1dRUPHz7UjM/IyBBOTk7iueee\n04x7/PixqF+/vnB2dhbXr1/XiyU/P18IIcTFixeFQqEQ77zzjk774cOHhUKhENHR0XrzPm3s2LFC\noVCI9PR0vbZZs2YV+f9U+GfRokVFLv/u3buidevWwsnJSVy9elWvvVevXsLOzq7EOIkqE4/AiUow\nceJEDB8+XGfc00dpr732GqytrXXGrV27FnZ2dhg0aJDekeHAgQMxZ84cXL58GS1atMDmzZsBANOn\nT9eZbvDgwWjVqhUuXbpU5vjXrl2LNm3awMfHRy+O3r17Y82aNcjKykLNmjU141966SWd92Tb2NjA\n19cXR48e1YzbvXs30tLS8PHHH2tebVtYwVmAli1bwt/fH2vWrMG8efNgYWEBAFi1ahWsrKwQHh5e\n4t9w+/ZtWFlZ6Zz1eNrnn3+ud4QPAAkJCXj77beLnK/gVZp///039u3bp3cKHQDq1auHR48e6eWJ\nyJRYwIlK0LJlyxLvBZYqHOfPn0d6ejqcnZ0l51EoFLh16xZatGiBq1evwsLCQnI5bdq0KVcBP3/+\nPJ48eQInJ6ci47hz5w5cXV0145o1a6Y3Xb169ZCWlqYZLojJkAu7JkyYgFGjRmHbtm0YPHgw0tPT\n8cMPP2DgwIFFxvV0jCV59tln4ePjozf+6esHpGKLj4/HN998g27duklOI4QosduCqLKxgBMZQa1a\ntfTGCSHg5OSEdevWFTlf27Zty7S+ogpJbm6uZBwdOnTAp59+WuTy6tevrzNccJRsLEOHDsWbb76J\nVatWYfDgwVi/fj0yMjIwfvx4g+Z3cnJCTk4O0tPTdc4MlNe8efMQGxuLDz/8EKNGjSpyurt378LW\n1hY1atQw2rqJyosFnKiCtGzZEjt27ICvry9q165d7LTNmjXDnj178Ndff8HT01On7fz583rTOzo6\n6hwNF7h69areuFatWiE1NRUBAQFGPYJs3bo1APVV6L179y522ho1amDs2LFYtmwZbty4gVWrVsHN\nzU1zhXdJ2rVrB0B91C91lF0WP/zwAz788EOEhoZizpw5xU57+fJlTQxEcsHbyIgqSHh4OPLz8zFj\nxgzJ9lu3bml+DwkJAQC9W7U2b96Mixcv6s3bunVrXLhwAdevX9eMy8rKwmeffaY37dixY3Hz5s0i\nj8ALx1GSwl8A+vbti/r162PRokW4efNmifO+8soryMv7//buHaRxOI4D+FfRoUMFQUXRoSiCQ+lg\nUEQUDQoOWgtaUHCwihqKgqDYQRwsQsnuYygEqm3xsRQHO1jt0kJ1EQc7ZikOYsClW/H0huPkStWr\n56s5vp8pof/HL1l+yf+R/oDL5cL5+TkcDkfeDxS/t8wlEom8Y33N2dkZxsfH0dbWBp/P92rZm5sb\npFIpdHV1fUjfRB+Fb+BEn2R4eBgTExPY2NjAxcUF+vv7UVFRgevrayQSCaiqClVVAfxKhlarFdvb\n27i7u0NfXx9UVYXX64XZbEYymcxqe25uDnt7e+jt7YUkSchkMggEAs8O5c/PzyMSiWBpaQnRaBSi\nKKKsrAypVAqnp6cwGAyIRqN5XdPj4+PTscFggKIosNvtMJvNmJqaQkNDAzRNw/HxMRYWFjA4OPhU\nvqmpCR0dHQgGgyguLsbk5GTe91IQBNTX1yMcDmN2djbvei+x2Wy4v7+H3W7P2d9tNBphs9mezsPh\nMADkLGQk+m5M4ETv9NpbpKIoEEURXq8Xsiwjk8mgpqYGzc3NkGU5q+z+/j5WVlYQDAYRiURgsVgQ\nCoUQCARwdXWVVba9vR0+nw8ejwculwt1dXVwOp0QBAE9PT1ZZUtKSnB0dIStrS34/X6srq4CAGpr\na9Ha2pqzCvyl63luEZfVakU8HofH44GiKEin06iurkZnZycsFktOGzMzM4jH4xBFESaT6cX79hxJ\nkrC8vIzb21tUVVW9GtffaJqGoqIiLC4u5vxmMpmyErjf70dLSwu/wkYFp+jxz0dqIio4DocDOzs7\neHh4+O5Q3u3g4ACjo6PY3d3FyMjIm+qm02k0NjZienoaa2trnxRhtsvLSwiCgMPDQwwMDHxJn0T5\n4hw4kQ78L9uXNjc3UVlZiaGhoTfXNRqNcLvdWF9f/7K/E3W73eju7mbypoLEIXQiHdDzQJmmaTg5\nOUEsFkMsFoMsyygtLf2ntiRJgiRJHxzhy0Kh0Jf1RfRWTOBEBU7vHxBJJpMYGxtDeXk5nE7ns/PO\nRPR2nAMnIiLSIc6BExER6RATOBERkQ4xgRMREekQEzgREZEOMYETERHpEBM4ERGRDv0EZjcttDLb\nsPAAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "As the figure above shows, increasing the size of the DFT did not help matters much. Why is this? Didn't we increase the frequency resolution using a larger DFT? Why can't we separate frequencies now? \n", "\n", "The Uncertainty Principle Strikes Back\n", "--------------------------------------------\n", "\n", "The problem here is a manifestation the uncertainty principle we [previously discussed](http://python-for-signal-processing.blogspot.com/2012/09/investigating-sampling-theorem-in-this.html). Remember that taking a larger DFT doesn't add anything new; it just picks off more discrete frequencies on the unit circle. Note that we want to analyze a particular signal $x(t)$, but we have only a *finite section* of that signal. In other words, what we really have are samples of the product of $x(t),t\\in \\mathbb{R}$ and a rectangular time-window, $r(t)$, that is zero except $r(t)=1 \\Leftrightarrow t\\in[0,1]$. This means that the DFT is structured according to the rectangular window, which explains the `sinc` shapes we have seen here.\n", "\n", "The following figure shows the updated DFT using a longer duration rectangular window." ] }, { "cell_type": "code", "collapsed": false, "input": [ "t = arange(0,2,1/fs)\n", "x=cos(2*pi*f*t) + cos(2*pi*(f+deltaf)*t)\n", "\n", "Nf = 64*2\n", "fig,ax = subplots(2,1,sharex=True,sharey=True)\n", "fig.set_size_inches((8,4))\n", "\n", "X = fft.fft(x,Nf)/sqrt(Nf)\n", "ax[0].plot(linspace(0,fs,len(X)),abs(X),'-o',ms=3.)\n", "ax[0].set_title(r'$N=%d$'%Nf,fontsize=18)\n", "ax[0].set_ylabel(r'$|X(k)|$',fontsize=18)\n", "ax[0].grid()\n", "\n", "Nf = 64*8\n", "X = fft.fft(x,Nf)/sqrt(Nf)\n", "ax[1].plot(linspace(0,fs,len(X)),abs(X),'-o',ms=3.)\n", "ax[1].set_title(r'$N=%d$'%Nf,fontsize=18)\n", "ax[1].set_ylabel(r'$|X(k)|$',fontsize=18)\n", "ax[1].set_xlabel('Frequency (Hz)',fontsize=18)\n", "ax[1].set_xlim(xmax = fs/2)\n", "ax[1].set_ylim(ymax=6)\n", "ax[1].grid()\n", "\n", "# fig.savefig('figure_00@.png', bbox_inches='tight', dpi=300)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The top plot in the figure above shows the DFT of the longer duration signal with $N=128$. The bottom plot shows the same signal with larger DFT length of $N=512$ and a clear separation between the two frequencies. Thus, as opposed to the previous case, a longer DFT *did* resolve the nearby frequencies, but it needed a longer duration signal to do it. Why is this? Consider the DFT of the rectangular windows of length $N_s$,\n", "\n", "$$ X[k] = \\frac{1}{\\sqrt N}\\sum_{n=0}^{N_s-1} \\exp\\left( \\frac{2\\pi}{N} k n \\right) $$\n", "\n", "after some re-arrangement, this reduces to\n", "\n", "\n", "$$ |X[k]|=\\frac{ 1}{\\sqrt N}\\left|\\frac{\\sin \\left( N_s \\frac{2\\pi}{N} k\\right)}{\\sin \\left( \\frac{2\\pi}{N} k \\right)}\\right|$$\n", "\n", "which bears a strong resemblence to our [original](http://python-for-signal-processing.blogspot.com/2012/09/investigating-sampling-theorem-in-this.html) `sinc` function. The following figure is a plot of this function" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def abs_sinc(k=None,N=64,Ns=32):\n", " if k is None: k = arange(0,N-1)\n", " y = where(k == 0, 1.0e-20, k)\n", " return abs(sin( Ns*2*pi/N*y)/sin(2*pi*y/N))/sqrt(N)\n", "\n", "fig,ax=subplots()\n", "fig.set_size_inches((8,3))\n", "\n", "ax.plot(abs_sinc(N=512,Ns=10),label='duration=10')\n", "ax.plot(abs_sinc(N=512,Ns=20),label='duration=20')\n", "ax.set_xlabel('DFT Index',fontsize=18)\n", "ax.set_ylabel(r'$|X(\\Omega_k)|$',fontsize=18)\n", "ax.set_title('Rectangular Windows DFTs',fontsize=18)\n", "ax.grid()\n", "ax.legend(loc=0);\n", "\n", "# fig.savefig('figure_00@.png', bbox_inches='tight', dpi=300)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 5, "text": [ "" ] }, { "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that the DFT grows taller and narrower as the sampling duration increases (i.e. longer rectangular window). The amplitude growth occurs because the longer window accumulates more \"energy\" than the shorter window. The length of the DFT is the same for both lines shown so only the length of the rectangular window varies. The point is that taking a longer duration rectangular window improves the frequency resolution! This fact is just the uncertainty principle at work. Looking at the `sinc` formula, the null-to-null width of the main lobe in frequency terms is the following\n", "\n", "$$ \\delta f = 2\\frac{N}{2 N_s} \\frac{f_s}{N} =\\frac{f_s}{N_s} $$\n", "\n", "Thus, two frequencies that differ by at least this amount should be resolvable in these plots. \n", "\n", "Thus, in our last example, we had $f_s= 64,N_s = 128 \\Rightarrow \\delta f = 1/2$ Hz and we were trying to separate two frequencies 0.5 Hz apart so we were right on the edge in this case. I invite you to download this IPython notebook and try longer or shorter signal durations to see how these plots change. Incidentally, this is where some define the notion of *frequency bin* as the DFT resolution ($ f_s/N $) divided by this minimal resolution, $ f_s/N_s $ which gives $ N_s/N $. In other words, the DFT measures frequency in discrete *bins* of minimal resolution, $ N_s/N $.\n", "\n", "However, sampling over a longer duration only helps when the signal frequencies are *stable* over the longer duration. If these frequencies drift during the longer sampling interval or otherwise become contaminated with other signals, then advanced techniques become necessary.\n", "\n", "Let's consider in detail how the DFT of the rectangular window affects resolution by considering the circular convolution.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Circular Convolution\n", "\n", "Suppose we want to compute the DFT of a product $z_n=x_n y_n$ as shown below,\n", "\n", "$$ Z_k = \\frac{1}{\\sqrt N}\\sum_{n=0}^{N-1} (x_n y_n) W_N^{n k} $$\n", "\n", "in terms of the respective DFTs of $x_n$ and $y_n$, $X_k$ and $Y_k$, respectively, where\n", "\n", "$$ x_n = \\frac{1}{\\sqrt N}\\sum_{p=0}^{N-1} X_p W_N^{-n p} $$\n", "\n", "and\n", "\n", "$$ y_n = \\frac{1}{\\sqrt N}\\sum_{m=0}^{N-1} Y_m W_N^{-n m} $$\n", "\n", "Then, substituting back in gives,\n", "\n", "$$Z_k = \\frac{1}{\\sqrt N} \\frac{1}{N} \\sum_{p=0}^{N-1} X_p \\sum_{m=0}^{N-1} Y_m \\sum_{n=0}^{N-1} W_N^{n k -n p - n m}$$\n", "\n", "\n", "The last term evaluates to\n", "\n", "$$ \\sum_{n=0}^{N-1} W_N^{n k -n p - n m} = \\frac{1-W_N^{N(k-p-m)}}{1-W_N^{k-p-m}} \\hspace{2em} = \\frac{1-e^{j2\\pi(k-p-m)}}{1-e^{j 2\\pi (k-p-m)/N}}$$ \n", "\n", "This is zero everywhere except where $k-p-m= q N$ ($q\\in \\mathbb{Z}$) in which case it is $N$. Substituting all this back into our expression gives the *circular convolution* usually denoted as\n", "\n", "$$ Z_k = \\frac{1}{\\sqrt N} \\sum_{p=0}^{N-1} X_p Y_{((k-p))_N} = X_k \\otimes_N Y_k $$\n", "\n", "where the double subscripted parenthesis emphasizes the periodic nature of the index. The circular convolution tells us to compute the DFT $Z_k$ directly from the corresponding DFTs $X_k$ and $Y_k$.\n", "\n", "Let's work through an example to see this in action. " ] }, { "cell_type": "code", "collapsed": false, "input": [ "def dftmatrix(Nfft=32,N=None):\n", " 'construct DFT matrix'\n", " k= np.arange(Nfft)\n", " if N is None: N = Nfft\n", " n = arange(N)\n", " U = matrix(exp(1j* 2*pi/Nfft *k*n[:,None])) # use numpy broadcasting to create matrix\n", " return U/sqrt(Nfft)\n", "\n", "Nf = 32 # DFT size\n", "U = dftmatrix(Nf,Nf)\n", "x = U[:,12].real # input signal\n", "X = U.H*x # DFT of input\n", "rect = ones((Nf/2,1)) # short rectangular window\n", "z = x[:Nf/2] # product of rectangular window and x (i.e. chopped version of x) \n", "R = dftmatrix(Nf,Nf/2).H*rect # DFT of rectangular window\n", "Z = dftmatrix(Nf,Nf/2).H*z # DFT of product of x_n and r_n" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "idx=arange(Nf)-arange(Nf)[:,None] # use numpy broadcasting to setup summand's indices\n", "idx[idx<0]+=Nf # add periodic Nf to negative indices for wraparound\n", "a = arange(Nf) # k^th frequency index\n", "\n", "fig,ax = subplots(4,8,sharex=True,sharey=True)\n", "fig.set_size_inches((12,5))\n", "for i,j in enumerate(ax.flat):\n", " #markerline, stemlines, baseline = j.stem(arange(Nf),abs(R[idx[:,i],0])/sqrt(Nf))\n", " #setp(markerline, 'markersize', 3.)\n", " j.fill_between(arange(Nf),1/sqrt(Nf)*abs(R[idx[:,i],0]).flat,0,alpha=0.3)\n", " markerline, stemlines, baseline =j.stem(arange(Nf),abs(X))\n", " setp(markerline, 'markersize', 4.)\n", " setp(markerline,'markerfacecolor','r')\n", " setp(stemlines,'color','r')\n", " j.axis('off')\n", " j.set_title('k=%d'%i,fontsize=8)\n", " \n", "# fig.savefig('figure_00@.png', bbox_inches='tight', dpi=300)\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nr371q+zee+9l9957L9uzZ49ZZlqKpWr62muvsQ9+8IPsrrvuYtu2bTPLTMuxVF0ZY0zXdXbrrbey\nn/zkJ2aYaDmWqulXvvIVduutt7KHHnqIffe73zXLTEMoyU11S2UhpfNvf/vb2LdvH/bt24fvfve7\nJlplfRai67/927+hsbERv/71r/GVr3zFRKusyUK0/OQnP4k33nhjxu9ee+01fOMb30B9fT1effVV\no82zJEvV9LnnnsPu3bvz3FG5LFXXj3/84zhy5Ah27NiBr33ta0abZ0mWqukrr7yCffv2obGxEd/8\n5jeNNs+yLFVXANi6dStWr15d0B7qUmapmgqCgO985zvYu3cv/v7v/95o8wylLAPiNNFoFM899xzO\nnTuX95oVK1ZkzjOtq6sroHXWZT66AkBVVRWuuOIK9PTQeZD5mI+WuZxze3s77r33Xixbtgy1tbX0\nZLFpLFbTVatWwW4vnRNhSo3F6nrttdcCAFwuFwUZWSxWU4eDdzvG43GsWLHCVButyGJ1BYA333wT\nL7zwQtFOhilVlqLpP/7jP+LRRx9FS0uLmSYumaL3EJtFJBLBSy+9hNdeew3d3d347Gc/O+Pvzzzz\nDF555RV87nOfw2233QYA+PnPf14ES63FfHUFAJ/Ph2AwiPPn6YlBuViIltlMP56mro4/yam2ttZU\ne63AUjQl8mOErl/96lfxN3/zN2aaaSmWqulnPvMZvP322/jVr35ltqmWYim61tfX46GHHoLdbi/L\nJ7EtlqVo+vLLL+MrX/kKuru78Vd/9Vc4cOBAzutKgbIMiBlj+N3vfodPfepTuOmmm3DTTTfh2Wef\nzXnt1772NVy4cAGMMTz11FN45JFHCmytdViIrv/xH/+BF154Addccw3uv//+Alta+ixEy1zYbFOL\nO9FoFCtXrpzj6spgqZoCC1serBSM0PXtt99GKBTCCy+8YJKV1sIITV9//XW89tprePTRR9HU1GSS\npdZiqbr+9Kc/xS9/+Uu8+eabJlppLZaqaXpuuv76680y0TDKMiAWBAGf+MQnMDg4iC1btkAQBHzv\ne9+bcU06o1EUBVVVVQBmH8xPzGQ+uj799NP4whe+gHvuuQeNjY3o6urCD3/4wyJZXLosREsAs5bv\n1q9fj2PHjmHdunWIRqOoqakpmO2lylI1zfe7Smepura2tuL111/Htm3bCmZzqbNUTRVFgdvthsfj\nKciTwazCUnXt7OzEH//xH2NkZASMMTzwwAO44YYbCmZ/KbJUTUVRRG1tLQKBQMlX3csyIAZ4Be3H\nP/4xXnjhBbz88svYu3dvzuv+9m//Fhs2bAAAfPrTny6kiZZkvrp+85vfRENDA1atWoUf//jHBbbS\nGsxXy5/97Gd4/fXXEQwGEQ6H8f3vfx//8A//gI997GNIJBL4+te/XmDLS5elaPruu+/iW9/6Fnp6\nevDnf/7n+M1vflNg60uXpY5Vn8+Hxx9/HHV1ddi8eXOBrS9NlqLp5z//eVy4cAGKouCLX/xigS0v\nbZai6+nT/Gmpv/jFL5BKpSo+GE6zFE2/+MUvor29Hbqu41vf+laBLV8YRX8wB0EQBEEQBEEUk7I+\nZYIgCIIgCIIgLgYFxARBEARBEERFQwExQRAEQRAEUdFQQEwQBEEQBEFUNBQQEwRBEARBEBUNBcQE\nQRAEQRBERUMBMUEQBEEQBFHRUEBMEARBEARBVDQUEBMEQRAEQRAVDQXEBEEQBEEQREVDATFBEARB\nEARR0VBATBAEQRAEQVQ0jmIbYBaMMbS1tQEA1q1bB0EQTL2vUiBdjYc0NQfS1XhIU3MgXY2HNDWH\ncta1LCvEjDH8y4c/jPYNG9C+YQO+/PzzYIyZdl+lQLoaD2lqDqSr8ZCm5kC6Gg9pag5lryuzOIFA\ngPX19c/4XUtLC3ujpoYxgDGAvVFby1paWi76Wou9r1xRVZW1tLRmfiZdjeXMmRZ28uRJ0tQEtm/f\nzn5FuhoKff/NIVufXy5bRroukXzatLa2MVmWF3wfwZlLn4GBQebz+RZ8Xylh+QpxMBjE4KC/2GaU\nJZIkoadnpNhmlC3d3cNIJBLFNqMsGR0NlmYFgiAugq7rxTahbOntHYUkScU2oywZGvJjYiJYbDOW\nhOUDYlGUEY3KM363bt06tD/xBADg17W1OPvEE1i3bt1FX2ux95UriqIgEtGQSqUAkK5GkkwmIYop\nrFmzhjQ1gUsvfQ+O3LcBAOlqFNO1+UVVNWlqENP1eaOmBrvW3oEbb7xxQfeRrjPJpc3atWsRCimQ\nZXlB95GmU8ylTzQ6Oxabz30lRbFL1Etl374T7Ne/bpj1e13XGQNYS0sL//95stj7ypG+vj72gx+8\nw2KxWOZ3pKsxiKLIfvCDd9jAwABpagK/+lU927//BOlqMGltXn31ddLUQNL61NfXs+9/fwuLRCIL\nuo90nU22NolEgv3gB++wnp6eBd1HzCSfPv/v/zWyhoamBd9XSpRFhViSZmcl6R2M69evX9BuxsXe\nV44kEjISCczIqElXY1AUBYkE15g0NRbGGGIxBZKkAiBdjSStxyWX/MGCWlJI07lJa3LdddchkRCg\nKMqC7iNdZ5OtjSzLkGUgFstfIc51HzGTfPqIogxRzK+tFXS1fEAsSQoURYemacU2pewQRQWqink7\nZ2L+yLIMRcGcDoRYHKqqQlFYzkSZMAZNI79gBrGYAkXBnMv6xOJQFAWaxuc1wlhSqRRkOQlJsra2\nZREQ2+3V5EBMIBqVYbORtmagKApstmpyziagKNwnWN05lzI2WzUFxCYQjcoQBNLWDGRZnvS5NJ8Z\nDde2CvG4aunNzJYOiDVNQyplg91ODsQMJEmBy1WHRIK0NZpYTIbbXUfO2QRkWYbdvgy0aGQ86RMQ\nnM5aSpRNQJIUVFXV0eqGCciyAqezjhJlE+AFnirouhOqqhbbnEVj6YCYB8FuMOahgNgEYjEFy5bV\n5d05SiweSeLaknM2Hu4LPADcxTal7Ej7WfK55iCK8qTPJW2NRhRlVFeTzzUDRVHAmBs2m8fSibKl\nA2JZliEIfOKz8odQivCNSSqqq5fTsr4JRKPcOcdipK3RpJ0z9w2EkaSDYEHwIJEgn2s0kqSguppW\njsyAV99rIctJOuvZYHj85QFjbksnypYOiKdnJbTEZCyqqkLXnXC5qkhbE+DtKFXQdYell5hKEUmS\n4XBw50wYS7rw4HC4KVE2AU0DPJ5lVMU0gWhUhtPpBkCrG0bD2yq5tlYuTlo6IJZlGYy54XSSczYa\nXn3n2pJzNh5RTDtna2fUpUgkIsPhcFNAbALpscp9rnUnvtLFDaeTCjxmIEkKnE4PBIFWlI0mnWxQ\nhbiISJIMm81DztkE0n2YDocL8bhm6Z2jpUYqlYKipOB0uiAI1s6oSxFeffdQy4QJpNsknE4PFSFM\nwQ273Q5NE5BMJottTFkRiyllEbSVIqLIkw2+cmTd+cziATGf+HhGTQPcSNLVd0EQwJiLHIiBpDeD\nAiDnbALp6juvwBNGkg6C+cqRdSe+0oUncZQoGwtvAXTAZrPB6sv6pYgkpX2utRNlSwfE6TI9VYiN\nZ2qnPiy/c7TUUBRlWvWStDUaXgnywOWiCrHRpP2s0+lGLGbtM0dLkak2H0qUjYT72KkiRDxOPtdI\npoqT1o7FLB0Qp3uCHA4nVJUhlUoV26SyQRR5HyZAVUyjSVffAcBmc9NJEwaiaRo0TYDdbqcKsQmk\nqz82mw2MWfvM0VKEEmVzmF6EcLmsXcUsNXRdRzyuweFwWV5bSwfEUxuTQI3yBpPuCeKQczaS6dV3\np9ND5zwbyPSJb2r8EkYxs02CEmWjSc9nVIQwlulFCKtXMUsNftqXC4IgwOGwdoHHsgFxKpWCpjE4\nHE4APLMmB2Ic05MNxtyQZdLWKBKJbOdM2hrF9P5sp9MFAHTmqEEwxhCPT1WEyecaT7rNx2bzIBaj\noM0ososQtOfIOPhT6ri2drsdqZQNmkUfE2rZgHj6xAdQRm006Z4gIL2jnJyzUYjilLYuFx2xZCTp\nA+KnQ37BGNJnk6fhiTKNXSNJFyEoUTaWWEyBzTalLQXExpEdi1k5UbZsQMx711yZnxlzUT+bgcTj\nKhwOrm/66DXCGLK1TSRIW6NQVRWMOWf9jlg6vOozXVvyuUYz3S/EYqStUcRi2T6XtDUK7nNd035j\nXb9g2YCYn9HoyPwsCE46t9EgGGNQ1RTsdq6v3e6AopC2RqEoySxtKSA2Cu4DnDl+RywVTdMgCNMr\nxA5oGmlrJHa7c/K/DqgqaWsU032uzWaDrgvUSmUQyWQSjDmm/cZhWZ9r6YB4unMGKLAwCn5ahz3z\nMwVtxiLLSdhs3IEIggBdt+zXsORQlCQEwTHjd1Z1zqVGdhHC4XBSomwQ6ePr7Hb75H9JWyORZS2T\nbHCsG7SVGtl+gSfK1owXLDsTa5o2IyuhKqZxZFeCbDYHZJm0NQpVnapWcBx5ryUWxvRKUBqa+Iwh\nuxJkszmo3ccgsseo3e6ALJO2RjHbL1g3aCs1ZFmDzTZz5ciqPteyAXF2VmKzUUBsFLz6PjPZoOU7\n45BlLXM6CoCslQ5iKWRrC4AmPoOgIoR55AqIyecaR64ihFWDtlIjV7JhVW0tHRBPd860fGccuZZG\nqVphHKo61TIBYNYSP7F4qEJsHtltahQQG0d20kbaGgv3CzOLEOQXjEGWZ/pcQXBCVa0ZL1g2IM4u\n09MSk3Fkb0yy2x3QNHoKoBHoug5N0zO9ghwKiI1CUWYmGwCo0mYQ2UUI6nM1juzgTBAEAHZ6+qpB\n8B5iapkwg+z+bCsnc5YNiLMrQdQyYRzZS6MAwJidMmoDmL0ZFMg+FYFYPLkqxOQXjCE72bDyxFdq\n5PatFLQZga7r0HV+ukQaK/e5lhq5YjGr7jmybECcXaYn52wc2S0TAC0xGUUubbOTD2Lx5OohppUj\nY5Dl5Axt6fQZ48gXEJPPXTqzjwWjgNhIsvuzrdy+atmAODsroT5X48jlQASBqhVGkL1hkUMBsVFk\n92cDsGy1otTgbWpUhDADCojNI7fPpQKPUeQqTlo1FrN4QDzzaDDqFTSGXAExOWdjyFetIIyBWibM\nI1tbfhJCKnOGLrF4chUbBMFJRQgDyD5GFOAFHlrdMIbsIoSV21ctHBBrWc7ZDk3TyTkbQCIxe9mZ\nMmpjyOWcp28OJRZPKpWCrgszegUBCoiNIleyIQiUKBtB7if+kbZGkKtNjVY3jENRtBytVNbU1sIB\ncS7nTEGbEeTSlnqujCFXhThba2Jx5Jr4AFAlyCBmP+0LoKDNGHIFEORzjSGXX+AtlqTtUkmlUmDM\nNnkqCod6iItAruOVyDkbQz5taflu6eSrVhBLJ39ATD7BCHIlyuRzjSH3E/+owGMEvAgxM5GzchWz\nlMhV4LFy+6qFA+LscwVp45dRZO8m59DEZwQUEJtH7s0zFBAbxeynfdGqnFFQhdg8eEwwO2iz6sav\nUiJXC6Ddbrfs3gJLBsTpMn12ryA5EGPIlWyQtsbAn+CT7UCoh9gIcm8GBVIpBl3Xi2BReZGvQkxF\niKWTKyCmoM0YqIfYPPIVIaxaQLNkQJxv4rPqh1Bq5GqZsNudeZb1iIWQK6igCrEx5KpWcMgvLBX+\nxDT7jF5BgBJlo8gVnPHjq0jbpcKX7ykgNoN8bWpWXTmybECcOyuhY2qMIF/QRg5k6chyrmSDAmIj\noETZPHItOwMUEBtFvoCYfO7SyT2fOS3b51pK5PO5Vm1ftXBATJUgs1CU2T3EVj5bsJTIpy2xdMqt\nWlFKkLbmkuskFLudHjZlBLlOR7HywyNKCf7dL59YzJIBcb5qhVU/hFKDH7Rtn/E7OqbGGLhzpgqx\nGeTaTc4hv7BU8gXEjDkm++KJpUAVYvPIVSG22WzQddDegiVSbitHlgqI0wLnc86AM+OcrfhhFBNd\n16Hr+qRus3sFuXOmiW+xpMdjrv7s9OZQ/mAJnZz0ApnSVsu7wSO9fMd7YYn5ktYrX3/29KCNfO7C\nYIxv9mSMQVVnj0v+JEDSdrFM97m5iw58dYN87uLJ36Y21b5qpbFrqYD4yJHjCAQCeT+EtHNWVRW7\ndu0pgoXWpbOzG+fPd+ZNNrJbJsLhcAGtszbBYBAHDx4FMJdz5o6jvf0Cenp6C2mepWGMYefOBmia\nllfbdLXC5/PhyJHjRbDSujQ1ncT4+Hhev5De+JVKpbBzZwMlHAugr68Pra3n8u6J4S0T3Oem5z5i\nfkSjUezbdwgA37eR+yQfniin5z5iYciyDEWZ+5SJYDCIQ4eOFdy2xWKpgHhgIIpoNDqZecwe4PyY\nmiREUYTPpxbeQAvj9UYxNhbJ25+dTjbSZwtGo9FCm2hZotEoBgfFyUrQ3AHx+HgU4+ORAltoXWKx\nGPx+DaIoXjQgjkajGBigcbsQBgaiiESicxQheJ+rKIrw+zXEYrEiWGlNfL4oxsaicyYb6VW5/v4I\n+dwFEI1GMTQkAch9jCgw9dhxrzcKr5e0nS+yLAMARFGELGs5nlkApAPitM+1ypnElgmIZVlGOKwh\nEBAvWiEWRRHBYBGMtDB+v4RAQMrbE5TWNj3hhUJigS20LqGQhHA4hUQiMRm05T53OJlMwu8XEQhI\nBbbQukiShGCQ/5dXgnJv/NI0DX6/iFBIhapSsjwfeIUnAZ/v4j43/TmIIvmF+eLzifD7xTkDYlVN\nIpFIIBJJIhAgbedLOCwiFOJB2MVXjkT4fKTtfEl/xy9WhNC0JIJBMTP3WQHLBMSSJEFVHfD5xLxl\n+rRzDgZFxOO0UWm+6LqOUCiOSESBoiiYyzmnvwxeLzmQ+eLziVBVB6LRKFQ1BbvdnvO6RCIBUdQQ\nCMQsk1EXm2hURCzmQCgk5txNzuFj1++XoGkOCtrmiSjycRsISBcN2sJhEZLkQDRKydx8CQQkxGL6\nZJEhVyInQNdtiEQiUFUH/H7Sdr7w4g7XNNe+DY4DqqoiFEogElGo3WeeSBIfh4FA/oDY4XBCUZKZ\nuc8qPrekA+JAIIDm5jMAuHP2eC5HICDlLdOnl+/8fgm1tZdnft/d3Yuurp6C2W0FNE1DY+N+MMYQ\ni8Wg61UQhBqEQqE85woKAOwIhXjvcLqKGQ6HcezYiUKabgmOHj2OSIS3Pvj9fOyGQqE8/VYc/vda\n6LoH8Xgcuq6jsXG/pTYlFIKOjm709PQBACYmJCxffjm83vzOOX3EUiAgwe1enXHoJ06cxsTEREFt\nL3VCoRCampoB8InP41mNQCCGREKFzZbP5/Jko67u8kylbWBgEOfOUV/mdFKpFBob9yOV4hUzVXXA\nbq+b/N7nXjUSBCdCoRA8nsvh909V5g4ftk5fZqFoajqJ4OTSsM/HfS7An1SZuwjhnNwLUw1gGSRJ\nAmMMe/ceKJjNVqGvrx8dHd0AgIkJPg79filvf7bN5kAiwWMxj+fyjM8FAK/XWxijF0HJBcTTlzOH\nhsbR2joGxhiCQRFu9yWQZRsiESnvxJfOSlauvDLz+87OMXR0jOV8j0pC07TMbtqJiQl0dkYRCoUg\nSRIEoRaM1SIUCiH3uYIA4MDYWAgAIIoakskkxsa8aG31ZoI2VVUrsrrJ+4P5uNI0Da2tPoyNeaGq\nKiQphWXLLsX4+FzaYlL7WgA1EEURoVAInZ3RTNCm67olDzs3gunf2c7OMXR18e+z18u/64GAlLc/\n2253IhwWoWlOuN2XIBgUoes6WlvHMDw8nvM9Konp/+6RkXG0tnqRSqUQDouw2eqg6x4Eg5E5fC5v\nR0l/DgDQ1UU+F0DmFAOAb67t7IwiGAxCFMXJ5Dd/EYLjgNcbysx9iqLA6/Whrc0/uZrHqUSfC0yN\nq1QqhdbWcYyO8rEbCsmoq0sXxfJry7WvAVALSZIQjUbR0TG1h4MxRj4X3Od2dvLvc3qlwu8X8/Zn\n2+0OSFIcsZiOZcsuhd8vZsbo4GDp+tySCohTqRTeeWdPJgDo6fFDFG0IhULw+SRUVdXAZqtFKJTf\nOcdiCcTjOpYvvxQAd0jDw1GMjvJeLVVVsXnz7swGhWQyiXg8buq/S1GUovTQMMYyVUoAOHToFC5c\n6AIAjI76EQi44PMFEI2K0PWayQpxBPkciCA44fWmX68GkiShtzcAUXRmPrPGxib09vZl7innjSDT\n/209Pb3Yt49XyicmJiCKTvT3BzLJRlVVLcbHI3NWiIPBCADunEVRgtcbQCDgwvg4311+/nwnDh8+\nnbneKstQiyEej2eSrEgkgi1b+EkSmqZhdFTC8DDfABoISKiruwyiqCEWk3NWK+x2x+S4roHHUwOf\njycbomhHT48fAF+N2rq1ccayablOhNN9HmMM27bty1Rt+voCkCQHgsEgfD4R1dW1EITaiwbEPABZ\njWCQf24DA0F4vQkoioJkMol33pk69SeVSpX15rvpfuHo0TNoazsPANO+z/7JilktHI5aBAJz+VwH\nxscjqKqqhSDwRLmvzw9RdM04daKjoyvn+5cb0ejUBq3+/n7s3s1P7wkGg5AkB3p6/JNjqxpVVcsn\n78ofEIfDEQB8jIfDInw+PyYmXJkrOju7sX//1AqoKIplm3wkEomMz5MkCZs374ai8FaSoaEwRkcl\nqFWsgqkAACAASURBVKqaWamQZRskKZ7XLwSDEdhsfO4LBKTMuOzt5eM2FAphy5aGjJ+XZbnoAXJJ\nBcRerxe9vTp6e4eRSCQQCGjweN4Dr9cPv19EVRWvYubrCeKPY0wBqMm0VAwPD4OxldD1lQgEAhgb\nG0NvL9DfPwwAaG+/gIaGqQF/4sRUwKEoCkZHRzM/h0KhzAem6zr8fn/mbxMTEzOC7KNHT2Q+6FOn\nzqGzs/BHacViMTQ0HIaqqlAUBR0dE2hv5//u3t4AVq++Hv39gcnlpVp4PLUQxXznCgKAA5KUXr7n\nlY2RkShqaq7D2Bh38l1dUZw9y99jfHwc77xzMLMrFQCGh0cA8Im4v78/41wSicQMR+73+zOVlUQi\ngfHxqazy9Om2oh/7lkgksGXLAfh8PgBAe/swOjvDiMfjGB31o7b2DzE0FJm0kzsFrl3+gFiSkqiu\nroXLVYtAQERvrx+rV1+fCdra2obR0RGAqvKNYe+8czBzbzAYREvL2czPY2NjGd11XZ8xeUYikRl/\n6+/vz/ytv38Qw8PDS5VnwSQSCZw8OfXd2737OM6e7Zi0aRg9PQxjY2OT/45VSCbrMDw8jFTKPemQ\na6BpqTlXjhibcs7j435UVV0Dv5/3zff0DKOnJ5X5PAHgzJlzAHhgfPToiUywHIlEMkuzAB+r6XGs\nquqMsTkyMlJ0J6/rOo4da87Y0dp6PuPzfD4feno09PRwO8fGYqiuvhZjY/7J5c4aMFaTdzMo7yFO\nQRCWwW63Q9erMDw8DE2rhSBcikAggPHxcXR3T53zeuFCF3btaspodupUayZxV1V1xviLRCKZSihj\nbIbPDQaDMxL+QqGqKkZGRjI/t7Scy3y/pvs8TdNw4YIf7e2jYIyhp4d/n3t7AwgERDgcPEGTpIv7\n3PTcF4lEMDgYwvLlazAyEsgUWs6e5fYEAgFs2XIgk3D09Q2gv38w82oDAwMZv6ooygz9AoFASfTR\nTp8XRkZGceECX6pXFAXvvHMQY2O8Unn+/Ai6u3mgNT7uR3X1tfB645PFmVp4PMsAYI4ihBOimITb\nXQO3uwZ+v4j+/gAuu+z6zBVnz46goyOERCKBZDKJrVsPYWhoCAAfm6dOtWauHR8fzySa2fFBNBot\nSlEsffRZmunzQiwWw/HjpzJ/a2xsRksLT94GB0fQ08Pn62AwiFSqDsAqjI6OIl0/tNnmjsUUJQld\nnypC+Hxcj1CI9833949k/DoAHDx4Gs3N7QB40nz06IlMgC6K4ow5LBAImHJ2dEnsPGOMoa2tDU1N\nrYhEluMXv/gNnnrqPgwPR1FV5cSuXT0IBFSsXn0FJiZGAPQiEgniuutunfUACa+3Dz5fB9atqwUA\ndHb2YmSEf4L7948gEBAhSavw05++iZdeeg7btp1AImHH8uUMjDG8+2477gQf0L/97RacOzeOZ5+9\nCw6HAzt3Hsc111yCdeveh4MHD8PrTeLJJz+Aqqoq7Np1HMuWufDgg3fgwIGD6Olh8PvHccUVl2Pb\ntibceuvVWL/+5ln2mqlpe3s7mpu74XSmYLPZMDwsYWhoFCtW1GPXrgO46aY/wZEjp1Fb64Su3wJB\nsCEe70MqJUBREhgb68aVV16fsdnv7wPAv0zDwyPYvbsZg4Me1NTUorHxAnp7e+D1pjA+PoRLL3Vg\nx469iERWo7p6J6655j14P4D9+8/illv88Pl8aGg4j+uuc+Hee+9FU1MrolEZjzxyJ2KxGHbuPIXL\nL7fhgQfux5kz59DbG8TTT98JVVWxdesZrFlTh3vu4Z//unXrCqprW1sbOjq6ceLEBLq7f4JHH30Q\nzc0XwNgq7N69Bx0d42DsZoiiH/X1wzh9WsHNNzP4/aMQhAhkuSbzWmNj3bjqqj8CAEgSQyTSD03T\nEAyeRzisYuXKKjQ3N6CmRkVb2xCAZWhoaICmJdHc7MNfgI/Vt97air6+KCQpDLvdjm3bTuD66y/D\nrbe+D/v3H4Tfz/DUUx+Ax+PB7t0ncMkly3DnnWtx5MgR9PdreOyxW3DJJZdgx44m3HzzVbj66qsL\nqumpU6dQX38SohgBYwxHj3ajpeUcNC2BX/5yM5Yvvxvbtu3FihXVGBmpBmMp7Np1DkNDHsjyGZw9\newyXXeaGLLdlXjdt//BwB+LxPgiCE6qahM/XCZ+vH4nEDYjHJ9DY2IitWw9j5cq7sH17I2688Rrc\nD+DMmVEIgoaDB4+gvx8IBLx4z3v+AHv3NkNVU3jssbsgSRJ27jyFq6924r777sOZM+cxMhLCE0/c\nDUVRsG3bSaxdewVuvvmGoo3VoaFh1Nd348iRQ3jwwfvx7rvHoSgO1NUB/f1jCIWq8T//83tEIl4M\nDgZRU7MMDQ0dCAZlXHbZKoTDPoyO9iIcnsCaNbdnXntgoA2MMXi9A/D7Y7jlljoEAmOor+/G8PBq\n2O1O7N3bg3hcgyTVAcDkCt0+RKN21NUxOBwOvPtuK264YSXuvHMt6usbEQo58Mwz74fH48GuXcdx\n5ZV1uP32m3HkyFGMjKh47LHbsHz5cjQ0nMD73nclnnnmmYJq2tTUhAMHTmPTpjvBGMPWradw1VXL\n8MADt+O3v90GUeQ+r7rag/7+EAAFDQ0NaG7uwsqVy9DcXI8bb3wvVPV9cLk8EMU+pLcJ9Pe3zqhA\n+v190PUw4vHzmJgYwa5dIzhzxos1a+rQ2NgGr3cIzwLwenUcOnQIDQ0HMTFxKVyunbj++muxYwc/\nd/upp+5GKBTCrl3tuOYaJzZsuA8nT56F3y/iscfugqIo2L79BC65BNi06YNYv359wTRN69rW1gav\n14vdu8/huutcuPvuu9HQ0IxYLIlnnglhZGQMzc1enDt3Ch/60KM4fLgVjF2O+vo9GB4OQZb/CKIY\nQH39EE6elLF2rWPytR0ZXdM+98orr0cwOIbR0T5UV18CQbBhfLwN8biGFSvuBcCLaadOdYOxOjQ0\nNMBms6O5eQSnTzfhL/7ij9Hc3I6OjhAkKYyqqiq8+24TrrlmJe644xYcPnwEo6Mannzy/Vi2bBn2\n7WvGjTdejSeffLKgY/XQoUNoajqLTZvugq7rePfd45l5Yfv2evj9HkSjQbhcLhw+fAFOZxKMKXjz\nzXdRXf0BbNu2H1deWYfhYSdsNjt27GjF2BivoA8OjgIYgSSdzTxcKv2+AwPtqK2dAGM2qCrg8w1A\nkkbwRwAYuxT79+/Hjh1HsHz5Xdi+fR/Wrv1D7N/fBkHQYbdr8Hr92LOnF01Nx/DQQw/g0KHTiERk\nPPnk3UgkEtix4yQuv1zAgw8+aOhYFViR6/+MMfzLhz+Mm3fswLZYHADD4wB2AXhYsKFRELCJ6WiE\ngE0A9gAA03NcwzJ/ewJA0mbHX+spvPiB+/BYWwvqNZlfw9js94CATQJDI4CHIeCv9RSeuvJK/PlE\nCLs1DZsEhr0QsDHX/TYb9goCNuq5X3uvTcBGHXBXeXDh6afw6ltvmf6FmK7p9ngCmwA0CsAmBuxh\nAJClHzB5Ddd6DxNmXyMIeBiAzeHCJ9QEfu6untQUGf3zvccj/z97bxokx1Xlff+zlu7qpbRYtowE\nDNYMy8BoGTBjLMvGLRkb2cYGg1/DePDLMhHgGLBhgJgJ/EDgCHgI82WYeD8QRIBhZh6Wx8Fgj2Ut\nllpLa7EWa2n1JvWq3qp6qa27KrOqMrMq874fblV2dauq1a26WVufX4TD6q6q7tP/PHnuueeee9Ph\nRF2DB8/E43jqw7vwWN9Z7E8mAbbwOgAPSMCRTODKd42OAdjJgKMAPuGQUN/QgCsPP1xyXfclEtfb\nn9Uho+diWufz1f/nb3fg0d7LOKSrmesA5L8fuNZZX334He/AU5HZHF/lGt2crzLUNzag95Ey+aqE\nwvZLDsvHluKrzjoPvqzG8R/1TTikJ3N8vPA1+oTDCXd9Pf7fZAJP/e0DcHe14UHDuE6jrK8eZiyv\nH+f+HRXpq5n76YiZT+MFGgHX+eqX73kSLZcO4KCWzBOPMT8uAHhA4r66+7bb8Pmogta0jl1YIb4K\nCbtQYOyx4mo9vqIn8B+epsz9zwpeh1xfddXV4UtqEk99+CG4Ow7jQdO8KV89mom5uwEYTieGPvvZ\nkmi6UNdFfTWf/QXu51xf/fxHduHhK+fy+yrmj31HIVm++uC6W/G0nEBrWsvkF/n0k5acH3gaG3C1\nQn31mLS0mPsAGBwuD76iJ/Dbuka0ptR5cbVQfvYAAKe7Dl/WkvjCRx6B4/KbeCjXV6VsrFzkWsN+\nXy17hbirqwub33wTm+Nx+AD8BYDNAOoAbGYmGhn/uhEMmwGEFnlP9rWnAcA08L8bGvDw1Q5s0+L8\nvYU+D2Az43tNnwbQCeDzk5P4MID6nNfyft40C7/GTDQaGXsScfzhzTfR1dWFrVu32qYnMF9TR8ae\nhRpd9/fPew/Lq/HTADr1JP4TwEe0hKWpdY0K/I6nTQOIx/FSYyMe6z+HbYkE/IXsYEBwkdcsWwE8\nbQBQlLLouriv3ljrfL76+MBlbFNv4Ks5Wmd99QtTU2J9NV5GX13M/gV//w19VY1nfDV+va8W+B1P\nmwaQTOClxkZs6zuNTYZxnUbW56vZVzM2LqrxAo1yffWBjgPYpsYxtdjnc37O04z76t8Hg3O+mud3\n1KSv3uA9PK4muK+qy/RVNcl9tfckNpnmTfvqvGtsGPg/+/eXRFPAfl/9VN+5wr6KhVozy1e/GA7N\n89Ub5Q6L+XG1+OqSxpyMr96pJ+bu4xt8/mkA0Livbrl67Hpfzb2Oha71gtds8VVWQxw7doz94Ac/\nWNJ7f/KTn7CNGzfOe38ymWRf/epX2a5du9jzzz9vl5lVRbGafvvb32YtLS2spaWFrV271i4zq45i\ndT19+jTbvn07u/vuu9kvf/lLu8ysKorVtL29ne3YsYPdd9997OTJk3aZWXUsR9evfe1rbMeOHeze\ne+9lnZ2djDHG/H4/27lzJ7vnnnvY4cOH7TS1aihW05dffplt2rSJffGLX7TTzKqjWF1ffPFFtn37\ndrZ9+3Z25MgRO02tGorV9KWXXmL3338/u+uuu9i+ffvsNLVoaiohbmtrW/KFm56evu5C/+xnP6Ob\nYAHFapqlvb2dPfPMM6LNq1qK1fWJJ55g4+PjzDRN9rGPfcwuM6uKYjV9/PHHmd/vZ4lEgu3evdsu\nM6uO5eg6PDzMGGNsYGCAfe5zn2OMMfbcc8+x06dPM0VRWEtLi11mVhXFahoKhdjg4CAlxAsoVtfs\n92ZnZ9nHP/5xO0ysOorVNJVKMcYYUxSF7dixwxYbRVFRp0yIIhaL4dOf/jSuXLlS8D3r16+/rufk\n+PHj2LNnD3bu3Ik33njDbjOripvVNMurr76Kz372s3aZV7XcrK7r1q3D7OwsVFVFU1OT3WZWFTer\n6czMDDZu3IiGhgbE4/F5p6MQS9P1jjvuAAC4XC64XLwjr7u7G9u3b0dTUxO8Xm9NHxe4XJarafYB\nE+vWrSv4xEvi5nXNfq+urq6kmwqrgZvVNBsHEokE1qxZY7udxVD2HmLRRKNRPPPMM3jppZcwODiI\nb3zjG/Ne/9SnPoXvfve7eT87NDSEf/7nf8ZPf/pTtLS04JFHHqGgg+I0zXLw4EG88MILdppZdRSj\n63PPPYfdu3fD5XLhxRdfLIG11UExmt52223o6enB+vXr0d3djWg0Co/HUwqzK57l6vr9738fzz//\nPADMO8pr9erVmJ2dhdfrLY3hFcxyNX3hhRfwrW99q9RmVh0idH3xxRfx7LPPlsTeaqBYTf/pn/4J\nr732Gn73u9+VzOaboaYSYsYY/vznP+NrX/saPvjBD+KDH/wgHnvssSV/fvXq1bj//vvhdrvx3ve+\nF9PT09i4caONFlc+xWoKAAMDA3jnO99JyUUOxer6L//yLzh37hzWr1+PBx98EF/4whdWvL7FavrS\nSy/hm9/8JrxeL7Zt24Zbb73VRmurh+Xq+u///u/YvHkz7rnnHgCYdyRTLBbD2rVrbbe50rkZTf/m\nb/7G0hQAVTDzIELX1157DTMzM/jCF75QCpMrHhGa/uIXv8BLL72EBx98EOfOnSuF2TdFTSXEkiTh\nK1/5CsbGxvD6669DkiT8/Oc/n/eeRx99FN/73vcAXP+4y3vuuQcdHR348Ic/jJGREaxfv75ktlcq\nxWoK8ABD7RLzKVbXRCKB1atXw+12w+FwIJVKrfiEuFhN3/e+9+HgwYMIhUL4zne+Q6tDGZaj66FD\nh3DmzBm88sor1mtbt27F2bNnsWXLFsRiMTQ3N5f6T6g4itUUWLmPa16MYnXt7OzEL37xC+zbt6/U\nplcsxWqqaRrq6+vh8XhseZiGUMrSuWwTbW1t7Ic//CFLp9PsySefZCdOnCj43pdffpndeeedbNOm\nTeyb3/wmY4yxyclJ9tBDD7G7776b/eY3vymV2RVNsZoyxtjHP/5xNjs7Wwpzq4Zidd27dy+76667\n2Pbt29mPf/zjUpld0RSr6a9//Wu2c+dO9sgjj7CRkZFSmV3xLEfXD3zgA+yuu+5iLS0t7Otf/zpj\njDGfz8d27drFtm/fzlpbW0tldkVzs5o+++yzjDHG3njjDXbvvfeyDRs2sCeffLJUZlc8xer6yU9+\nkm3dupW1tLSwT3/606Uyu6IpVtNnn32WtbS0sO3bt7NXXnmlVGbfFGV/MAdBEARBEARBlJOaPGWC\nIAiCIAiCIJYKJcQEQRAEQRDEioYSYoIgCIIgCGJFQwkxQRAEQRAEsaKhhJggCIIgCIJY0VBCTBAE\nQRAEQaxoKCEmCIIgCIIgVjSUEBMEQRAEQRArGkqICYIgCIIgiBUNJcQEQRAEQRDEioYSYoIgCIIg\nCGJF4yq3AXbBGENXVxcAYMuWLZAkydbPrRRIV/GQpvZAuoqHNLUH0lU8pKk91LKuNVkhZozhfz31\nFLp37ED3jh34wec/D8aYbZ9bKZCu4iFN7YF0FQ9pag+kq3hIU3uoeV1ZDdLR0cF+39zMGMAYwH7v\n9bKOjg7bPrdSIF3FQ5raA+kqHtLUHkhX8ZCm9lDrutZkhXgpJJNJnDz5VrnNqFna2k5A1/Vym1GT\ndHZ2IxQKlduMmiQUCsGoxMoFQdyAtGFAVdVym1GTXLnSC5/PV24zapJgMIhLly6X2wwANdoysWXL\nFnTv3g0A+IPXi57du7Fly5Z574nH45ieji37cyuZperDGMP0dAyJRGJZn1uJ3Iw2gYCCd7/73aTp\nItysz7373e9G20c+tuzPrQRuVtPcz/1nQwNpugARuv7B68WRbXdi06ZNttpaLYjSNPu5QEBGLKbY\nanM1IFpXAFAUBYFAhWhb7hK1XZimyRjAOjo6+L8X4PP52Msv72HpdHpZn1vpLEUfVVXZyy/vYZOT\nk8v63Epludr8938fY+3tXaTpDbgZfdrbu9if/nSUdC3Azfpc9nMvvvj/sWQyaaOF1Umxul66dIn9\n+tevM5/PZ6OV1UWxmuZ+7o03TrKzZy/bZWpVIVJXxhjr6bnK/vjHw3aYumxqskIMwNrBuHXr1ry7\nGVVVRTyO65aYbvS5lc5S9Mlqq2nasj63UlmuNoqiQZY10vQG3Iw+sqwhHteX/bmVws36XPa9t9xy\nx7y4QHCK1fX9738/EgmJWiZyKFbT3M/FYipkmbQFxOoKVJa2NZsQ34hEQoOqgoKzDWiahmQSSCYr\nw8lrCdM0kUjoiMVIWzuIxVQkEtT7bhfJJMVcO9A0Pp4lEqStHcTjGhSFtLUDRdGgaWZF7DlasQlx\nLKYinaYZtR2oqgpdlyiA2ICmaUilJMTjpK0dxONcX8IedJ1irh2oKh/PaKIsHl3XoeusYqqYtYYs\nc9+thInyik2IFUWD09lcEReh1tA0DS5XM2SZtBWNqqpwu5tpsmETiqLB7W4utxk1i8tFMdcONI2P\nZxQXxMO1bUIikarMs3OrHEXRKiYurNiEWJY11NWtRjxOsz7RKIoGj2c1zahtQNM0OBxN0HUgnU6X\n25yaIp1OQ9cBh6Op3KbULB7PakrabCAeV1FXt5qKEDagqiokyQPG3BWRtNUSjDEkEim43asqYuVo\nxSbEiqKiqYmCsx3EYqStXaiqCsbqIUn1FRFAagk+8NWDsfpym1KzNDWtpmV9G1AULRNzSVvR8CTY\nA0nyUEIsGK5nHRirDG1XZEJsGAY0zURDg5eCsw0oiobGxlXU52oDqsqDM1AZAaSWyA58/D/CDhob\nV9FE2QZiMRUNDV5omgnDMMptTk2RLUIAVIQQDY+59XA6PRUxmVuRCXH2Irjd9RScbUCWVdTXN8Iw\nXBWxc7SWiMVU1NV5QMFZPFzP+oy+hEiycaC+vpFaqWyA977zpI0mymKJxzU4nZ6KqWLWEtl2FLe7\nviLafVZkQpwd+NzuypiV1Bq8Sb4eDoeHkjbBzA18FJxFk60Qc30JkWTjgMtFRQg7UBQVbjdNlO0g\nFlOtyQZpKxZN02CaPBerhInyikyINU3LzErqkEymYZpmuU2qGVKpFAzDAafTCcaoWiEaHpz5wEcb\nQsXC9azP6EuIJBsHnE4nDMOBVCpVZotqi2QyDbe7jvpcbYAXITxwuTw0mRMMf1aBp2JW61dkQqyq\nKkwzWwWipE0k2XYUDlWIRROP8wpxXR0FZ9Eoioa6OqoQ28H8OEAxVzzcZ02TqpiikWXVirm050gs\nsqzC5eLaUoW4TCSTvELMoeAskmw7CgCqEAuGMYZ4XIfbzfvfKTiLJbs0mk2I6cxRccyPA5S0iYf7\nrCR5kExSzBVJ7kSZihBiyWrrdLqg66zsG0JXZEI81xMEUHAWy9xOfWSWmEhbUei6DtN0Q5KkTP87\nBWeRZJdGJYk/qY42hIpjfhygZX3x8PGMJspi4WeTMzidLtLWBnJzsUo4SnRFJsTZgQ8A7RwVzNwR\nNXwDTTRKAUQU2XNyAWR25ZK2IskujWYpd3CuJXLjAGPlH/hqDcb4eEYTZbFk9xsBXFs6SlQsublY\nJUyUV2RCPH/gq880dhMiUBQVDgd3cOpzFUtu9d3troOm0XmjouBnkxtwu+us75U7ONcSuXHA4aCV\nI/HQRNkOclsAHQ4HDMNJK0cCye6J4ZR/orwiE+K5o6uQOe6DBj5RzNeWgrNIcqvvHNr8JQo+yM3X\ns9zBuZbIrazRRFk82SobaSuW+ZvEQad4CETXdRiGEw4HT0MrYbV+RSbEqpqCy8UrQU6nG8kkHQEk\nimRyvraali6zRbVDKpWCJM1VMHP/TRSHruvX6UlHg4kjN8ZSzBWP0+m2/q+qpK0oUqkUGMuNC26K\nC4JYOJ5VgrYrLiE2TROGAWtW4nJR0iYSTUvD6XQBAJxOFzSNgocoUqk0GHPlfMdV8L3E8kin01io\nZypFcUEUuXGAxwXSViQuF0+I+bI+6Gx9QVwfF1yZ7xHFslDbSpgor7iEOJ1OQ5Lc1teUtIklNyF2\nOBxgzFH2o1RqhVxtOZQQiyJfQkxJmxgMwwBjc0MNJcTiyY0LkuSmpE0Qup6aly9UQhWzVrg+IS5/\nXFhxCTF35rmL4HCU/yLUEqqaspbvAIAxmlGLIplMzRv45leLiWJIpxdW31H2akWtsFBbWtYXj8Mx\nf6JMSZsY8hUhaDwTA2+ZmMsVKiEXW3EJMa8QV9aspJbQ9fR11QoKzmLgwXl+tYIQA/fR+XpSXBDD\nwoGPH8JP2opkfsylpE0Uqpq+brJB2oph4UTZ5XJDVSkhLin5LwIlbKK4PiGmACIKapmwD2qZsI98\nRQhKiMWS7SEGaFVOJJqWnqct4IauU74ggvwtE9RDXFKuL9M7kUpRj6sIeK+g03rSF4eCsygWTjYo\nIRYHT9Bceb5HFMvCgU+SJDDmpL0FAnE4nNa/aVVOHLwFkFaU7YAXJ6lloqwsrBBngzMlbcWzsD8b\noGqFSFR1fsvE/OSYKIbrq+8o+/JdrZCvP5v6XMWQja25RQiKueLQtPktEw6Hi+KCIDQtVXHtqysy\nIb6+skYBRASkrb1o2sJqBfUQi2LhZlAAZV++qxUoLthHfg1JW1EsnChXQtJWK1SitisyIV5YrXA4\n6JgaEeQf+Gj5ThT5AgghhnwV4nIH51oh34ZFStrEkE9DqhCLoxKTtlqBr3hW1t6CFZcQ8zL99cGZ\nkrbioZYJ+2CMQdcNSohtIl9CrOsGGGNlsqh2oJYJ+8inoSS5aXVDEHxVLrdNjTbhi2JhfzZv+ylv\n++oKTIivH/ioWiGGhQ89AfgpEzSjLp6FO/UBapkQycL+bIBOSBGFpl3vu/TwCDHk05CqmGJgjCGV\nMuF0zm1YJG3Fcf0xokC5czFKiEFVTFHkqwTRsXZiyNeOQhVicSzsz+ZQXBCBqqYWHF1FMVcUlBDb\nR/4iRPmX9WuFfLlYuSfKKy4hXti3wqE+VxEUStooOBdPoeBMiCF/cKakTQS0Kmcf+cYtp5NOQhAB\n98/5Ezmn003jmSCuP0YUKHcr1QpMiK/fTU7BWQz5KsSUEIsh32Rj/hOUiGLQ9YVPpAIoLoiBVuXs\nI3+FmFblRMCfWbBwPHPS3gJBUMtEBUDB2T5UNQWHY76D07mNYshfreC9baZplsGi2sE0zet6BTnU\n5yqC6x9/y0/2oaSteKhlwj7yn5pEK0eiWLipDih/LrbiEuJ8ZXpK2sSQb7JBPVdiSKVSeXbqcyg4\nF0e+zaAAD87USlU8+WIuJW1iyDduUcwVQ/7TUYByVzFrAdM0YZqAwzE/BaWEuMTkS9pcLuoLEkG+\n/mzaVCeGQtWKudeIm6WwtjTwiSDfpjrqcxVDvnGLJhtioLhgH4UmG7SprsTk6yHmFWJK2oqlkLZU\nrSiewtUKSoiLJd+GRaD81YpaIV9/NvW5iiGfhqStGPI/UIYnbbRyVBy8P7vyVuVWVEJcqExPM2ox\nFGqZIG2Lp1BwBighLpZ8/dkcGvhEQHHBPvJp6HA4YJq0t6BYqEJsH4WKEA5HeePCikiIVVWFlf3V\n+QAAIABJREFUqqoFHTw3OEej0RJbV92Ypmlplr8/2wHTlGAYBgBA07SS21jNzM7OAih0XCAnlUrB\nMAzIslxK06oeWZZhGEbeJywC85f1s9eBWBqapiGZTMIwDJimlLcIkV05ikajlLwtA8aYFXMLJw88\nacuOfcTSyd7rqVT+VbnsypFpmojFYqU2r+pJp9MFczHeYlm+mLsiEuK+viH09g4ukhDPLTG99daF\nEltX3QSDQZw92w6g0HmjQO6MemhouITWVTeGYeDIkZPQNG0RbXmAmZqawttvd5TYwurm7bc7MDU1\nVbAdJTtR1jQNR46ctCZ1xI0ZGhpGV1ffkooQZ8+2IxgMltjC6iUSieDUqfMA8rdMcHjM7e0dRF/f\nUOmMq3IYYzh69C0AfDxb2PvO4X2ugUAAZ85cKq2BNYDf7y8YF7Ltq+l02hr7SsmKSIinp2UEAkrB\nvpVscE6n0/D7E2WwsHqRZRk+XxyMMWhavrNcgdyEOBhUSmtgFaMoCiIRrnFhbXlCHI3KGB8nbZfD\n+LiCaFReNDhrWhqyLCMS4deDWBrBoIJAQLmhtowx+HxxWt1YBrIsY2IiiXQ6XbBCnO1zDQQUTE+T\ntkslHo8jHOarFclkquB4lkqloCiKNfYRS2d2VskUIQrnYtmxr9Qxd0UkxKGQgmCw8MCXXb5TFAW0\nArI8QiEFsmwiHo8XePwtkJsQBwIUnJdKbiKmqoWqFTwhDgYVyHKKlkeXiKqqkOUUgkGlYIU4u3yX\nOzEhlkYgIN8w5mpaCvF4HLJsIhSiycZSiURkxGI8LhTesOzKxAWZtF0GiqJgZob/u9CqHN/4xbXN\njn3Ejcnux5ielhdtU8stQpQ65tZsQqzrOgCeLMhyCrKcRjKZxI0ugml68v4cIj+BgAzD8GB2dhaM\nOa7rFeS4LMeenU1a/YKk7fUYhmEtzc/OytB1DyIReZHJBqDrKes6ZHWmzWD5yerC+4c9CARk6Ppi\nK0cpRCL8OszOcm1zrxExR/Z+Nk0Ts7NJaJoj44/5KsQOMObA7OysdR0W/hxijlxNgkEFpumxVo7y\n40IymYQs8/EvW5Agba8n936OxWSkUjwHKJQQZ/OFYFCBYXisKiY/K56qxQvJ+lxWpxtPlNOIRhXo\nugczM/wzpmmWZCNjTSbEyWQS+/cfAZCdYTRDkpoxMzOTt0wvSRIAJ8LhWTQ0vMP6/tTUFI4fP1si\nq6uLUCiU+b+ChoZ3IBKZKXgsmCS5MZOZdptmA+LxOFKpFPbtO0wBegGXL/egt3cAANd2zZp3IBBY\nvGUimdQxM5NEff3tVtA5ceIcJicnS2Z3NTA5OYkTJ84B4MG5vv52zMwkkUzqeQe+7LJ+ICBjzZp3\nWJW23t4BXL7cU1LbKx1d17Fv32GkUrzqa5oNkKRVmJmZyTvZAHilLRKZQUPDnLahUAhHjpwqpelV\nwfHjZzE1NQWAFyEaGt6BcHgWwMKnK3IYc2e0bwbQbG0g3b//SKYwRGTp6elDZ+dVADxZW7WK5wD5\njhEF+J6jZDJljX2xGJ/MvfXWBfh8vtIZXgUEAgEcO3YawFy1V1HSiMeTyHeyT3Y/VzbmZifKQ0PX\ncOFCl+321kxCHI1GrQbsYDCI0VE+m+AJQjMY82Z2LeZPKgAXJidnsWrVbQB4gJ+YCKK/f+7nzszM\nrMjKm67r1q7mRIL3WE9NBZFMJqHrLjQ0rMXU1OyiA9/cjlEvFEVBOBzG2JhhJdZ8CXvlLUkzxuZt\nKBocDOLaNf51ICDjlls2IBhUFt1UF4lEATTC7V6FcJgvR/X3z8Lv5z/HNE1L55VIdkXC7w+iv38W\nqVQK4bAMt3sVgEZEItG8k43cStAtt2ywgvO1a0EMDs5ds2AwuCIrQ7IsW8lVKBTC2JiBcDicible\nAN7MylHhifLU1CwaGtZC13lFc2oqiMHBuBVnotHoipw0p1Ipq4igaRr6+6OYmAhC13UkEiZWrboN\nk5OLj2dcey+A5kzbTwSjo2kr3miatmJPVcqNuUNDQQwNBTPf5/c6sHiFOBqVkUq50dCwFuGwAsMw\n0N8fwfg4/zkL4/pKIhwOWxX3yckgBgZkqKqK2dls604zwuHZgtrqehqhEL8O2Yny0FBgXswNhUK2\nnExTtQlxKpWC3++3vj5+/DKuXOGVNZ8vhHi8CQAyy5xeOBzeTOJQOIAEAlF4PM0AeCJ97VoImtZk\nJRNHjlzCwMA1AHyZZXx83Ja/rRIYGxuzHO7q1QEcO8ZPkshqce1aCIqiQJK8aGjwYno6mvdcQY4L\noRAPvIw1IxaTMTERhKI0WUlbR0cvTp3qtD4xPj5es8vSgUDAGvCDwSAOHOBVy0QigZkZA5OTcaiq\nipkZFV7vOsTjJhIJtWAPcSQSBWPNaGjwIhhUEAqFoGmNVpCfnJzEgQPnrMlcKBSq2Q1iiqJYPpr9\ne7OV8qGhIDStEaFQCMGggoYGLxhrRiQSzauty+VGIqEiHjfh9a7DzAw/wmpiQsHMjIlEIgFVVXHg\nwDlr8EskEggEAiX6a0vLwph36lQnOjv7APDJhqI0YWIiiFhMBmPNcDqbM/d9oYTYhenpKBoavJAk\nPlEeHg5BVedi7rFj7bh6lcd10zQxNjZm7x+5ROyaAGVj3sDANRw5wk8w4PdzkxVzgWZ4PM0IBBYf\nz/hELzsxkTE9zcfF8XGu7dWrAzh+/LL1Cb/fX7MFn2AwaMW8cDiM/fvPZva9aAgEkgiFUkgmkwiF\nFDQ1rQUAKEq8YNI2MxOFJHnh8TRjelpGJBKBpjVgaIhrOz09jQMHzlnFtHA4XJYj2jRNw8TEhK2/\nIzfmGYaBN99826qU5+ZQc21RXszMRBdNiLNjnyzzowN9vihk2YlYLAZd13HgwDlrxUQkFZcQ9/cP\nWBWBmZkZXLnSZ7126NBJa3AbHh7Fvn3tmT4pGePjKrq7J2CaJoaGQti48a8B8BlfY6MXDQ3NiMcZ\nFgsgqirB4+GJdCAQQCiUwqpVm+D3hxCJROD3p9HdzZPwsbFx7N9/2apqnjnTjp4ebqthGLhwod0K\nbuFwuCyDZDqdxsDAgPW13z+Rc8ZiChcvXraS3o6OK7h4kS9JzM7OYv/+Dvj9fjDG0NMzAZ+PVxPG\nxvjAPzUVRzgcBsCDQjJZWFvG3Egk+ADi8XgRCMi4di2Ed77zr3HtWgiGYeDKlSmMjipIJBJQFAX7\n91/G6Cgf/MbHx9Ha+pb187q7r1ZEZaOvr9/qa4rFYhgbm0sWOjt7rADMg2MbGGMwDAMHD7ZbicTg\noA8+H0/GeBJwGxi7BaOjowAaIUkSHA4v0mkGhyP/8mg6zQBwHw8G+WSjqekOK2nr6/NhYsKFyclJ\nMMZw+PBlXLzIlwjj8Tj27Gm1ArfP5y9Lq4WqqujomFsSGx/3Wdc4nU6jr6/fem10dBw+H78PNU3D\nnj2t1saWixev4vDhy2CMWX9Hb68vM9kw0dR0ByYmgggGZTQ0NAPg2uZvmXBmdPdm2qoaM9dlHYBb\nEQqF4PP54fO5MTjIB4DOzj4cPMjvfcYY3nzzOKanp8ULtgxM08TFi5etuBqNRi39AGBwcMi6/rFY\nDN3dV63XDh8+bSXBo6Nj2L+fJ1CJRAKjowquXJmCYRjW/Tw0xAc+j4dPlBMJlrdNjeNCMskyRQgv\nwuEwJifjWLfuvRgbC2bs1NDTMwHGGPx+P/bv77Bi2MWLnRgeLv0xjtFoFEeOnLCS4qtX+xGJRAAg\nszozF3MnJ6es1xaOC1ev9uPMGV5oyI4j2RjS3e2H359GJBLBxEQIq1ZtQiiUQiAQAGNeeDxNUFUJ\ni41n8ThDQ0MzGhv5RHloKIiNG3nMNU0TXV0TGB9XrUr/vn3tGB4eFS3XslBVFXv2tFoFg+npaQwO\nzl3jgYHBeT2p2TECAHp6eq2YEQ6HsW/fUQB88nLkSAfa23sBAMPDfvh8dRgd9WVi7q2QpFsxNjYG\nw6iH08njbKG44HS6kEoxmGYzGhqaEQ7HMTkZQH39u5BIuBGLxTAw4IPf74bfz5PRU6c6y7JKF4vF\ncPJkhzXRaW09ZRUSE4kE2tvnilB+/4S1KmEYBnp7+ywf9/snMDrKfTP7s7IJfkdHH1pbeS4xPT2N\nyUkHrlzxQdM0TE8nsWbNX2F8PJizubMZmpZfW0mSwJgTQBMkSYIkeTE6OgrDWA1JWo9QKITJyUn4\n/S709YlvTyl0N5UUxhi6uroy1bIerF+fxkMP7cLJk+3w++N47LEQkskkDh0aQHd3H1paPoL/+q//\ngdP5PuzdewAOh4TJSWBiIoq9e/fi5MlL+Ju/WQ8AmJiIYHqaAWCIxYYhSU6oahyTk4PYsOG9mYEO\nCAZHAOjQNO4gg4Mj8Puj8HqncPRoJ4aG+hEKeRAIjOP22514441jMM2/whtvvIlNm96Fffsuw+1m\nSCRieOutsxgeZvD5fHjPe96FI0cu4D3vWYcnn3zC+n2l0PTChQs4ePBt3H+/H01NTdi37zzWrKnD\n/fffiWPHjmN01IGJCT9uv/027N9/EYbBkE4n0Ns7jP7+FEZGfotPfvI+9PT44HDcgoMHj2BgYBr3\nAhgbC+PQoWFEIndk+iwnIUkxqGqj9fuzGgeD43A6RwAAHk8zTp8+j1iMYf36tTh9+jgaGuIYHIxC\nkhrR2noEiYSK/n4V/f3/iX/4h8dx+PAFhEIGXC4dTqcTe/d2YNOmVbjnnr+FJEnYsmVLSXXt6urC\n9PQ03nzzKt75ThO7drXgrbcuY3JSwWOP/R0SiQT27evGBz6wFn/3d5vxf//vHuj6rXA6dZimiZ6e\naQwODoExFb/73T5s2NACABgdDSAQmIFhpHDo0EVMT6+Bql5Gd/cZrF/vga535rVJlk0EAuPQNBWB\nwDVMTFyDJG1FLBZBa2sr9u8/j40bP459+9rwvvdtREeHD93dA6ivN3Ds2ElMTDRB02T85V++B2++\n+TY+9KGN+MxnHi+pphcvXsShQxcRiYTQ2NiIffsu4LbbGnHffR/G0aPH4fdL2L17FGvXrsX+/efh\ncACPPPIxDA2N4MSJKfT0XMbOnfehtbUdhuHBrbceweDgJJ4FcPz4JcTj0/D5kvB6m9Da2gFZZrj9\n9ndgdjYAn+8aZDmCTZu2ZYLw3N/t841heroPmzc3IRicxKFDVxEM/gWcTjeOHu3FzEwC6fRf4He/\nexWSpOHAgXboehNaW1vhcDjQ2jqE/v4h3H//nWXz1fFxH1pbB/Hudx/Drl0tOHHiEiIRFY8+mvXV\nTtxyi4aHH34QZ850YHg4hk99KgjDMHDoUC8uXerGJz7xUfz+93sgSe8FAIyN+eD3x2GaCezbtw+H\nD5/H5s3rMDjYi6EhQJK2wuWqRzQ6DNMEdJ0n3LzK251ZUr4GxuJQ1W6EwxM4dGgY3d1RvP/9a9HW\ndgkTEyOYnnZhcjKCtrY2HDx4Erq+Ca+//iY+8IE7sHfveXzsY3fgjjvuKKmmnZ2dOHq0A4zpaGxs\nxN697diwoREf//hHcPjwUUxOuvDII2NYs2YN9u9/Gw0NLjzwwEcxOjqOY8dGcOrUKezYcTf2778A\nntupGBnx4+8BvPbaYXz0o+9HZ+c1SNLtOHjwCEZHI3A4svfzIHp6GDSNIRSagiTNWHaNjHRiYmIA\nGza8F5HIBBgbxqpV68EYw/h4O5JJhnXrvOjpOY3Vq1X09UUArMahQ4dhmgx9fXFcufJf+PKXP4tt\n27aVTNOs/V1dXbh6dQCnTk3jypUOPPTQLrS2nkciYeDRRz+aKZR0W/nBuXOdGB2N4rHHPopUKmWN\nC9u3b8N///c+xOO34FEAExMT6Oz0obu7H06njj/8YT9uv70F+/adwIYNqzAxsQqSJOHgwWEEAl5o\nGj/PPZViGB+/Mm81gDGG0dFuNDWF4XS6oetpBALjCIdHYJqbIcthHDlyFIcOXcCGDfdj3742bN48\nghMnuuB2J7Fp06aS+mpPTw/Onx9AU5OJhgYPDh3qR0fHVTzwwEexf38rwmEPwuEAVq9ejX37zmP1\n6jq0tNyJU6dOYWSE4ROfuIb169fjzTffhmEwPPLIXfD5JvEZAK++ug8f+tBf4cCBi9D1Rtx6ayvG\nxoKQ5Vvx6qsHkEqF4fMpWLNmEkePtkNVefGtoaEZvb3DmJ0N4q/+6iPX6REIjALgY19Pz1mkUo2Y\nnn436uuTOHx4EqlUGpr2Trzyyh54vQ7ceeedwjSVWJmb3xhj+F9PPYUPHTiAfYkEwBg+CeAggAck\nB45Cwi6J4SiAXQw4wnhyO+89UvY1ADCxG0Da4cQ/mgY+/5EdePjKZRzSVewyTRyBBMBc8HkJuxj/\nHQ9IEv7RNLBr7To8E0+iNa1Zr+3C3O/I/fwxCdjJCrzmkLDTZKhvaEDvo4/gJ6+8YvsNkavp/kQS\nu4AcG6/XL/taVusjZj6NJTwABoerDl/RVfy2rhGtaRW7GObptwvAEQBgczp8wuGE012HL2tJfGn7\n59BycR8O6Vre37GLsfzXOGPbMWRtBT7hkFDf0IArDz9ccl3t8NWnP7oDD3VnfJWZOMIW8VVJwgMA\n/tE0sHP1OnxJVXEopd7QVxf+/vl+IGEnY6hvbEDvI5Xqq9zGowB2SVjEVwGHy53x1YbMfbw0X3XV\nN+BLSQVf2v45pM6+hoeYmXON+ef4zzEzOub346zWleyrRxhbsh/n+uozd9+HB9ov4aCWxHU+Nk8j\nhqOQ8IDEffXBde/CP8RnMj5e+Drc2FeBnUxCfaOnun0VEh5wAA5n1lc9OJzWeYxb6KsLdOBxtR5f\n1hLcV8/9Dx4yjZvy1SPgfrAbgOF0Yuizny2Jpgt13RdP5NXoRr6aHRfy+eqXd9yPlgvncVBTUSge\nZjU6CoflqzvX3IovqUnLV/P76OLxZO53SPA0enC1jL46dz8VzgHyvpbJYbK+6nS58WUtv6/mH/N4\nPM7mAF/82Gdgvr1nflzNGdf4z0GeazXfj+3w1bJXiLu6urD5zTexOR6HD8BfANgMoA7AZmaiEcBm\nBv5/AKF872HzX3saAEwD/7uhAZ/qu4xtapy/F0AIrODnGwE8zYBOAF+aCePDAOox99pSf/+814yM\nPYk4/vDmm+jq6sLWrVvtExTzNXVk7V/Mxpy/fzMr/J6nAXTqKv4TwJ16Yk4btrhGT5sGoCXxUmMj\nPtH5JrbpKqaXqyPm+0EjgKcNAIpSFl3t8NWHry7DV7PXA8CXo9xXs5+7aV/N/EzEa8VXjYyvJpfn\nq0kFLzU24v2X92MTM6+/xku1MTeuVKivLuVey+erD3VdwjYtjqlCn1/492fi6hfDPvLVBVo9bQCd\nRtZX1WXG1cScr5rGTfvqvGtsGPg/+/eXRFPAfl994PIFbNMS+X31unvVsHz1y7Oheb56w2u8yHuq\nxVcL5TC5cWwxX13078/kAB/sPHh9XGXLt9EWX2U1xLFjx9gPfvCDJb33a1/7GtuxYwe79957WWdn\np/V90zTZtm3b2K9//Wu7zKwqitX0Rz/6Edu2bRtraWlh//Zv/2anqVVFsbomk0n21a9+le3atYs9\n//zzdppaNRSr6be//W3W0tLCWlpa2Nq1a+00taooVtfTp0+z7du3s7vvvpv98pe/tNPUqqFYTdvb\n29mOHTvYfffdx06ePGmnqVXFcnT91re+xe6//352zz33sPPnzzPGGPP7/Wznzp3snnvuYYcPH7bT\n1KqhWE1ffvlltmnTJvbFL37RTjOFUFMJcVtb25Iv3PDwMGOMsYGBAfa5z33O+v7rr7/OHnzwQfby\nyy/bYWLVUaymL774IgWWPBSr689+9jN25MgRu8yrSkTc/4zxZOOZZ54RbV7VUqyuTzzxBBsfH2em\nabKPfexjdplZVRSr6eOPP878fj9LJBJs9+7ddplZdSxH11QqxRhjbHR0lD3++OOMMcaee+45dvr0\naaYoCmtpabHNzmqiWE1DoRAbHBysioS44k6ZEEEsFsOnP/1pXLlypeB77rjjDgCAy+WydpUCwB//\n+Ed84QtfWJHnii5GMZr+67/+Kx588EF0dHTYbWbVsVxdXS7e5dTW1oY9e/Zg586deOONN0phatVQ\njK8CwKuvvorPfvazdppYldysr65btw6zs7NQVRVNTU2lMLVquFlNZ2ZmsHHjRjQ08Acd0SPb57MU\nXbNayrKMdevWAQC6u7uxfft2NDU1wev1rsiz8Qtxs5quW7fuuhhbqZS9h1g00WgUzzzzDF566SUM\nDg7iG9/4xrzXP/WpT+G73/2u9fX3v/99fOtb3wIAHDp0CC0tLXA6nSV5TGC1sFxNX3jhBUvT559/\nHj/60Y8wODiIr371qzhx4kRJba9kbsZXn3/+eQDAtWvX8J3vfAc//elP0dLSgkceeaRqgo6dFOOr\nWQ4ePIgXXnihJPZWC8X46nPPPYfdu3fD5XLhxRdfLKXZFU0xmt52223o6enB+vXr0d3djWg0Co/H\nU1L7K5Xl6PrEE0/g3LlzaG1tBYB5Z9+vXr0as7Oz8Hq9pTO+QilG06qi3CVqkRw7doxt3LiRvfji\ni0t6/89//nP2k5/8xPr6qaeeYqqqst/+9rfUQ5yhWE1zue+++0SaVtUUq+tdd93FdF1njDH293//\n98zv99tiZzUhwlf7+/vZE088YYd5VUuxun7yk59kPp+P6brO7r//fpZMJu0ytWooVtP+/n720EMP\nsc997nOspaWFpdNpu0ytKparK2OM+Xw+9sADDzDG2Lw2iccff5zJsizcxmqjWE0ZY2xkZKQqWiZq\nqkIsSRK+8pWvYGxsDK+//jokScLPf/7zee959NFH8b3vfQ+HDh3CmTNn8Morr1iv9ff34zOf+Yz1\nQIr77rsP73//+0v9Z1QUxWoqyzK8Xi9CoRBV3XMoVtd77rkHHR0d+PCHP4yRkRGsX7++1H9CxVGs\npgDw2muvUbvEAorVNZFIYPXq1XC73XA4HEilUiu+mlmspu973/tw8OBBhEIhfOc736HVoQzL0VXT\nNNTX16Opqckam7Zu3YqzZ89iy5YtiMViaG5uLsefUVHcrKa5Tz1k1dKCWu6MXCRtbW3shz/8IUun\n0+zJJ59kJ06cKPjeD3zgA+yuu+5iLS0t7Otf//q81/7jP/6DNtVluFlNn332WcYYY1//+tfZjh07\n2Pbt2xf97EqjWF+dnJxkDz30ELv77rvZb37zm1KZXdGIuP8//vGPs9nZ2VKYWzUUGwP27t3L7rrr\nLrZ9+3b24x//uFRmVzTFavrrX/+a7dy5kz3yyCNsZGSkVGZXPMvR9TOf+QxraWlhO3bsYMeOHWOM\n8crmrl272Pbt21lra2uJrK5sitV079697N5772UbNmxgTz75ZImsvjnK/mAOgiAIgiAIgignNXnK\nBEEQBEEQBEEsFUqICYIgCIIgiBUNJcQEQRAEQRDEioYSYoIgCIIgCGJFQwkxQRAEQRAEsaKhhJgg\nCIIgCIJY0VBCTBAEQRAEQaxoKCEmCIIgCIIgVjSUEBMEQRAEQRArGkqICYIgCIIgiBUNJcQEQRAE\nQRDEisZVbgPsgjGGrq4uAMCWLVsgSZKtn1spkK7iIU3tgXQVD2lqD6SreEhTe6hlXWuyQswYw/96\n6il079iB7h078IPPfx6MMds+t1IgXcVDmtoD6Soe0tQeSFfxkKb2UPO6shqko6OD/b65mTGAMYD9\n3utlHR0dwj6XTCbtMLvisVtXxhjTNI0ZhiHa9IqlFJpmSafTTNM0UaZXNKXUNUutx4VyaJqllrUt\np66M8ZibTqdvxvSKpdyaZjEMo6ZibqXomkV0XKjJCrHdHDt2Aslkstxm1CTt7V2YmJgotxk1id/v\nR0dHT7nNqEkSiQTa2k6W24ya5cSJt6AoSrnNqEm6uq5ifHy83GbUJJOTk2hv7yy3GTWJpmloazsh\n9GfWZEK8ZcsWdO/eDQD4g9eLnt27sWXLFiGfMwwDMzMaVFUVb3iFY6euWSIRdUVNNkqhaZZEIolI\nZGX4bSl1BYBkMomZGa0ylwEFUWpNc4lE1JqNueXUFeDaJhK1pW25Nc2iqipCodoZzypFV4Brq+uC\n463QenMFYZomYwDr6Ojg/xb0uXg8zn71qz1scnJSpLlVg126ZvnjHw+zS5e6RJhaNditaZa33+5g\nf/rTsSIsrS5KpStjjPn9fvarX+2p6aV9xkqraRZN09ivfrWHjY+PL9fcqqEcumZ59dU2duZM+019\ntpIpp6ZZLl/uZr//fWtRP6PSqARdGWNsamqK/elPbxb9c3Kp2VMmsjsYt27dKvRzmqYhHkfNVitu\nhF26ZlEUDbHYytLWbk2zyLIKRVk52pZKV4DHg3icxwePx7Os31dNlFLTLLna1irl0DWLomiQ5drT\ntpyaZpFlDfF4bWlbCboCPB6kUkJ+lEVNtkzYiaqqSCQAVa0tJ68EUqkUNM2AopC2diDLGhKJFAzD\nKLcpNUcioSGZXLkTZTvRNA2qihU1mSsVpmlCUTTS1iZkWYWmmdB1vdym1BzJpEoJcbnRNA2G4Vxx\nVcxSkNVWlklbO1AUFabprOlKW7mQZRWGQdragapybWmiLJ5szCVt7UFRuL40URZPPK5B9JYNSoiX\nSSKhwuXyUgCxAVVV4XZ7a26JqRJgjCEe1+F2eyk424Asa6StTWiaBpfLS0UIG9A0DW53MxKJFEzT\nLLc5NYcs8zGNJsrisSMeUEK8TGRZQ1PT6prsuSo3mqbB4WhCKiUhJXotZIWj6zoYc0OSGig424As\nq2hoWE0TZRuIxzXS1iZ4LPAAqKNlfcEYhgFdZ3A6m2mibAN2xANKiJeJLKtobFxNPVc2oGkaGKuH\nJHkoaRMM17MejNWTtjagKBoaG2mibAexmJrRlmKuaHii5oEkeShpE4yqqpAkDwAaz+zAjlhLCfEy\n4QPfKsTjek2fOVoO4nEVDocHQD0FZ8FkgzNj9TV35mi5MU0TqppGQ4OXkjYbkGUNHk+aMchhAAAe\n2ElEQVQzUilGG0IFo6q8CAHQRFk02SKEw1FPbYA2YEdRkhLiZSLLKurqGsCYm5aYBMP7MOtBM2rx\naJoG06xHXZ2HqpiCyQ58pK09KIqKujqaKNsB73H1wDRJW9FwPevhdnuo/10wuq6LfygHKCFeFowx\nJBKpTNJGAUQ0fLLBq5ikrViyS6Nudz1VMQWTHfhcrnpqpbIBReETZWqlEk9uEYKOEhULbwHMxlzS\nViRc2zrhP5cS4mXAL4IbkiRRcLYBWdbgctXD4fAgkSBtRaIoXFu320ObkwST3ZjkdDphGE5aORJI\nOp2GrgNOp4smyjaQrRC7XDRRFk08ztvU3G6aKItmrj9bLJQQLwNN06yLQEtM4skujbrd9bTEJJhY\njA98VCEWj6qqmT5MwOGgibJI+MBXn/mKtBVNtvpO7T7iydWWihBiyW7AFw0lxMsguzTKoeAsEsMw\noGkmXC43BRAbyAZnt7seiUSKNoQKhC8184kyVTHFMncsGADQhlDRxONzcYEmymKJxXiBx+l0IZXi\nqx2EGLItgKKhhHgZ5AZn3i9ISZsoshuTAGSW70hbkWT7syVJAmNumswJRJa1zKYvgCbKYsmNC243\nVTFFous6DMMFh8NBrVQ2kJ1scGiiLJJ4XIPTSRXispJbpqedo2LJHfh4hZi0FUm2hxigZX3R8D7M\nuYGPtBVHbiWINieJRVWzx1xybeloMLHwVTmuL+05EgvfDEoV4rIiyypcrrkAQjNqceQ2ybtcbqiq\nQWeOCiKVSiGdluB0OgHQsr5osptBAUCSaAONSPjm2mwRgrQVSW6Bx+FwwDRdtCFUEKZpZk6k4ich\n0AORxDK/CCEOSoiXwdwRNaCeK8EsbJKnGbU4cjeDckhbkSjKXHCmzUliyR34aG+BWHJX5TiUtIlC\n1/UFx4KVR9toNIru7u6S/167ye6JEQ0lxMtAVVNwudwAAKfTDU2jJnlRpNNpMObO+Y6LNiEIIp1O\nQ5LmtGWMtBWJpqXhcvHBz+l0Q1VTZbaodlDV9LyYS9qKI5VKzYu5kuRGKkX6iiCVSi2IuVJZNjLr\nuo5IJFry32s3qpqC0+m+8RuXCSXEy0BV03A4XAD4uZi6TkmFKFQ1BUlyWV9LkpuSNkHwQc6V8x03\ndJ0GPhEwxqDrhtWO4nS6aKIsEE1LWwMfX9bny9FE8fD4OhcXaKIsjoXalpNajEc8LojXlxLiZaDr\ncxeBB2eJ+lwFcb2Du6haIQhefZ/TlpI2cfDq+3xtaaIsDl4JoqTNDlQ1BYdj/qocxVwxLFyVKye1\nFusZY0inTTgcTuE/mxLiZZDbMsGh4CwKvuxMy/p2kC8hVlXSVgQLK0F8WZ+0FUVuEQKgZX2RXF+E\noFU5UfB2lMqoENdam9HCdhSRUEK8DHR9rmWCQ0mbKKgSZB8LqxXUiymO67V1QdNIW1HktkwAgCRR\nXBCFql6/KkfaioFaJuzDTm0pIV4ijDGkUqbVKwhQn6tING3+ZIMqQeJYWK2glglxLOzPppYJsSys\nYtJEWRwLJxuMuZBKkbYiWLgqV07SaVZTrZ0L29REQgnxEsnfE0Q9V6LI10NMiYUYFk42KGkTx8Jq\nhSRJME1HTQ1A5cI0TRgGg8ORO0xRQiyKhTHX5aKTk0TBfbQyeohNEzWVp9ipLSXESyR/mZ6CsygW\n9hBTFVMcuUdXAYDDQT3EoshfCaK4IIL82tKqnCg0bX6bmsPhQjJZO4lTOUkmU7acgnAzGAZq6p6h\nlokKgDdyz78ItHwnDk1LzatiOhyUEIuC7yanCrEd5KtWULuPGPIvjdKqnCgW9hBTEUIc1/dnl490\nurYSYjs3LFJCvESoWmEvtHxnH/m0pU11Yrj+jGfa+CWK/LvJSVtRLNwkTgmxOBa2qZWTWqwQU0Jc\nZvKV6fkmBEosioX3CmJeryA/Goy0FcHChNjpdCGVMsry5KRaI5Wilgm7yL806qbVDUFoWmpBmxpN\nlEWxsAWwnJhm7SXE1DJRZnjiu3BplJaeRZBvwyK1TIhj4W5yAGDMSRu/BJB/4KOVIxHkG/hooiwG\nwzDAmAOSJFnfowqxOBb2Z5cTw6itTXW6TucQl53CwZkCSLHkW3am4CyOfI+5pD5XMeQ+zj0LrRyJ\ngS+Nzh/4KC6IId+yM+0tEEcltUzUWg+xXY9tBighXjL5EmLqcxVDvs0z1OcqjnzVCupzFcPCB8pw\nSFsRUBHCPvKtytFkQxx2Jm3LpdZaJvIVIURBCfES0fXrWyZo+U4M+aoVDgdVK0Sx8PG3HEraRJBv\n4KPTZ8SQf+WIihAiyHdqEq8Q094CEahqqmJ6iBmrrcc329mfTQnxEsk38FGfqxjy7SZ3Op1IpUwK\nzkXCewWd83oFOdTnKoL8cYGSNhHwCTG1UtlBoY1JtHIkhlTKgMPhvPEbS0Qt3TP5V+XEQAnxEslX\npqfgLIZCx6jQo7GLJ1+VDaAqpijybViklSMx5Jts8JhL2hZL4aOrKC4UC9c2XxGifNRSm5Gd/dmU\nEC+RfMGZeojFUPgYFQrOxbKYtrTxq3jy9WfTRFkMvBJEfa52QDHXPuw8FuxmqaV7hjbVVQD5+lZ4\nywQlFcWSbzc5wJfvKGkrjkLBmSrEYihUxayliky5oDY1+8h3jChAp8+IIJ1Ow+GojP5hoPZWrKiH\nuAJY+PhbgKoVotD1fI9opaRNBPl2kwOkrQgYY9B1I09CTCtHIsg/2XDCMBhM0yyTVbUBtUzYR6E2\ntXJRa8fpLXzCokgoIV4EXdfh9/sBFKpWOGCaEkzTRDgcRiwWK4eZVcvw8DCAwk3y2R5iVVUxNTVV\navOqmomJCWiaVjA4u1xuJJMpMMYwMjJScvuqmWg0ikgkkve4QGB+n6vf76eK2zJIpVLw+XwAeN/j\nwpYJDk/aZmZmEI1GS2sg5o8L1cbIyAgYY9C0yi1CZMeFamNqagrJZLLiWiZyV6wmJyehqmqZLVo+\nsiwjFArlFCHs2bBICfEiBINBtLf3Ayh0dBWQDc5XroxgbKw6g2Q50DQN5851I5lMFuwJyj7gYHp6\nGu3tA2Wwsnppb+9HIBAoWAnKrm4kEgmcPdtFSdsyGBnxoa9vtODAl7tydPFiL8LhcIktrF4ikQgu\nXLgKYLGnffGYOzg4hkAgUFoDASiKgu7uvpL/3mJJp9M4e7YL8Xh8kWPByruRWdd1a1yoNi5fHsT0\n9PQi1ffykFshvnSpH8FgsMwWLZ/xcT96ekYKFiFEQQnxIkSjMvz+OEzTzLubnMOTtkBARiAgl9zG\nakVRFMzM8P/zSlDhgW92VsHkpFJyG6sVxhgmJuKIRpWCSVu2FzP3OhBLY3paRiCgFAzOWW3T6TQm\nJhKIxSguLBVZljE5qSKVShWcKGdXjqany6drOJyoukefZ+91WZYX2ZhU3gqxLMtVG48mJ2VEInLB\n/uxykV2x4uOCgtnZ6otHwaCCQEDO+KZ92lJCvAjBoIJ4nEGW5YJl+uzGr0gkjlCo+m7iciHLMiIR\n/v98u8k5Lmvgk+V0VVYNykE8Hkc8bloBJF+1gj8JMD3vOhBLIxiUEQrxga9Q9V3X+WQjHufvJ5ZG\nMCgjHucJUeHjlXjMLaeuiQRDPB4v2++/GeYSYmXRVTn+EKryoChKVcYjVVWhKHysqrSWCYfDAcYc\nkGUZiYSJYLD68pRAQEY4HIemaVQhLiWRSMT6dyAgQ5KaMTs7W/AiMOZCNBqFYXgwM6NaVYNQKFQS\ne6uNbFIbicgAmhEOFw7OgBupVBrBIL8O2SA5OztbddUZu+GV9FkA2epKMwIBObMZ9PrJRjZp40lF\nM2ZneZBMJpNIJBIltJxjmiZmZmZK/nuXSvZ+TqVSUJQ00uk6yLKcd8Nidm8B729trogBqJLbNmZm\nZqz7mWvVjGg0inTaLNAr6IKiKFCU8lUyk8m5pC0ajVZsy1EikbDuZ14ZbEYwKBd8/G25N4rPzHAb\nQyGuLU80y3//5MMwDCtmcV9oRiikVFzLBMDzlJmZGTDWbK1kM8bm5TuVRjbm8rEhCcYaMzGVEuKS\nwBjD0aPnAfCLMDubREPDOxAOz6BQmV6S3JiZmYHDsQqS1ARFUZBIJNDaeoYqmnno6xsCwAe+W27Z\ngEBALtif7XS6oChJKEoadXXrrQGore0iJiYmSmp3pePz+XDy5GUAQCwmw+O5HdGohkRCy6utw8GP\n4uHXYaMVJHt6BjAyMlZS2wE+oLz11vmS/96loCgKWlvP5AzOzZAkb2aAKTxRDoVm0NS0AaGQUtYn\nLuq6jkOHTlfspt+2tovWptlQSMloNpt3sgHMDe7lDK+aBsRiPFF7660OjI+Pl8+YRejq6kdXF98H\nEwjIWLuWx1xNy99DXO4jA6enZdxyy0ZrEtnffw3nz18pmz2LMTk5iba2iwB4jHC7b0U8biIajRdY\n8SwfkuRGJDJjjQuGYSAYDOLIkXMV+TRYVVXR2noms9oZB9AIh2PVojFXBCs+IY7FYvD7J6x/j43p\nAPiys2k2wONZjampmUUrxJHIDBjzgjEvFEVBKBTC+Dis5vVIJILp6enS/EE5pNNpDAyUbzMa//2D\nAGDddENDfNYXCPDAFwopBVsmHA6eVADNqKvzIhzmk42xsQTGx8u/MaC/f6CslerBwSHr32NjIYyM\nyFBVFcGgjPr6VQCaEA7PFpxsqGoKoRCfmGTbfYaGyqdrMKhZSZvP5y/7smm24h4KheDz8f9zm7ww\nzeZMdSh/XJAkNyYnZ9DYuAaGUV+WqnuWXPsBXtHMxrxyoCgKxsd91r/HxpIYHw8imUwilXKjuXkt\nJicLawvwIkQ5N8szhsxkXsfwcBTDw/y+yY155cAwDPT19VtfDw0Fce0av+6hkIK1azcgHI4XPNnH\n6XSX9czabDzKtsMMD4cwPBy2jtkbGBgsazX+2rVhaJoGABgfD2JsLIl4PI5wWIbL5YXD4UUkkj/m\nlhNJcmFqagb19asgSc1QFAVTUyGMjaWtKvfExGRZTm3JMj0dsCrWC2MuY80AvIhEChcnRVBxCfHl\ny13WsSCmaQo5IiSVSlk3EWMMly51WF93dw/ixIkrYIwhEAgCWAcgu+zsRUNDdsmzkIO7EA4rqKtr\nBl/qkzE+HgKwDj5fKPM3DWBqqvQtFKqq4vz5XqtSPTQ0Mq+VQ8QgzRibVwnv6xvMucEmcPToVSiK\nYt1o2aQnkTDR2LgKqipBVfW8AcTlciMa5dfB4+FLPfzolXVWkC8XsVgMx471YnJyEgCf9PT3zyWo\nyWRSyMw79xoFg0FcuzZqff/IEV45YYxl9LgFoVAIwaCChgYvAC9iMSXvZMPlciORUJFKudHQ4EU0\nqiMWi2F6unyJWywGBAJBMMZw/HgPrlzheuq6jkuXOiw9c+/nYlBV1fqZqqqio6N73uudnTyxGRvj\nPufzhTKtJXyCFokoBasVkuRCKMSvgyR5y7rsOzHB7c8mbT09Qzh5cq7q1tnZY/nZwvv5Zkmn09B1\n3fq6vb3T+ndv7zUcO9YD0zTn3c/ZZeeGBi9CIWWRXkEXZmYUAHVF23mzuN11CAaVjP23YHQ0AtM0\n58U8ABgZGZtXDBE1MVp4jbItMdPT02hr68Ps7CwURUEsJiEa5fFqZkZFY+MqGEY94vFkxbVMpFIp\nyHI6My44EIvFMDWVgKY1YnZ2FolEAkePXrWOvItGo7h6dS75tyPmRiIRDAxcA8BPRjp8uAejo3w1\nYHiY+24wGEQgwO9102xGNKrYdk7uzcPjkcfTDMZ4+yEfM9YhEOBj6alTV9DZyQto6XQaly51WBOR\nhfdzMWR/pq7r8+LCmTNXcekSv57j40Ewtg6jo0HIMs8B6uubM4WbFVIhDoVCOH58BENDIwCA3t4B\n7N//liXg0aOnraW1WCyGM2cuWDdAZ+dVKzmJx+M4cOCY9XNPn76Mt95qB8DPCjx+fAyjo2NIp9Po\n7Q0gEnEiHA5jZCSEW2/9SwB8tsJYMzyeZqiqhEIXgTE3VBVoaPDC4/EiEOCO9q53/TWGhkLQNA29\nveWruoXDvNqWTqdx/PhVvP12LwB+o7/66lErcPf09KGjgw+ShmHg1KlzVtCdmpqyXsvqnU2sh4dH\nsGfPCRiGAU3T0NbWh8uXuVP39voxO+vF6KgPwWA2gb01c+5tc+brZjDmgMNxvSvyPldAkrxoaPAi\nGJQxNhaE1/tuKIqrrEvAo6N+zMx40dvLK13t7f04frwPuq4jnU5jz54TGBnhyWswGMThw6cs7S5f\n7rEGyUQigbfeetv6uZcv9+DKFa5fLBbDn/98xJpgnDvXixMnrsIwDIyP+xGLeQHwgUFVPWhsfBfG\nx4NW4AOakUqhQMuEE4bBtZUkCUATRkZGUMYCAdJpYHQ0hFAohJkZN65cmYJhGBgZGcPx43OJxalT\nl3DuXAcAHlQPHDhmDWI+nx9dXdzHs3pnK81TU1M4duwMAB6U9+49hf5+nvQODAyjrW0YkUjE0ruv\nLwRd1637+dq1IAIBGY2NfILGf2WhaoULmuZAfX2jNQCVi6GhIN71rr/G6GgEuq7j6tW5mDc7O4u2\ntmvo7+eD/uDgNbzxxklr5eP48XNWAqIoCk6fnmtr6enptyq9yWQSBw4cswoYb7/diba2CwC4/x8/\nzu8F0zTR0zOJaLQewWAQIyNBrFnzHsiyhKmpKTDmRV1dA3TdicW0TSSQmfSVB4+nCTMzCfh8AXg8\nG5FK8b0mV6/6MDvrxdiYH6Zp4tSpXpw+zY+Ri0aj+POfj1grD319g7hwgScE2TEuG4+DwSAuXeqy\nft/Ro6ct/x8bG8Nrr7XNmxheuNCX+Zk+zMx4MTrqz6xQ3gbgNoyMjECSmiBJEiTJC9PMHxfK+RAH\nWZbhcPBr6nB4M+PEOjgc6zE9HcTYmA/RqBdXr3J/7Ojox7Fj/UgmkzAMA3v3nsLAAJ9ERyIRtLae\ntH52V1evtSqiqipOnTpnnabR1dVrjW/xeByvvnrU+tz58704caIPqVQKfv8EYrFm9PT4IMsyZNmB\nNWveg7GxEEIhGQ0NXjidXuh6fm3LixvJJNDQwNu9AoEwpqcTWL/+vbh2LYhIJIJQSEJfXwipVApj\nY+NoaxuzcqqzZy/j1KlLAGDplhtXL1/usX7TuXOXLB/nbRlvgTFmxeOeHu6r166N4PjxUQQCAciy\njKmpFK5di0JVVQwP85g7PBzG9HQM9fV8osxTEvu0rYirxhhDV1cXzp/vwuSkB7/85e/wxS8+hoMH\nL0FR6tHYeAhOpxMHDw6hvb0Hu3Z9FK+9th+yvAaxWBhNTU04cKALzc0SHnro73DgwGEEAqvxMPiy\nZ2vrJTAGuN0pdHQMIhDw4he/+C889NB2DA2F4XKtwf79hzE0FMaaNbzqMDAwjmDQA13XEAhMAZCh\nqh7L3snJQWzY8F4Eg+NgbBi33vpOpFIaxscvYHQ0jM2b1yMYHMP//M/r6OmZxm236di69UOZ5KM0\nmnb//+3d7U9b5xnH8e8x2PghGUkJpIrWCbouTQbNQ9NIU9NuCYSUEO3FGinVWLt0yv6Lvd2k/Qeb\n+mZap6wjTaOQMBuDDU1QkwYSmvAQnmIoGCjYYAw29vHj2QtjAjFxadVAJl+fNwgdH9/3uc7v3Oey\nMdDby/j4KI2NHvbuHeLRIz8u1wTbtiVxONpZWNhDItHIvn1lWK1dJJMa4fAi09Me2trc3Lhxg5qa\nKhyOu/j9CQIBH4FAkNPAJ59c59ixg9jtHfh8BZjNNuLxJGNjYcbHx4EQly87KSt7h8bGmxQWmvgZ\noNfvwulsZHa2GFW9T1/flxQXG4lEHmTMf3T0ARaLH7PZgqoG8XjGcLtdmM1HmZ/30d7ezksvvcRr\nr722qXXt6enBar0NlHPpUiN5eWHa2gZJJndgs9lRFOjsnGN09Guqq9/g0qVGYrES4vEgFosFq7WX\nnTvzqKo6gs3mYHZ2O8dILTCffXYTnU6jtnae/v4RvvpKxeX6OydOvMnt28Nomgm7vZn+/kni8b0A\nuFwjTEz42LHDiMNxl0jEQCjUy8KCF1UdIRSap7T0QEaNZmbG8HiGqagowOv9hmCwm5kZI4ODSfbv\nf3XTszo3N017+zhu9whebyHffOPD4XBgs32ByXSIq1ebKS8vw+HoB5IoSoTJyWna2z10dXVSU1OF\n3d7J0lKSxcU5AoEgNUB9fQNHjpTjdN5lZiZBIrFENBqjo2OagYFhTp2a5+OPr7F9+2EaGpowm428\nB8Riu7h69Sq3bvVTXv4iXu8oIyNRjMbUx3l8vlF0Oh2RSGhlPUjXzOsdAVQikW58vmlu3Uq9w7XZ\nWe3o6KC7e4iSkiJ6e+9isSwyOhpHpyvEbm8lHk8wNaXno4/+w/nzv8bh6MLvN2Kx2DGZjDQ1DVFU\ndJ/q6qNcv27H7y/kTVJZra93YjBATc1RWlramJraht8/S2npj7Fa75NM5lNQEGNoyM3MjBlI/dRo\neNhDfn4xNpuT8XE/27YdZW5ujmDwIS5X6k9Eeb3TKIoPVbWsHEu6xj7fFPH4KPG4ysDAHK+88sqm\n1rSvr4/JyRE0LcbMzAh6/esEArPY7c20tfVSVnaKxsYbjI+P8vDhLIoSYedOGBmZ5MGDKC7X36it\nrcJmu0c0CpFIgIWFRWqBTz+9xqFD+2ltvYvHEyMQSL2IaWpK3fuOH3+dixevAaUYjVYKCvScAVyu\nJdra2qivd1JaWkNj401KSrbj8ewGoKVlkPn5IsLh+/T2fkFJST6q2pNxbGNjvezZo3LmzLFNq2l6\n7M7OTsbHF5bneJulJT1+/08xGII4nWNEIjHi8b1cuWLDaIzidA6gabuw2ewUFBjo6JhhcPARp08v\ncOWKlVComGpSL0Tq69uwWFL9QSqrJjyeafbs2Y3N9tXKve/RozHu3QvzPqlf9mxv7yWZ/BFNTXZG\nR72oailW6+dEozO43Qo7d07x9dd3iMV07N79IoGAj1BohGBwjpdfPrRSQ4/HxcCAkbKysk3Pqts9\ngabpgQVUtY/FxVmczocMDS2xf38xw8P38fncTE9bSCQCOBwOHI47GAwHuHKlmSNHXqWpqRtN06HX\nx/B6fbwLXL58nYMH9+Fw3GV+Pk4g4ENVVWy2IcxmK2fPnuHzz+/hdseJx4Pk5eVxEujsHCMcDnDx\n4nXM5sM0NDTzwgsWJiZA02I0NFyjr89PSUkxvb23cbuL0Otfx2AwMTeX+scyqhrF7R6gsHAeTdN+\nsJoq2hZ/olrTNP507hw/t9n471II0HgHsANVio5WRaFS02hVoFIDp6ZlPKZNgROrttUAcV0eF5IJ\nLrx9nLfudNASi1CpaDiTmfunxkjSikKVonAhmaByRxG/D6s0x9TU+ChUouEE0JJr9wcqYf1tClRq\nCgUmIwNnavlzff0zvyBW19QaClMJq+oHkFy3fq0oT68RClU6yMvX82FE5R8GI454NLVfxjlaO8ZJ\nXR55egMfRsJ88IvfUNllozkazZhH+nnWr+PyGMu1blUUqhQwmkw8PH160+v6fbP65LbVWf3jL09w\n7Ms7G8hqqg7prJ58oYj3l8I0xyJrapStjk/LcZWiYDAZGajdwqym579OVtP1++Gyunb/k7o88g0G\nzqth6t44A102TiWTGdf6Sh3XneM6WQWM5s3P6n6rFWsonFmjlflnydgGstocVTOOf816wtqsVhft\noi4QoiUeWVlzn3quyZJjnrOsrjfHTczqe4ffIe9BS5asJnFqSmaNn1gP0ud45Oy7m1LT1XXdZ7Vi\nC2Xm6fH8yazfBrJ64e0TvHXnDs3RzOvgyXtfq/Y4q6d27eK3i+msfsu1QvY1twooMBnpf16zmmXb\n6hpV6UCXp+cP0Seyms64poGWWaMqIL/AwPlwmHOHTqLvbqV6dVbT18pGsrq8VjyLrG75O8Q9PT1U\nNDVRsbTEBPAToILUp8MqtCRmLfV9+utslsekt9UBJBP8xWTieFcnB6MhCoAKLfv+ZjTqNOgGzvvn\nOJx+DGAmy/jZtmnL8wkt8e+mJnp6ejhw4MAzrOjamurYeP3M2WoE1CWgO5Hgn8CRqJqq6arnftoY\ndckERML81WzmVE8zB6MqM1nm8a1zXB6rDiAY3JK6Pous/upex3fIKitZ/cD3HbKabW7Lz8nSFmd1\nA/N/pllVU1kt72ulLJlc91r/v8lqKMRkljlmnf8GsprtOl45fh5n9f25WQ7D4/OB9v3WVSSrq7N6\nYODmBrKqbXg9+pfVuik1hbVZncpSx++b1eNdG8yqtjarv5tdm9WNXOtZe4DnOasbPManZpXs96w6\ngHAqqwcHv8jMasZ53Jqsbvk7xEIIIYQQQmyl5+qX6oQQQgghhNhs0hALIYQQQoicJg2xEEIIIYTI\nadIQCyGEEEKInCYNsRBCCCGEyGnSEAshhBBCiJwmDbEQQgghhMhp0hALIYQQQoicJg2xEEIIIYTI\nadIQCyGEEEKInCYNsRBCCCGEyGnSEAshhBBCiJwmDbEQQgghhMhp0hALIYQQQoicJg2xEEIIIYTI\nadIQCyGEEEKInCYNsRBCCCGEyGnSEAshhBBCiJz2P4wLGlgbgp4FAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The figure above shows the rectangular window DFT in blue, $R_k$ against the sinusoid input signal in red, $X_k$, for each value of $k$ as the two terms slide past each other from left to right, top to bottom. In other words, the $k^{th}$ term in $Z_k$, the DFT of the product $x_n r_n $, can be thought of as the inner-product of the red and blue lines. This is not exactly true because we are just plotting magnitudes and not the real/imaginary parts, but it's enough to understand the mechanics of the circular convolution.\n", "\n", "A good way to think about the rectangular window's `sinc` shape as it slides past the input signal is as a *probe* with a resolution defined by its mainlobe width. For example, in frame $k=12$, we see that the peak of the rectangular window coincides with the peak of the input frequency so we should expect a large value for $Z_{k=12}$ which is shown below. However, if the rectangular window were shorter, corresponding to a wider mainlobe width, then two nearby frequencies could be draped in the same mainlobe and would then be indistinguishable in the resulting DFT because the DFT for that value of $k$ is the inner-product (i.e. a complex number) of the two overlapping graphs.\n", "\n", "The figure below shows the direct computation of the DFT of $Z_k$ matches the circular convolution method using $X_k$ and $R_k$." ] }, { "cell_type": "code", "collapsed": false, "input": [ "fig,ax=subplots()\n", "fig.set_size_inches((7,3))\n", "ax.plot(a,abs(R[idx,0]*X)/sqrt(Nf), label=r'$|Z_k|$ = $X_k\\otimes_N R_k$')\n", "ax.plot(a, abs(Z),'o',label=r'$|Z_k|$ by DFT')\n", "ax.set_xlabel('DFT index,k',fontsize=18)\n", "ax.set_ylabel(r'$|Z_k|$',fontsize=18)\n", "ax.set_xticks(arange(ax.get_xticks().max()))\n", "ax.tick_params(labelsize=8)\n", "ax.legend(loc=0)\n", "ax.grid()\n", "# fig.savefig('figure_00@.png', bbox_inches='tight', dpi=300)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 8 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Summary" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this section, we unpacked the issues involved in resolving two nearby frequencies using the DFT and once again confronted the uncertainty principle in action. We realized that longer DFTs cannot distinguish nearby frequencies unless the signal is sampled over a sufficient duration. Additionally, we developed the circular convolution as a tool to visualize the exactly how a longer sampling duration helps resolve frequencies.\n", "\n", "As usual, the corresponding IPython notebook for this post is available for download [here](https://github.com/unpingco/Python-for-Signal-Processing/blob/master/Frequency_Resolution.ipynb). \n", "\n", "Comments and corrections welcome!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "References\n", "---------------\n", "\n", "* Oppenheim, A. V., and A. S. Willsky. \"Signals and Systems.\" Prentice-Hall, (1997).\n", "* Proakis, John G. \"Digital signal processing: principles algorithms and applications\". Pearson Education India, 2001." ] } ], "metadata": {} } ] }