How to find the fundamental frequency of a noisy periodic signal?

68 views (last 30 days)
The periodic signal can have fundamental frequency can range from 1 Hz to 15000hz.
Lets say a periodic signal of 50hz is generated. To this we add noise.
So this is our input: Noisy periodic signal.
Goal: We need to extract the fundamental frequency of this signal. There is only one harmonic. Please let me know how to go about it?

Accepted Answer

Image Analyst
Image Analyst on 22 Jan 2019
Use fft(). Then use the second return argument of max() to find the index of the highest signal. That's your fundamental frequency's index.
  12 Comments
Sindhu Jettira Chengappa
Sindhu Jettira Chengappa on 4 Feb 2019
Edited: Sindhu Jettira Chengappa on 4 Feb 2019
Use fft(). Then use the second return argument of max() to find the index of the highest signal. That's your fundamental frequency's index. I am thinking of using this method.
@imageanalyst and @bjon: Sorry for late response. i was away.
Regarding this , why should i take second return argument? i noticed it. I am getting 2 peaks. Whay is that ? What is contributing to the first peak at index 1?
Image Analyst
Image Analyst on 4 Feb 2019
Look up max() in the help. The first value is the max value and the second value is the index where that max value occurs at.
[maxValue, indexOfMaxValue] = max(fftSignal);

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!