Understanding the Discrete Fourier Transform and the FFT

  Рет қаралды 217,059

MATLAB

MATLAB

Күн бұрын

Пікірлер: 121
@BrianBDouglas
@BrianBDouglas Жыл бұрын
Hi everyone! Thanks for watching the video. If you have any questions or comments please leave them here and I'll try my best to get back to you. Cheers!
@xptransformation3564
@xptransformation3564 Жыл бұрын
Why are your videos so great? Can you make a video of model predictive control? Or like an overview of advanced control theories?
@BrianBDouglas
@BrianBDouglas Жыл бұрын
@@xptransformation3564 Thanks! MathWorks already has a series on MPC so I probably won't be making one also. An overview of advanced control theories sounds like a good idea! I'll add that to the list.
@murad_aliyev
@murad_aliyev Жыл бұрын
I would like provide azerbaijani translation of The Map of Control Theory. How can i contact you?
@BrianBDouglas
@BrianBDouglas Жыл бұрын
@@murad_aliyev through the contact form on engineeringmedia.com. I usually respond there but sometimes I get busy and miss some. I'll look out for it.
@mehmetkilic9518
@mehmetkilic9518 Жыл бұрын
Awesome video! It would be very good if you can also consider preparing some contents about short time FFT, Cepstrum, Hilbert and Wavelet transformation topics :)
@rostamr4096
@rostamr4096 2 күн бұрын
Seriously, you have a great ability to teach and explain complex topics. There should be an award for people like you. Thank you. I watched some of your videos from 12 years ago!!!!! Matlab should pay you 10x more since you use Matlab to explain and demo those topics so intuitively.
@denewtan9333
@denewtan9333 6 ай бұрын
Fourier series and fourier transform are the topics that had been troubled me for long time, just cannot understand them. All my doubts are cleared after watching this clip. Explaination is clear and the example is fantastic. Well done, 10/10!!!
@surfacta
@surfacta Жыл бұрын
I understand that DFT converts a signal to its frequency domain but never knew how these tools actually work. Really appreciate the DFT calculation example. Felt like this is what my teachers has been missing, they focus more on the theory and the equations and the derivation and never really put time to show actual example. Thanks!
@BrianBDouglas
@BrianBDouglas Жыл бұрын
Great! I'm glad it helped
@idolgin776
@idolgin776 10 ай бұрын
Great lesson! I am now learning Fourier series, and getting an intuition is awesome.
@dandavis2447
@dandavis2447 10 ай бұрын
I had to replay the section at 3:20 a few times before I realized what was going on. I could not understand why “1” and “9” would produce the same frequencies and thought I was missing something. It’s just severely under sampled.
@oldcowbb
@oldcowbb Жыл бұрын
the lord of control Brian is back
@BrianBDouglas
@BrianBDouglas Жыл бұрын
👋
@Debraj1978
@Debraj1978 Жыл бұрын
For Brian, first like and then watch.
@LeonardodosSantos-v5h
@LeonardodosSantos-v5h 5 ай бұрын
This is such a great start to dive into the FFT and the DFT studies!🎉🎉❤
@violetYu-v9g
@violetYu-v9g 10 ай бұрын
awesome, this lesson illustrate the fundamental principle of FFT intuitionally clear
@STEM671
@STEM671 7 ай бұрын
Distance from the mean at normal discrete distribution linear nonlinear graph : : : Rajibuzzaman Rajvi Rizvi 10:22 Rizve maxq minQ Ref stress strain point 18:53
@pablop.a.7275
@pablop.a.7275 4 ай бұрын
Congrats for the video! There are a couple of concepts I have not understood: What makes the frequencies negative when k goes above N/2? (9:24) (What does "negative frequency" mean?) What makes the frequency to decrease when k goes above N/2? (11:13) (If they decrease from a positive value, how do they become negative "automatically"?) Thanks!
@TheGmr140
@TheGmr140 Жыл бұрын
Great video, thanks for making 😊😊
@ANJA-mj1to
@ANJA-mj1to Жыл бұрын
High above splendid! Fundamentntally charming knowledge You have presented! All dramatic suprises bring to us ( me) so clearly! FFT is presented like it is - algoritham the data are into a file and transform is carried out so the file can containing the dots (points) of the transformed function. I am indeed out of speach, because you generally associated FFT and DFT with Dirac comb with the integral finit limits. Like you imply Nyquist as the highest frequency and Power Theorem like Parseval's Theorem for waveform. Good luck with spectrum it is so usefull and all is a metter of interest of solar energy, waveforming, signls, accustic - multidiscipline approach! Brilliant 👆👏
@mauisstepsis5524
@mauisstepsis5524 Жыл бұрын
At 12:45, I think that plus one means zero frequency, which is not captured by the right half of FFT.
@sudmudmud357
@sudmudmud357 4 ай бұрын
Great stuff, had to listen few times to get the whole picture, but one of best explanations of FFT I come across. Do have some Qs … will pop them down below. Cheers from Melbourne, Australia 🇦🇺
@julianfernandez5510
@julianfernandez5510 9 ай бұрын
Such a fantastic and helpful explanation. Thank you!!
@yurimessias11
@yurimessias11 5 ай бұрын
Great explanation!! You helped me A LOT
@arjunva7
@arjunva7 Жыл бұрын
Best Explanation 👏
@mostafasoliman7066
@mostafasoliman7066 Жыл бұрын
very good video :) I think that shedding some light on the inverse DFT during the video would have been beneficial. it shows that you can reconstruct/synthesize the time domain signal by adding a bunch of complex exponentials.
@nareshkumar4207
@nareshkumar4207 Жыл бұрын
Can't wait. Is there is any video like this you upload before.
@BrianBDouglas
@BrianBDouglas Жыл бұрын
This is the first time that we've done a premier on a video that I've made and this is also the first video in a series on signal processing. I'll be on when this goes live to chat with people while it plays. There will also be some signal processing experts from MathWorks to answer any questions. Hope to see you then!
@nareshkumar4207
@nareshkumar4207 Жыл бұрын
@@BrianBDouglas wow. Thank for your kind reply. I follow your lectures for 3 years. These are very useful. I'm so happy to get your lecture on signal processing. Thank you.
@wodddj
@wodddj Жыл бұрын
I will teach my kids FFT using this video, assuming I will have any.
@MrHeatification
@MrHeatification Жыл бұрын
I LOVE your videos Brian!!!
@BrianBDouglas
@BrianBDouglas Жыл бұрын
🥰
@jayakumarsingaram8218
@jayakumarsingaram8218 Жыл бұрын
Very good illustration
@JohnWayne-bm1ty
@JohnWayne-bm1ty 6 ай бұрын
Hi, ive always wondered how does an mp3 do this, does it need to do the function on the 44000 samples to not lose frequencies? Also, how does it save all those frequencies? Does it only save a few with the highest amplitudes or does it save all frequencies with a binary amplitude, like turning on or off the frequencies?
@BerkalpKamsz
@BerkalpKamsz Жыл бұрын
Thanks Brian for great explanation. Would love to see you cover continuous wavelet transform, cwt stuff too. One can only hope..
@aammoojanhastam3397
@aammoojanhastam3397 Жыл бұрын
@BrianBDouglas is it possible for you to include the wavelet transform in this series?
@electrified4251
@electrified4251 Жыл бұрын
Bump this, I would also like a Video about the Wavelet Transform.
@juanrossi3
@juanrossi3 9 ай бұрын
Great explanation, thanks a lot!
@matthias4840
@matthias4840 8 ай бұрын
Hey, thanks for the great video and the explanation. One question: I don't understand why the y-values (amplitudes) are so different when comparing the DFT formula you showed (video: 3:10) with the FFT in Matlab (video: 17:37). I can't get back to the real amplitudes in the manually programmed DFT with the formula video 3:10. What is the reason for this?
@BrianBDouglas
@BrianBDouglas 8 ай бұрын
I'm sorry, I'm not following the question. Are you saying that the FFT() command in MATLAB doesn't produce the same Y-values that you get if you manually code the DFT formula? Could you expand on your question so I could answer it?
@davidhamer8333
@davidhamer8333 Жыл бұрын
Great explanation. thank you.
@jeromelachaize6959
@jeromelachaize6959 Жыл бұрын
Nice video as usual. Great job thank you.
@Adhithya2003
@Adhithya2003 9 ай бұрын
Thank you Control system God.
@sheetalmadi336
@sheetalmadi336 8 ай бұрын
I have searched and searched for a good video on DFT. By far this is the best one to clear some of my doubts. But I am still struggling with some things. Like why the frequency is given by, frequency = k/length of the signal I am not really getting the intuition of this thing. Please explain. I really need it.
@END-ch24
@END-ch24 9 күн бұрын
I had the same doubt; there is some articulation around 14:07 . Still a bit vague to grasp intuitively
@nikolai7548
@nikolai7548 5 ай бұрын
at 5:14 how do we get negative value if we take amplitude of the DFT?
@mi_thiran
@mi_thiran Ай бұрын
Hi Brian, Greetings, Thanks for the great video, could you please explain a FFT of a complex valued signal and how is both the sides of FFT are used for any use case..
@BrianBDouglas
@BrianBDouglas Ай бұрын
Taking an FFT of a complex valued signal is the same mathematically as the FFT of a real signal. The difference is that the negative and positive frequencies won't be mirrors of each other and therefore it doesn't make sense to look at just a one-sided spectrum in that case. There are many use cases of needing to look at the spectrum of complex signals in signal processing and radar and many others. In communication, some modulation techniques (like quadrature amplitude modulation) rely on that difference between positive and negative frequencies to encode information. I hope this answered your question.
@โนรีคอกเบิร์น
@โนรีคอกเบิร์น Жыл бұрын
Hi, Back in 1998 I was given a new boss. He moved into the office and setup his pc. In Excel he had a button for doing FFT. I always wanted to get an fft function in my Excel but the boss got expired before he could tell me anything about it. How to get fft in Excel? Thanks.
@tjmozdzen
@tjmozdzen 3 ай бұрын
Nice video. Could you make a video of how one goes from a frequency domain signal to a time domain? Sometimes one has the frequency response and going back to the time domain is useful. I haven't seen anyone talk about that. Thx.
@digitaldynamic3344
@digitaldynamic3344 10 ай бұрын
Thanks for the video.
@trans2k4
@trans2k4 4 ай бұрын
I couldn't find a video by you on sampling theorem.
@paulo01981
@paulo01981 7 ай бұрын
Why do you say the value of the DFT is "near zero" instead of exactly zero when k = 0 and the positive and negative values of the signal cancel each other out? Excellent video by the way, thank you very much.
@lutfuemreefe5265
@lutfuemreefe5265 7 ай бұрын
thank you it is amazing. Is it possible to get the PDF?
@kleidbasket5260
@kleidbasket5260 Жыл бұрын
Can you please talk about when we have to calculate N point DFT on a M point signal. How to do it.
@jayakumarsingaram8218
@jayakumarsingaram8218 Жыл бұрын
Suppose there is need to Tune to FM radio via Digital algorithm and with associated hardware , then ADC might provide M ( 1.2e6) samples per sec and N is1024. In this case compute N point DFT and take decision on FM channel presence. or perform 10 time N point DFT and decide on FM channel presence. This will work well for Digital Tuning. //
@GabrieleBunkheila
@GabrieleBunkheila Жыл бұрын
The "how" is trivial. Just use the available fft syntax variations in MATLAB. Y = fft(X, N); www.mathworks.com/help/matlab/ref/fft.html When/why - for example: N < M ---> Update your analysis every M/fs time period, have a bin width or fs/M,... N > M ---> Decrease your bin width, "interpolate"/"smothen" your frequency domain representation (when padding with zeros)
@wayneking1995
@wayneking1995 Жыл бұрын
Is N here bigger or smaller than M? In either case, in MATLAB you can use fft(x,N) to compute the N-point DFT. In the case that N > M, that will zeropad the data out to N samples. In the case that N < M, you will get the DFT of the N-point truncated signal.
@kleidbasket5260
@kleidbasket5260 Жыл бұрын
​@@GabrieleBunkheila I want to calculate manually and not use MATLAB, I am from mechanical engineering, so I don't know how to proceed with it
@kleidbasket5260
@kleidbasket5260 Жыл бұрын
​@@wayneking1995How can I do it manually
@Lets_explore.with_ck.
@Lets_explore.with_ck. 11 ай бұрын
Amazing ❤
@ruoxixi20
@ruoxixi20 Жыл бұрын
Got a question. If we be very precise, (which is necessary for understanding this concept), whiy is the frequency equation freq=k/(time length)=k*fs/N? When I write it down, given N samples starting from 0s, the overall time length is (N-1)*T=(N-1)/fs, and as a result shouldn't freq=k/(time length)=k*fs/(N-1)? My understanding is that for a big N, there is almost no difference, but if say, we only have 10 samples, there seems to be a noticeable difference in the bin width, since then the time legnth is 0.9s instead of 1s.
@BrianBDouglas
@BrianBDouglas Жыл бұрын
I think the answer is that we're dealing with discrete time and so each sample represents 0.1 seconds in your example. So, the sample at 0.9 covers the time span from 0.9 to 1 seconds. So 10 samples does cover 1 second even though the first sample is at 0 seconds and the last sample is at .9
@anicalmech3285
@anicalmech3285 7 ай бұрын
I really appreciate of it. helped me a lot
@meenakshiyayathirajan3718
@meenakshiyayathirajan3718 5 ай бұрын
Nice video sir
@thuannv1988
@thuannv1988 9 ай бұрын
Hello. Thanks for your video. I have a question. What is the number of samples I should have for my DFT? For example, if my sampling frequency is 100Hz. Do I need to take 100 samples (or N = 100). I checked the code and saw that if I take a different number of samples, such as N = 200, the result is different. I don't understand why.
@BrianBDouglas
@BrianBDouglas 9 ай бұрын
Hello, I explain the impact of having more samples starting at 14:40. There isn't an exact number that you're shooting for, it depends on the signal and what you're trying to get out of it. The more samples you have the narrower the bin width. If you're adding more signal then the result will look different because - like in my example - you're adding more values to the signal frequency bins but not necessarily to the noise bins. However, if you are adding more samples by zero padding then you're just interpolating between the frequencies and not actually changing the data you're seeing. I think I was more clear in the video so I hope this helps!
@CICILIAKEMUNTOMESA
@CICILIAKEMUNTOMESA 11 ай бұрын
Hello, i tried and i had a lot of data, the first part i got something, the second part refused, the part where the code is supposed to do a stem, syas invalid expression, anyhelp
@roldanduarteholguin7102
@roldanduarteholguin7102 7 ай бұрын
Export the MatLab, Azure, Chat GPT, Revit, Plant 3D, Civil 3D, Inventor, ENGI file of the Building or Refinery to Excel, prepare Budget 1 and export it to COBRA. Prepare Budget 2 and export it to Microsoft Project. Solve the problems of Overallocated Resources, Planning Problems, prepare the Budget 3 with which the construction of the Building or the Refinery is going to be quoted.
@franciscoarturotrlloulloa2285
@franciscoarturotrlloulloa2285 7 ай бұрын
Dude thank you so much ypu are god
@JKTCGMV13
@JKTCGMV13 Жыл бұрын
How would you suggest I prepare data for an FFT that has occasional gaps in its sampling? Say 1 kHz sampling rate with occasional 100 ms gaps
@wayneking1995
@wayneking1995 Жыл бұрын
When you say gaps, are the data missing, or do you just know that the sampling was irregular. If the data is missing, the best thing to do is to interpolate the data to fill in the missing values. If the data is there, but you just know that a glitch occurred then how big is 100 msec in your scenario, if 100 msec is inconsequential, you can just treat the data as uniformly sampled and you're likely OK. In reality all samplers have some jitter. If 100 msec is really a significant gap (which appears to be the case in your scenario since 100 msec is 100 samples), then again you can interpolate the data onto an evenly sampled grid.
@JKTCGMV13
@JKTCGMV13 Жыл бұрын
@@wayneking1995 I’m referring to missing data in this case. Such as some buffer filling up and samples being dropped until the data logging software catches up. In my specific application I think these gaps are in fact small enough and infrequent enough to ignore
@wayneking1995
@wayneking1995 Жыл бұрын
@@JKTCGMV13 Then I would suggest interpolation.
@matthewjames7513
@matthewjames7513 Жыл бұрын
I really wish matlab had a OneSidedFFT() function so I don't have to manually tweak the inputs and outputs of fft() so much.
@BrianBDouglas
@BrianBDouglas Жыл бұрын
Yeah, unfortunately that's not an option. But it's just a single extra line to grab half of the output and the input doesn't need to change. If you're looking for power spectrum, however, you could use periodogram which does have a one-sided option.
@richardramos5124
@richardramos5124 Жыл бұрын
You can use fftshift() when plotting to help.
@copy_cat4298
@copy_cat4298 Жыл бұрын
👏 nice
@jameshopkins3541
@jameshopkins3541 9 ай бұрын
Your PDF version???
@123string4
@123string4 8 ай бұрын
9:43 don't do my man Shannon dirty like that 😭
@BrianBDouglas
@BrianBDouglas 8 ай бұрын
Gah! Good catch. I'll name my next born child Shannon to make up for it
@kuba5966
@kuba5966 6 ай бұрын
How to run this app?
@usmanzafar4751
@usmanzafar4751 5 ай бұрын
Check out description
@nadershafiee64
@nadershafiee64 7 ай бұрын
Music?
@ryanfeng
@ryanfeng Жыл бұрын
It looks like Brian is recruited by Mathworks now.
@BrianBDouglas
@BrianBDouglas Жыл бұрын
I've been making videos for MathWorks for 6 years ☺
@geoclarke3365
@geoclarke3365 Жыл бұрын
Are there any factors can influence the efficiency of FFT implementations?
@wayneking1995
@wayneking1995 Жыл бұрын
Yes, but typically there is no such thing as THE FFT. Most modern computing packages, MATLAB included, actually have several FFT algorithms depending on characteristics of the data. What happens is that the software actually looks at the data, is it even or odd-length, if it is even, is it a power of two, and a number of other characteristics to come up with an "FFT plan" (yes that is actually what they are called). This is what is used to decide which FFT algorithm is actually called to operate on the data. So, quite a bit of planning goes it to deciding which FFT algorithm is the most efficient one for the data characteristics, it just happens very, very fast.
@piyussing963
@piyussing963 Жыл бұрын
Why only sin and cosine functions not any other?
@BrianBDouglas
@BrianBDouglas Жыл бұрын
In general, we can describe a time series with any set of universal function approximators. But sines and cosines (or e raised to an imaginary number) are useful since they describe oscillations and frequency. They are also unique in that they don't change their general shape when you take the integral or derivative of them. Therefore, they are the solutions of differential equations which is what we use to model dynamic systems. Maybe someone else can chime in with a better response because I'm just sort of riffing here. :)
@LucaskrillHC
@LucaskrillHC 8 ай бұрын
I'm not a mathematician but I guess because in LTI systems if your input is a cosine (or sine), then the output will be another cosine (that could have different phase and amplitude but still it's a cosine). You can then apply the superposition theorem, which says that the output given by the sum of the inputs is equal to the sum of the outputs given by singular inputs! Basically, cosine and sine are the "fundamental" elements
@TasThucVan
@TasThucVan 8 ай бұрын
不错
@intelligenceservices
@intelligenceservices 7 ай бұрын
i think the entire purpose of so called imaginary numbers is to create a barrier to understanding. it's supposed to represent the square root of negative one but that doesn't make sense, at least to me, and the ways it's explained are like "well, we just make this part negative" and the lecturer runs to the next topic like they just lit a cherry bomb.
@Shivanshuchauhan4
@Shivanshuchauhan4 4 ай бұрын
U have no idea. Well maybe ur teacher didn't teach u well about it. Without imaginary numbers we can't solve most of the things!!!!!!
But what is the Fourier Transform?  A visual introduction.
20:57
3Blue1Brown
Рет қаралды 10 МЛН
Cat mode and a glass of water #family #humor #fun
00:22
Kotiki_Z
Рет қаралды 42 МЛН
Правильный подход к детям
00:18
Beatrise
Рет қаралды 11 МЛН
Don’t Choose The Wrong Box 😱
00:41
Topper Guild
Рет қаралды 62 МЛН
99.9% IMPOSSIBLE
00:24
STORROR
Рет қаралды 31 МЛН
The Discrete Fourier Transform (DFT)
17:36
Steve Brunton
Рет қаралды 360 М.
Everything You Need to Know About Control Theory
16:08
MATLAB
Рет қаралды 587 М.
Understanding the Z-Transform
19:56
MATLAB
Рет қаралды 127 М.
What is Jacobian? | The right way of thinking derivatives and integrals
27:14
Why It Was Almost Impossible to Make the Blue LED
33:45
Veritasium
Рет қаралды 28 МЛН
Meet Willow, our state-of-the-art quantum chip
6:39
Google Quantum AI
Рет қаралды 1,4 МЛН
The Discrete Fourier Transform: Most Important Algorithm Ever?
29:24
To Understand the Fourier Transform, Start From Quantum Mechanics
31:37
Physics with Elliot
Рет қаралды 517 М.
Cat mode and a glass of water #family #humor #fun
00:22
Kotiki_Z
Рет қаралды 42 МЛН