{"id":441,"date":"2014-01-19T17:06:36","date_gmt":"2014-01-19T22:06:36","guid":{"rendered":"http:\/\/homepages.uc.edu\/~yaozo\/wordpress\/?p=441"},"modified":"2014-01-19T17:06:36","modified_gmt":"2014-01-19T22:06:36","slug":"the-fourier-transform-explained-in-one-sentence","status":"publish","type":"post","link":"https:\/\/zhuoyao.net\/index.php\/2014\/01\/19\/the-fourier-transform-explained-in-one-sentence\/","title":{"rendered":"The Fourier Transform, explained in one sentence"},"content":{"rendered":"<div>\n<div>January 3, 2014<\/div>\n<p>By\u00a0<a title=\"Posts by David Smith\" href=\"http:\/\/www.r-bloggers.com\/author\/david-smith\/\" rel=\"author\">David Smith<\/a><\/div>\n<div>\n<p>&nbsp;<\/p>\n<div>(This article was first published on\u00a0<strong><a href=\"http:\/\/blog.revolutionanalytics.com\/2014\/01\/the-fourier-transform-explained-in-one-sentence.html\">Revolutions<\/a><\/strong>, and kindly contributed to\u00a0<a href=\"http:\/\/www.r-bloggers.com\/\" rel=\"nofollow\">R-bloggers)<\/a><\/div>\n<p>&nbsp;<\/p>\n<div>\n<p>If, like me, you struggled to understand the Fourier Transformation when you first learned about it, this succinct one-sentence colour-coded explanation from Stuart Riffle probably comes several years too late:<\/p>\n<p><a href=\"http:\/\/revolution-computing.typepad.com\/.a\/6a010534b1db25970b019b0172129c970c-pi\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" title=\"The fourier transform, explained in one color-coded sentence\" alt=\"The fourier transform, explained in one color-coded sentence\" src=\"http:\/\/revolution-computing.typepad.com\/.a\/6a010534b1db25970b019b0172129c970c-800wi\" border=\"0\" \/><\/a><\/p>\n<p>Stuart provides a\u00a0<a href=\"http:\/\/www.altdevblogaday.com\/2011\/05\/17\/understanding-the-fourier-transform\/\" target=\"_blank\" rel=\"noopener\">more detailed explanation here<\/a>. This is the formula for the Discrete Formula Transform, which converts sampled signals (like a digital sound recording) into the frequency domain (what tones are represented in the sound, and at what energies?). It&#8217;s the mathematical engine behind a lot of the technology you use today, including mp3 files, file compression, and even how your old AM radio stays in tune.<\/p>\n<p>The daunting formula involves imaginary numbers and complex summations, but Stuart&#8217;s idea is simple. Imagine an enormous speaker, mounted on a pole, playing a repeating sound. The speaker is so large, you can see the cone move back and forth with the sound. Mark a point on the cone, and now rotate the pole. Trace the point from an above-ground view, if the resulting squiggly curve is off-center, then there is frequency corresponding the pole&#8217;s rotational frequency is represented in the sound. This animated illustration (click to see it in action) illustrates the process:<\/p>\n<p><a href=\"http:\/\/hascanvas.com\/fftvisualize2\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" title=\"FFT animation\" alt=\"FFT animation\" src=\"http:\/\/a0.typepad.com\/6a0105360ba1c6970c019b017f99c0970b-400wi\" \/><\/a><\/p>\n<p>The upper signal is make up of three frequencies (&#8220;notes&#8221;), but only the bottom-right squiggle is generated by a rotational frequency matching one of the component frequencies of the signal.<\/p>\n<p>By the way, no-one uses that formula to actually calculate the Discrete Fourier Transform \u2014 use the Fast Fourier Transform instead, as implemented by the<a href=\"http:\/\/www.inside-r.org\/r-doc\/stats\/fft\" target=\"_blank\" rel=\"noopener\">fft<\/a>\u00a0function in R. As the name suggests, it&#8217;s much faster.<\/p>\n<p>AltDevBlog:\u00a0<a href=\"http:\/\/www.altdevblogaday.com\/2011\/05\/17\/understanding-the-fourier-transform\/\" target=\"_blank\" rel=\"noopener\">Understanding the Fourier Transform<\/a><\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>January 3, 2014 By\u00a0David Smith &nbsp; (This article was first published on\u00a0Revolutions, and kindly contributed to\u00a0R-bloggers) &nbsp; If, like me, you struggled to understand the&hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[],"class_list":["post-441","post","type-post","status-publish","format-standard","hentry","category-matlab"],"_links":{"self":[{"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/posts\/441","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/comments?post=441"}],"version-history":[{"count":0,"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/posts\/441\/revisions"}],"wp:attachment":[{"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/media?parent=441"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/categories?post=441"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/tags?post=441"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}