Learn R Programming

seewave (version 2.2.3)

lfs: Linear Frequency Shift

Description

This function linearly shifts all the frequency content of a time wave.

Usage

lfs(wave, f, channel = 1, shift, wl = 1024, ovlp = 75,
wn = "hanning", fftw = FALSE, output = "matrix")

Value

If plot is FALSE, a new wave is returned. The class of the returned object is set with the argument output.

Arguments

wave

an R object.

f

sampling frequency of wave (in Hz). Does not need to be specified if embedded in wave.

channel

channel of the R object, by default left channel (1).

shift

positive or negative frequency shift to apply (in Hz).

wl

window length for the analysis (even number of points, by default = 1024).

ovlp

overlap between successive FFT windows (in %, by default 75%).

wn

window name, see ftwindow (by default "hanning").

fftw

if TRUE calls the function FFT of the library fftw. See Notes of the spectro.

output

character string, the class of the object to return, either "matrix", "Wave", "Sample", "audioSample" or "ts".

Author

Jerome Sueur sueur@mnhn.fr and Thierry Aubin thierry.aubin@u-psud.fr

Details

A short-term Fourier transform is first applied to the signal (see spectro), then the frequency shift is applied and the new signal is eventually generated using the reverse of the Fourier Transform (istft).
There is therefore neither temporal modifications nor amplitude modifications.

References

Hopp, S. L., Owren, M. J. and Evans, C. S. (Eds) 1998. Animal acoustic communication. Springer, Berlin, Heidelberg.

See Also

ffilter, spectro

Examples

Run this code
data(orni)
a<-lfs(orni,f=22050,shift=1000)
spectro(a,f=22050)
# to be compared with the original signal
spectro(orni,f=22050)

Run the code above in your browser using DataLab