How to Compute FFT and Plot Frequency Spectrum in Python using Numpy and Matplotlib
Vložit
- čas přidán 10. 09. 2024
- In this video, I demonstrated how to compute Fast Fourier Transform (FFT) in Python using the Numpy fft function. Plotting the frequency spectrum using matplotlib is also shown. It would be great if you can give me some feedbacks. Thanks for watching!
Thank you! The DC point I think it’s because it doesn’t have the negative or the complex conjugate component to add up the amplitude, so it doesn’t need to double
Thank you for the learning steps.
Goal
Construct
Perform or Compute
Plot : Show case of time domain signals
Thank you. The explanation is good and some parts can be understood from it, but the variable names are very confusing and the code cannot be understood if you look at it without the explanation especially for beginners in this field of programing
Thank you so much. Very helpful. Now I understand why the magnitude doubles when converting from double-sided spectrum to single sided one
thank You for showing how to perform FFT in Python. this is helping me understand it better
Great content! I wish I could find an example of a real time signal with an unknown "frequency" instead of a contrived sine wave signal. With a contrived signal the time divisions are established automatically. Maybe I am missing something.
You really help me to finish my thesis haha. Thanks man👨💻👨💻
Very nice❤I hope U'll reach 1 million views for this
Me sirvió bastante, muchísimas gracias saludos desde Perú.
Hi, I want to analyze an SNR using a CSV file. I want no the signal from 0-200 Hz. In CSV file only has the data on G. What should I do for SNR analysis?
Awesome teaching thank you, but I do not understand why you use (N-1)*tstep in time step instead of (N) * tstep?
Thank you so much ! Easy to understand and aplicate !
Thank you
Thank you, Absolutely beautiful.
Thank you, this tutorial Is gold
Very informative
Great summary of fft() !
very helpful
Thanks a lot, clarifying fft
Great explanation - thanks
How could I change it to plotting incoming data from a COM port? Thanks!
Y we are having negative values in time domain signal ..in the final output picture
try set_xlim(0,)
Nice!
very good demo! Thank you!
good explaination. good job. Thanks
For which signal you have done this, how can i insert a audio signal to apply fft algorithm ?
Follow this channel for your question
czcams.com/video/ELPlzXNAp34/video.html
Why the number of samples N = Fs/F0? Is there a mathematical reason behind it or just because you need an upper bound for your intervals?
Sampling frequency is 2000
Period = 1/2000 = 0.005 which is the time taken for 1 cycle to complete
Signal frequency = 100
Period = 1/100 = 0.01
The period (time) corresponding to signal frequency can be divided between 0 to 0.01. This is the time boundary
Next question is how many time intervals of 0.005 is between 0 to 0.01 = 20
Other way of saying is
How many samples can be taken at sampling frequency of 2000 considering the period of 0.01
= 2000 * .01 or 2000/100 = 20
20 samples can be taken at the time interval between 0 sec to 0.01 secs.
Therefore this period is divided in to 20 , 1 per sample.
Thank you very much!
Is fstep = f0 because fstep = fs/n and n= fs/f0 so that means fstep = fs/fs/f0
what if I don't know the frequency of the function (i.e. it is a non-periodic function)?
input the data and run the fft, the point of the fft is to break up a function into its constituent sine wave functions without knowing frequencies.
nice !
Thank you so much
Hi, I've tried your numpy fft code using rectangular function input and the result is not as expected. It is different from your previous video with sin function (analytical function) for rectangular function. Would you check it?
pls share your code
Follow this channel for updates czcams.com/video/ELPlzXNAp34/video.html
Which software have you used
fstep is just f0? is that right?
good video thanks
very usefull. What do you mean with DC component?
It means 0Hz or you can think of it as the average of the signal.
How plt.plot() calculates in which frequency, each magnitude belongs?
Follow the link czcams.com/video/ELPlzXNAp34/video.html
Thanks for the great video! One question at 7:21, what is it to divide by len(time series)? Thank you!
Hi could you please help with my question above?
it divides by how many times he counts the time series
@@SimeonPlays Thank you so much for your reply! Let me to refresh my memory and try to understand what you explain.
What is the purpose of N-1
thanks dude
Thanks for ur video.Can u try the same without fft inbuilt function.
Yes, it is possible. You may simplify refer to the definition of FFT or DFT. I believe Numpy is doing the same internally, they just put a wrapper for users.
Very informative and great explanation. Can you make full tutorial on Numpy and Scipy?
Because this tutorial I got interest in this.
Thank you!
There are already quite some good videos about Numpy and Scipy out there. Tks for your comment ;)
'numpy.ndarray' object has no attribute 'plot' :O
Can you send the code please
you may pause it video and type the codes by yourself. there're only a few lines :)
Another demo and code can be found in czcams.com/video/ELPlzXNAp34/video.html
This is honestly one of the least helpful tutorials I've ever seen
Thank You
thank you