MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   Using fft to extract frequency (https://www.labfans.com/bbs/showthread.php?t=22130)

poster 2019-11-25 18:21

Using fft to extract frequency
 
<p>I have a signal which is a linear combination of two frequencies and I am trying to use MATLAB to determine what frequencies the (main) signal consists of. As an input I have the sample rate, <code>rate</code> and a row vector with the signal data, <code>segment</code>. </p>

<p>Now I have the following code:</p>

<pre><code>N=length(segment);

freq = rate*(0:N/2)/N;
X = fft(segment);
X=X(1:N/2+1);

plot(freq*2, abs(X))
</code></pre>

<p>And this indeed returns a graph with two peaks, one at each of the frequencies the signal consists of. Now I want to extract these frequencies. So I want to return a variable, <code>signal</code>, which is a vector of the two frequencies. </p>

<p>Hence, if my signal is created by the linear combination of a signal of <code>30 Hz</code> and one of <code>60 Hz</code>, then I want <code>signal = [30,60]</code>. I can create a graph and then identify this, but I want to cut out that middle man and just return the found frequencies, without using any toolboxes.</p>

<p>How can I find my desired frequencies?</p>



[url=https://stackoverflow.com/questions/58767263/using-fft-to-extract-frequency]More answer...[/url]


所有时间均为北京时间。现在的时间是 21:19

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.