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.

回答 (1 件)

Star Strider
Star Strider 2017 年 9 月 14 日

0 投票

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 件のコメント

Pedro Oliveira
Pedro Oliveira 2017 年 9 月 18 日
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.
Star Strider
Star Strider 2017 年 9 月 18 日
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.

サインインしてコメントする。

質問済み:

2017 年 9 月 14 日

コメント済み:

2017 年 9 月 18 日

Community Treasure Hunt

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

Start Hunting!

Translated by