Find and plot peaks within range of FFT

9 views (last 30 days)
Michael Zhu
Michael Zhu on 4 Aug 2020
Answered: Star Strider on 4 Aug 2020
Hey guys,
I am given a wav file of a guitar playing the G,B and E notes simutaneously and I need to find the fundamental frequencies of the 3 notes. The standard fundamental frequencies for these three notes are 196 Hz, 246.9 Hz, and 329.6 Hz. I have read the signal and plotted the fourier transform but I am having trouble finding the peaks of the transform and plotting them on the same graph. I was wondering if it was possible to find the peaks within the range of these frequencies and then plot those peaks on the same graph of the fourier transform as I think that would give me the fundamental frequencies. Below is my code and any help would be appreciated.
Here is the plot of the fourier transform of the wav file I am reading.

Answers (1)

Star Strider
Star Strider on 4 Aug 2020
The easiest approach would be to use the Signal Processing Toolbox findpeaks function. It has a number of name-value pair argument options that should allow it to do exactly what you want.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!