Find the nonzero maximum frequency corresponding to FFT graph.

2 visualizzazioni (ultimi 30 giorni)
I want to find the maximum corresponding frequency for the ftt graph. The graph shows the maximum frequency at zero frequency, this is not what I want. I am expecting to have a value around 664 Hz.
The codes:,2); %original signal,1); %time
Fs=1/dt; %sampling frequency
%Fourier Transform
F_fake=f(find(SOa(1:round(length(SOa)/2))==max(SOa))); % I am getting zero instead of 663.9 Hz.
I want a value which is nonzero. How to eliminate the zero Hz frequency ?
FFT graph.

Risposta accettata

David Goodmanson
David Goodmanson il 27 Apr 2023
Modificato: David Goodmanson il 27 Apr 2023
Hi Zahra,
the peak at zero frequency is because your signal does not have average value of zero, but has a DC offset. To eliminate the zero freq peak you can remove the offset by subracting the mean off of the signal. So you can use not fft(signal) but rather fft(signal-mean(signal)). (This assumes that the DC offset is not of interest in this case).
  2 Commenti
David Goodmanson
David Goodmanson il 28 Apr 2023
DC offset is a bit of a slang term in the sense that it refers to electrical voltage or current signals, not the most general possible signal. Suppose you have a complicated signal and take the fft. The zero frequency term from the fft corresponds to a constant value in the time domain. Now consider a simple example of constant term of value 3 and just one nonzero frequency of amplitude 10. In terms of voltage this is modeled as a 10V cosine signal in series with a 3V battery, 10*cos(2*pi*f) + 3. The cosine term of course has mean value of 0 and the constant term, 3, is called the DC offset.

Accedi per commentare.

Più risposte (1)

Paul il 27 Apr 2023
Modificato: Paul il 27 Apr 2023
If the DC offset is of interest (or even if it isn't)
[maxSOa,index] = max(SOa(2:end)); % ignores first point a f=0
F_fake = f(index+1)
This approach will find the the frequency corresponding to the first maximum value in SOa(2:end) should there be multiple occurrences of the maximum value.




Community Treasure Hunt

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

Start Hunting!

Translated by