How to find signal frequency using find function

Hi,
I was wondering how is it possible to find the signal frequency using the find function.
Thanks in advance.

Answers (1)

It is possible, although not straightforward, since you need to use find to determine the period, that you can then convert to frequency. See: Curve fitting to a sinusoidal function (link) for one approach.

2 Comments

From the example you gave, I can't quite understand how the find function is used. In my case, I have a sinusoidal signal for which I know the sampling time, but don't know the signal frequency, which I'm suppose to find through the find function.
My intent was to refer you to a line in my code that is similar to this anonymous function:
zci = @(v) find(v(:).*circshift(v(:), [-1 0]) <= 0); % Returns Approximate Zero-Crossing Indices Of Argument Vector
that you can then use to define the approximate period, and from that, the frequency.
I will leave you to explore that.

Sign in to comment.

Asked:

on 14 Sep 2017

Commented:

on 18 Sep 2017

Community Treasure Hunt

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

Start Hunting!