Q {seewave} | R Documentation |
This function estimates the frequency pureness of a time wave by returning the resonant quality factor Q at a specific dB level.
Q(spec, f = NULL, level = -3, plot = TRUE, colval = "red", cexval = 1, fontval = 1, flab = "Frequency (kHz)", alab = "Relative amplitude (dB)", type = "l", ...)
spec |
a data set resulting of a spectral analysis obtained
with spec , or meanspec (in dB).
This can be either a two-column matrix (col1 = frequency, col2 = amplitude)
or a vector (amplitude). |
f |
sampling frequency of the wave used to obtain spec
(in Hz). Not necessary if spec is a two columns matrix obtained
with spec or meanspec . |
level |
frequency bandwidth set by an amplitude value relative
to spectrum (in dB). |
plot |
logical, if TRUE returns the spectrum
with Q plotted (by default TRUE ). |
colval |
colour of plotting Q. |
cexval |
character size of plotting Q. |
fontval |
font of plotting Q. |
flab |
title of the frequency axis. |
alab |
title of the ampltiude axis. |
type |
if plot is TRUE , type of plot that should be drawn.
See plot for details (by default "l" for lines). |
... |
other plot graphical parameters. |
A high Q value indicates a highly resonant system.
Q is returned as a single numeric data.
This function is based on fft
.
Jerome Sueur sueur@mnhn.fr
# bird song data(tico) t<-spec(tico,f=22050,at=1.1,plot=FALSE,dB=TRUE) op<-par(mfrow=c(2,1),las=1) Q(t,type="l") Q(t,type="l",xlim=c(3.8,4.2),ylim=c(-60,0)) title("zoom in") par(op) # cricket, changing the dB level data(pellucens) p<-spec(pellucens,f=11025,at=0.5,plot=FALSE,dB=TRUE) op<-par(mfrow=c(3,1)) Q(p,type="l",xlim=c(1.8,2.6),ylim=c(-70,0)) title("level = - 3 (default value)",col.main="red") Q(p,type="l",level=-6, xlim=c(1.8,2.6),ylim=c(-70,0),colval="blue") title("level = - 6",col.main="blue") Q(p,type="l",level=-9, xlim=c(1.8,2.6),ylim=c(-70,0),colval="green") title("level = - 9",col.main="green") par(op)