powered by
This function estimates the flatness of a frequency spectrum.
sfm(spec)
A single value varying between 0 and 1 is returned. The value has no unit.
a data set resulting of a spectral analysis obtained with spec or meanspec (not in dB).
spec
meanspec
Jerome Sueur sueur@mnhn.fr
SFM is calculated as the ratio between the geometric mean and the arithmetic mean : $$F = N\times{\frac{\sqrt[N]{\prod_{i=1}^N{y_i}}}{\sum_{i=1}^N{y_i}}}$$ with: y = relative amplitude of the i frequency, and N = number of frequencies.
sh, csh
sh
csh
a<-synth(f=8000,d=1,cf=2000,plot=FALSE) speca<-spec(a,f=8000,at=0.5,plot=FALSE) sfm(speca) # [1] 0 b<-noisew(d=1,f=8000) specb<-spec(b,f=8000,at=0.5,plot=FALSE) sfm(specb) # [1] 0.8233202
Run the code above in your browser using DataLab