{ "metadata": { "name": "", "signature": "sha256:e29e7a71335f136b2fd6ad18096e9c999a6c7f7737a7804bfefee11d70771e54" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Introduction: test\n", "--------------\n", "\n", "The Fourier Transform is ubiquitous, but it has singular standing in signal processing because of the way sampling imposes a bandwidth-centric view of the world. The Discrete Fourier Transform (DFT) is the primary analysis tool for exploring this perspective. Our development unconventionally starts with a matrix/vector representation of the DFT because that facilitates our visual approach which in turn is designed to develop intuition about the operation and usage of the DFT in practice.\n", "\n", "Let us start with the following DFT matrix\n", "\n", "$$ \\mathbf{U} = \\frac{1}{\\sqrt N} \\left[ \\exp \\left( j \\frac{2\\pi}{N} n k \\right) \\right]_{n\\in\\{0,N_s-1\\},k\\in\\{0,N-1\\}} $$\n", "\n", "where $n$ counts rows through the number of samples and $k$ indexes the discrete frequencies as columns. \n", "\n", "The following figure shows the discrete frequencies on the unit circle and their corresponding real and imaginary parts that are the columns of $\\mathbf{U}$." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# must start notebook with --pylab flag\n", "\n", "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", "Nfft=16\n", "v = ones((16,1))\n", "U = dftmatrix(Nfft=Nfft,N=16)\n", "\n", "# --- \n", "# hardcoded constants to format complicated figure\n", "\n", "gs = gridspec.GridSpec(8,12)\n", "gs.update( wspace=1, left=0.01)\n", "\n", "fig =figure(figsize=(10,5))\n", "ax0 = subplot(gs[:,:3])\n", "fig.add_subplot(ax0)\n", "\n", "ax0.set_aspect(1)\n", "a=2*pi/Nfft*arange(Nfft)\n", "\n", "colors = ['k','b','r','m','g','Brown','DarkBlue','Tomato','Violet', 'Tan','Salmon','Pink',\n", " 'SaddleBrown', 'SpringGreen', 'RosyBrown','Silver',]\n", "for j,i in enumerate(a):\n", " ax0.add_patch( FancyArrow(0,0,cos(i),sin(i),width=0.02,\n", " length_includes_head=True,edgecolor=colors[j]))\n", "\n", "ax0.text(1,0.1,'0',fontsize=16)\n", "ax0.text(0.1,1,r'$\\frac{\\pi}{2}$',fontsize=22)\n", "ax0.text(-1,0.1,r'$\\pi$',fontsize=18)\n", "ax0.text(0.1,-1.2,r'$\\frac{3\\pi}{2}$',fontsize=22)\n", "ax0.axis(array([-1,1,-1,1])*1.45)\n", "ax0.set_title('Radial Frequency')\n", "ax0.set_xlabel('Real')\n", "ax0.set_ylabel('Imaginary')\n", "\n", "# plots in the middle column\n", "for i in range(8):\n", " ax=subplot(gs[i,4:8])\n", " ax.set_xticks([]); ax.set_yticks([])\n", " ax.set_ylabel(r'$\\Omega_{%d}=%d\\times\\frac{2\\pi}{16}$'%(i,i),fontsize=16,\n", " rotation='horizontal')\n", " ax.plot(U.real[:,i],'-o',color=colors[i])\n", " ax.plot(U.imag[:,i],'--o',color=colors[i],alpha=0.2)\n", " ax.axis(ymax=4/Nfft*1.1,ymin=-4/Nfft*1.1)\n", "ax.set_xticks(arange(16))\n", "ax.set_xlabel('n')\n", "\n", "# plots in the far right column\n", "for i in range(8):\n", " ax=subplot(gs[i,8:])\n", " ax.set_xticks([]); ax.set_yticks([])\n", " ax.set_ylabel(r'$\\Omega_{%d}=%d\\times\\frac{2\\pi}{16}$'%(i+8,i+8),fontsize=16,\n", " rotation='horizontal')\n", " ax.plot(U.real[:,i+8],'-o',color=colors[i+8])\n", " ax.plot(U.imag[:,i+8],'--o',color=colors[i+8],alpha=0.2)\n", " ax.axis(ymax=4/Nfft*1.1,ymin=-4/Nfft*1.1) \n", " ax.yaxis.set_label_position('right')\n", "ax.set_xticks(arange(16))\n", "ax.set_xlabel('n')\n", "# fig.savefig('figure_00@.png', bbox_inches='tight', dpi=300)" ], "language": "python", "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'ones' is not defined", "output_type": "pyerr", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 16\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 17\u001b[0m \u001b[0mNfft\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m16\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 18\u001b[0;31m \u001b[0mv\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mones\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m16\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 19\u001b[0m \u001b[0mU\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdftmatrix\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mNfft\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mNfft\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mN\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m16\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 20\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mNameError\u001b[0m: name 'ones' is not defined" ] } ], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "On the left, the figure shows the discrete frequencies corresponding to each of the columns of the $\\mathbf{U}$ matrix. These are color coded corresponding to the graphs on the right. For example, the $k=1$ column of the $\\mathbf{U}$ matrix (i.e. $ \\mathbf{u}_1 $) corresponds to discrete frequency $\\Omega_1=\\frac{2\\pi}{16}$ marked on the y-axis label which is shown in the second row down the middle column in the figure. The real part of $ \\mathbf{u}_1 $ is plotted in bold and the corresponding imaginary part is plotted semi-transparent because it is just an out-of-phase version of the real part. These real/imaginary parts shown in the graphs correspond to the conjugacy relationships on the leftmost radial plot. For example, $\\Omega_1$ and $\\Omega_{15}$ are complex conjugates and their corresponding imaginary parts are inverted as shown in the plots on the right. \n", "\n", "The rows of the matrix correspond to the sample index given a particular sampling frequency, $f_s$. This means that if we have $N_s$ samples, then we have sampled a time duration over $N_s/f_s$. However, if we are only given a set of samples without the sampling frequency, then we can say nothing about time. For this reason, you will find discussions based on discrete frequency (i.e. between zero and $2\\pi$) that do not reference sample rates. Thus, $N$ frequencies either divide the unit circle in discrete frequencies between 0 and $2\\pi$ or divide the sample rate into sampled frequencies between zero and $f_s$. There is a one-to-one relationship between discrete and sampling frequency. In particular, we have for discrete frequency,\n", "\n", "$$ \\Omega_k = \\frac{2\\pi}{N} k $$\n", "\n", "and for sampled frequency,\n", "\n", "$$ f_k = \\frac{f_s}{N} k $$\n", "\n", "for the same value of $k$. Note that $\\Omega_k$ is periodic with period $N$ (one full turn around the circle). One immediate consequence of the one-to-one correspondence between $\\Omega_k$ and $f_k$ is that when $k=N/2$, we have $\\Omega_{N/2}=\\pi$ (halfway around the circle) and $f_{N/2}=f_s/2$ which is another way of saying that the Nyquist rate (the highest frequency we can unambiguously sample) occurs when $ \\Omega_{N/2} = \\pi$. We can see this by noting that as the discrete frequency rotates counter-clockwise away from zero and towards $\\pi$, the plots on the right get more and more jagged. These also get smoother as the discrete frequency continues to rotate counter-clockwise towards zero again. This is because the higher frequencies are those close to $\\pi$ and the lower frequencies are those close to zero on the complex plane. We will explore these crucial relationships further later, but for now, let's consider computing the DFT using this matrix." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Computing the DFT\n", "--------------------\n", "\n", "To compute the DFT using the matrix, we calculate the following,\n", "\n", "$$ \\mathbf{\\hat{x}} = \\mathbf{U}^H \\mathbf{x}$$\n", "\n", "which individually takes each of the columns of $\\mathbf{U}$ and computes the inner product as the $i^{th}$ entry,\n", "\n", "$$ \\mathbf{\\hat{x}}_i = \\mathbf{u}_i^H \\mathbf{x}$$\n", "\n", "That is, we are measuring the *degree of similarity* between each column of $\\mathbf{U}$ and the input vector. We can think of this as the coefficient of the projection of $\\mathbf{x}$ onto $\\mathbf{u}_i$.\n", "\n", "We can retrieve the original input from the DFT by calculating\n", "\n", "$$ \\mathbf{x} = \\mathbf{U} \\mathbf{U}^H \\mathbf{x} $$\n", "\n", "because the columns of $\\mathbf{U}$ are orthonormal (i.e. $\\mathbf{u}_i^H \\mathbf{u}_j = 0$). An important consequence of this is that $||\\mathbf{x}||=||\\mathbf{\\hat{x}}||$ for any $\\mathbf{x}$. This is Parseval's theorem and it means that the DFT is not *stretching* or *distorting* the input which makes it an ideal analysis tool.\n", "\n", "Zero-Padding and Frequency Sampling\n", "------------------------------------------\n", "\n", "The only relationship between $N$, the size of the DFT, and the number of samples $N_s$ is that $N \\ge N_s$. For implementation reasons, we will always choose $N$ as a power of 2. In the code below, let's now turn to the consquences of choose $N$ much larger that $N_s$. \n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "U = dftmatrix(64,16)\n", "x = ones((16,1))\n", "X = U.H*x\n", "\n", "fig,ax=subplots()\n", "fig.set_size_inches((8,4))\n", "ax.set_aspect(0.8)\n", "ax.grid()\n", "ax.plot(arange(0,64)*2*pi/64.,abs(X),'o-')\n", "ax.set_ylabel(r'$|X(\\Omega)|$',fontsize=18)\n", "ax.set_xticks([0, pi/2., pi, 3*pi/2,2*pi])\n", "ax.set_xlabel(r'$\\Omega$',fontsize=16)\n", "ax.axis([0, 2*pi,0,2.1])\n", "ax.set_xticklabels(['0',r'$\\frac{\\pi}{2}$', r'$\\pi$',r'$\\frac{3\\pi}{2}$', r'$2\\pi$'],\n", " fontsize=18);\n", "# fig.savefig('figure_00@.png', bbox_inches='tight', dpi=300)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 2, "text": [ "[,\n", " ,\n", " ,\n", " ,\n", " ]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nD1VgHwIionqKfXjobuxDQERERGwyICIiIiYEREREBCYEREREBCYEREREBCYEREREBCYEREREBCYE\nREREBCYEREREBCYEREREBE5dTERWunbtGhYtWgQhBHx9fXHjxg2cPHkSo0ePxuDBg+UOj4gsxISA\niCx24sQJDBkyBPHx8XjppZf0z1+6dAn9+/fHmDFj8NZbb8kYIRFZivcyICKLhYWF4dy5czhz5gyc\nnAxbHpcvX45nnnkGW7duxZAhQ2SKkIgsxT4ERGSRa9euYdeuXejTp0+VZAAA7r33XgDA5s2b7R0a\nEdUCEwIiskjFrXK1Wq3R9Tdv3rRnOEQkESYERGQRb29v9O/fH8ePHze6vuL5Bx54wJ5hEVEtsQ8B\nEVnsxx9/RFhYGE6cOIGgoCCDdY899hiuXr3KJgMihWFCQERWmTJlCtq2bYtXXnlF/1xxcTECAgLw\n448/IjAwUMboiMhSbDIgIoucPHkS+fn5mDdvHnbu3GmwLisrC9OnT0dgYCC2bt0qU4REZA0mBERk\nkSZNmmDFihUoLS1F9+7dcePGDf26AwcO4LHHHkNubi52794tY5REZCkmBERkkZYtW2LFihXw8fHB\nggULUFBQoF/322+/oV27dujYsSP8/PxkjJKILMU+BERERMQrBERERMSEgIiIiMCEgIiIiMCEgIiI\niMCEgIiIiMCEgIiIiMCEgIiIiMCEgIiIiAD8f37BS0H6v8ekAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "As you may recall from our [earlier discussion](http://python-for-signal-processing.blogspot.com/2012/09/investigating-sampling-theorem-in-this.html), this plot looks suspiciously like the `sinc` function. If you've been following closely, you may realize that for the above example we had $\\mathbf{x}=\\mathbf{1}$. But isn't this one of the columns of the $\\mathbf{U}$ matrix? If all the columns of that matrix are orthonormal, then why is there is more than one non-zero point on this graph? The subtle point here is that the DFT matrix has dimensions $64 \\times 16$. This means that computationally,\n", "\n", "$$ \\mathbf{U}_{16\\times64}^H \\mathbf{x} = \\mathbf{U}_{64\\times64}^H \\left[\\mathbf{x},\\mathbf{0}\\right]^T$$\n", "\n", "In other words, filling the original $16\\times 1$ vector $\\mathbf{x}$ with zeros and using a larger compatible $\\mathbf{U}_{64\\times64}$ matrix has the same effect as using the $\\mathbf{U}_{16\\times64}$ matrix. The answer to the question is therefore that $\\mathbf{x} = \\mathbf{1}_{16\\times1} \\ne \\left[ \\mathbf{1}_{16\\times1},\\mathbf{0}\\right]^T$ and the zero-augmented ones vector is *not* orthnormal to any columns in $\\mathbf{U}_{64\\times64}$. This explains why there are so many non-zero points on the graph at different discrete frequencies.\n", "\n", "Let's drive this point home in the next figure." ] }, { "cell_type": "code", "collapsed": false, "input": [ "U = dftmatrix(64,16)\n", "x = ones((16,1))\n", "X = U.H*x\n", "\n", "fig,ax=subplots()\n", "fig.set_size_inches((8,4))\n", "\n", "ax.set_aspect(0.8)\n", "ax.grid()\n", "ax.plot(arange(0,64)*2*pi/64.,abs(X),'o-',label='zero padded')\n", "ax.stem(arange(0,16)*2*pi/16.,abs(dftmatrix(16).H*x),\n", " markerfmt='gs', basefmt='g-',linefmt='g-',\n", " label='no padding')\n", "ax.set_ylabel(r'$|X(\\Omega)|$',fontsize=18)\n", "ax.set_xticks([0, pi/2., pi, 3*pi/2,2*pi])\n", "ax.axis([-.1, 2*pi,-.1,4.1])\n", "ax.legend(loc=0)\n", "ax.set_xticklabels(['0',r'$\\frac{\\pi}{2}$', r'$\\pi$',r'$\\frac{3\\pi}{2}$', r'$2\\pi$'],\n", " fontsize=18);\n", "ax.set_title('Zero padding samples more frequencies');\n", "# fig.savefig('figure_00@.png', bbox_inches='tight', dpi=300)\n" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 3, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAeQAAAEcCAYAAAAWb8eNAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlcVFX/B/DPsMiigCAomzAC5h5gRKYomAmu6ZPmkmku\nZcsTqGmLqIFlq/YTwZYnS6hc03oqFUVLwcwtFTQ1NdEBEVSWAWWH4fv7Yx4mRmZgBma5A9/368VL\n7jLnfIdzvd+555x7R0REBMYYY4wZlZmxA2CMMcYYJ2TGGGNMEDghM8YYYwLACZkxxhgTAE7IjDHG\nmABwQmaMMcYEgBMya9MkEgnMzMxQV1encntsbCxmzpwJAMjOzoadnR3a6p2ASUlJGDp0qLHD0Kvl\ny5fDxcUF7u7uxg5FJ3777Tf07t3b2GEwA+GEzBrZvHkz7OzsGv2YmZlh1apVxg5Pp0QikeJ3Ly8v\n3Lt3T2kdMx3Z2dn4v//7P1y6dAm5ubnGDkcnhg4dikuXLhk7DGYgnJBZIzNmzMC9e/eUftauXQtX\nV1c8//zzWpcnk8n0ECVr67Q9brKzs9GlSxd06dJF5fba2lpdhMWY3nBCZs1KT0/HokWLsG3bNnTr\n1g0AUFJSgnnz5sHd3R2enp5YsWKFols4KSkJQ4YMwauvvgpnZ2esXLkSd+/exaxZs9C1a1eIxWK8\n++67aruGY2NjMXnyZEybNg329vZ46KGHcO7cOcX2Dz74AH5+frC3t0e/fv3w448/KrbV1dVhyZIl\ncHFxga+vL/bs2aNU9vXr1xEaGgp7e3uEh4ejoKBAse3+7u2wsDC89dZbCAkJgb29PSIiIlBYWKjY\n/5tvvoG3tzecnZ2xatUqiMVi/PrrryrfU3JyMvr16wd7e3t4enri448/BgBIpVKMGzcOXbt2hZOT\nE8aPH4+bN28qXhcWFoYVK1ZgyJAhsLOzwxNPPIGCggLMmDEDDg4OCA4ORlZWlmJ/MzMzJCQkwNfX\nFy4uLnj99dfV/p0vXbqEkSNHokuXLujduzd27NjRbLz3a9jWjo6O8PPzw9GjR5GYmAgvLy9069YN\n33zzjWL/kpIStceBquOmuroaS5Ysgbe3N1xdXfHSSy+hsrKyURy//PILwsPDkZubCzs7O8ydOxdZ\nWVkwMzPDxo0b4e3tjccffxwAsHHjRvTt2xdOTk4YNWoUsrOzFeUcOHAAvXv3RufOnREZGYnQ0FB8\n9dVXAJSHN4DGx0tz/ydCQkLw2muvwcnJCT4+Pti3b5+irKKiIsyZMwceHh5wcnLCv/71LwBAamoq\nunfvrtgvNzcXkyZNQteuXeHj44OEhATFtpMnTyIoKAgODg5wdXXF4sWLVbYZEzBirAlSqZR8fHzo\no48+Ulo/ceJEevHFF6m8vJzu3LlDwcHB9J///IeIiBITE8nCwoLWr19PMpmMKioqaObMmTRx4kQq\nLS0liURCDzzwAH311Vcq64yJiSFLS0v6/vvvqba2ltasWUM9evSg2tpaIiLasWMH5eXlERHR9u3b\nqWPHjnTr1i0iIvrss8+od+/elJOTQ0VFRRQWFkZmZmYkk8mIiGjQoEG0ePFiqq6upsOHD5OdnR3N\nnDmTiIiuX79OIpFIsW9oaCj5+fnR33//TRUVFRQWFkZvvvkmERFduHCBOnXqRL///jtVV1fTkiVL\nyNLSkn799VeV78nV1ZWOHDlCRETFxcV05swZIiIqLCykH374gSoqKujevXv01FNP0cSJExWvCw0N\npZ49e9K1a9eopKSE+vbtS35+fvTrr79SbW0tzZo1i+bMmaPYXyQS0WOPPUZSqZSys7PpgQceoC+/\n/FLRLiEhIUREVFpaSp6enpSUlEQymYzS09PJ2dmZ/vrrrybjvV99WyclJVFdXR0tX76cPDw86JVX\nXqHq6mrav38/2dnZUVlZGRFRk8eBquNm4cKFNGHCBJJKpXTv3j0aP348LV26VGUsqamp5OnpqViu\nb89nn32WysvLqaKign788Ufy8/OjS5cukUwmo1WrVtHgwYOJiCg/P5/s7OwUx93atWvJwsJCEV9s\nbCw988wzjcqvP16a+z9haWlJX375JdXV1dFnn31G7u7uirLGjBlD06ZNo+LiYqqpqaHDhw8TEdGh\nQ4cU70kmk9HAgQPpnXfeoZqaGrp27Rr5+PhQSkoKEcmP7U2bNhERUVlZGR0/flzl34kJFydkplZd\nXR2NHz9eKUEQEd26dYusrKyooqJCsW7Lli00fPhwIpKffLy8vBTbamtrqUOHDoqTPRHRf/7zHwoL\nC1NZb0xMDD366KNKcbi5udFvv/2mcv+AgAD6+eefiYho+PDhipMgEdH+/fsVJ82srCyysLCg8vJy\nxfann35acZK9/wQbFhZG7777rmLfTz/9lEaNGkVERCtXrqSnn35asa28vJw6dOigNiF7eXnRf/7z\n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\n", "text": [ "" ] } ], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the figure above, without zero-padding, $\\mathbf{x}$ is the $ 0^{th} $ column of the 16-point DFT matrix and so all the coefficients except for the $0^{th}$ column are zero due to orthonormality (shown by the green squares). But, the zero-padded 64-element-long $\\mathbf{x}$ vector is definitely *not* a column of the 64-point DFT matrix so we would *not* expect all the other terms to be zero. In fact, the other terms account for the 64 discrete frequencies that are plotted above. This means that zero-padding $\\mathbf{x}$ and using the 64-point DFT matrix analyzes the signal across more frequencies. \n", "\n", "Notice that for the $ 0^{th}$ frequency the height of the DFT magnitude is different for the zero-padded constant signal compared to the unpadded version. Recall from Parseval's theorem that $ ||\\mathbf{x}||=||\\mathbf{\\hat{x}}|| $ but this does not account for how the signal may be spread across frequency. In the unpadded case, *all* of the signal energy is concentrated in the $ \\mathbf{u}_0 $ column of the DFT matrix because our constant signal is just a scalar multiple of $ \\mathbf{u}_0 $. In the padded case, the signal's energy is spread out across more frequencies with smaller signal magnitudes per frequency, thus satisfying Parseval's theorem. In other words, the single non-zero term in the unpadded DFT is smeared out over all the other frequencies in the padded case.\n", "\n", "The problem with the figure shown is that it does not emphasize that the discrete frequencies are periodic with period $N$. The following figure below plots the 64-point DFT on the face of a cylinder to emphasize the periodicity of the discrete frequencies." ] }, { "cell_type": "code", "collapsed": false, "input": [ "a=2*pi/64.*arange(64)\n", "d=vstack([cos(a),sin(a),array(abs(X)).flatten()]).T\n", "\n", "fig = plt.figure()\n", "fig.set_size_inches(6,6)\n", "ax = fig.add_subplot(1, 1, 1, projection='3d')\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", "\n", "ax.set_xlabel('real')\n", "ax.set_ylabel('imag')\n", "ax.set_zlabel('Abs')\n", "ax.set_title('64-Point DFT Magnitudes')\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", "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],:]))\n", "\n", "# add 0 and pi/2 arrows for reference\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", "# fig.savefig('figure_00@.png', bbox_inches='tight', dpi=300)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The figure above is very important and we will be using it as a glyph in the following. It shows the same magnitude of the $X(\\Omega)$ 64-point DFT as before, but now that it is plotted on a cylinder, we can really see the periodic discrete frequencies. The two arrows in the xy-plane show the discrete frequencies zero and $\\pi$ for reference. \n", "\n", "We will need the following setup code below." ] }, { "cell_type": "code", "collapsed": false, "input": [ "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.set_xticks([])\n", " #ax.set_yticks([])\n", " #ax.set_zticks([])\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": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "def drawInOut(X,v,return_axes=False):\n", " fig = plt.figure()\n", " fig.set_size_inches(8,8)\n", " gs = gridspec.GridSpec(8,6)\n", " \n", " ax1 = plt.subplot(gs[3:5,:2])\n", " ax2 = plt.subplot(gs[:,2:],projection='3d')\n", " \n", " ax1.stem(arange(len(v)),v)\n", " ymin,ymax= ax1.get_ylim()\n", " ax1.set_ylim(ymax = ymax*1.2, ymin = ymin*1.2)\n", " ax1.set_title('input signal')\n", " ax1.set_xlabel('time sample index')\n", " ax1.tick_params(labelsize=8)\n", " \n", " drawDFTView(X,ax2)\n", " if return_axes:\n", " return ax1,ax2" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Real Signals and DFT Symmetry\n", "-----------------------------------\n", "\n", "Note the symmetric lobes in the following figure showing the DFT of a real signal. The plot on the left is the signal in the sampled time-domain and the plot on the right is its DFT-magnitude glyph." ] }, { "cell_type": "code", "collapsed": false, "input": [ "v = U[:,6].real\n", "ax=drawInOut(U.H*v,v,return_axes=True)\n", "# ax.figure.savefig('figure_00@.png', bbox_inches='tight', dpi=300)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Because the input signal is real, the DFT is symmetric. To see this, recall that in our first figure we observed for every $\\mathbf{u}_i$, we had its complex conjugate $\\mathbf{u}_{N-i}$ and since the real parts of complex conjugates are the same and there is no imaginary part in the input signal, the resulting corresponding inner products are complex conjugates and thus have the same magnitudes.\n", "\n", "The next block of code illustrates this." ] }, { "cell_type": "code", "collapsed": false, "input": [ "print abs(U[:,[6,64-6]].H*v) # real signal has same abs() inner product for conjugate columns" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[[ 0.125]\n", " [ 0.125]]\n" ] } ], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "This fact has extremely important computational consequences for the fast implemention of the DFT (i.e. FFT), which we will take up another time. For now, it's enough to recognize the symmetry of the DFT of real signals. \n", "\n", "High/Low-Frequency Signals and Their DFTs\n", "-----------------------------------------------\n", "\n", "Now that we have all the vocabulary defined, we can ask one more intuitive question: what does the highest frequency signal (i.e. $\\Omega_{N/2}=\\pi$) look like in the sampled time-domain? This is shown in the top figure below that shows a signal toggling back and forth positive and negative. Note that the amplitudes of this toggling are not important, it's just the *rate* of toggling that defines the high frequency signal. Also, what does the lowest frequency signal (i.e. $\\Omega_0=0$) look like as a sampled signal? This is shown in the bottom figure. Note that it is the mirror image of the high frequency signal.\n", "\n", "I invite you to please download the [IPython notebook corresponding to this post ](https://github.com/unpingco/Python-for-Signal-Processing/blob/master/Fourier_Transform.ipynb) and play with these plots to develop an intuition for where the various input signals appear." ] }, { "cell_type": "code", "collapsed": false, "input": [ "v = matrix(cos(pi*arange(0,16))).T\n", "ax1,ax2=drawInOut(U.H*v,v,return_axes=1)\n", "ax1.set_title('Highest Frequency')\n", "# ax1.figure.savefig('figure_00@.png', bbox_inches='tight', dpi=300)\n", "\n", "v = ones((16,1))\n", "ax1,ax2=drawInOut(U.H*v,v,return_axes=1)\n", "ax1.set_title('Lowest Frequency')\n", "# ax1.figure.savefig('figure_00@.png', bbox_inches='tight', dpi=300)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 9, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 9 }, { "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 used zero-padding to enhance frequency domain signal analysis.\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)." ] }, { "cell_type": "code", "collapsed": false, "input": [ "%qtconsole" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 10 } ], "metadata": {} } ] }