Learn R Programming

seewave (version 1.6.4)

Q: Resonance quality factor of a frequency spectrum

Description

This function estimates the frequency pureness of a time wave by returning the resonant quality factor Q at a specific dB level.

Usage

Q(spec, f = NULL, level = -3, plot = TRUE, colval = "red",
cexval = 1, fontval = 1, flab = "Frequency (kHz)",
alab = "Relative amplitude (dB)", type = "l", ...)

Arguments

Value

  • A list is returned with the following four items:
  • Qa numeric vector of length 1 returning the Q factor (no units)
  • dfreqa numeric vector of length 1 the dominant frequency (kHz)
  • fmina numeric vector of length 1 returning the minimum frequency of the -dB level bandwidth (kHz)
  • fmaxa numeric vector of length 1 returning the minimum frequency of the -dB level bandwidth (kHz)
  • bwda numeric vector of length 1 returning the bandwidth, i. e. fmax-fmin (kHz)

Details

A high Q value indicates a highly resonant system.

See Also

spec, meanspec, corspec, fft.

Examples

Run this code
# bird song
data(tico)
t<-spec(tico,f=22050,at=1.1,plot=FALSE,dB="max0")
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="max0")
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)

Run the code above in your browser using DataLab