{"id":326,"date":"2010-05-10T19:37:01","date_gmt":"2010-05-10T23:37:01","guid":{"rendered":"https:\/\/blogs.mathworks.com\/steve\/2010\/05\/10\/fourier-transforms-where-to-go-from-here\/"},"modified":"2019-10-29T13:27:27","modified_gmt":"2019-10-29T17:27:27","slug":"fourier-transforms-where-to-go-from-here","status":"publish","type":"post","link":"https:\/\/blogs.mathworks.com\/steve\/2010\/05\/10\/fourier-transforms-where-to-go-from-here\/","title":{"rendered":"Fourier transforms &#8211; where to go from here"},"content":{"rendered":"<div xmlns:mwsh=\"https:\/\/www.mathworks.com\/namespace\/mcode\/v1\/syntaxhighlight.dtd\" class=\"content\">\r\n   <p>Last fall I started <a href=\"https:\/\/blogs.mathworks.com\/steve\/category\/fourier-transforms\/\">posting occasionally about Fourier transforms<\/a>. This topic causes much confusion, which is particularly unfortunate given how many people are interested in it.\r\n   <\/p>\r\n   <p>I speculate that the fundamental source of confusion is that there are really several different (but related) transforms that\r\n      go by the name \"Fourier transform.\" Most people who encounter the Fourier transform only know about one form, and the confusion\r\n      starts when they encounter another form which doesn't seem to have the same properties as the one they learned.\r\n   <\/p>\r\n   <p>To address that confusion, I have previously described three of the four basic forms of Fourier transform: the continuous-time\r\n      Fourier transform, the discrete-time Fourier transform, and the discrete Fourier transform. And I've described the relationships\r\n      between them.\r\n   <\/p>\r\n   <p>Well, now it's been a few weeks since my last Fourier transform post, and I'm thinking about where to go next. I'd like to\r\n      get your feedback and advice about this.\r\n   <\/p>\r\n   <p>I've reviewed my own notes and brainstormed a bit, and I've also reviewed all of your posted comments. In no particular order,\r\n      here are some possible follow-up topics.\r\n   <\/p>\r\n   <div>\r\n      <ul>\r\n         <li>Sampling theorem and the strict inequality issue raised in a <a href=\"https:\/\/blogs.mathworks.com\/steve\/2010\/03\/03\/aliasing-and-a-sampled-cosine-signal\/#comment-23037\">comment thread<\/a><\/li>\r\n         <li>Positive and negative frequencies<\/li>\r\n         <li>How to make DTFT-style plots (1-D, 2-D, and labeling in units of pi)<\/li>\r\n         <li>How to make a frequency-domain plot labeled with physical frequency units<\/li>\r\n         <li>How to make a frequency-domain plot labeled with other units (wavenumber, km)<\/li>\r\n         <li>Things that surprise about the DFT (why complex? why zero-frequency at the left? why doesn't it look right for a \"pure\" sinusoid?)<\/li>\r\n         <li>What's the deal with fftshift? When do I need to use it and why?<\/li>\r\n         <li>Symmetry properties for the DFT (they're all circular!)<\/li>\r\n         <li>Frequency-domain-based filtering<\/li>\r\n         <li>Gibbs phenomenon and ringing<\/li>\r\n         <li>Importance of phase information for images<\/li>\r\n         <li>Revisit visualization techniques for Fourier transforms of images<\/li>\r\n      <\/ul>\r\n   <\/div>\r\n   <p>What would you like for me to add this list? What surprises you or puzzles you about the output of the fft function? Please\r\n      let me know by posting a comment.\r\n   <\/p><script language=\"JavaScript\">\r\n<!--\r\n\r\n    function grabCode_e9ad75170bec4f90a0ebe161cd3a2efe() {\r\n        \/\/ Remember the title so we can use it in the new page\r\n        title = document.title;\r\n\r\n        \/\/ Break up these strings so that their presence\r\n        \/\/ in the Javascript doesn't mess up the search for\r\n        \/\/ the MATLAB code.\r\n        t1='e9ad75170bec4f90a0ebe161cd3a2efe ' + '##### ' + 'SOURCE BEGIN' + ' #####';\r\n        t2='##### ' + 'SOURCE END' + ' #####' + ' e9ad75170bec4f90a0ebe161cd3a2efe';\r\n    \r\n        b=document.getElementsByTagName('body')[0];\r\n        i1=b.innerHTML.indexOf(t1)+t1.length;\r\n        i2=b.innerHTML.indexOf(t2);\r\n \r\n        code_string = b.innerHTML.substring(i1, i2);\r\n        code_string = code_string.replace(\/REPLACE_WITH_DASH_DASH\/g,'--');\r\n\r\n        \/\/ Use \/x3C\/g instead of the less-than character to avoid errors \r\n        \/\/ in the XML parser.\r\n        \/\/ Use '\\x26#60;' instead of '<' so that the XML parser\r\n        \/\/ doesn't go ahead and substitute the less-than character. \r\n        code_string = code_string.replace(\/\\x3C\/g, '\\x26#60;');\r\n\r\n        author = 'Steve Eddins';\r\n        copyright = 'Copyright 2010 The MathWorks, Inc.';\r\n\r\n        w = window.open();\r\n        d = w.document;\r\n        d.write('<pre>\\n');\r\n        d.write(code_string);\r\n\r\n        \/\/ Add author and copyright lines at the bottom if specified.\r\n        if ((author.length > 0) || (copyright.length > 0)) {\r\n            d.writeln('');\r\n            d.writeln('%%');\r\n            if (author.length > 0) {\r\n                d.writeln('% _' + author + '_');\r\n            }\r\n            if (copyright.length > 0) {\r\n                d.writeln('% _' + copyright + '_');\r\n            }\r\n        }\r\n\r\n        d.write('<\/pre>\\n');\r\n      \r\n      d.title = title + ' (MATLAB code)';\r\n      d.close();\r\n      }   \r\n      \r\n-->\r\n<\/script><p style=\"text-align: right; font-size: xx-small; font-weight:lighter;   font-style: italic; color: gray\"><br><a href=\"javascript:grabCode_e9ad75170bec4f90a0ebe161cd3a2efe()\"><span style=\"font-size: x-small;        font-style: italic;\">Get \r\n            the MATLAB code \r\n            <noscript>(requires JavaScript)<\/noscript><\/span><\/a><br><br>\r\n      Published with MATLAB&reg; 7.10<br><\/p>\r\n<\/div>\r\n<!--\r\ne9ad75170bec4f90a0ebe161cd3a2efe ##### SOURCE BEGIN #####\r\n%%\r\n% Since last fall I started <https:\/\/blogs.mathworks.com\/steve\/category\/fourier-transforms\/ \r\n% posting occasionally about Fourier transforms>. This\r\n% topic causes much confusion, which is particularly unfortunate given how many\r\n% people are interested in it.\r\n%\r\n% I speculate that the fundamental source of confusion is that there are really\r\n% several different (but related) transforms that go by the name \"Fourier\r\n% transform.\" Most people who encounter the Fourier transform only know about\r\n% one form, and the confusion starts when they encounter another form which\r\n% doesn't seem to have the same properties as the one they learned.\r\n%\r\n% To address that confusion, I have previously described three of the four basic\r\n% forms of Fourier transform: the continuous-time Fourier transform, the\r\n% discrete-time Fourier transform, and the discrete Fourier transform. And I've\r\n% described the relationships between them.\r\n%\r\n% Well, now it's been a few weeks since my last Fourier transform post, and I'm\r\n% thinking about where to go next. I'd like to get your feedback and advice\r\n% about this.\r\n%\r\n% I've reviewed my own notes and brainstormed a bit, and I've also reviewed all\r\n% of your posted comments. In no particular order, here are some possible follow-up topics. \r\n%\r\n% * Sampling theorem and the strict inequality issue raised in a <https:\/\/blogs.mathworks.com\/steve\/2010\/03\/03\/aliasing-and-a-sampled-cosine-signal\/#comment-23037 \r\n% comment thread>\r\n% * Positive and negative frequencies\r\n% * How to make DTFT-style plots (1-D, 2-D, and labeling in units of pi)\r\n% * How to make a frequency-domain plot labeled with physical frequency units\r\n% * How to make a frequency-domain plot labeled with other units (wavenumber,\r\n% km)\r\n% * Things that surprise about the DFT (why complex? why zero-frequency at the\r\n% left? why doesn't it look right for a \"pure\" sinusoid?)\r\n% * What's the deal with fftshift? When do I need to use it and why?\r\n% * Symmetry properties for the DFT (they're all circular!)\r\n% * Frequency-domain-based filtering\r\n% * Gibbs phenomenon and ringing\r\n% * Importance of phase information for images\r\n% * Revisit visualization techniques for Fourier transforms of images\r\n%\r\n% What would you like for me to add this list? What surprises you or puzzles you\r\n% about the output of the fft function? Please let me know by posting a comment.\r\n\r\n##### SOURCE END ##### e9ad75170bec4f90a0ebe161cd3a2efe\r\n-->","protected":false},"excerpt":{"rendered":"<p>\r\n   Last fall I started posting occasionally about Fourier transforms. This topic causes much confusion, which is particularly unfortunate given how many people are interested in it.\r\n   \r\n   I... <a class=\"read-more\" href=\"https:\/\/blogs.mathworks.com\/steve\/2010\/05\/10\/fourier-transforms-where-to-go-from-here\/\">read more >><\/a><\/p>","protected":false},"author":42,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[20],"tags":[426,400],"_links":{"self":[{"href":"https:\/\/blogs.mathworks.com\/steve\/wp-json\/wp\/v2\/posts\/326"}],"collection":[{"href":"https:\/\/blogs.mathworks.com\/steve\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.mathworks.com\/steve\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/steve\/wp-json\/wp\/v2\/users\/42"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/steve\/wp-json\/wp\/v2\/comments?post=326"}],"version-history":[{"count":1,"href":"https:\/\/blogs.mathworks.com\/steve\/wp-json\/wp\/v2\/posts\/326\/revisions"}],"predecessor-version":[{"id":3681,"href":"https:\/\/blogs.mathworks.com\/steve\/wp-json\/wp\/v2\/posts\/326\/revisions\/3681"}],"wp:attachment":[{"href":"https:\/\/blogs.mathworks.com\/steve\/wp-json\/wp\/v2\/media?parent=326"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/steve\/wp-json\/wp\/v2\/categories?post=326"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/steve\/wp-json\/wp\/v2\/tags?post=326"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}