DFT in Practice - Frequency Resolution Issues
HTML-код
- Опубликовано: 16 дек 2013
- An example of how to analyse the fundamental frequency of two notes being played on a bass guitar.
Documentation on the DFT is available at dx.doi.org/10.13140/RG.2.2.330...
Other notes available at at pzdsp.com/docs.
Matlab code available at dadorran.wordpress.com/2013/12...
A pdf version of the tutorial available at dadorran.wordpress.com/2013/12...
Download the bass guitar recording from eleceng.dit.ie/dorran/matlab/b...
Great demo. I wish I'd seen this years ago in my college intro to signals class.
I was struggling with the exact same issue. Very clarifying and great accent.
Thank you. I'm taking a DSP course now and this demo is very helpful.
hieu chua chi lai tui voi
great work
Very good totorial you are manifiqes David thank you very much and please continue because your method to illustrate the concepts is vrey clear and useful
Fascinating! what criteria does MATLAB use to distinguish fundamental from harmonic??
Sir will it recognize a note from vocal inputs?
Could I interpolate between Samples, to increase the number of values, and therefore increase the resolution of the DFT?
Would this work as an alternative to the zero-padding methode?
I'm afraid this wouldn't work since when you resample you are changing the sampling interval between samples. For example say you had 1000 samples obtained using a sampling rate of 500 Hz (sampling interval =.002) then the spacing between DFT bins would be fs/N = 500/1000 = 0.5 Hz. If you interpolated by a factor of 2 then you'd have 2000 samples with a sampling interval of 0.001 (or an effective sampling rate of 1000Hz). Taking the DFT of these interpolated samples would result in a separation between bins of fs_interp/N_interp = 1000/2000 = 0.5Hz.
hello, please how do I zero pad column data. I used this (y7F_zpad = [y7F zeros(1, 99000)]; ) but I keep getting error (Error using horzcat). the variable y7F is a column data with 1002 samples.
+olamide ajala y7F_zpad = [y7F ; zeros( 99000,1)]; should work
I am simulating a mass spring damper system in simulink and i am trying to calculate the frequency response of the system. I can work out all parameters other than Fs.
Can you suggest anything?
thanks
Good explanation, Please provide us simulation of HSQC Pulse sequence in Matlab ASAP.
I didn't understand why you took the frame size 1 sample less than the number of samples you specified. For eg. at 2:40 you took N=2000, but the 'frame' has 1 up to N-1 (1999) samples of the 'seg'. So, 'ft_mags' has 1999 bins. But then you used N=2000 instead of 1999 to calculate the frequency resolution using bin*fs/N (4:35). I think, since the size of the 'frame' is 1999, N should be =1999 instead of 2000 for calculating the frequency resolution.
You are correct Pragoti Pran Bora. I made a mistake in my code. Thanks for identifying that! Apologies for any confusion caused.
Thanks David Dorran for the reply. And no Problem. This was a minor mistake and I could identify it only because I thoroughly followed your other videos on the topic. Your tutorials are indeed excellent and give a practical insight into digital signal processing. Looking forward to more such amazing tutorials from you in the future.