How can I get the central frequency out of a fft?
10 views (last 30 days)
Show older comments
For an analysis I have the following script. Everything is fine and working. My Prof now wants to know the central frequeny out of the fft.
How di I get the central frequency?
Fs= 1.9* 10^6 ; %sampling frequency
T = 1/Fs; %sampling period
L = 15000 ; %time in ms
t= (0: L-1) * T; %time vector
% load holz.mat
ti= fliese90cm.time;
a= fliese90cm.ampli;
plot(ti,a)
y=fft(a);
P2 = abs( y /L );
P1 = P2 (1: L /2+1);
P1(2: end-1)=2*P1(2:end-1);
f = Fs*(0:(L/2))/L;
plot(f,P1)
xlim([0 2*10^5])
title ( 'FFT Fliese, 100 cm')
xlabel('Frequency [Hz]')
ylabel('Amplitude [V]')
% stem(f,P1)
Q=trapz(f,P1);
5 Comments
Image Analyst
on 15 Jul 2020
OK, so it's the center frequency of the spectrum signal within some particular frequency band. And is defined by the geometric mean of the starting frequency and ending frequency of that particular band.
So I guess you have the spectrum, and now you're needing to find the starting and ending frequency of some "hump" you see in the spectrum, right?
Did you see the answers below?
Answers (1)
Star Strider
on 14 Jul 2020
Not possible to run your code.
1 Comment
dpb
on 14 Jul 2020
Edited: dpb
on 15 Jul 2020
Or, alternatively, findpeaks optional 'widths' output with the 'WidthReference','halfheight' input named parameter option.
ADDENDUM:
Actually, findpeaks isn't as helpful as could be -- it returns the widths but not the locations of the reference-level crossings. There was another thread just a week or so ago on same issue--I showed there how to find the points.
See Also
Categories
Find more on Spectral Estimation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!