![]() |
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.