Тёмный

The Discrete Fourier Transform (DFT) 

Steve Brunton
Подписаться 345 тыс.
Просмотров 329 тыс.
50% 1

This video introduces the Discrete Fourier Transform (DFT), which is how to numerically compute the Fourier Transform on a computer. The DFT, along with its fast FFT implementation, is one of the most important algorithms of all time.
Book Website: databookuw.com
Book PDF: databookuw.com/databook.pdf
These lectures follow Chapter 2 from:
"Data-Driven Science and Engineering: Machine Learning, Dynamical Systems, and Control" by Brunton and Kutz
Amazon: www.amazon.com/Data-Driven-Sc...
Brunton Website: eigensteve.com
This video was produced at the University of Washington

Наука

Опубликовано:

 

11 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 230   
@Mutual_Information
@Mutual_Information 6 месяцев назад
The amount of free, useful, precise information coming from this channel is remarkable and something to be grateful for. It legitimizes RU-vid education.
@gabrielnicolosi8706
@gabrielnicolosi8706 2 месяца назад
It is not "free". Most likely, Professor Brunton has these lectures as one of the deliverables of many of his NSF grants. Thus, this is paid by the US taxpayer. :)
@greensasque
@greensasque 3 года назад
Can't say this for many videos, but my mind is now blown. 🤯 Finally after years the DFT makes sense.
@Eigensteve
@Eigensteve 3 года назад
Awesome!
@ahmedgaafar5369
@ahmedgaafar5369 3 года назад
Steve, you really are the best professor on the planet period ....thank you so much for all these incredible high quality lectures.
@gmoney6829
@gmoney6829 3 года назад
I’m glad I have this guy as my uncle
@zaramomadi5569
@zaramomadi5569 3 года назад
When he said "thank you" in the end I wanted to take a huge mirror and send it right back at him
@OrdnanceTV
@OrdnanceTV Год назад
I have absolutely no clue what you're talking about but I love listening. Even without understanding it's very evident you're a talented and efficient teacher.
@wtfftwfml98
@wtfftwfml98 Год назад
I have to give you credit for giving the absolute best educational videos I have ever seen. The screen is awesome, the audio is great, you explain thoroughly and clearly, you write clearly, your voice is not annoying and everything makes sense. Thank you mr sir Steve.
@srikasip
@srikasip 3 года назад
Oh my goodness! Stumbled onto video 1 in this playlist this evening. and I can't stop. Steve, you're amazing. I actually finally feel like I understand what a fourier series is and why it works. can't wait to get to the end. This is easily the best set of lecture on this topic i've ever experienced. HUGE thanks!
@srikasip
@srikasip 3 года назад
Also, are you writing on a window? ......backwards?!
@erikgottlieb9362
@erikgottlieb9362 Год назад
Mr. Brunton. Thank you for clear, concise, organized presentation of DFT. Appreciative of how much time and effort such a presentation / explanation takes to create and deliver. Appreciative of the format you use and precision in getting explanation correct. Explanation of terms and where terms originate has always been helpful in your presentations. Going through the whole DFT, FFT series again to refresh my thinking on the topics. Thanks again. (Erik Gottlieb)
@masoudsakha9331
@masoudsakha9331 2 года назад
Thanks for great lecture. However, I think the last element of vectors must be F_n-1 instead of F_n.
@LydellAaron
@LydellAaron 4 года назад
I like your insight that this should actually be called the Discrete Fourier SERIES. Thank you for your way of relating the matrix to the computation. Your perspective help me see how the matrix is related to the tensor and quantum mechanics.
@joakiti
@joakiti 3 года назад
This is by far the best explanation I’ve ever seen. Thank you Steve, I hope to find reason to buy your book soon.
@anantchopra1663
@anantchopra1663 4 года назад
Excellent video! The video was conceptually very clear and to the point. You are an amazing teacher, Prof Brunton! I loved your control systems videos too!
@funkflip
@funkflip 4 года назад
The video is very nice. Thank you! Just a small remark: The indexing of f and f hat in the matrix vector multiplication is wrong. Should count up to f_{n-1} not f_{n}.
@Eigensteve
@Eigensteve 4 года назад
Good catch, you are definitely right!
@VarunAgrawal11
@VarunAgrawal11 3 года назад
@@Eigensteve Or conversely, shouldn't you simply make the summation from 0 to n? Since for f_0 to f_n you now have n+1 sample points, and x is an n+1 size vector. By making your summation to j=0:n, it is summing over n+1 points which is the standard notation used in approximation theory.
@eric_welch
@eric_welch 3 года назад
@@iiillililililillil8759 you can change summation range if you pull out the j = 0 term and add it in front of your sum :) similar to how it is done in series solutions for certain differential equations
@WahranRai
@WahranRai 3 года назад
You must also replace indice n by n-1 if you start with f0....f_n-1 etc...
@miguelaugustovergara4185
@miguelaugustovergara4185 3 года назад
Please never stop uploading useful content like this, nice teaching method!
@sashacurcic1719
@sashacurcic1719 3 года назад
This is very concise and organized and easy to understand. Thank you for posting it.
@user-iw1dv3rw4t
@user-iw1dv3rw4t 4 года назад
Thanks Steve for contributing on humanity. cheers!
@AKASHSOVIS
@AKASHSOVIS 3 года назад
Omg, when I first learned DFT in class I was so confused, but I watched your video and now everything makes sense. Thank you so much. Please continue to make videos!
@soorkie
@soorkie 2 года назад
Thank you. This video really helped me. Thank you for keeping this open and free for everyone.
@BurakAlanyaloglu
@BurakAlanyaloglu Месяц назад
Finally, a real educator...
@joeylitalien1355
@joeylitalien1355 4 года назад
Hey Steve, your videos are great. I love the format and the clarity of the exposition, keep up the good work.
@Eigensteve
@Eigensteve 4 года назад
Thanks!
@julesclarke6140
@julesclarke6140 4 года назад
I agree, it's both clear and enjoyable, you sir are a life savior. Merci !
@duameer6832
@duameer6832 2 года назад
You made me feel that I can understand something too!! I’m so glad to understand this. Love and prayers!
@Kay-ip9fy
@Kay-ip9fy 2 года назад
This is one of thewonderful lessons I've got, thank you so much for your enthusiastic!
@pranav2pta
@pranav2pta 2 года назад
Here it's mid night now, but you have opened my eyes !!! Lucky to find this lecture
@doneel.5338
@doneel.5338 2 года назад
Thank you for the explanation focused on the implementation of DFT. Fourier series makes much more sense to me in general as well! Now I will attempt to code it :)
@eju1316
@eju1316 3 года назад
Always leaning a lot from your lecture! Appreciate it, sir.
@KurohiNeko
@KurohiNeko Год назад
Amazing explanation, absolutely loved the see through board. So cool.
@javadvahedi6278
@javadvahedi6278 4 года назад
Dear Steve I really enjoy your teaching format and also your wonderful explanation. Just one suggestion, It would be great if you could have at least one practical lecture at the end of each series of lectures, e.g for Fourier series transformation lecture designing one lecture which shows a real problem is great and enhance the level of understanding. Stay motivated and Many thanks for your consideration
@Eigensteve
@Eigensteve 4 года назад
Great suggestion. Let me think about how to do that.
@muhammadsohaib681
@muhammadsohaib681 4 года назад
Dear Professor Thank You so much for your nice explanation!!! 💓
@nrdesign1991
@nrdesign1991 3 года назад
I *finally* understand it. Memorizing it for exams is not good enough for me, i want to *get* it. Now I do, and see all the great applications for it. Filtering out specific frequencies, isolating specific frequencies, or the same with a broad spectrum of frequencies will be extremely easy with it. Either just calculate a few values individually, or just take/throw away a chunk of the resulting vector. Great videos!
@SreenikethanI
@SreenikethanI 3 года назад
Absolutely fantastic video, sir! Thank you very much!
@subratadutta7710
@subratadutta7710 Год назад
Very lucent explaination. I love to watch his lecture, His book helped me a lot . Thank you Professor.
@abhishekbhansali1377
@abhishekbhansali1377 2 года назад
Can anybody else appreciate how elegantly he is able to write equations as mirror images 🙄
@nitinshukla6751
@nitinshukla6751 3 года назад
Your ability to explain something this abstract in such a simple manner is simply astounding. However i was more impressed by your mirror writing skills. hats off sir..very very good video.. Subscribing to you.
@vitormateusmartini3946
@vitormateusmartini3946 2 года назад
he does not write backwards... it's a lightboard
@JamesB-yh2xx
@JamesB-yh2xx Год назад
Amazing video. Very clear and well presented
@jsm640
@jsm640 3 года назад
Thank you,sir. I really got some new knowledge from your videos,which I never know when I studied this theory in my class. Maybe that's because my terchers just want us to understand the theory without applications,but in yout videos I just found a new world of how to use the mothods of math to solve problems in the real world. Thank you again!
@johnnyhsieh0208
@johnnyhsieh0208 6 месяцев назад
Big appreciate Prof. Steven Brunton.
@rhysparker6998
@rhysparker6998 3 года назад
Great description thanks, FFT was a nice bonus.
@svenjaherb6001
@svenjaherb6001 Год назад
wow, that was incredibly well explained, thank you so much!
@MboeraKisaroKimambo
@MboeraKisaroKimambo 6 месяцев назад
It took me 5min and 55sec to discover that you're writing correctly, I was wondering why are you writing the inverse way! Thank you for the great presentation!
@JoelRosenfeld
@JoelRosenfeld 3 года назад
Heya! I really enjoy the pacing of your lectures. It's also nice for me to get a quick recap of some signal processing before assembling my own lectures. It is also helping me fill in the gaps of knowledge I have around data science, where my training is in Functional Analysis and Operator Theory. This past fall I dug through the literature for my Tomography class looking for a direct connection between the Fourier transform and the DFT. Mostly this is because in Tomography you talk so much about the Fourier transform proper, that abandoning it for what you called a Discrete Fourier series seemed unnatural. There is indeed a route from the Fourier transform to DFT, where you start by considering Fourier transforms over the Schwartz space, then Fourier transforms over Tempered Distributions. Once you have the Poisson summation formula you can take the Fourier transform of a periodic function, which you view as a regular tempered distribution, and split it up over intervals using its period. The Fourier integral would never converge in the truest sense against a periodic function, but it does converge as a series of tempered distributions in the topology of the dual of the Schwartz space. Hunter and Nachtergaele's textbook Applied Analysis (not to be confused with Lanczos' text of the same name) has much of the required details. They give their book away for free online: www.math.ucdavis.edu/~hunter/book/pdfbook.html
@ishtiakhasan8397
@ishtiakhasan8397 Год назад
great way to explain. huge respect
@thatoyaonebogopa9483
@thatoyaonebogopa9483 3 года назад
Thanks, simple and easy to apply.
@claudiadelamonja9705
@claudiadelamonja9705 4 года назад
Great video!!! It has been so helpful :)
@Martin-lv1xw
@Martin-lv1xw 2 года назад
Damn STEVE...YOU SAVED MY DAY...THANK YOU SO MUCH FOR SUCH A COOL PRESENTATION.
@purethanwarat3756
@purethanwarat3756 Год назад
Thank you very much!! This video is amazing!!
@mikefredd3390
@mikefredd3390 2 года назад
I got some insights. Thank you. The FFT next.
@tomasenrique
@tomasenrique Год назад
These videos are amazing! Thanks much!
@YYchen713
@YYchen713 2 года назад
I think I'm just going to watch all your videos for my machine learning course this semester instead of my professor's lecture which was so painful and frustrating....
@ronitwilson6560
@ronitwilson6560 3 года назад
made a lot of things clear, thank you
@ZetaCarinae
@ZetaCarinae 4 года назад
The last time I tried to give a similar lecture I messed up the indexing much more than this, it was a little comforting to see you do it too. It made me wonder if it was worth it to count from 0 always when teaching linear algebra (probably not).
@Eigensteve
@Eigensteve 4 года назад
Thanks for the feedback... yeah, I know that when I make mistakes in class, it actually resonates with some of the students. I hope some of that comes through here.
@alireza98325
@alireza98325 3 года назад
You are a good human.
@olayomateoreynaud9956
@olayomateoreynaud9956 Год назад
At 0:30 you already solved the question that brought me here. Thank you!
@zz9758
@zz9758 2 года назад
Great professor! Thank you!
@brandondean961
@brandondean961 3 года назад
Thank you so much for this!
@ozzyfromspace
@ozzyfromspace 2 года назад
One of my friends posed me an interpolation problem and I instinctively decided to try a DFT. I used some for loops and got the job done, but I never thought that you could build a matrix using fundamental frequencies. That's clean. Then when it came time to using the algorithm, I realized that it was super slow! Granted, it was an interpolation on some 2D data, but still. My laptop couldn't handle an interpolation over fairly small grids (at 35x35, I was waiting seconds for an answer), which blew my mind. But on further inspection, a for loop (or matrix multiplication) is like O(n^2) but likely all the way to O(n^3) after naive implementation details, so it makes sense. What I'm trying to say is, I can see why you think so highly of the FFT, and I'm super excited to learn how it works, and maybe even implement it myself 🙌🏽. You rock, prof!
@michaelpadilla141
@michaelpadilla141 9 месяцев назад
A nice way to think about the mathematical sums, which Prof. Brunton doesn't explicitly mention, is that each of the n+1 rows in the matrix as a vector that functions as a basis function, together which span the space of all n+1 element vectors. Hence all you're doing is taking the inner (dot) product of the original signal with each of those n+1 basis functions (the vectors), i.e. projecting the orignal signal against each of those basic functions to see how much of it is along each of those (vector space) directions.
@kn58657
@kn58657 4 года назад
These videos are d**n good. Excellent presentation, great production quality, and very pleasant to watch. Thank you!
@Eigensteve
@Eigensteve 4 года назад
Awesome, thanks!
@mariogutierrezdiaz3366
@mariogutierrezdiaz3366 2 года назад
Hi Professor Brunton, Just wanted to let you know I took your AMATH 301 course at UW in 2012. It really kicked my butt but learned so much. I still use the RK4 for work once in a while. You and Prof. Kutz were both outstanding. Wish you both well!
@Eigensteve
@Eigensteve 2 года назад
That is so nice to hear! Really glad it has been useful since then... that must have been my first class too!
@maomaohuang175
@maomaohuang175 Год назад
great lecture
@sivasankararul1301
@sivasankararul1301 3 года назад
Thank you so much for this...
@ziggly0018
@ziggly0018 9 месяцев назад
Some videos ago I was concerned at the implications of this being called the DFT, as it not repeating would be problematic for me, and from my understanding of others' implementations, it is supposed to repeat, so I was happy to hear you clear up the easy to make mistake that this was an actual transform and not a series. Things make sense again now. It's still weird that its mislabeled though.
@garekbushnell3454
@garekbushnell3454 2 года назад
This is excellent, thank you very much. A question - does it matter if the spacing between your independent variable samples isn't even/periodic? If it does, how do you approach that scenario?
@ayonmustafi744
@ayonmustafi744 3 года назад
Thanks a lot sir.
@sayantanghosh6714
@sayantanghosh6714 2 года назад
Excellent!
@manuelaayo4199
@manuelaayo4199 11 месяцев назад
Thank you so much for this series of videos. Just a small suggestion; to be consistent, it seems that the vector should have points from f_0 to f_(n-1)
@zhaobryan4441
@zhaobryan4441 8 месяцев назад
so brilliant
@LL-ue3ek
@LL-ue3ek Год назад
Thank you for the presentation with clarity and intuition. I have a question, @ 9:14 you mentioned something about the fundamental frequency wn. If we are given a piece of signal like you drew, how do we decide what frequencies to look for in that signal? and hence how do we decide what fundamental frequency we can set wn to be? In other words, how do we know if we should look for frequency content from 10 - 20 hz instead of 100-110hz?
@nadersodoko743
@nadersodoko743 Год назад
Thank you so much
@maksymkloka7819
@maksymkloka7819 Год назад
Great video. One of the better ones. I wish you explained the exact meaning of the coefficient in the exponent though ... e.g. I never really understood the relationship between sample frequency and number of data points (N). Seems like they will always be the same.
@MinhVu-fo6hd
@MinhVu-fo6hd 3 года назад
Professor, I have a question. Since I often notice that a lot of fhat are zeros, can we use a different number of basis (preferably less) than n?
@sealedwings6788
@sealedwings6788 3 года назад
Does Mr. Brunton have a more conceptual video on why that fundamental frequency is defined, why we sample it with harmonics proportional to it etc.? Thanks
@user-jg9qp7ok6d
@user-jg9qp7ok6d 2 месяца назад
Thanks for the amazing video... however kudos for being able to write mirrored!!
@sir_charlie
@sir_charlie 2 года назад
you my man are a goddamn national treasure
@Jonas.verhaegen
@Jonas.verhaegen 4 месяца назад
I'm just here because I wanted to make an audio visualizer as an add-on for my gui exercise in c++. Guess I underestimated it.
@christiaanleroux4016
@christiaanleroux4016 4 года назад
As far as I understand, when we take the inverse discrete fourier transform, we end up with the function values at x_0, x_1, x_2, ..., x_n, but how would you determine what the values of x_0, x_1, ... ,x_n are? I need to know this for my masters thesis please help me if you can.
@nwsteg2610
@nwsteg2610 2 года назад
Note that the samples f0,f1,f2,...,fn are equally spaced in x.
@orionpritchard1117
@orionpritchard1117 Год назад
More impressive than the math is that Steve is writing mirror-imaged. Leonardo DaVinci would be proud.
@Foxie-1
@Foxie-1 2 года назад
3:44 - It's a really interesting idea to perform the car diagnosis like this! But what stage goes after the FFT one, is it a neural network or something else?
@oroscogold
@oroscogold Год назад
Hey great video and super clear explanation! I have a question regarding the indexing. Since we are indexing from 0 shouldn't the data and Fourier coefficient vectors index to "n-1" instead of "n"? Otherwise we would have "n+1" entries to the data vector. Understanding that it's just indexing, however, the dimension of the matrix and vector wouldn't match for the matrix multiplication. I think as it stands it's a "n X n" matrix and a "n+1 X 1" vector.
@alexeyl22
@alexeyl22 4 года назад
Awesome! I’m curious if it is too much to expand matrix form for a 2D function, i.e. 3D matrix.
@Eigensteve
@Eigensteve 4 года назад
This is coming up soon when we look at the DFT/FFT for 2D images.
@LydellAaron
@LydellAaron 4 года назад
How would an efficient DFT look, if I have a series of n-coefficients λ0, λ1, λ2, λ3, ..., λn which are prime numbers (2, 3, 5, 7, ..., P(n)) times a factor (f0, f1, f2, f3, ..., fn). And each factor is a positive integer, including zero?
@kovvuriabhireddy5034
@kovvuriabhireddy5034 Год назад
thank you😇
@koroilesikikabara7641
@koroilesikikabara7641 Год назад
Thanks sensei
@ehabnasr6925
@ehabnasr6925 Год назад
What would be the 2-d version of the DFT system? will the vectors be matrices and the DFT matrix be a 3d tensor?
@oliviajulia7913
@oliviajulia7913 3 года назад
Hello ! Thanks for your video. I had a question : So if you start with datas from a periodic analogous signal x(t) of period T, frequency w and you want to discretize it with sampling frequency f_s. I know you use DFT but how to you link the frequencies of your discrete and analogue signals ? Is the frequency w_n you're showing here the frequency of the continuous signal ? Thank you !
@Eigensteve
@Eigensteve 3 года назад
Good question! There are deep connections between the discrete and continuous Fourier transform, but you can derive the discrete from continuous and vice versa (taking the limit of infinitesimal data spacing).
@augusto288
@augusto288 Месяц назад
the matrix for the Fourier coefficients and the f function samples should also go up to n-1 and . If someone was confused about it.
@huangwei9664
@huangwei9664 3 года назад
Very useful lecture. Thank you so much, Steve! One question by the way, why the number of f hat equals the number of f ? I can't really understand the point here. In my opinion, the number of calculated Fourier coefficients can be different from the one of sampling points.
@garekbushnell3454
@garekbushnell3454 2 года назад
Sounds like a good question to me. Maybe some of the values are so small that they can be neglected? I'd be interested for him, or someone else who knows this math, to talk about it here in the comments.
@miklosbence3852
@miklosbence3852 Год назад
Hi, great video. Question: you say you multiply the vector with the matrix, but to make dimesions match, shouldn't you multiply the matrix with the vector ?
@masoudsakha9331
@masoudsakha9331 2 года назад
If I am not wrong we collect the sample of data from x(t) in time domain so the elements of the second vector (red one) are not the signal frequencies and just the amplitude of our signal in time t?
@p.z.8355
@p.z.8355 11 месяцев назад
so how do I do a complex matrix multiplication on the computer f.e using c++ ? just store sin & cos for every entry or is there a better way ?
@AG-cx1ug
@AG-cx1ug Год назад
13:06 the number of 1s for the first row of the matrix will be j ones right? the same number as the number of data points in the signal (or n for that matter)
@Saens406
@Saens406 3 года назад
I dont understand how you can have information about the presence of a certain frequence. How come there are discrete frequence?
@PositronQ
@PositronQ 4 года назад
New subscriber
@mz1rek
@mz1rek 3 года назад
At 10:49 corrected the matrix size to be n but then the vector size became n+1; needs another correction but I'm still watching! Edit: I saw the same catch in the comments below, but I think the solutions given weren't the best: My solution is as follows: n should be kept the same as it is the number of samples, also the summation should go until n-1 to give n points and nxn matrix size, but the summation formula should contain f_{j+1} keeping everything else the same. This way you don't even need the x_{0} data point. Still liked the video a lot...
@bhargav7476
@bhargav7476 3 года назад
hey, what are prerequisites for your book 'Data-Driven Science and Engineering'?
@euyin77
@euyin77 3 года назад
I think the summation should go from 0 to n because you have n + 1 rows in the pink column vector and n columns in the yellow matrix.
@recomoto
@recomoto 3 года назад
Or there should have been n-1 measurements
@Tyokok
@Tyokok Год назад
Hi Steve, at 13:07, if your increase your sample data to 2n, then your DFT matrix first row will be 2n of 1s, and f0_hat will be doubled, is that right? Thank you!
@TheMechatronicEngineer
@TheMechatronicEngineer Год назад
great!
@joshualim7457
@joshualim7457 11 месяцев назад
I love you Steve
Далее
Computing the DFT Matrix
7:07
Просмотров 58 тыс.
Fourier Series: Part 1
12:16
Просмотров 178 тыс.
Типичный продавец на пляже 😂
01:00
С Анджилишей как в раю🥰
00:10
Просмотров 125 тыс.
WWDC 2024 - June 10 | Apple
1:43:37
Просмотров 9 млн
The Laplace Transform: A Generalized Fourier Transform
16:28
The Fourier Transform
14:36
Просмотров 131 тыс.
But what is a convolution?
23:01
Просмотров 2,5 млн
3. Divide & Conquer: FFT
1:20:52
Просмотров 307 тыс.
Discrete Fourier Transform - Simple Step by Step
10:35
Просмотров 879 тыс.
Mem VPN - в Apple Store
0:30
Просмотров 37 тыс.
Автодержатель телефона
0:29
Просмотров 11 тыс.
Nvidia Titan
0:48
Просмотров 210 тыс.