Learn R Programming

RSEIS (version 4.2-4)

MTMgabor: Evolutive MTM Spectrum

Description

Time varying Auto-Regressive Spectrum (Gabor Transform) using MTM

Usage

MTMgabor(a, dt = 0, ppoint=95 , numf = 1024, Ns = 0, Nov = 0, fl = 0, fh = 10)

Value

List

sig

input signal

dt

deltat

numfreqs

Number of frequencies output

wpars

input parameters list(Nfft=numfreqs, Ns=Ns, Nov=Nov, fl=fl, fh=fh)

DSPEC

spectrum image

HIMAT

matrix with high values of F-test at 90 percent confidence

DOFMAT

Matrix image of degrees of freedom

FVMAT

Matrix image of F-test values

kdof

test degrees of freedom=2*nwin-2

ppoint

percentage point for confidence bounds

freqs

output frequencies (y axis)

tims

output times (x-axis)

Arguments

a

signal

dt

sample rate interval (s)

ppoint

percent confidence for F-test (default=95)

numf

Number of frequencies

Ns

Number of sample in sub-window

Nov

Number of sample to overlap

fl

low frequency to display

fh

high frequency to display

Author

Jonathan M. Lees<jonathan.lees@unc.edu>

Details

This is a spectrogram function similar to the Gabor Transform but uses the MTM (multi-taper method) for spectrum estimation. This is a non-interactive version of MTM.drive.

References

Percival and Walden;

Lees, J. M. and Park, J., 1995: Multiple-taper spectral analysis: A stand-alone C-subroutine, Computers and Geology, 21(2), 199-236.

Percival, Donald B.,Walden, Andrew T. (1993):Spectral Analysis for Physical Applications,Cambridge University Press, Cambridge, 583p.

See Also

evolfft, evolMTM, MTM.drive, GETARAIC, doGABOR.AR, DOsgram, doGABOR.MTM

Examples

Run this code


data(KH)
###   swig(KH)

Xamp <- KH$JSTR[[1]]
Nfft <- 1024   ###  fft length
Ns <- 512      ###  number of samples in a window
Nov <- 480    ###  number of samples of overlap per window
fl <- 0        ###  low frequency to return
fh <- 12     ###  high frequency to return
 dt  <-  KH$dt[1]

####  shorten the signal here, just for speed on the example:
sig = Xamp[37501:75001]

EV <-   MTMgabor(sig, dt = dt, numf =Nfft , Ns = Ns, Nov = Nov, fl = fl, fh= fh)

PE   <- plotevol(EV, log=1, fl=0.01, fh=fh, col=rainbow(100),
              ygrid=FALSE, STAMP="", STYLE="ar")



Run the code above in your browser using DataLab