{ "metadata": { "name": "More_Fourier_Transform" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Introduction\n", "--------------\n", "\n", "* Aliasing\n", "* Decimation\n", "* Interpolation " ] }, { "cell_type": "code", "collapsed": false, "input": [ "%qtconsole" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 273 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following plot shows that two different signal frequencies (i.e.,\n", "$f=0$, $f=f_s$) can generate the *exact* same samples." ] }, { "cell_type": "code", "collapsed": false, "input": [ "n = arange(5)\n", "fs = 0.25\n", "t = linspace(0,n.max()/fs,200)\n", "\n", "fig,ax = subplots()\n", "\n", "ax.stem(n/fs,cos(2*pi*n),basefmt='',label='samples')\n", "ax.plot(t,cos(2*pi*fs*t),'--g',label='f=fs')\n", "ax.plot(t,t*0+1,'r--',label='f=0')\n", "ax.set_ylim(top=1.5,bottom=-2.5)\n", "ax.set_xlim(left=-.5,right=t.max()*1.1)\n", "ax.grid()\n", "ax.set_xlabel('time',fontsize=18)\n", "ax.set_ylabel('Amplitude',fontsize=18)\n", "ax.set_title('Two signals have identical samples',fontsize=18)\n", "ax.legend(loc=0)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 274, "text": [ "" ] }, { "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 274 }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is the *aliasing* problem and it is a fact of sampling. In fact, its implications are even more problematic." ] }, { "cell_type": "code", "collapsed": false, "input": [ "from __future__ import division\n", "from matplotlib.patches import FancyArrow\n", "import mpl_toolkits.mplot3d.art3d as art3d\n", "from mpl_toolkits.mplot3d.art3d import Poly3DCollection\n", "import matplotlib.gridspec as gridspec\n", "\n", "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", "def facet_filled(x,alpha=0.5,color='b'):\n", " 'construct 3D facet from adjacent points filled to zero'\n", " a,b=x\n", " a0= a*array([1,1,0])\n", " b0= b*array([1,1,0])\n", " ve = vstack([a,a0,b0,b]) # create closed polygon facet\n", " poly = Poly3DCollection([ve]) # create facet\n", " poly.set_alpha(alpha)\n", " poly.set_color(color)\n", " return poly\n", "\n", "def drawDFTView(X,ax=None,fig=None):\n", " 'above code as a function. Draws 3D diagram given DFT matrix'\n", " a=2*pi/len(X)*arange(len(X))\n", " d=vstack([cos(a),sin(a),array(abs(X)).flatten()]).T\n", " if ax is None and fig is None:\n", " fig = plt.figure()\n", " fig.set_size_inches(6,6)\n", " \n", " if ax is None: # add ax to existing figure\n", " ax = fig.add_subplot(1, 1, 1, projection='3d')\n", " \n", " ax.axis([-1,1,-1,1])\n", " ax.set_zlim([0,d[:,2].max()])\n", " ax.set_aspect(1)\n", " ax.view_init(azim=-30)\n", " a=FancyArrow(0,0,1,0,width=0.02,length_includes_head=True)\n", " ax.add_patch(a)\n", " b=FancyArrow(0,0,0,1,width=0.02,length_includes_head=True)\n", " ax.add_patch(b)\n", " art3d.patch_2d_to_3d(a)\n", " art3d.patch_2d_to_3d(b)\n", " ax.axis('off')\n", "\n", " sl=[slice(i,i+2) for i in range(d.shape[0]-2)] # collect neighboring points\n", " for s in sl:\n", " poly=facet_filled(d[s,:])\n", " ax.add_collection3d(poly)\n", " \n", " # edge polygons \n", " ax.add_collection3d(facet_filled(d[[-1,0],:]))\n", " ax.add_collection3d(facet_filled(d[[-2,-1],:]))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 275 }, { "cell_type": "code", "collapsed": false, "input": [ "from scipy.signal import chirp\n", "\n", "f0 = 0 # start frequency\n", "t1 = 2 # end-time\n", "f1 = 10 # frequency at end-time\n", "fs = 40 # sample rate\n", "\n", "t = arange(0,t1,1/fs)\n", "x = chirp(t,f0,t1,f1)\n", "\n", "#drawDFTView(fft.fft(x,512),ax=None,fig=None)\n" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 276 }, { "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", "plot(U[:,1].real)\n", "\n", "U = dftmatrix(128*2,32)\n", "drawDFTView(U.H*(U[:,0]+U[:,100]).real)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n", "text": [ "" ] }, { "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAV0AAAFdCAYAAACgiL63AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztnXmYHFXZ9u9eZ8m+JwQSTNhDFDAIgfCCJKCAJKCgKCiC\nooiKviCKgvopiiwiiwK+4AKEsAZIAmELCYQ9EEJCQib7JJklmUxm33pmuqu+Px4Odfp0dWeZntOT\nnvt3XXNVL9VVp2u67nrq2U7AdV0XhBBCrBDM9QAIIaQ3QdElhBCLUHQJIcQiFF1CCLEIRZcQQixC\n0SWEEItQdAkhxCIUXUIIsQhFlxBCLELRJYQQi1B0CSHEIhRdQgixCEWXEEIsQtElhBCLUHQJIcQi\nFF1CCLEIRZcQQixC0SWEEItQdAkhxCIUXUIIsQhFlxBCLELRJYQQi1B0CSHEIhRdQgixCEWXEEIs\nQtElhBCLUHQJIcQiFF1CCLEIRZcQQixC0SWEEItQdAkhxCIUXUIIsQhFlxBCLELRJYQQi1B0CSHE\nIhRdQgixCEWXEEIsQtElhBCLUHQJIcQiFF1CCLEIRZcQQixC0SWEEItQdAkhxCIUXUIIsQhFlxBC\nLELRJYQQi1B0CSHEIhRdQgixCEWXEEIsQtElhBCLUHQJIcQiFF1CCLEIRZcQQixC0SWEEItQdAkh\nxCIUXUIIsQhFlxBCLELRJYQQi1B0CSHEIhRdQgixCEWXEEIsQtElhBCLUHQJIcQiFF1CCLEIRZcQ\nQixC0SWEEItQdAkhxCIUXUIIsQhFlxBCLELRJYQQi1B0CSHEIhRdQgixCEWXEEIsQtElhBCLUHQJ\nIcQiFF1CCLEIRZcQQixC0SWEEItQdAkhxCIUXUIIsQhFlxBCLELRJYQQi1B0CSHEIhRdQgixCEWX\nEEIsQtElhBCLUHQJIcQiFF1CCLEIRZcQQixC0SWEEItQdAkhxCIUXUIIsQhFlxBCLELRJYQQi1B0\nCSHEIhRdQgixCEWXEEIsQtElhBCLUHQJIcQiFF1CCLEIRZcQQixC0SWEEItQdAkhxCIUXUIIsQhF\nlxBCLELRJYQQi1B0CSHEIhRdQgixCEWXEEIsQtElhBCLUHQJIcQiFF1CCLEIRZcQQixC0SWEEItQ\ndAkhxCIUXUIIsQhFlxBCLELRJYQQi1B0CSHEIhRdQgixCEWXEEIsQtElhBCLUHQJIcQiFF3Sq9mw\nAfjDH4D6+lyPhPQWwrkeACG5IpEA/vlPYMECoLISmDYNOP/8XI+K5Du0dEmv5dVXgZUrgUgECAaB\nv/4VaG3N9ahIvkPRJb2S9euB++4Dhg0DAgER3pYWYNWq3IwnkQAWL87NvoldKLqkV/Lyy8D27UA0\nKs9dF4jHgddey8143nsP+M1vgJ07c7N/Yg+KLumVfPSRLF1XLF3XFQFevRqoq7M/nldflf0uWGB/\n38QuFF3S66ivB7Zs8Z4HAt4yEACWL7c7np07gQ8+AEIhYOHC3Ig+sQdFl/Q61q4FmprksesmLwcM\nAB54wO543n5bXBvhsPh2H3nE7v6JXSi6pNexdClQWOi5FRQqoLZqlb0shvZ24NlngcGD5XlBATBn\njp19k9xA0SW9is5OYMUKoH//5Nd18e3okLxdG7z/vviRo1ERfccRwY/H7eyf2IeiS3oVa9YAsZjk\n5QKplq7rijBv3WpnPNXV4lJwnOT906+bv1B0Sa9i/nygqir1dd2367oizjYoL5f9KdF1HLFya2vt\n7J/Yh6JLehWbN6e+pvt2VQrZunXJVnB3sXWrt3+Kbu+Aokt6DY7j76tVKWOKcBhoaAAaG7t3PK4r\n41FiGwzK0nGkcIPkJxRd0muoqREhVSKnlkBykQQgjysqunc8zc0i7vp41DjKyrp33yR3UHRJr6Gy\nUvormOhip7sU9AKK7qC6GmhrS70IRKP2sieIfSi6pNdQWiqZAgrTraALbt++QElJ946nulrS05TY\nK/dCQYGX1UDyD4ou6TWsWeMVRSjMABogy+JiYN687g2mlZWJ/9h0cwSDsmxo6L59k9xB0SW9AscB\nNm0CiorkuZ+Y6uIHiOg1N3ffmEpLxao1A2mqBwQzGPITii7pFezYIalYoVDy6+nEV7V67M5Wi1u3\neqKrp4yp5xTd/ISiS3oFKjCVzp2gW7jq/e4U3ZYWsaKVe8EM5DU2SiMckn9QdEmv4JVXJFPAxCwD\n1n2rjtN9aWPV1cnuBH0ZDEojHKaN5ScUXdIrWLVKehoAyZaleg4k5+iqx34VbNlgzRqxdE2x1S1e\nv/Q2su9D0SV5j+vu2k2gi52e3VBe3j1jWrFCmtqY/Xx1EfazzMm+D0WX5D1NTWJVqqwA3bI1K9IA\nT3zDYRHrjo7sj6mmxnMv+LkZXJeim69QdEneU10tPlIgNWBmorqMKcszGBSBzDa1takBNN2tQUs3\nf6HokrynqsoTXYWfZeu3BLong0H1XDBTxZTlC4iF3R1WNsktFN0c8vvfS/4o6V62bpWSWj+frcL0\nrerim+3/keOIy0O5Fcz96S0ebU0bROxB0c0RNTVSZjpvXq5Hkv+UlkoTGR2/BjcK3edbWJj9DIbm\nZrG8zZ4LQLKPN5Gg6OYjFN0cMX++JMAvWmSnWXZvxXWlW1hBgTz3s3LNJuaKYFB6MKxend0xNTSI\n20APoOk9F9QYEwmmjeUjFN0cMXu2WDtLlwIffZTr0eQvDQ1ynEOhzG4FIDWQBYgQvvlmdi+MjY1e\nzrBu6Zo9GGjp5icU3RyRSIgQxOP2JkHsjezY4QWmdPwsW/Xc7ELW2Sk+2GzR0CDbVOPSLV39uetS\ndPMRim6OUIGdRKL7ZyjozezYkdyXNl0gTVmaQGo5cCKR3dl5a2pkm8qdkE58g8Hu7XJGcgNFNweo\npHx10m3alOsR5S/r1nn+3D1F7zaWTdHdtk3+96bI6z5dxwEiEXYay0coujmgrU1OZFUdxUkIu4/n\nnhOr0s93a/ZeSDdnWiKR3QKJ6urk5uVmAE09j0azK/akZ0DRzQHNzZ4QhMMSoY7Hcz2q/MN1k/sb\nqNcU6bIWzKIJILs9GHbulP+7n9jqIlxQwNkj8hGKbg5Yt05uMRWlpcDatbkbT77S2AjEYt5zv4Aa\nkGrxAqkBtmxNFJlIiJAq0dVF1lxGIhTdfISimwPWrfPEIBAQa+y993I7pnwkXbMaPwvX7Llgdv3S\nL5JdQc+C2FUZcjQqFw6SX1B0c4BpUSUS3TstTG9ldzqEpeu5oFu6kYiIpdm/YW/Qey6ks3CVBRyJ\niOtpV016yL4FRTdH6Ce147AHQ3dQVpZesDIVO/j1aAgGsxPUUpar3+y/phiHQuw2lo9QdHOA3tNV\nUV2dm7HkM1u2eI/TFUPo+Lkd9PzdbIhuQ4Pc2ejdxPzKgNX769dnz7VBegYU3Rxg+g7D4eSAD8kO\nZWVyi76rABqQbHma76silmzkzKp0MSC9W0EX33iclm6+QdHNAaoaDZBlMCiiy8Y32aOtDaiv9wRO\nRxdhv1mA1VJ3M0Qi2bE4t2+XVDCzu5ifeyEYFNFlOmF+QdHNAaosVT/JYjHW2WeTnTvFJ6owfbS6\n20C/zdefq88B0uIxG+XaH34oFwLTjWA2vlHjcByvOQ7JDyi6OUC3dAE54drbxTIj2WHnzt2/c/Bb\nz3Q3BIPASy91fVzr13uFMXqPBfO5EuN4nLNH5BsU3RygN2BRxGIU3WyybduuRTdd4ExHvZ5IyP+n\nK+lbKhMhXStHP8s3kaClm29QdHOAmjVAoQok3n8/d2PKNzZvlgbkOn7dxRS7M2daV1s8qp4bukWr\n9ufnZlBLBtLyC4puDnj5ZbllNE9o9tXNHgsXegErE9PC9Wt8Y64HdL3bWHOz1+jIDJgB6fN1Kbr5\nBUU3RzhOanpSd0z13Rvp7JR0MT/BTedy0MuAzZQ+ZYkqF8Peohod+Ymr37Q9askpe/ILim4OUMUR\npn+QbfyyQ02Nvx/UdC/4VZ5lsoDj8a5dGJXo6lOup0sV01+n6OYXPlmMpLvRZ5vVT3gG0rJDdXVy\nbqspqul8u6bY6Z9Xz7uSNtbcnN536+fLVftmKmF+QUs3x6iTORCQk5KR6q6zfXvyxI9+6OJruhT0\nz5mpY10pkKirSy7/zdTwRh8LLd38gqKbI/xKU7M9AWJvpbR01z0WFGaWgv6+2RshEunaLB+qk9yu\n3Aq66AYCFN18g6KbA/SGN7oAdHayaXU20BvdKPwa3vj5eDOVBUci4gLa27Lcmppdt3T0uwjQvZBf\nUHRzhH5rq553dLBpdVdJJMQaVSXAfh3dAP8eCwpzrjT99WBw733vKlCq+27Vdv3KggH5Hm1t7MuR\nT1B0c4Cem6lHseNxWrpdRWUXqNl2dbHSXTqZCiX0dXQxVOxtlkl9ffpyXz+LVy8FZtOb/IGimwNM\nn6IetGEz866Rri9xpoCa3/N07gjH2TtLNx73/PV+/XP9fLnqvWAwO7NWkJ4BRdcy6kTycy+4LlBV\nlbux5QNVVbvuj+CXn+vXYlE915eBwN5dGFUwTO0zUzGEWk+tEwiw33I+QdG1jF8gR518iQTwyiu5\nGVe+UFoqbRgzBcxM0pUB+/lco1FgzZo9H1dzc/K2dydrQff70tLNHyi6ltF76ZrWrutmZ3aC3syW\nLUCfPt5zPzeBTroiCN3lo4tuezvw5pt7Pi5VGGGKrtllzLzzUb5pWrr5A0XXMvG43GqayfnqcSzG\nAom9JZGQRjdFRenX8UvJUq+nE2hTjBsb9zybQBddvdpMD6yZvwdVMuy6tHTzCYquZWprgcrK5Nf0\nE54FEnvPzp3eFOd+mO000wW0zGwFs5hhV7N8bN0K/O53wJ/+5P1fm5pSm9frbgxdiM1SYICWbj7B\n3guWMefsUidZKOSljTU2AoMH52Z8PZH6eul5MHo00K9f8jQ8Onr5r066Rjd+mJVpftkNnZ1y8dTd\nGIqnngL++U/JuY7FgMmTgalTJZXNTBM0O8355eoq8aWlmz9QdC0TifhXo6nnzNVNprER+OUvJXg1\nfDgwcCBw333+ZdRlZcmzcuxOLm4md4P+vu6P7eyUXN0DDkjeluMA8+eL4PbrJ6/dc49caGtqZGnO\ng6Y+Z4qt2YmMPXXzB7oXLGM2WVEnlbJ6KLoe27bJLfratWLdRiIysePixf7rr1u3+9v2y27Q/yfq\ndd31o4QwHvf6KOisXQts3OgJZzQqVvozz3iia7oPdHE1fb5qvUSCDe7zCYquZfyi1PrJ7br+J3Rv\nw3WBW24Bli1LdrWEQsCsWamNZ1wX2LQp8zb9yn3N9/XtpfscAJSXp27/+ee9x3reb0mJXECi0fQi\nqy9Vo3PlA25slG2Q/ICiaxm/mn/T0upK+8B8oaQEWLo01Y0QiYh/81e/Sn69oWHPG8P4+W7N4gi/\noolQKLWv7urVwDvviPvDzEqoqxMLOBTyt2R3JcLMXsgvKLqW0U9iv+q0va14yic6O4GZM1NfV8cq\nGhVXgj6LQ6aWi5ksWvN1vwCbKcoFBan7W7Qoedp3fdm/v+QPq/Hvidiq50wjzB8oupYx3QsKXXx7\nu3th5kwJnPXrl3q81EWruRlYvtz7TGWlf/lvugpA/f10WQrpXo9E5JZftz5Xr079nFoWFIi1W1WV\nKqa7K8IdHbt//EjPhqJrGRUw8xNdtayr671dpWIxYM6c1Gnq/Vi40DuO69enTrmus6uKtEzl2X5B\nrmDQ6zbW1uZZsnpmggqoxWJSEFNd7b9Nv32Y2Qy0dPMHiq5lVE6uKSi6b7e+Pv/mS2tsBBYsADZs\nyFzN9dZbqcUjfhZnQYH4vpVvdeNGoG/f1M+ZmL5bc33Th+u3HTUeVbK9ZUtqH2RdfGMxCYop0TWb\n3WRqfqMCa7R08wfm6VpGt178/LqAiM6GDcDQobkbZ7ZoaACuvVYuIuvXA6NGiY/zJz+RwgGdWEzS\nq/r08RdFIFkIg0HghRdEbN94Azj9dP/104mnuU0dP9+s6eZQPuWSErFEo1Ev0KaX8Kq7m+ZmcU3o\ngTS1DASkaq2jQ5ZmPi8t3fyBlq5ldEvXz9oF5ITNh1zd994Drr9eovrRqAjOoEHSCeyGG+R1nf/+\nV/ye0ag8T2dhArIsLpbig/nzRdR3Rzz17WQqhvDbr77s7BTBd11Ja+vbN1lg9fUTCS8Hu73d38J1\nHOD11yUVbdEisZz19ym6+QNF1zKmpaujTvZEYt93L6xaBVx1ldxSFxWlilpRkfQn+Ne/5JisXAk8\n8oi/LzedhaoEbb/9/N9L9xkTP0vYnK7HXLa3i7vkiSdEKIuKUsVct1IDAW/qHdN329EhVnNTkxRQ\nxONy3NrakkU3k1uG7DvQvWAZJbp+li7gnWT7ctrY888Djz4qoqF6TZhZCAUF4k545BGxbjduTC7h\nBfyzDHYVXMtEpqyFTBZuus8XFkqmhemPVX00lLCqoGg0KsE3VfygfgsrV4rrobg4eer4FSuAQw+V\n9VQGQ0HB3n9/0jOg6FomXcqYSU+eQaKtTSzxYFCEQvUZaG2VzIO77gLGjhVRAtIXIQDAkCHAiy9K\n1ZlpEetLxd6Ibybx1N/3Wy+dOLuuXFBCIRFMs3G6LuLKSlWWrrqLUXc7lZWp+woGJeOhs9PzA1N0\n8wOKrmU++siLziv/ro46cXtarm57u/Q8eOEFsUqbmz0rduBAL5ugsFC+k95RC0gvZuq2W688U/5P\nQISmtVWW9fUyjupqEaMdO5JFq6xMtlVWJp/dts2bHTiRECuzs1PELB6Xx2aDnN3J2zVFWP2lm0pd\nt15d12s/6boyFlVJZx4jx5ExDxsm7zGDIT+g6FpGr6JK518MBHrGDBKJhPQzWLJE3ABKBEaOTA4G\nVVdLxkFnJzBgQHIvWNNijce9SH5Hh3e7HYt5nxswQLY3ZIgI+6hR8rkxY2S9Aw6Q47P//rLv/faT\nO4NRo4CvflXGN306MGIEsHmziNa6dbLdDRvEoi4t9cReBb9U5ZcS5Hjcm/7ctHTN1DIzE0E/Prqw\nu65cUEMh2Ud9vXxHVWihC7rK2R40SNah6OYHFF3LRCKyVCe5jrodVRZQLObdotuguVnmaKupkRSs\nYBD44APgoIPEmjzySLHSdJ8lkOyj1sVVzZybSEg0XmUlHHoocPDB4lIYO1ZEZdAgEdl+/bz19oaj\nj5bl5z8vyxNOkOVpp6X/jMoWaWkR8W5slPzfigqxksvLvdaKjY3yf4lEkrMUAO8YmO4UZbWr1xsb\n5e5g0ybZbv/+/lZ0ICBivGOHXGDYfyE/oOhaJhJJnRXA75Y1FhMhsCG6zc3AvfeK+6C6WgSwogI4\n8UQRopEjJcfWTHPSl8oFoHJRo1Fg0iTgqKPEEj3wQNmOagjTkwiF5AIweHBqj1zAs8yrqkSAt2yR\n47Fpk1ygHEcyD6JReVxcnNwxzPTjJxIitvp08bp1bKLSx0xLt7NTOq4VFYmFry7opGdD0bWM38wR\npi9PpRE1NMgtsk5VlSTjn3zy7omXqvcfPtz//WXLgP/3/+TEVqlcfft6vV/VmPSluiiEQiIGQ4cC\n48aJwI4bJ1bsoEH+ArIvEgiIBd6vn1j9OnV14jteuVJcFu+/L5atugB1dKSmBwaDnlgDuw4exmLe\nNhW1tcBPfyrukmgUePxxyRhhoK3nQ9G1jBJdU5B0y9F15VbSLJCoqgJ++1tp9PKNbwA//3nmqWuu\nu06ssmBQxPsnPxHrU/kTZ80Cnn1W/J4HHeT5kXV/pO6XVAGgwYOBCROkAmzUKBHafBHYPUW5Ro44\nQp67rrhUli6V/8Gjj3qtOlUOcjAoF7mhQ+UOwS+3V6FykWMxT3RdV1LVVq6UbRQUyIX4tdeAL33J\nytcmXYCiaxnVyBrInDbW2Sm3+Mce6712661eZ60HHhC/5SmnpH62uRm4/Xap+Np/f3lt2TKZhQGQ\nbZaVyfvKB6rEVVmvKlc4GpUT/otfBL75Tc9V0NNcBD2FQEBEWPmQP/tZ4LLLRHALCuTCpYJzytfr\nZ+Hq/mFVIqx8uu+9J1Vr5mcfeUTuNsy7I9KzoOhaRr9tz5SW1N4uJ9Y558h7juNNW6P8hI89Bhx/\nfKrf97rrJFqvckNVMn5RkfgiGxrEhRAMJqc3qRSq5maxXmfMAA47TE5k+gv3jpYWOb5Dh8odQmGh\niHJJiRxzlb4GJKfR6S6JUEjucurrZd0//jG5Ibr6P2/eLBNjXnFFzr4u2Q0oupZRUW91O+4nvOo9\nPVe3vNxrJahu+9eulUkar7wyeb1lyyRgZQa71F9BgXebG497f/vvD5x7rrggDj6Y1mw2UN3H9EBZ\nUZH42MeM8eZUKy+Xi1262Yzb24F335X0t8pKyfrQ84LVncrSpf7VdaTnQNG1jLJ0dWtX78WgHgOe\nyALiv2tt9SLk6iR76SW5fS0qkvWeflpO3oEDU6fy1lOcmprEOgqFgO98R1wHY8fyZM02tbXe/1z9\nX/XeC5GIuGzCYcl62LZNrFqVz6xflN98U0RcT0HT08tcV8S7osJzK5GeB0XXMvptusrVVXmuJnqu\n7kMPeUEzPQVp+3bpQTttmrgUHnzQs3L1gJhKX4rHxdI98kjga18T/25X8mJJZmprvf9vpqblwaD8\nn4cNk9S61lYRYOXLDQTEvbBqlfcb0t0L6v/c0SEX4u99L7ffm6SHomuZSCS1cYqOHsVub/cqwGpr\nPQtZLx8uLARuvhmYOFF60ba2is9QbTsQEOFWboXvflcs22HDuv2rEngVZ4B/s3LTAlaogomhQ+Uu\np61N7mBUC0kgeRtqO6GQ3O1cemly74drrpG84rPPljsjkjsoujnCbyp2HRXYqquT/FBVEaU+q6yd\naFTyQ3/5Sy+JXrdu43Fg9Gjg4ouBqVM9NwSxQ329F/TyE1nd0jUtYNeVC2W/fnJHMmSIuCAWLpS7\nIL38WH9cVyd5wEOHyjYefRR4+WX57EMPSZrfV76Sm+NBKLrWMWv4/cRWBdI6O+XkUX0N9G3ogbhg\nENi61etGpSqkjjpKpio/+uj0+byk+1DNbfQsESDzBJR6frTuNohGxff7618DH34IzJsn4tvU5Fm4\najutrZKlMnSoNEa/5x5vWy0tkvVy1ln03+cKiq5ldGvH7GFg4jji11N9VlVARp2Uah11UqsqscMP\nl9vIadN6b9FCT6CjQ+401P/XvAsB0ncuM90PkYiIaSAAHHOM/H33u8Att0gGhP5Zx5GeGccdJy4n\nFZRTlJVJBsTo0dYOBdGg6FqmtdULfgDJGQV+1Ujl5SK68bjnG9QtXd2NMGSIuBnOOIOWbU9AuQD0\n/5cZSDPdCsGgXGDNhuiRSGpj+wMPBO6+Wwpm7rtPUsricXFHzJkjjz/6KLXrW329lA1fdZXVw0E+\ngXaQZZ5/3rslTFckoYtvebmcOEpE9dtRQER8yBAp8Z05U3x1FNyegRJdINnnms63q79ulmE7DvDx\nx6n7CATEfXT33dJDY+RIeX3LFm/2Dt21oXjjjW75ymQ3oKVrGdUAxewy5kcoJAEQ1ZnM9AcD0gns\nd79jNkJPpKVFlmaRiunLVSKbSCSng5l52+Z0RjrBoFQQnnyy9NO47TYvy0XdTem/m9pa8TcPGNB9\n35/4Q0vXMnoZsEIXYDOdzOyhqtYdPVrKfe+6i4LbU1ElwLp47ipVzAyo6Ray2RDdj4EDgW9/W8qB\nDzkkuWJNv7i3tkrZsEL1PibdD0XXMub0635BNDOgotfid3RIqe7990tHKUagey4tLcmCqounWppZ\nCqYom2K5u7NHjB8vTZG+/33JfjF7OMdichelmD1bmvT87//u1VclewBF1zLK35ouP1d/z8xSGDRI\nAmU338zbwn0BVQJsWrqAf14ukJqdopdvA3s2ZU8kIpVpd98tjYs6OpIt7LffluXy5cCNN0p64tKl\nyeXnJPtQdC3R3Cy3dOFwctmvXzDNTDFyXQmW3HWX9NGldbtvoOZhM7MXTF+uet0UZdPNoO509pRD\nDgEefliKYxSuKxeFtjbJ+W1pkX1VVgJ33tm1700yQ9G1xPe/L71VzeYnZrcxXXwdR9Y/5xzgjjsk\n/5bsOyxdmtykPF1AzS9bwS8fe29FFwCKihK45ppKnHrqJtTWlqG+vu5TF8Nzz3nrtbdL2THpPpi9\nYIn6em/GW7PLmL5Ur6tI9s9/Lr0SmAa279HSIj0U/Hy0pkVrFkvovlz9t7I7ortmzRpce+1v0dYG\nbN1ajqqqcjQ2ViEYLEBnZzOAL2HEiNsQiw3Cgw96ATTXlYt8W1uy4JPswsNqCb0jlB4YU+hpPY4j\nNfc33yxVRxTcfRNVQWaKLpBagWYWS5iim0jsnui2tbXh6aefxty5s/Hyy6OwZs1fUVf3JhKJxxCJ\nDMG5516IbdsewLx5EzBypOSAmwU6O3bI3Guke6Cla4lNm+TWTbXp0/2yelAFkGjzrbcm++DIvoXj\neHc2QGoqoO5OAPx9u3q6WSb3Qk1NDZ577jk8/PBcvP76AnR2tgOIoKjoWXR2FiEaXY+BA1fhoYf+\njamf/KhGjpRc3l//Wprhq3EFAtLP97XXxBdMsg9F1xKq2cjmzd6JpffSVc/79wf+9jf/uc/IvkNb\nm9d3wS8lDEi1cDNZuqbobtq0Cc88MxezZs3FihVva93GHIwZczguuGAGvvzlabjxxrvwhS98Dtdf\n/wgKjXmdjjxSLu5XXy3Cq4+rqUke69MBkexA0bWEOvlUOo5fBkJhoTQwoeDu+6i5z/wCaOlSx9Rz\nXYQB5V5w0dLSijvvnIXXX/87tm5dA9cNfnrXdNRRk3HhhTNw7rkzMH78+E/HccoufkyHHQbcdJPE\nDkpLvdfVVFEXXyyW74sv0sebLSi6llA/2La2ZMtFEQ5Lo2k1iyzZt2lp8SYETZcKZgbWUmeWcFBW\nVoZt28LYsOE9dHaOx4YNTyAQWIdIpAAnnXQaLrxwBs4++ysYOnToXo914kSZ7PLqq2UmkkBAutuV\nlcmsJImEtIo89NAsHZxeDkXXEipJPhbzXlOiG48D550nWQokP2huTrZ0gWSLNp0FnEi0o7a2BS++\n+D7KysZ1V21qAAAfJ0lEQVRh3bpXAEwB0IFAIIT/+Z8zcdVVV2LatGkoLi7O2nhPPBH42c/E6q2p\nkclN582TGEQoJDm9JDtQdC2hOk41NCRbQPG4zL77pz/x9i2f0C3ddJatWra3x7Bhw1asXZvAkiXv\nA/gcgE0AxqGoqC+Ki4dg4sRTsXPnUPzsZxMwfXr3jPmCC2Rq+Jkz5Xf58MMiuq4LLFgATJ7cPfvt\nbVB0LaGS5Ovq5AddWCjPx46VKHIWjRbSA2hqSs6/Ta5Ic9HQ0IAtW+rx4Ydr0dzcF8BWAAcBSCAa\nLcLRR09CZeUYfOUrB+GttwIYMkQs0NbW7htzIABcf724FLZskd+qao6/bl337be3QdG1hMpS0GcS\nKCqSW7px43I7NpJ9amvN1C8H9fWN2LFjAzZtcpBIlAIYDaAeQH8MHTocxcVjcMIJR2DVqj447jhg\n/nzZlm4Vd6foAjIt0B13AN/6loi87m8m2YGiawk9LUzNZTZhgkyDTvKP2lrAcRLYtGkz1q8PYNmy\nt5FIjIe4DQ5EKBRC//7DcMQRB6C9fTQOPzyMjz/2ZvvVe+yqwGskkjxBaXcxcSLw9a8D997rvRaP\nd/9+ewsUXUvo3cVcFxg+XDo70Y+bX1RVVWHevGdxyy0RbN58HNatWwjgOAAdCIWi+MxnDkI0egg+\n97njsXlzCAceKNVfZgqZwuzDYEN0AZnQ9KmnZOYS1wVWrbKz394ARdcSemObUAiYMkUsCrLvs3bt\n2k8LFUpKlsJxgnDdPwFw0a/fQPTpMwqTJx+IioohOOywANatS83H9cvPNZvfqL4INohGpVrtyiul\nIMNxZDLMhx8GjjjCzhjyFYquJfRiiOJi4NprczcW0jUcx8GSJUswe/ZcPP74HGzbVgrHkUKFYDCA\nY46ZjIKC07Bjx3icddbheP11md2jvDy1/NevaMKsRFOfCYeTUw67m/POE//uqlWy/9JSyW6g6HYN\niq4FYjFJNFdNS449FhgzJtejIntCLBbDwoUL8dhjczFv3jw0NzfCcVwEg0AkUoCTTz4dF100A2ed\ndRb69RuMyy6T9EC/7mFA5hQyve2naQXbFN1QSFqS/uIXYmHHYqkzEpM9h6JrgVBIptV2Xblto5W7\nb1BbW4v58+fj4YfnYPHiBejsjH8ifi769h2A6dOn44ILZmDq1KlJfQ3q6/3FFEi1aDP1ZjALK2xb\nuoBkMdx0k5QFJxLSjIl0DYquBdTsAQAwapTMAkF6Jps3b8acOXMxc+YcrFjxzif+WSAYTGDUqM/g\n618/B+efPwPHHXccgmmioKoQxk9UMzUxB1J7LuiWbijkFSvYmj2kqAg4/njgiSdEdJnF0HUouhbQ\nz01OJtmzcF0XH374IWbPnoPHHpuLLVvWwHFCn/hnXRxxxFG46KJzcO65M3DobjYf0Kde10U0nTvB\nnDFCrWv22FUZMJ2dcsdkiyuuAJ5+WvZr29LORyi6FgkGgUsvzfUoSEdHBxYvXozHH5+LZ56Zh/r6\n6k8CYS7C4TCmTPkiLrroHEyffjZGjBixx9vXRTedJZvOzQAkW8NqynW1biAg2QQ2RfcLX/ByhAcN\nsrfffIWia5FAQFrpEfs0NjbihRdewCOPzMUrr7yIWKz9UyuysLAYX/7yWbjwwnNw+umno2/fvl3a\nl5p6fVctHNMF0EwLVxfhpiYRvy4OcY8IhWT26YYGzkKdDSi6FgkG2QzaJhUVFZg7dx4efnguli59\nA/G4uk13MGTISHztazPwjW+cgylTpiAczt6poAfSTB9uJveCmbXg1+C8rEwyCIYNy9pwd4uGBln2\n7293v/kIRdciFNzuxXVdfPzxx3j66bl45JG52LDhIziOHPRgMIHx4yfgm9+cgfPOOwcTJ05EoJuc\n67W1cjueKSVMF2PAE1j1WC//VeuGQrkJZknLSXmslmTvoehahE1Duo+bbvobbr75VjQ21sFxwggG\ngWAwiGOPPQEXXTQDM2ZMxxhLydF1dZ7P1RRXwN+nqwdbTbHVnycS9oWvtdX77Q4fbnff+QhF1yLs\ns9A9tLa24ve/vx4dHUMBhHDSSVNw+eXfwZlnnomBAwdaH09dnb+la7oX/Mp//VwSukAnEpJFkI47\n7pAMmcMPz973qaryXB9DhmRvu70VyoAlzBmASfYoLi7GP/7xDxQWdgK4AsuXf4jx48fnRHAB8X8q\nF3GmudHM9xWmL9cU3XTuhcZG4LHHgN/8xmsLmQ2qqrzHOTqkeQVF1xKhkJw8N9wAPPporkeTf1x2\n2aV46KF/oKjoQTQ1XYqpU8/GggWvWB+H64r4hcPJObfpKtLMAJruy01nDaezdJcvl2mCWluBhx7q\n2vfQXWFz5nizENtMVctXKLqWKCiQk+v//g+4887k9n0kO5x//tcwZ84sFBf/Cy0t38OMGd/Ck08+\nZXUMsVhyo3rA371gZjMo9KwFPbim5+36WbquCyxc6In2jh17X8jgusAXvwiceaY8X7cu1e9M9h4e\nRkuovMpQSG7XONFf93D66adh4cJn0a/ff9HWdgkuvvinuP/+/1jb/7ZtMnOuXl0G+PdYAFItXb+S\nYb0M2HH8xXTzZmDjRi9Dpq1NuprtDeXl8hvdssXLCwbET026DkXXEmPGiIXS0CC3aps25XpE+cvx\nxx+Pt99+BYMGzUIsdgF+9rM/4qab/mpl3/X18n/WhdUUWbVMns4nfdaCua5fT90XX/QCXmrW6dLS\nvfsO99wjYtvaCrz7rifyRUV7tz2SDEXXEv/zP7JMJER0Z8/O7XjynSOPPBJLl76OESPmoqPjDNxw\nw7/xi1/8Bm43+3Wam0UolVvAbF5jWq8KU2T90srUdvxEV1m1apuRCPDRR+nH+e670rZx1qzU91as\nkAtHY6P8TtvbZb8jR+7ZsSD+UHQtMWOGBCEcR0T3gw9yPaL8Z9y4cVi27E2MGfMmOjqOw733voxL\nLvkREt2Y6NrS4s2Fl8m9oL9nVqD5Wbz6tUL1dtCpqPDWc11pwfjss+lzw597DnjnHeBf/0oOzMXj\nIuoq8NvSIm6GUAg45ZQuHRryCRRdS0yeLCeCPqsrg2ndz6hRo7B06WIcfvhaxOPj8MQTJTj33AvR\nocLxWaax0b81o8L026rfgJ/o6uuq60QgkDojcCIhgTP988GgxA0aG1PHWF8PfPihN17d1bVjh2dJ\nh0LiZojHgcJC4IILun58CEXXGuGw+HXVSdbWJj9o0v0MHjwY77zzCiZNqofr9sWCBQ2YNm0GWvxM\nxi6yc2eq5QqkFj7o7G6vXf23o1NbK0JsFlg4jn/A9vHHgcpKWScWA154wXtv8+Zk0V25UkS9uFj6\n6pKuQ9G1yHnniYvBdcX3t7eBDrLn9OnTB4sWPYtTTy1GIBDDkiV9cOKJp6Ouri6r+1EiZ4qnQhdc\nP3eCOTml+b6fpausU3M/iYS/6C5d6k0dlUhIqpni7ruBmhrveTwu63zmM5L2SLoORdciF14oXZpc\nV37YTzwhr7uu5wsk3UdBQQHmzXsMX/3qeITDW7F69UE49thTsH379qzto74+cxYCkNmiNfNyzdf9\nAmlVVRLsUu/r2zS/muOI/1cPzDU2en5d/XfouvJ6OAz85CdZO0S9HoquRfbfXywGQH78lZXy+LLL\ngM9/Hrj//tyNrbcQCoUwc+b9+N73TkYk8gE2bz4RxxwzBaVZuu1QouvXQwFIFdVMlq5f1VoolJqn\nW1qa2qdXUVaWvO7OnZ6fV7kiOjrkdUC2rfug43HJWjj//K4fGyJQdC3zq19JUCIUktvEjRuB1avl\n8ZNPihVCupdAIIA777wF1157EQoKXsL27TMwadJJWLVqle/6rgu8//6u70SU2yidmGbKTvCrQPNr\nB6lEVx9Laal362+Krvl7qqhItZTb2z1rWaWHqTF0dgKnncbCiGxC0bXMmWcC48Z5GQz33CMnTSQC\nrF0LPPhgrkfYOwgEAvjtb6/Frbf+EoWFj6O29ts44YSpWLJkSdJ6rivzg/3gB3JxzERrq2eF7ior\nIZMImz5dJaS6i0K5A+JxqYKLRr2sBfXZaFTEVE8b27hRLFu9AVNHhwTMdu6U8av1EwlgxAjg17/e\niwNM0kLRtUwgAPz+9xINrquTaLHe3Hz1avp2bXLFFT/Ef/5zG4qK/oOmph+kNMp5+WXgqafEgr3/\nfv8cWUVLiydoZp8FYM8sYLOKTffpBgJeA5rychFLc341QH5XdXXJwbTXX0/+vbmuZNHMni3bUb5h\nQAyBGTPYQzfbUHRzwOmnA8ccIzX6H3zgdW6KRMQHx6wGu1xwwTcwe/YDKC7+J1pafvhpo5x33wX+\n/GfxxauA05NPpt9Oc7NYoH4Ny/1SyHZV9mu+D3iiq8Rx06ZU0VX7CAbFnaB+T44jlWim6AYCYjG/\n9ZZ3UXEcSXG85pquHVuSCkU3BwSDwF/+IgEKvRooEJBo8+LFuRtbb+XMM8/ASy89g759/w9tbZfh\n4ot/ijvueAft7V511ujR0iVuwwb/bagS4Ezi6deqMd36+tTrupACnqXb0OBVoan39XU7Ojwhra1N\ntmQV4bCI7ksveev27SsBXttzsfUGKLo54rDDZDp2ZeXqPsCPP87duHozU6ZMwRtvvIyBA/+Ltrbv\n4MknK1H5SYqJHsTautX/883NqQUQfj0U/N43LWC1T/O5aenW1ib3ejCr3+JxGRcgFnFnZ2quMCDb\na2iQu61gEJgwAbjkkr08kCQjFN0c8qMfAUcc4VktivXrU18jdjjqqKPw3nuLMXjwu3CcCaio2IGF\nCxcDEKWKxyUY5Ud9vSz93AJ+boV0U/eYIq1e1z+jfh9VVak+X70UOJHw0sGqqrw7K7M3bnOzuE8S\nCckl/9e/2D+3u+BhzSHRKHDbbcCBB+LT6cEBKZxYv95br7oa+NrXgCuvBIzgOukGDj74YNxww1Mo\nKNgJ1+2HZctKsW3bNriuKNvatf6f27nTS61Kl4e7O68D/oE4INkyBeS3oYu7XylwdbW8t2WLNzZz\nu0p0w2HgxhvpVuhOKLo55rDDgF/8Qib8UydLWRlw113yfl2dWMSrV0tXqNtv929iQrJHIgGUlAzB\nl798LAoLW+A4Q9DU1IHHH38ajuOgvNy/vWJtrTdNT7pWjeks3l25IfR1Kyo84a+pSfXjmlavsnQ3\nbUoeg44q973wQmD69OwdS5IKRbcHcM45wEUXeV3IAgGppweAV1+VEywclhNq0ybmTXY369dLGlW/\nfgWYOPEIDB/eDNcNYuPGdpSWbkVHR6dvEUtdnSe6fsJm5uFm8u2a+br6Z2IxcRUkEsllx/p6+mPl\n9y0vTy2eUD7iRAKYMkXSGUn3QtHtIVx1FXDGGVJZFInISV9ZKbO7xuOefy0cloYlWWwXQAyefNKb\nhSEcDuOCC85HcbELwEFbWwiLFi3Gxx+ntoirq/MyHUxx9XMnAKmWrZ/FC6Raz9XV8htpb0/2var1\n9M/HYnIRb2hIbZ4OyGvTpkmhjprFmHQfFN0eQiAA3Hyz14msqQm47z4J2uj+PUD8b4sW5Xa8+cyG\nDckiFwqFMXbsATjkkL4IBDrR0BDB9753d1KjHMeR/5nKgdVFNV2qmJ8o+5X/Ap41qtapqRERVaKr\nW7e6JSsXDplForMzeZ/Kpzt5sqQw9uvXzQeWAKDo9iiCQbm9+/rX5QR5/vnUqDUgJ/aTT3ouCJI9\nYjEpq9WDTCKAQZx33jkYMKAIodBW1NaegKOP9hrltLQkN53JZNkC/r7cdFkNftusrfVEV20P8E8z\nKy8HbrhB7pzM5uknnSQX+6FDu+mAkhQouj2MUAi4/nrp0dDWlhxp1k/Oigrg7bf9txGLAatWebMN\nkN2nvNxrLm9aq4FAACNGjMSkSeMQCLRj+/bvYtKkk/Dxxx+juTl5kslMXcRMEfYr+/WzdHVBbmqS\ni66a7t0ve0E9V5VyppCfeqpYuCNGdP9xJR4U3R5IKCSWyXXXiY9XvxUEvJPqrbdSP1tSAvzyl1J4\n8c1vAvPn2xt3PlBa6jUEN61TIYBTTjkRBxxwBKLRj1BbewkmT56Kt95a/mlTGv3iCPi7F9L5fDOV\n/+rvdXZ6LR390sRMV4VetRYISArijTfSws0FFN0eSiAgc1L9/e/AwIFeMrx+MpWUeOlAgJdetm6d\nlxT/979LU53eSCIhc4HtSQOhjz7y2iSawqleA4Dhw0fj8ssvR1HR/Whq+hG+/e3/RUVFRVoLV5Gu\nWEJPEduVe8F1xcLdvFmCrnr2gh5I0wVZ7SsUknzv666TUl9iH4puD+cLX5AZJsaM8dwFylpqbQXe\neENec11g5kwR2uJib51YDLj66mRx7g1s2gT87ndSyvrMM/4pXCbxuKTn9enjX7AAeGKYSAATJ56K\nxx67H8XFdyMWuxQLFryNioqKFBH1sz4zWbbpshcSieRMh8pKEVF9Pd3q1feVSACDB8sx+fGPk5ve\nELtQdPcBPvMZYNYs4EtfSr1Fve8+EYsXXpC+r0VFybeSxcWSAfHii7n9DjZ57jnpf1tVJRedOXOk\n8s+v2YvOtm1ehgCQ2UJ2XfGpTp9+NubPfwKh0A44zmexbNkqbNuW3uL1y8M1xdjPp6s/dhzJcNm2\nzcvfVkKrb1Ptx3VlZpI775RWjSS3UHT3Efr3lzaDf/yjWCyxmJxY27fLrAbz5iXnbJoZD88/v+vZ\nh9vaRLj3Zau4o0PuDNrbpcovEJAy68cfT56A0Y8tW5Jv09XSdBGo41pVJc9POeUUnHHGdxAKbYXj\njMG6daUoKVkDIL3Fq4uvX/mvvvTLbIhGpTAiGEy2fvV9xeOy3qWXSiXjhAnZOcaka1B09yECAYk4\nP/MMcPTRchLG48A//ym5pcrSAVKtnubmzEG1J56QcuTf/EYKNS6/3L/Utafz1ltejwGFEqVFizJb\nr4sWyVRKZl8CINlyVMe4thafBs8SiWGYMuV4hMOVcJzhKCnZjNLSTXA/2WE6i9Z8Xe3LvGiawbhI\nRC4serBPf9zZKS6pu+4Sd0Jx8V4eUJJ1KLr7ICNGSF/Xa66RBtvLl3s9V5U4mA1T+vcXa8ecvhuQ\nz994o9xaO45s/9VXgQce2D1faLZpbJTGPnsSAAMkV3b2bAk8AqmfX7s2VZAVrit9jM3CAjMTQX+/\ntVX2WVsry/79++GkkyYjGt2BRGI4Kitr8c47SxEIOCnbyuR+MAscgGTLWw+UKbFWn21tlQDZ978v\nF+MpU/bsGJLuh6K7jxIKAWedBTz6KDB1qhfc0d0L+kkcDIqYffhh8nYqK4F77xWLWXXIUifz22+L\n8O4OiQSwbBnwrW/J9vZmgs3mZvG//uhHYp3dfnvqbLaZuP9+KY9V2Qc6qjLr1Vf9P1tf7/WdBfyb\nzpiCHI/L56qqvDSzwsJiTJ58LPr0qYPjFKO8vAklJWuQSCR83Qr6tnVLVx+HyjowrWMgtShi4kS5\na/nOd7yLD+lZUHT3cQYOBP72N+CvfwWOPVZ8mioRPhRKPpkTCQm46Sf6Ndd4jVr0BH3XlZkt7rpL\nAjaZiMWAb39bxlFSIvu45JLdF2y1vz/8AbjjDhmL60rq23nnpW8arpNIAK+8ktkyHzoUePNNqeQy\nqajw/OSmyJruBl2Q6+rks2oWXQlyFeCUU05Cnz5tcJxC1NUlsHDhG3CceEbLVu1bv2vxC74pl4b6\n/zY2SrD1xhulf8Ihh+zeMSe5gaKbJ0yYICfcH/4AjB+fPFW3fuLqc2atWCHCppq0mFFvNU38nDnp\n9+u6klmxfLkE+CIRCWC1t4sVnq7ht8mSJdK6Mhz2LNWRI8WSnDlz126ODRt2HQAMh+X7P/546nub\nN6fOb6a+n5/4qtfq6mTf6hgCKj82ikmTPochQxwADmpro1ixYhU6OtpThFSxq5aOulArv+2wYcAP\nfyiB1GOPTW5+Q3om/BflEcGgdCq77TaxfPfbTyzAeFzeVyfr7beL9fjII15vB78qKHUCL1mS3hf6\n0kviC1XdqUx/5d//LsKUiepq4L//9YI9pvCtXCkZGpl46y1v+nOF6Q4ARKhWrkz9vD69eqbcWV10\nVdrWxo0SgDPLeUOhME48cTIGDw4jGGxHa2shFixYjHi8HQ0NDejsjCW5DnYVQFMuDUCO1Q9+ADz0\nkFQe+rlUSM+EopuHhMMivvfdB9x6K3DooZ4gua5Mw/3jH8tcbMXF/kEd3WIqLBQr2gzu1NYCv/2t\n3Lb7+Sv79hUr8M9/zjze666TbanMAZNhw8RPnM6SbWsTK3l3KqwCAbH09ZxdxxHh1NsymoErtZ5O\nUZFcjGprvcowfV1xD4Rw5JGHY/ToAQgGm9HaOgLvvPMOXn31TZSUrE3x6fpVoiUS4jaKx4EBA4Br\nr5XjccUVzErYF6Ho5jHRqFS0zZolwnfaaeLPDIXE4tPbApq3sYDnOxwyRPJ8zeDYc8+JP9HsIWtG\n1j/4IH1HtPJyEX/ztli39Pr0EfGeO9d/GytXJvccVp9LR0NDsuWuGseoLAA931WNRX+uKCqSyje/\n76xfyFzXwY4dO+A4LQDGApgM4HTU19ehtbUtpRhCbUfdhXR2ip/2L38B/vMf8Z/36ZP++5GeDUW3\nFxAIiLV7771isV52mViF8biX67mrEtS2tuTIf2WlPNdvjU2LUG2voSF9RdyLLyZnDaj9mSgL3a9z\n2oMPprf4/Hy0nZ0S8FNUVPi7IszPm+6FwkL5rBqTaR2rZTgcxoQJR6KgoADB4IcAGgCEAQxHWVl5\niktG5Ue3tQFnny13KzNnSvpXUZH/9yT7DhTdXsZ++0lK1kMPycl83HHyeiLhnexmMxbFq69KVZvj\niIDrt9R+lVtKvPr1A157LdU9sGOH+GKVW8AUK4UaT3m5BP506uuBd9/1prLXSZfn27dvso9YBcLS\nZS2YFxH1OBiU42HmzfpZyaNH748TTvgCjjnmUBQVlSIYfB2uG8bWrRUAHDiONwX6qFHSI+Gee4Bb\nbpHAaCbLnexbcHKOXkpxsUS7jz1WAl3PPSfW38aNXnmrWbKaSEjKVWUl8NRTYoWZVVVAavqT8kve\nd59UvClmzUouY81EICDbWrQIOPxw7/WSkt2vnFPuh+JisVDr6yXlrqREikf0dfzcCaY1HAxKUYQe\nRNQ/m5p+FsTIkfthwIBRqK+vRklJGVpbg1i5ch1OOukwfOlLwCmnSCUZRTZ/oegSDBokfkJA0o82\nbgT+/W/JKgiFxEINBMS3e/PNwNix/ilPfjmninBY/MJXXimWZlOTpG5NmpTewgWSxWfQIPEP19XJ\nY0AuAn4uh0yCqVi9Wr7fu++K79tvv5myF8zvbAq2X2CtvR1obQ1g+PDhOPTQYWhvn4fjjmvC1Vcf\nxnSvXgJFlyQxdqz8nXqqWIKvvy7pZSUlEqWvrJScYL8SVoWfb1hVxC1ZIhV077zjNeDRBU4t/URT\nWZYPPwz89KfiCy4pyTyZop9PNxCQbIDrrweGD5eqt+OP9x+/6TrQ0S8wal+mCHd2iiUeDIrAT5oE\nfPazwMknAyNHBhAIsO1Xb4OiS9IycCAwfbo8vvxyEd8XXxTf46BB3oy59fVetF13R/jx/PMSEDKb\n76QLXpmvdXRIf4WvfEUscFPwM21DJx6Xbe23n5e3q1ur6nkmS1fPdlCZBvG4V/EWCAAHHwwcdpiI\n7NixkvJFejcUXbJbhMPAuHGSGwpIJ7KKCmmX2NwsAtzS4olOR0dq3mskIrPYzpvnBY30ii/A3w1g\nujLa2iTINGJE5tSpXWUkpBNmv4CaWuqfaWyU76vcMI4DHHMMcNRR0gVuzBip0iNEh6JL9oqCAhHh\ncePk+c9/Lu6H5ctFUN99V6q1lBW8c6cIVCwG/OMfwJFH+ue1KjIF1vr0EZFfskQsyD1hVwE7hd6v\noqVF3ATbtom4bt0qGQajR4sv/MQT5fn++2d2dRACUHRJllCBtqlT5flXvyrLxkbxA9fWSocz1XSn\nvV3SvOrqRNAaG8VS7Ojw0rBU5y61fV0wBwzwCj32ZIyAN31NIiHbcF3x6zqOl7nR2uqlb02YIFke\nU6aIGB9+uOyfGQZkb6Dokm6lf38vHeuEE2R55ZUidLW1Im5btojwVlWJ+OlBrFGjJJ83FBJBVhN0\n1tSIVVleLssdO7x+sspy3rFDhL2sTAoZamrkeUGB+Kv79RN/69ChIqjTpomgRqMSYBs0iHOJkewT\ncN3dveEiJDc4jrglOjtlGYuJsNbVSfpZTY2IaHOzCKoS6IEDZd2BA71y4miUQkpyC0WXEEIswnRs\nQgixCEWXEEIsQtElhBCLUHQJIcQiFF1CCLEIRZcQQixC0SWEEItQdAkhxCIUXUIIsQhFlxBCLELR\nJYQQi1B0CSHEIhRdQgixCEWXEEIsQtElhBCLUHQJIcQiFF1CCLEIRZcQQixC0SWEEItQdAkhxCIU\nXUIIsQhFlxBCLELRJYQQi1B0CSHEIhRdQgixCEWXEEIsQtElhBCLUHQJIcQiFF1CCLEIRZcQQixC\n0SWEEItQdAkhxCIUXUIIsQhFlxBCLELRJYQQi1B0CSHEIhRdQgixCEWXEEIsQtElhBCLUHQJIcQi\nFF1CCLEIRZcQQixC0SWEEItQdAkhxCIUXUIIsQhFlxBCLELRJYQQi1B0CSHEIhRdQgixCEWXEEIs\nQtElhBCL/H/k2wxMiGyEUAAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 277 }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$ \\Omega_k = \\frac{2\\pi}{N} k $$\n", "\n", "and for sampled frequency,\n", "\n", "$$ f_k = \\frac{f_s}{N} k $$\n", "\n", "\n", "$$ \\delta f = f_s/N$$\n", "\n", "$$ \\Omega_{k+N} = \\Omega_k$$" ] }, { "cell_type": "code", "collapsed": false, "input": [ "Nf = 64\n", "fs = 64 # delta_f = 1 Hz\n", "f = 10\n", "t = arange(0,1,1/fs)\n", "deltaf = 1/2.\n", "\n", "fig,ax = subplots(2,1,sharex=True,sharey=True)\n", "\n", "x=cos(2*pi*f*t) + cos(2*pi*(f+2)*t)\n", "X = fft.fft(x,Nf)\n", "ax[0].plot(linspace(0,fs,len(X)),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)\n", "X = fft.fft(x,Nf)\n", "ax[1].plot(linspace(0,fs,len(X)),abs(X),'-o')\n", "ax[1].set_title(r'$\\delta f = 1/2$',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].grid()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 282 }, { "cell_type": "code", "collapsed": false, "input": [ "Nf = 64*2\n", "fig,ax = subplots(2,1,sharex=True,sharey=True)\n", "fig.set_size_inches((6,6))\n", "\n", "X = fft.fft(x,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", "\n", "Nf = 64*4\n", "X = fft.fft(x,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].grid()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n+1tUt27Od8QFBFhUjx7OeTZrZlGtW09XzZo5fw9FRysVHe38ndeihUXdf79zZx0YaFGDBpVs033n\ncP36dfU///M/6tChQyo/P1916tRJ7d2717G+sHPo0sX+i774X9J77rGor75SJX5xdO9uUb/8olRU\nVFFbv34WdeaMUv37V/6L3NVfEaXR4hePq4yWk6/ko4df1GW1ldXh3dhmsyk1cGDRv/kBAyzq/Hnn\n74F+/SwqO1uprCznek/v3vZbm4t/j/TsaVF79ijVo4fz982PPyq1a5fz8OG991rUt986X/V162ZR\nVqtSXbs6f4+NGjXdqX5199320YZNm5S6+27n9hu/B7t0sah165zb7D9idd457NixQw0YMMCxnJiY\nqBITEx3LnhxW8sYv99jY2Br/TE8zWk6Sj/ZVJSc9dIKxsbE1Pqyk+VtZV69ezebNm3n33XcBWLly\nJf/6179ITrbfymcymbwZnhBC6FZ5X/+afwiuoi9/jfdtQgihS5qfQzo0NJRjx445lo8dO0arVq28\nGJEQQhif5juHLl268J///IfDhw+Tn5/PP/7xD4YOHertsIQQwtA0P6xUu3Zt3nrrLQYMGEBBQQFj\nx47lzjvv9HZYQghhaJovSAshhKh5mh9WEkIIUfOkcxBCCFGCdA5CCCFKkM5BCCFECdI5CCGEKEE6\nByGEECVI5yCEEKIE6RyEEEKUIJ2D8Dm7du3i0UcfJTg4GD8/P7Zt2+a0/rvvvqNHjx74+fnRpk0b\nXnrpJbd87rVr13jjjTeIj49n+PDh3Hvvvaxatcppm23bthEeHs7jjz/O5MmTGTduHD179mT37t1O\n2xUUFJCcnMyYMWOYOnUq06ZN49ChQ26JUwigBiZgFkKjRowYofz9/dWf/vSnUtfHxMQom83mts+b\nMmWK2r9/v2P5888/VyaTSb355puOttTUVBUSEqKaNm2qWrRooR555BH166+/ljjWmDFjVHx8vGO5\nffv26qGHHnJbrEJo/t1KQnhCRkYGbdq0ISQkhAULFnDkyBFuvfVWx/pDhw7Ru3dvt80Xcv78eebN\nm8fJkydZtGgRAIMHD6ZLly7MmDGDiRMnAvZX1CcmJjJq1Kgyj/Xxxx/zxRdfcOTIEUfbwIEDiYiI\ncEusQoAMKwkfZbVa6dOnD8888wwAb731ltP61NRU+vTp47bP8/Pzo2XLlpw/f96p/bbbbuPMmTOc\nOHHC0aYqeN3Za6+9RkxMDH5+fk5tI0eOdFu8QsiL94RPmjhxIvPnz6d27do88MADWK1WMjIyaNCg\ngWN94WyDntSlSxcOHz5Mbm4ufn5+bN26lS+++IKrV6/SuHFj/vOf/zBkyBAeeeQRAE6dOkVQUBBT\npkwhJCSEU6dO8euvv9KrVy/Gjh3r8XiF75BhJeGTrl27Ru3a9r/+zz33HJ988gkpKSk8+eSTgL3g\n62m7d+8mLS2N+fPnO10F7N27lzVr1mAymTh//jy33347devWZdiwYRw6dAilFOvWrWPz5s0EBgZi\ns9lo164dV69eZcKECR6PW/gGuXIQPufQoUP885//5MUXX3S0RUREcO3aNX755Rf27dvHli1bePbZ\nZ0vsGxsbS25ubqU+JzAwkJSUlFLX2Ww2evfuTXBwMP/4xz8c7efPn0cpRZMmTRxtDz/8MHv37mXP\nnj3s3LmTbt268cgjjzjd6TRx4kQ+/PBDMjMzuemmmyoVnxDlkSsH4XOsVit9+/Z1anvuuecYO3Ys\nW7Zs4cCBA2XWG1asWOGWGCwWC+Hh4SxZssSpvXHjxiW2bdCgAXv37iUvL48WLVoA9lpFcf7+/pw6\ndYo9e/bQuXNnt8QofJsUpIXPSUtLIzIy0qlt5MiRtGjRgoULF7J7927at2/vsc9fsGABjRs35t13\n38VkMnH06FHy8/M5f/48rVu3Jj4+3mn7c+fOYTKZqFOnDjfffDP169fn+vXrpR67cKhMCFfJ3yTh\nc2w2m9MYP0DdunUZP348c+bMITY2tsx9XR1W+uCDD/Dz82Pq1KmOtkWLFvHKK6/g5+fH1atX+cMf\n/uC0z4EDB+jatSsNGzYEoH///k63sQJkZ2fTvHlz2rVrV6nYhKiIdA7Cp+zYsYPQ0NBS102YMIHX\nXnuNu+++u8z9XRlW2rx5MwsXLuSBBx4gKSkJsN+2mp6eTq1atWjYsCGPP/6405DWzp07+e2339i+\nfbujberUqQwcOJBTp07RvHlzzpw5w8aNG5k9eza1atWqdnxCFCcFaeET9u/fzwsvvEBqair16tVj\n8ODBLF++vMR2sbGxTJkyhfDwcLd+/qlTpwgLC+PSpUslnmMYNmwYa9asASA/P585c+aQk5ND3bp1\nyc3N5aWXXqJTp05O+2zatIklS5Zwyy23kJmZydChQ3nsscfcGrPwbdI5CCGEKEFTBemCggIiIyMZ\nMmQIADNmzKBVq1ZERkYSGRnJpk2bvByhEEL4Bk3VHBYuXEjbtm0drxgwmUzEx8eXuHtDCCGEZ2nm\nyiEjI4MNGzYwbtw4x5isUqrC98wIIYRwP810Ds8//zxz5851usXQZDKRnJxMp06dGDt2LHl5eV6M\nUAghfEjNvyW8pM8//1xNmDBBKWV/n/3gwYOVUkrl5OQom82mbDabmjJlihozZkyJfQH5T/6T/+Q/\n+a8a/5VHE51DQkKCatWqlQoLC1PBwcGqQYMG6rHHHnPa5tChQ6p9+/Yl9q0oQb2ZPn26t0NwO6Pl\nJPlon9Fy8kQ+FX13amJYac6cORw7doxDhw7x4Ycf0qdPH1JSUsjOznZss3btWjp06ODFKIUQwndo\n6m4lAKWUY/atF198kX//+9+YTCZat27N4sWLvRyd5x0+fNjbIbid0XKSfLTPaDl5Ix/NdQ5RUVFE\nRUUB8P7773s3GC8w4lSPRstJ8tE+o+XkjXx0/4S0yWSS212FEKKKKvru1ETNQQghhLZI56AxVqvV\n2yG4ndFykny0z2g5eSMf6RyEEEKUIDUHIYTwQVJzEJqRmZlFTEwCMTEJZGZmeTscIUQ5pHPQGKON\nlUJRTnFxyWzYMI0NG6YRF5fs3aBcYLRzZLR8wHg5Sc1BGNr1696OQAhRWZqqORQUFNClSxdatWrF\n559/zunTp3nkkUc4cuQIYWFhfPTRR/j7+zvtIzUH/Vi5MovY2GT8/WH37omEhoZ4OyQhfJauag6F\nk/0Uvj4jKSmJ6OhoDhw4QN++fR2Tsgt92rMnhPj4RPLzE2nSRDoGIbRMM51DaZP9fPbZZ8TGxgL2\nid8/+eQTb4ZYI4w2VgpFOW3dCoMGwT33gJ7TNNo5Mlo+YLycfLrmUNpkPzk5OZjNZgDMZjM5OTne\nCk+46MIF+Pln6NYN+veHzZu9HZEQojyaePHeunXrCAoKIjIysswe0mQyOYabbvT4448TFhYGgL+/\nPxEREY6X9xUeTy/LhW1aicddyzt2QOfO8K9/WWneHN57T1vxVXW5kFbikXxkuaJlq9XK8uXLARzf\nl+XRREH65Zdf5v3336d27dpcuXKFc+fO8cADD7Br1y6sVivBwcFkZ2fTu3dv9u/f77SvFKT1YcoU\n8PODV14Bmw1CQuwdxm23eTsyIXyTLgrSpU328/777zN06FBWrFgBwIoVKxg2bJiXI/W8G3/JGYHV\nasVqhV697MvZ2VnUqpXA0KH6fBjOaOfIaPmA8XLyRj6a6BxuVDh8ZLFY2LJlC+Hh4Xz99ddYLBYv\nRyaqKjMzixdffJfvv0/g1lvtHUFcXDJZWdP45Rd9PwwnhJFpYljJFTKspG0xMQls2DANgEGDZrF+\nfWKpbUKImqWLYSXhW5YsmciAAbMwmWaxePFEb4cjhCiFdA4aY7Sx0iVLJhIcPI42bWaxZIm9IwgN\nDWHTpkSaNEmkQQP9PQxntHNktHzAeDl5Ix9N3MoqjCs0NIR27Z4gNjaK0FDndS1bQnY2NGvmndiE\nEGWTmoPwuD594OWXoV+/ku0JCRAd7Z24hPBlUnMQXnf8uP0q4UYhIfYrByGE9kjnoDFGGysFOHbM\nSnBwyfbCYSW9Mdo5Mlo+YLyc5DkHYTiXL8OVK6XXFfTaOQjhC6TmIDzq8GHo2ROOHi257sMPYc0a\n+OijGg9LCJ+ni5rDlStX6Nq1KxEREbRt25aEhAQAZsyYQatWrYiMjCQyMpJNmzZ5OVJRVdnZpdcb\nQK4chNAyTXQO9erVIzU1lfT0dHbv3k1qairffPMNJpOJ+Ph40tLSSEtL4/777/d2qB5ntLHS48eh\ndm1rqev02jkY7RwZLR8wXk4+XXNo0KABAPn5+RQUFBAQEAAgQ0Y6l50NzZuXvq5lS8jKAjnFQmiP\nZh6Cs9lsdO7cmYMHD/LUU0/Rrl07Vq9eTXJyMikpKXTp0oV58+aVmEMaZD4HLS9//73VqXMovr5x\nYwArGzZATIw24q3scmn56HnZaPnIcsllqx7ncyju7NmzDBgwgKSkJNq2bUtgYCAAU6dOJTs7m6VL\nlzptLwVpbXviCejSBcaPL319eDh89hm0aVOzcQnh63RRkC6uadOmxMTE8MMPPxAUFOSYAW7cuHHs\n3LnT2+F53I2/5PQuOxtOnrSWuV6PdQejnSOj5QPGy8kb+Wiiczh58iR5eXkAXL58mS1bthAZGcnx\n48cd26xdu5YOHTp4K0RRTcePl//upJAQe91BCKEtmhhW+vnnn4mNjcVms2Gz2Xjsscd44YUXGDVq\nFOnp6ZhMJlq3bs3ixYsxm81O+8qwkraFhsL338PNN5e+Pj7e3kH8v/9Xs3EJ4esq+u7UROfgCukc\ntKugAOrVg4sX4aabSt9m7lz71cW8eTUbmxC+Tnc1B19npLHSU6egaVPYscNa5jZSc/A+o+UDxsvJ\nZ2sOwpjKezq6kNQchNAmGVYSHrN5M7z+OmzZUvY2+/bBsGHw6681F5cQQoaVhBdV5spBj8NKQvgC\n6Rw0xkhjpdnZEBxcfk5Nm8L163DhQs3F5SojnSMwXj5gvJyk5iAMpawZ4IozmeTqQQgtkpqD8JiH\nH4Y//QlGjCh/u+7dYc4c+7wPQoiaITUH4TWVqTlkZmZx8GACkyYlkJkpty0JoRWa6BzKmuzn9OnT\nREdHEx4eTv/+/R2v2DAyI42VFg4rlZdTXFwyx49PIy1tGnFxyTUXnAuMdI7AePmA8XLy2ZpDWZP9\nJCUlER0dzYEDB+jbty9JSUneDlVUQmZmFjExCfz2WwI2m1wNCKFHmqs5XLp0iV69erF8+XKGDx/O\n1q1bMZvNHD9+nKioKPbv3++0vdQctCcmJoENG6YBMGjQLNavTyxz28zMLAYMSObcOfjuu4mEhobU\nVJhC+LSKvjs1PdlPTk6O40V7ZrOZnJycUvc10mQ/Rlg+deoohU6dOoq1nMmL/vOfAwwfPoC9e6MI\nDdVG/LIsy0ZctlZxsh+UxuTl5amuXbuqr7/+Wvn7+zutCwgIKLG9BlNwSWpqqrdDcFlGRqbq3t2i\nGje2qIyMzApz2rJFqd69ayY2dzDCOSrOaPkoZbycPJFPRd+dmqg5FFc42c+PP/7oGE4CyM7OJigo\nyMvRicoIDQ1h2rRE7r47sVLDRC1a2F/SJ4TQDk10DmVN9jN06FBWrFgBwIoVKxg2bJg3w6wRhZeD\nenfqFI65oyvKqXlzfXUORjlHhYyWDxgvJ2/kU27N4cEHH+SUi/9q69Spw5o1a2jUqFGZ22RnZ5eY\n7Kdv375ERkby8MMPs3TpUsLCwvjoo49cikXUnOKdQ0X01jkI4Qs0d7dSVRntbqXixVs9mzUL8vNh\n9uzK5VS/vr2DaNCgZuJzhVHOUSGj5QPGy8kT+cgT0sIrqnLlAHL1IITWyJWD8Ii//AX694dRoyq3\nfadOsHw5REZ6NCwhxO888pyDzWbj0KFDnD59GpPJhNlsxmw2c9NNZUwULHyOXDkIoW+VHlbKy8tj\nwYIF9OzZk4YNG9KmTRtiYmIYMmQIt99+Ow0aNKBz587MmjWLzMxMT8ZsaIUPrehd8c6hMjnpqXMw\nyjkqZLR8wHg5eSOfCjsHpRRz586lR48e5OTk8PLLL5OZmUl+fj65ublkZ2dz9epVTp06xeuvv05B\nQQGDBg1i8uTJXL58uSZyEBokVw5C6Fu5NYfLly8zZswY+vXrx6hRo6hTp06lDmqz2Vi9ejV///vf\nWbRoES0rem+zC6TmoE3+/vDbb9CsWeW2/+tfoW5dmDrVs3EJIewq+u4st3N45ZVX+Mtf/kLr1q2r\n9eEnTpzg1VdfZcGCBdXavzKkc9Ce69ehXj37rax+lRy4nD8fjhwBD/5VEUIU49KtrFOnTq12xwAQ\nGBjo0Y7BiIwwVnr6tP3KobBjkJqDthktHzBeTpqsOZTm6tWrXLt2zW1BHDt2jN69e9OuXTvat2/P\nm2++CcCMGTNo1aoVkZGRREZGsmnTJrd9pvCcqtYbQF+dgxC+oFrPOURERHD9+nX27NkDwPXr15kx\nYwatW7fm8ccfp1atWlU63vHjxzl+/DgRERFcuHCBu+66i08++YSPPvqIxo0bEx8fX3YCMqykOd98\nAy++CDt2VH6f77+HZ5+FnTs9F5cQoohHnpAOCwvj0UcfdSzXrl2b2bNn07dvX1555ZUqHy84OJiI\niAgAGjVqxJ133um4HVa++PVHrhyE0L9qPQTXo0cPxo4d61jeuXMnR44cISAggIMHD7oU0OHDh0lL\nS6Nbt258++23JCcnk5KSQpcuXZg3bx7+/v4l9jHSZD8LFizQdfxWq5Vvv4XmzYuW09PTmTRpUrn7\nd+wYxalT2oi/ouXK5KOnZaPlUyjq9wlutBCPFvKxunuyn6ysLHXx4kWntqtXr6pXX31VXb9+Xa1Z\ns0bVrl1bBQYGqsDAQPXuu+9Wdq6JEs6fP6/uuusutXbtWqWUUjk5OcpmsymbzaamTJmixowZU2Kf\nSqSgK0aYpOS115SKjy9arkxOBQVK1aql1LVrnovLXYxwjoozWj5KGS8nb0z2U2HNoXPnzuzdu5f7\n7ruP/v37079/fzp37kxeXh5Lly7lyy+/JDEx0TEsVF3Xrl1j8ODBDBw40PErprjDhw8zZMgQfv75\nZ6d2qTloj8UCTZrAyy9Xbb/AQPjlF5A5nYTwPJdrDk8++SR33HEHPXv2ZP369dx7770EBgYyYcIE\n9u7dy4ULF1zuGJRSjB07lrZt2zp1DNnZ2Y4/r127lg4dOrj0OaJmnD5d9ZoDSN1BCC2psHMYOXIk\nTz75JDNmzGD79u2cPn2alJQUQkJC+Omnn9ixYwctW7ZkxIgRLFq0iKNHj1Y5iG+//ZaVK1eSmprq\nuG1148aNvPTSS3Ts2JFOnTqxdetW5s+fX60k9aT4GKNe3ViQrmxOeukcjHCOijNaPmC8nLyRT4UF\n6UaNGvH00087lhs2bMjAgQMZOHAgYJ/iMzU1la+++op58+Yxe/ZsMjIyqhRE9+7dsdlsJdoLP0Po\nS3XuVgL9dA5C+AK3z+dw+fJl6tev785DlktqDtrToQP8/e/QsWPV9hs9Gnr0gDFjPBOXEKJIjc8E\nV5Mdg9CmU6cq/8K94po3h5Mn3R+PEKLqyu0c5syZQ05OTrUPfvLkyVLvPBJl0/tYqVJSc9Abo+UD\nxsvJG/mU2zlMnDiR559/npSUFAoKCip9UKUUq1evZty4cVgsFpeDFPpx8SLUqgXVuYDUS+cghC+o\nsOZw/fp13nrrLZYtW8b//u//0r17d7p27UrTpk2dtrt48SI//PADVquVtWvX0q9fP1555RWPDzNJ\nzUFbjhyB7t3h2LGq7/vxx7ByJaxd6/64hBDOXK451K5dm0mTJrF161YCAgKYO3cuZrOZ+vXrExwc\nTMuWLalXrx7+/v789a9/pW7duqxbt47XX39d6g8+qLp3KgG0aCFXDkJoRaUL0v7+/jz//PNs2bKF\nc+fO8euvv7Ju3To+/fRT9u3bx7lz59i+fTsWi4VWrVp5MmZD0/tYaWmdg9QctM1o+YDxctLkcw4A\nP//8s9PTyTfddBO33HILt9xyi8cCE/rkypWDXjoHIXxBpa4cXq7qS3KqqKzJfk6fPk10dDTh4eH0\n79+fvLw8j8ahBYVvU9Sr0jqHyuZ05UoWubkJxMQkkJmZ5f7g3ETv5+hGRssHjJeTN/KpVOfwzTff\ncOHChUod8Ny5c1UOok6dOsyfP59ffvmF77//nrfffpt9+/aRlJREdHQ0Bw4coG/fviQlJVX52KJm\nuXLl8MwzySg1jQ0bphEXl+zewIQQVVKpzuHs2bNMmDChUgcsPs9DZZU12c9nn31GbGwsALGxsXzy\nySdVPrbe6HmsNDMzi2XLElizxvmXv55zKo3ko31Gy0mzNYeePXsyYsQIJk+ezLx588rcLi0tje3b\nt7sUUOFkP127diUnJwez2QyA2Wwu84E8I032k56erql4qrIcF5fM4cP29ri4ZNavT8T6+2Qyldl/\nyZKJ/OEP4wgLgyVL5no9n7KWK5uPXpaNlk9xWolHC/lY3T3Zj1JK2Ww2pZRSP/74o3rmmWdUQUGB\nY93169fVhx9+qP74xz8qk8mk/Pz8qjThRHHnz59XnTt3dkz24+/v77Q+ICCgxD6VTEHUgEGDLAou\nKWsjq4gAAB9JSURBVLikBg2yVOsYMTFKffaZmwMTQpRQ0XdnpYaVTCYTYJ/4Z/z48UyYMIGMjAxm\nz57NrbfeyogRI9i/fz+TJ0+meTUHnK9du8bw4cN57LHHGDZsGGC/Wjh+/Dhgn9shSGaB0bQlSybS\npMks/vjHWSxZMrFaxwgMhBMn3ByYEKLKKtU5fPDBB44/X758mYMHD3LLLbcwbdo0mjVrxpIlS8jI\nyGDu3LlOr/euLFXGZD9Dhw5lxYoVAKxYscLRaRjZjZeRehIaGkLTpon8/e+JhIaGONqrkpMeOgc9\nn6PSGC0fMF5O3sinUjWHadOmYbPZeOutt9i5cyd+fn4MGTIEpRQrV66kSZMmjm2nT59e5SAKJ/vp\n2LEjkZGRACQmJmKxWHj44YdZunQpYWFhfPTRR1U+tqg5Stm/2AMDq3+MwEBw4V2PQgg3qdR8Dn5+\n9gsMf39/xo4dy9NPP01YWBi5ubm8/PLLzJ07l4CAAI8HWxp5t5J2XLgAZrP95XvVtXw5fP01pKS4\nLSwhRCncMp9DkyZNeOeddxxDR4WV7qCgIObOncsLL7xAbm6uWwIW+uXqVQPoY1hJCF9Qqc4hKiqK\n8ePH06BBgxLrAgICmD9/Pi+//DJHjx5l8uTJbg/Sl+h5rDQ3t/TOQWoO2ma0fMB4OXkjn0p1DrNn\nzy53fePGjUlOTmb06NEsWLDALYEJ/ZErByGMw61zSGdkZHDHHXdw+fJldx2yQlJz0I5ly8Bqhd9v\nMKuWixftHcSlS24LSwhRihqdQ7pVq1Z0797dnYcUOnLiBLj6KErDhvb/daWoLYRwnVs7B0DmjHaR\nnsdKyxpWqmpOWh9a0vM5Ko3R8gHj5aTZmkNVxMTEuPuQQifcUXMA7XcOQviCcmsODz74IKdcnH2l\nTp06rFmzhkaNGrl0nLJIzUE7YmLgqadg8GDXjjNwIDzzjP14QgjPqOi7s9wnpFevXu32gMoyZswY\n1q9fT1BQED///DMAM2bM4L333iPw95+jiYmJ3H///TUWk6gauXIQwjjcPqxUXaNHj2bTpk1ObSaT\nifj4eNLS0khLS/OJjkHPY6XueM4BtN856PkclcZo+YDxcjJEzaG6evToUeorOGTISD/cdeUQFKTt\nzkEIX1CpF+95U3JyMikpKXTp0oV58+bh7+9fYhsjTfZT2KaVeCq7fM89Udhs8MMPVkwm1yYrOXUK\nTpzQVn4ymYws633ZWsXJftz6EJyrDh8+zJAhQxw1h9zcXEe9YerUqWRnZ7N06VKnfaQgrQ1HjkCP\nHnD0qOvH+vxzWLwY1q1z/VhCiNLV6ENw7hYUFITJZMJkMjFu3Dh27tzp7ZA87sZfcnpR3pBSVXOS\nmkPNMlo+YLycvJGPpjuH7Oxsx5/Xrl1Lhw4dvBiNKI+76g2g/c5BCF+gmWGlESNGsHXrVk6ePInZ\nbGbmzJlYrfbJz00mE61bt2bx4sWYzWan/WRYSRtSUmDLFnj/fdePde4chIbC+fOuH0sIUbqKvjs1\n0zlUl3QO2vD665CVBW+84fqxlIJ69SAvD+rXd/14QoiSdF1z8EV6HSt1Z83BZNL20JJez1FZjJYP\nGC8nqTkI3XLHG1mLk2cdhPAuGVYSbjFkCDzxBAwd6p7jDRgAzz8PPvBQvBBeIcNKoka4824l0Paw\nkhC+QDoHjdHrWKk7aw6g7c5Br+eoLEbLB4yXk9QchG7JlYMQxiI1B+GyK1egaVP7/5pMrh8vMzOL\n++9PJi8Pvv9+IqGhIa4fVAjhRGoOwuNOnIAWLdzTMQDExSWzZ880MjKmEReX7J6DCiGqRDOdw5gx\nYzCbzU6vyDh9+jTR0dGEh4fTv39/8vLyvBhhzdDbWGlmZhYjRyZw/nwCmZlZpW6jt5wqIvlon9Fy\n8umaQ2mT/SQlJREdHc2BAwfo27cvSUlJXopOlCUuLplvvpnG+fPu+5W/ZMlEBg6cRa1as5g7d6Jb\njimEqBpN1RxufGV3mzZt2Lp1K2azmePHjxMVFcX+/fud9pGag3fFxCSwYcM0AAYNmsX69YluO/Z9\n90FSEvTs6bZDCiF+59Ic0t6Wk5PjeNGe2WwmJyen1O2MNNmP3pZHj76LnTvH0bLlLSxZMtGtx4+I\ngH/+04rNpp18ZVmW9bpsreJkPygNOXTokGrfvr1j2d/f32l9QEBAiX00loLLUlNTvR1ClXXqpNSu\nXWWvr25OixcrNXp09WLyJD2eo/IYLR+ljJeTJ/Kp6LtTMzWH0hQOJ4F9bocgd768R7hFfj4cOADt\n2rn/2BERkJ7u/uMKISqm6ZrDiy++SPPmzXnppZdISkoiLy+vRFFaag7elZ4Of/kL7Nnj/mNfumS/\nRTYvD266yf3HF8KX6eY5hxEjRnDffffx66+/cvPNN7Ns2TIsFgtbtmwhPDycr7/+GovF4u0wxQ3S\n0+2/8D2hQQMIC4Mb7kEQQtQAzXQOq1atIisri/z8fI4dO8bo0aNp1qwZX375JQcOHOCLL77A39/f\n22F6XGEBSS8q0zm4kpMWh5b0do4qYrR8wHg5eSMfzXQOQp88eeUA2uwchPAFmqo5VIfUHLxHKQgI\ngP/8x70v3Svuiy8gMRFWrsxyPGS3ZIm8b0kIV8kc0sJjDh+G7t0hI8Nzn5GTA23awH33ee5hOyF8\nkW4K0sJOy2OlmZlZxMQkEBNjf49SZYeUXMnp+vUsLl9OYPv2oqr0d9+dp1evojhqmpbPUXUYLR8w\nXk7eyEfTT0gLbYmLS3b8eo+Lm8Xddyd6tN5Q+JlXr07j6tVsmjQZyX33teG//63Dtm1FcchVhBDu\nJ1cOGlP42LtWFL9a+O23K472gwfP8847CWzcWPGvd/fk1JLu3duwcWMi4eH1HK0FBW44dBVp7Ry5\nymj5gPFy8kY+UnMQ5Sr+Yr1GjV4gIqIxNhvs2XOFc+fmAJ6tAWRmlixEF7b9+CM8/fREpk6V4rQQ\nVSU1B53R8lhpjx6N2b49kW+/TaR793oV7/A7V3IKDQ1h/fpE1q9PdNyhVNj26aeJLF0awvXr1T58\ntWj5HFWH0fIB4+UkNYcyhIWF0aRJE2rVqkWdOnXYuXOnt0PyGW++OZEvv5xFt27w7rtFcyssWTKR\nuLhZjj97Q9euEBycxd13JxMSIre4CuFOuhhWat26NT/++CPNmjUrsU6GlTzrnXdg0yb49FNvR1K6\nu+9O4Icf5BZXIapK1/M5FCcdQM0rKIDXX4eUFG9HUjZ5Ua8QnqGLzsFkMtGvXz9q1arF+PHjeeKJ\nJ5zWG2mynwULFmgi/jvuCGfIkGRyc4+Snf0n4MFqHy89PZ1JkyZ5JN7Ro+/i2LFx7N9/C889Z59s\n6OTJkyxb9qNjfYsWLdz6/48n8/HGstHyKRT1+wQ3WohHC/lY9TzZT1mysrKUUkrl5uaqTp06qW3b\ntjnW6SSFStPKJCUDBlgUXFJwSQ0aZHHpWDWRU3Jypqpf36Kioy2qT59Jjth7935aDRpkUYMGWVRG\nRqZbPksr58hdjJaPUsbLyRuT/eii5lDczJkzadSoEZMnTwak5uCq0m4VVQpuvjmBzEz9jOUXv+XW\nz28kNtsHANSuPZLr1+1/1kMeQtQU3dccLl26REFBAY0b///2zj0miqv9499ZBXeFRRG2aOFtuYOC\nAt6oUd+CxUvRgi2a6HrBCy0/U9M2Wtr6poalTQhqbFOtvaOitlWbtvaGFhFR7IvaKKRv1FYRWxWR\nclG5Ltfn98d2dneYWUBcdhk8n2ST2efMmXnOPDPnOec5Z+ao0dDQgJycHKSmptpbLdnDO4Vff/0d\nlZWGynPZshSoVGr89RegVC7E7NlvYdAg+81G6i0TJ3rCze0tdHQAVVXeOHcOAMpx+vTvmDt3A5vV\nxGD0BKv3VaxMaWkphYWFUVhYGIWEhFB6erogXQZFuC9s1R2OjeXDRinGEIxCMd+4HRX1YKEkc2xR\npps3yyTDR7zcyWm+rMJktmSglYdo4JXJHmGlft9z8PHxQTH7oL9VMA8hmT6F8X9wddUiMjIYNTXe\n4F8hGTrUPjr2Fv7FOEtyQ9jJIPvf/+owa9YGtLXVgeMcoFQqkZa2EKmpXwFg70swGIBM3nPoCjbm\n0HPM4/KOjimYMkUNJyfxZymAgVdB8mVrbgYuXtSjvDwdQCqANADCcYrp01OgVqsBDLzrwGDwyH7M\ngdFzzCt385Ywv11YaPrs9fTpauTmClvallrfAwHzss2duwHl5cL0YcOAO3cM26dOlYHoCwDliIh4\nEZMmBUteT4A5D8bAhfUc+hn5+fnGOco9RWpw2dFRi5aWzjN2yuHsvB7TpgXjs89sV6n1pkx9CX+9\nmpqkw0o1NXqcPi3sWQwZokVzM39tZ6GlJQdAOTSa9QLnYemY/dmJ9Df7WIOBVqa+KA/rOQwAuqvM\n9Ho98vL4ysyAUgm0tBi2nZ2Bu3cBYBT+/e/gAds76CmWekg//TQeAH+938Kvv15BZaUhzcEBaG42\nbCuMn6v8CJWVXyA7Gzh5Uov6+i9g7lAKC7W4c0c4E8ySDeXiSBgPD6znYCe6CwGZVyKNjXrk5wtb\nskqlFnq9oeLhOK0xDOLuvh6TJ7MwiDXozkbmPTWTPUw2GjRIi/b2Lzptm9KHDdPi3j1Duqsr70h6\n3huRc2+FYX/YGtI2prtWvlTFYqoYgOHDtbh7V1iJAFoAQpmzM99SBaZMSYGrKxtAtTVSzkPK7h0d\nQGWlHufOCR28g4MWra2dQ39SoSyTTKXSoqnJkMfFRYvaWmG6u7sWVVWG9Ohoy72V3jqcrtLNZew+\n7P88FGGluXM3WO2mftAHRaqVX1CgRV2d4YE9cUKLhgb+gTZw756pLHV1VaLyTZ/uCbX6LTQ1NYLj\n/vOPHhuRmsp/Mvs//fpBHKjx387hKT4sZU7nUJUlG/Lb5qEsR0dTKIvHFNIC9HqIqDK7fY4fL0Pn\nRkVuLj8WZS7jx1CA48d55yN9//73v+LGy5kzWlRXC2V8GM1QNts4JPM8cXE++P77a3avD6x1zFu3\nfseIEd5WPWa3WP3Nij7g8OHDFBQURP7+/pSRkSFIA0BAI7m58S85mV7qGjFivsS2Kd3VVSxzdp4v\nsW1Kd3Q0pQ8eLE4HxLIhQ0x5lEp++yqNGDGfYmPfoF9/PWd8gWvdunUUG/sGRUe/SDNmvGLVbwLZ\ni3fffdfeKliVviyP+ct8/H1hfi+Y3yvdpZu+MWW6F11cpO7pscbtoUO7vn+l7nmO6+o5kH4mBg3q\n+pjmz5np/KZ003Nkkpl0byQHh7Gi9O6ebbVaLDNdr0YaNkycPnz4fIntrusYk0w6Xbreiu6yLuuu\nrjPVj+bbMn8Jrr29HWvXrkVubi48PT0xadIkxMXFYfTo0YL9amrEefmpiQA/ICukrk4sM19VTGqF\nMemBXhNRUZ4YOrT7FiIAfPLJDmOLn29h6nQ6/PSTTnxiGXNX6uLLmL4sz/30RrpL76q3Yi7z9JyC\nsjLh/dnd/dvdMfV6b+TlGfRxdxf2aADAxcX0fKrVwmcVED5nUj2owd3UXEStIll3zzZ/PnPMe2dN\nTeL0hgbTdn29OL22tmuZedSAx/z2Mm2bLkDna9VZJpVuXj9K1ZVS9Psxh8LCQqSlpeHIkSMAgIyM\nDADAG2+8AcAQN4uNfaPfhJUeNNaq0+mg0+l6nb8/MtDKxMrTPT0dj3nQdEt5PD1rUFY2wu71gbWO\nefHiMfj6TrXqMbOzM7oer+2z/rGV+OqrrygpKcn4f+/evbR27VrjfxkU4b5ITEy0twpWZ6CViZWn\n/zPQytQX5emu7uz3PYevv/4aR44cwaeffgoA2LdvH86cOYPt2w2tEo7j7Kkeg8FgyJauqv9+P+bg\n6emJGzduGP/fuHEDXl5exv/93LcxGAyGLFF0v4t9mThxIq5cuYI///wTLS0tOHDgAOLi4uytFoPB\nYAxo+n3PYfDgwXj//fcxe/ZstLe3Y/Xq1aKZSgwGg8GwLv2+5wAATz/9NP744w+UlJRgw4YNRvmR\nI0cQHByMgIAAbNq0yY4aWg9vb2+MGzcOERERmDx5sr3VuW9WrVoFDw8PjB071iirqanBzJkzERgY\niFmzZslqaqtUeXQ6Hby8vBAREYGIiAjjTDo5cOPGDURHRyMkJAShoaHYtm0bAHnbyFKZ5GonvV6P\nyMhIhIeHY8yYMcY6z+Y2svoQuI1oa2sjPz8/unbtGrW0tFBYWBhdvHjR3mo9MN7e3lRdXW1vNXrN\nyZMn6fz58xQaGmqUpaSk0KZNm4iIKCMjg15//XV7qXffSJVHp9PR1q1b7ahV7ykvL6eioiIiIqqr\nq6PAwEC6ePGirG1kqUxytlNDQwMREbW2tlJkZCQVFBTY3Eay6DlIcfbsWfj7+8Pb2xsODg5YtGgR\nvvvuO3urZRVIxoPs06dPh6urq0D2/fffIzExEQCQmJiIQ4cO2UO1XiFVHkC+Nho5ciTCw8MBAM7O\nzhg9ejTKyspkbSNLZQLka6eh/yzF2NLSgvb2dri6utrcRrJ1DmVlZfjXv/5l/O/l5WW8IeQMx3GI\niYnBxIkTjdN35U5FRQU8PDwAAB4eHqioqLCzRg/O9u3bERYWhtWrV8sqBGPOn3/+iaKiIkRGRg4Y\nG/FleuKJJwDI104dHR0IDw+Hh4eHMWRmaxvJ1jkM1PcbfvnlFxQVFeHw4cPYsWMHCgoK7K2SVeE4\nTva2W7NmDa5du4bi4mKMGjUK69evt7dK9019fT0SEhLw3nvvGZdE5ZGrjerr67FgwQK89957cHZ2\nlrWdFAoFiouLcfPmTZw8eRLHjx8XpNvCRrJ1Dt29/yBXRo0aBQDQaDR49tlncfbsWTtr9OB4eHjg\n9u3bAIDy8nI88sgjdtbowXjkkUeMD2dSUpLsbNTa2oqEhAQsW7YM8+fPByB/G/FlWrp0qbFMcrcT\nAAwbNgxz587FuXPnbG4j2TqHgfj+Q2NjI+r++RpgQ0MDcnJyBLNk5EpcXByysrIAAFlZWcaHV66U\nmy1A/e2338rKRkSE1atXY8yYMXjllVeMcjnbyFKZ5GqnqqoqYwisqakJR48eRUREhO1t1KfD3X1M\ndnY2BQYGkp+fH6Wnp9tbnQemtLSUwsLCKCwsjEJCQmRZpkWLFtGoUaPIwcGBvLy8aOfOnVRdXU1P\nPfUUBQQE0MyZM+nOnTv2VrPHdC5PZmYmLVu2jMaOHUvjxo2j+Ph4un37tr3V7DEFBQXEcRyFhYVR\neHg4hYeH0+HDh2VtI6kyZWdny9ZOv/32G0VERFBYWBiNHTuWNm/eTERkcxv1+28rMRgMBsP2yDas\nxGAwGIy+gzkHBoPBYIhgzoHBYDAYIphzYDAYDIYI5hwYjIeEDz/8EMOGDcMdqUWG+4Bnn30WM2bM\nsMm5GNaHOQdGn5Cfnw+FQmHxJ8cXkuTMvXv3kJqainXr1gm+FaXT6aBQKHD+/HnJfLwdt27det/n\nTEtLw4kTJ/DDDz/0Wm+G/ej36zkw5I1Wq0VsbKxI7ufnZwdtHl4++OAD3Lt3D2vXru1V/t58qmHc\nuHGIiorC22+/jWeeeaZX52XYD+YcGH3K+PHjodVqe7x/e3s7WlpaoFKp+lCrh4uOjg58/PHHiI2N\nhZubm03PvWzZMqxatQpFRUWIiIiw6bkZDwYLKzHsxu7du6FQKHDs2DG8/fbb8PPzg0qlwsGDBwEY\nPovw4YcfYsKECXBycoJarcaMGTOQn58vOpZer0dKSgoeffRRDB06FJGRkcjJycGKFSugUAhvc29v\nb0RHR4uOwYdQ+E8U8DQ3NyM9PR0hISFQqVRwdXVFXFwciouLLebftWsXQkJCoFQq4e3tjS1btkhe\ng6KiIixcuBAeHh5QKpV47LHHoNVqUVpaipaWFmg0GkybNk0y75YtW6BQKHDq1CmL1xgwfN7++vXr\nkj243hAVFWUxXOjj4yPYd86cOQBgtClDPrCeA6NPaWhoQFVVlUCmVCrh7Oxs/P/qq6+ira0NycnJ\ncHFxQXBwMABDq3P//v1YuHAhVq9eDb1ej88//xwzZ87EN998IwhVLF68GN999x3i4uIwe/ZslJSU\nICEhAT4+PqKQSHdftDRPa21txZw5c1BYWIjly5fjpZdewt27d/Hpp59i6tSpOHnyJCZMmCDI/9FH\nH6GiogJJSUkYPnw49u7di9dffx1eXl5YvHixcb8ff/wRCQkJUKvVSEpKgr+/P8rLy5GTk4MLFy7A\n19cXK1aswNatW3H58mUEBgYKzrNz504EBQVZdB48J06cAIAuVxa8e/euyE6AYayiM2+++Sb+/vtv\ngaykpAQ6nQ4jR44UyEeOHAlvb29Jh87o5/TpxzkYDy3Hjx8njuMkf4sXLyYiol27dhHHcRQcHExN\nTU2C/N988w1xHEefffaZQN7W1kYTJ04kHx8fo+znn38mjuNo5cqVgn0PHTpEHMeRQqEQyB9//HGK\njo62qHNWVpZR9s477xDHcZSTkyPYt7a2lh577DGKiooS5ff09KTa2lqjvLGxkTQaDU2ZMsUoa2ho\nIHd3d/Lw8KBbt26JdOno6CAiosuXLxPHcfTaa68J0k+dOkUcx9GWLVtEeTuzfPly4jiO6urqRGmp\nqakW7WT+62pFtZqaGgoKCiKNRkOlpaWi9KeeeorUanW3ejL6F6znwOhTkpOTsXDhQoGsc+tyzZo1\nUCqVAtm+ffugVqsRFxcnatHOmzcPaWlpKCkpgb+/v3FFrJSUFMF+8fHxCAwMxJUrV3qt/759+zB6\n9GiMHz9epEdMTAz27NmD5uZmDBkyxChfuXKlYI0ElUqFyMhInD592ij7+eefUV1djU2bNhk/024O\n33sJCAjAk08+iT179iA9PR2DBg0CAGRmZsLBwcG4MlhXVFZWwsHBQdBb68wHH3wg6pkAQHFxMV59\n9VWL+fhPZf/111/Izc0VhZUAwM3NDfX19aLrxOjfMOfA6FMCAgK6nesuVSldunQJdXV1xpWvOsNx\nHCoqKuDv74/S0lIMGjRI8jijR49+IOdw6dIl6PV6aDQai3pUVVXB09PTKPP19RXt5+bmhurqauN/\nXqeeDNK+8MILWLJkCX788UfEx8ejrq4OBw8exLx58yzq1VnH7pg8eTLGjx8vkncer5HSLT8/H3v3\n7sXUqVMl9yEi2S4g9DDDnAPD7vDr5ZpDRNBoNPjyyy8t5gsJCenV+SxVUm1tbZJ6jBs3Du+8847F\n47m7uwv+8617a5GQkICXXnoJmZmZiI+Px4EDB9DY2IikpKQe5ddoNGhtbUVdXZ1o1bcHIT09HVlZ\nWdi4cSOWLFlicb+amho4OzvD0dHRaudm9D3MOTD6JQEBAcjOzkZkZCScnJy63NfX1xc5OTn4448/\nMGbMGEHapUuXRPuPGDFC0IrnKS0tFckCAwPx999/Izo62qot36CgIACG2UoxMTFd7uvo6Ijly5dj\n27ZtKC8vR2ZmJry8vIwzgbojNDQUgKG3ItU76A0HDx7Exo0bsWjRIqSlpXW5b0lJiVEHhnxgU1kZ\n/ZLExER0dHRgw4YNkunmi6vzK2J1ni566NAhXL58WZQ3KCgIv//+O27dumWUNTc3Y8eOHaJ9ly9f\njtu3b1vsOdzPIu/mzmXWrFlwd3fH1q1bjUs/dsXzzz+P9vZ2vPbaazhz5gxWrFjRY2fFT9stLCzs\nsa5dcfr0aSQmJuKJJ57A7t27u9z39u3buH79Op588kmrnJthO1jPgdEvSUhIwMqVK/H+++/j/Pnz\nmDt3Ltzd3XHz5k0UFhbi6tWruHr1KgBDRfvMM88gKysLNTU1mD17Nq5evYpPPvkEoaGhuHDhguDY\na9euxf79+xETE4Pk5GS0tLRg3759kuGtl19+GUePHkVKSgry8vIQHR0NFxcXXL9+HceOHYNKpUJe\nXl6PykRm62qpVCpkZmZiwYIFCA0NRVJSEvz8/FBZWYmcnBysW7dOsOxtcHAwpk2bhs8//xwKhQKr\nVq3q8bWcMGECfH19kZ2djRdffLHH+SwRHx+PtrY2LFiwQPT+glqtRnx8vPF/dnY2AIgmJTBkgH0n\nSzEGKvy0zq6mQO7atYsUCgWdOHHC4j579+6l6dOnk4uLCymVSvLx8aGEhAQ6ePCgYL+mpiZav349\njRw5klQqFUVGRtLRo0cpMTGROI4THTcrK4uCgoLI0dGRfH19acuWLZSXlyeaykpkmD67bds2mjRp\nEjk5OZGTkxMFBgbS0qVL6ejRo4IyKxQKUX4iohUrVoim1BIRnT17lubPn0/u7u40ZMgQevzxx2np\n0qV07do1yWvBcRzFxMRYvF6W2Lx5Mw0ePJgqKioEcp1ORwqFgs6dOyeZT8qO/PRgqSmv5lOMiYii\noqJo8uTJ960vw/4w58AY0FhyDnLkwIEDxHEc7d+//77z1tbWkoeHB7355pt9oJk0RUVFpFAo6Icf\nfrDZORnWg405MAY8A2UK5Y4dO6DRaPDcc8/dd161Wo20tDRs377dZp/sTktLQ1RUFObNm2eT8zGs\nCxtzYAx4yCzWLzcqKyuRm5uLgoICFBQUICMjAw4ODr06VnJyMpKTk62soWW+/fZbm52LYX2Yc2AM\naOT+8tWFCxewZMkSuLq6Ys2aNVi/fr29VWI8JHAk52YVg8FgMPoENubAYDAYDBHMOTAYDAZDBHMO\nDAaDwRDBnAODwWAwRDDnwGAwGAwRzDkwGAwGQwRzDgwGg8EQ8f9V5kzRsoVgcAAAAABJRU5ErkJg\ngg==\n", "text": [ "" ] } ], "prompt_number": 283 }, { "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((6,6))\n", "\n", "X = fft.fft(x,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)\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].grid()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n4XC0+H+FYhrmBjZwYQAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 298 }, { "cell_type": "code", "collapsed": false, "input": [ "#t = arange(0,10,1/fs).reshape(10,-1)\n", "#x=cos(2*pi*f*t) + cos(2*pi*(f+deltaf)*t)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 285 }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$ \\frac{\\sin \\left( N_s \\frac{2\\pi}{N} k\\right)}{\\sin \\left( \\frac{2\\pi}{N} k \\right)}$$" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Summary" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this section, we considered the Discrete Fourier Transform (DFT) using a matrix/vector approach. We used this approach to develop an intuitive visual vocabulary for the DFT with respect to high/low frequency and real-valued signals. We recognized that zero-padding an input signal is the same as analyzing more discrete frequencies in the transform domain.\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/Fourier_Transform.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)." ] } ], "metadata": {} } ] }