9 ms·
The Fourier Transform and its Applications
- tptacek 10y agoIn case this is useful to anyone else: There's probably an easier way to do it, but if you want to get faster playback (2x is about as fast as I can comprehend this lecturer at), this line seems to do the trick: document.getElementById("myElement").querySelector("video").playbackRate = 2
- wyldfire 10y agoNot sure if the browser playback supports it but lots of other native programs like VLC do a pitch-compensation/"time-stretching" mode that will make the faster playback easier to live with.
- SixSigma 10y agoPressing [ or ] in VLC changes the playback speed in 0.1x increments goes up to at least 10x
- Sanddancer 10y agoIf you're using Chrome, there's a plugin called video speed controller which will let you set the speed of any embedded video.
- jsprogrammer 10y agodocument.getElementsByTagName('video')[0].playbackRate = 2; Not tested.
- jsprogrammer 10y agoDid it not work?
- jsprogrammer 10y agoLooks like many others aren't interested in easier solutions.
- jholman 10y agoHere's my general-purpose speed-adjustment bookmarklet: javascript:void%20function(){document.querySelector(%22video%22).playbackRate=parseFloat(prompt(%22Set%20the%20playback%20rate%22))}(); And I find that about +70% is the speed I most-frequently want, so here's my one-click "x1.7": javascript:void%20function(){document.querySelector(%22video%22).playbackRate=1.7}(); Both of these adjust the speed of all non-iframe-embedded HTML5 video elements on the current page. Of course, because of XSS-prevention rules, they won't help with iframe-embedded players. For that I guess you're gonna need a plugin.
- jsprogrammer 10y ago`queySelector` only returns the first matching element (according to Mozilla docs).
- xutopia 10y agoThank you for sharing this! I can't watch a video at normal rate and if I find a video online I try to find it on Youtube to have the speed control. Now I don't need that!
- deleted 10y ago[deleted]
- hackinthebochs 10y agoI went through this entire lecture series and I can't recommend it enough. Osgood is one of the most engaging professors I've ever listened to. I would happily learn anything from this guy. My only disappointment was that he doesn't teach anything else!
- jdp123 10y agovery very highly recomended. Once you can understand the basis of this concept you open your mind to a whole new area of math and things like the finite element method for PDE's and wavelet transforms follow much more naturally.
- farhanhubble 10y agoThis is an exceptional course. In my CS undergrad days, some 7 years ago, when I wanted to make sense of Fourier Series and Transform, this course was my savior. The mathematics text book had a dry and unintuitive treatment of the topics and electrical engineering, physics and computer science books mostly relegated the topics to a few pages in an appendix. I found this course and printed out the PDF of the lecture notes as I didn't have enough bandwidth for watching the videos. The lecture notes had a wealth of information about the idea of a Fourier Series expansion, it's connection to the Transform and the applications in diverse fields. Prof. Osgood had great examples. In one such example he showed that the temperature of a ring must be a periodic function of time as the structure of the ring is periodic in space, and then went on to derive an equation for the temperature of the ring that was a Fourier Series. It was from these notes that I learned a great deal about convolution too. The new website looks much better organized. I'd recommend every CS/EE student to at least watch the first few lectures once.
- Zombieball 10y ago> electrical engineering, physics and computer science books mostly relegated the topics to a few pages in an appendix. Out of curiosity, is this really true? Perhaps I misunderstand you, but I have always been under the impression that Fourier Transform was a fundamental building block covered extensively in all EE curriculum? I took Computer Engineering with some classes shared between Comp. Eng. and EE students. I probably had 2 full-semester classes dedicated to signal processing and fourier transforms. Additionally I took a math course that covered Fourier and Laplace transforms.
- llamaz 10y agoHe probably didn't study electrical engineering, or switched out of it before signals and systems.
- notalaser 10y agoI don't know about physics, but it's definitely not true about electrical engineering. The Fourier transform is one of those things that is absolutely fundamental to any branch of electrical engineering, you run into it when doing anything, from microelectronics to power distribution. And there's typically no way you get an EE diploma without a soul-wrenching course on signals & systems. As a personal anecdote: I ended up taking three courses: one on signals, one on systems, one on circuits (...and systems!). During those troubled uni years, trying to see if I can still remember the Fourier transform was my "am I too drunk?" benchmark. When I could no longer do it, I went home.
- jomamaxx 10y agoI 'took' the stanford NLP course online it was great. Doing this one now. Funny - I did Fourier in Comp. Eng. - but it was jammed together with so many other things, I felt overwhelmed by all of it, I did enough to do decently on the exam, but I feel a lot of it was lost on me, and I forgot much of it. Using fourier in most computer applications is very rare! I'm excited to have a project I need to use it for - and weirdly stocked to be watching this video. I love it when I have a reason to learn something awesome ...
- jomamaxx 10y agoThe prof noted that it's almost all EE folks, with a few others, but didn't mention Comp Sci. Can anyone comment on why there were seemingly no Comp Sci people in this class? Wouldn't this be 'core' to Comp Sci?
- detaro 10y agoNot in this detail, no. And I bet there many are CS curricula where fourier transforms aren't in the core courses (or even not explicitly present at all). It's only relevant for some application domains (and has no "pure" CS use case I can think of), so a basic idea what it does, as a single lecture in a maths course or so, is probably enough in many cases. If you go in an field that uses it, you hopefully learn it in more detail there (or go googling for resources like this...).
- llamaz 10y agoMaybe at Carneigie Mellon, or the better universities. In a typical uni comp sci is a programming monkey degree (at least in Australia...)
- ajkjk 10y agoI don't see Fourier Transforms as core to CS at all. The FFT algorithm is an important algorithm, and I've seen it mentioned as one of many subjects in an upper-level algorithms class, but that's it.
- GrumpyYoungMan 10y ago
- Xcelerate 10y ago30 lectures on Fourier transforms and not one mention of the Fourier transform over compact groups? (Which is arguably the most generalized/abstract formulation of the concept of a Fourier transform.) A lot of recent research has been done on FFTs over groups like the rotation group and the symmetric group, and this work has lead to significant progress on problems that were previously considered intractable.
- jsprogrammer 10y agoDo you know of a link that does host such mentions?
- Xcelerate 10y agoI've been using the book Engineering Applications of Noncommutative Harmonic Analysis by by Chirikjian and Kyatkin (https://www.amazon.com/dp/0849307481/ref=wl_it_dp_o_pC_nS_ttl https://www.amazon.com/dp/0849307481/ref=wl_it_dp_o_pC_nS_tt...). It's very well-written, and I believe an updated version of the book was recently released.
- JadeNB 10y ago> the Fourier transform over compact groups … is arguably the most generalized/abstract formulation of the concept of a Fourier transform. A good-spirited correction: anyone who knows enough to know this much generality knows that calling anything mathematical the "most generalised" version of a concept is begging to be corrected. Source: I do harmonic analysis on non-compact groups, and suspect that the folks over at the n-category café probably regard my kind of work as dangerously pedestrian (see, for example, https://golem.ph.utexas.edu/category/2010/11/integral_transforms_and_pullpu.html https://golem.ph.utexas.edu/category/2010/11/integral_transf...).
- Xcelerate 10y agoHaha, fair point (although in my defense, I did qualify my statement with "arguably"). That's interesting that you do harmonic analysis on non-compact groups; I've been meaning to learn more about that actually. I've been working on group synchronization problems related to the ideas in this paper (http://arxiv.org/pdf/1505.03840.pdf http://arxiv.org/pdf/1505.03840.pdf), which briefly mentions how one might extend the concept to non-compact groups, but doesn't elaborate further.
- zaf 10y agoWeb page didn't work for me on my Safari. YouTube works fine: https://www.youtube.com/watch?v=gZNm7L96pfY https://www.youtube.com/watch?v=gZNm7L96pfY
- yagyu 10y agoThere is this hard question that is often glossed over in a first course on Fourier analysis: We learn that the Fourier transform of f(t) is an integral of exp(iwt)f(t) over all t. But when we look at a table of Fourier transform pairs, we find things like the Fourier transform of a constant function (is the Dirac delta). Integral does not converge? WTF? I really think Prof. Osgood hits a sweet spot of not sweeping this under the carpet, and not becoming a course on functional/integration theory. I'm a postdoc in theoretical physics, and use these transforms regularly, and I have yet to find a more honest but still useful introduction (although I understand that real mathematicians cringe at my abuse of mathematics.. :) edit: typo
- dnautics 10y agothe other somewhat confusing thing is that algorithms like discrete fourier transform/fft are actually fourier series.
- enriquto 10y agoThe discrete fourier transform is actually finite-dimensional linear algebra. No infinite series nor convergence problems here.
- JadeNB 10y ago> The discrete fourier transform is actually finite-dimensional linear algebra. Not only that, it's the most interesting kind of linear algebra: it shows that, though every (finite-dimensional if you don't like choice) vector space has a basis—so that we can pretend that all n-dimensional vector spaces are the same for a fixed n—the simple act of changing that basis (which is all the DFT is doing) can have a profound impact.
- btilly 10y agoNo, it really is a Fourier series. More precisely take a set of points, do a DFT, then make it infinite by making the rest of the terms 0. You now have the Fourier series of a periodic function that takes hits all of those points. Furthermore it is the "smallest" possible such periodic function in the L2 norm on periodic functions.
- jokoon 10y agoI think I remember that the fourier transform is used to send a signal across a analog line, for DSL modems, after it's converted from binary. Since analog lines may not have the same frequency response when it comes to interference, the modem usually tests the analog lines at various frequencies, and only keeps the intervals who are good enough to transmit. I wonder if the FFT is used for wifi, since wifi passes through an analog signal. Although I'm not even sure of what I'm talking about is true or relates to fourier.
- freyr 10y agoYes, Wi-Fi uses the FFT. In wireless systems, the method is known as OFDM (orthogonal frequency division multiplexing).
- drostie 10y agoOne of the fun ones, and this may or may not be covered by the link, is generating the "cumulants" for probability density functions. The basic idea in (basic, continuous) probability theory is that you have these things called "random variables" X,Y,Z which now need to be thought of taking on values with various probabilities; and the way we do that is to use calculus (where the d- in "dx" is a special notation coming from the word "difference"; "dx" means "a tiny little change in x"). The basic idea is that there is some joint density j(x, y, z) such that the probability that simultaneously x < X < x + dx, AND y < Y < y + dy, AND z < Z < z + dz, is simply given by j(x, y, z) dx dy dz. With a bit of calculation you conclude that if we want to analyze Z = X + Y, then the probability-density for Z alone must be h(z) = ∫ dx j(x, z - x); there are a couple ways to do this but my favorite is to use Z = X + Y as a schematic to write a Dirac δ-function j(x, y, z) = j(x, y) δ(z - x - y), then the standard "what is the probability-density for Z alone? integrate over both x and y!" rule comes into play. But you can also reason it out by hand, if you want. Anyway, then you come up with this cool definition of independence; X and Y are independent if j(x, y) factors nicely into f(x) g(y); independent probabilities tend to multiply. So that's cool. Now here's where the Fourier transform comes in; consider using a convention where we denote the Fourier transform and with the same function-name but using square brackets rather than parentheses for its application, f[q] = ℱ{p → q} f(p) = ∫ dp exp(-i p q) f(p). When we Fourier-transform h(z) for Z = X + Y we get: h[a] = ∫ dz exp(-i a z) h(z) = ∫ dx dy exp(-i a (x + y)) j(x, y) and if the two are independent random variables we find that h[a] = f[a] g[a]; the sum of independent random variables has a product of Fourier transforms precisely because the above sum takes the form of a convolution. Taking a logarithm, we have that the χ(a) = log h[a] = log f[a] + log g[a] and any properties of the logarithm of the Fourier transform of the density function must be additive amongst independent random variables. And this gives the cumulants of the random variables: pseudo-linear expressions (linear in independent random variables f(X + Y) = f(X) + f(Y), with f(k X) = q(k) * f(X) for some fixed q) which characterize the different "moments" of the random variables in question. In fact if we look carefully at the definition h[a] = ∫ dz exp(-i a z) h(z) we see that the variable P = k Z, having distribution b(p) = h(p/k) / k, generates b[a] = h[k a]. Calculating the zeroth, χ(0) = log h(0) = log 1 = 0. No biggie. Continuing the Maclaurin expansion gives χ'(a) = h'(a)/h(a) and at a=0 that's -i E(Z). We knew that the expectation value was linear, so no surprise there. The next term is (-i)^2 [h''(a) h(a) - h'(a) h'(a)]/[h(a) h(a)] which works out to just E(Z^2) - E(Z)^2, the familiar expression for the variance; so variance is pseudolinear (in this case q(k) = k^2). The point is, then you can just go on. There are in fact infinitely many pseudolinear cumulants which scale like q(k) = k^n, coming from this Maclaurin series, with a pattern based in fact entirely on the pattern of derivatives that comes out of log(f(x)). As a freebie you have a proof of the central limit theorem. Take N independent identically-distributed random variables with characteristic functions χ(a), call them each X_i, form their sum S = sum_i X_i / N, and from the properties we've already seen in this comment its characteristic function must be ψ(a) = N χ(a / N). Do the Maclaurin series to 2nd order and ignore the latter terms for large N; you get convergence to a parabola, which means that the Fourier transform of the probability density is... a Gaussian! And the inverse Fourier transform of that Gaussian is just another Gaussian, so for large N the result must be a normal random variable with mean μ and variance σ²/N, which of course is what they must be, because means are linear and variances are pseudolinear.