evolfft | R Documentation |
Spectrogram using simple fft (Gabor Transform)
evolfft(a, dt = 0, Nfft = 0, Ns = 0, Nov = 0, fl = 0, fh = 10, pcttap =
0.05, adjust=TRUE )
a |
signal |
dt |
sample rate interval (s) |
Nfft |
Number of points in fft |
Ns |
NUmber of sample in sub-window |
Nov |
number of sample to overlap |
fl |
low frequency to display |
fh |
high frequency to display |
pcttap |
Percent cosine taper for each window |
adjust |
logical, if TRUE adjust the parameters so the plot looks good (DEFAULT). If FALSE, keep user parameters. |
This is a duplication of the spectrogram function in matlab which applies Welsh's Method. Each mini-window is tapered with a cosine window.
List
sig |
input signal |
dt |
deltat |
wpars |
input parameters |
DSPEC |
spectrum image |
freqs |
output frequencies (y axis) |
tims |
output times (x-axis) |
Parameter adjust is by default TRUE so that the choice of Ns, Nov, and kcol will be optimized, more or less. Set this logical to FALSE to force the function to use user input parameters.
Jonathan M. Lees<jonathan.lees.edu>
evolMTM, evolAR, MTM.drive
data(CE1)
#### plot signals
plot(CE1$x, CE1$y, type='l')
### set parameters
Nfft<-1024 ### fft length
Ns<-250 ### number of samples in a window
Nov<-240 ### number of samples of overlap per window
fl<-0 ### low frequency to return
fh<-1/(2*CE1$dt) ### high frequency to return
######## calculate the evolutive fft (Gabor Transform)
EV <- evolfft(CE1$y, dt =CE1$dt , Nfft = Nfft, Ns =Ns , Nov =Nov , fl =fl
, fh = 25)
### plot image, but it does not look too interesting
image(EV$DSPEC)
### plot Gabor transform with special function
PE <- plotevol(EV, log=0, fl=0.01, fh=100, col=rainbow(100), ygrid=FALSE,
STAMP="", STYLE="fft")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.