setwelch(RSEIS)
setwelch()所属R语言包:RSEIS
Set up Matrix of fft for Welch method
设置矩阵的FFT Welch法
译者:生物统计家园网 机器人LoveR
描述----------Description----------
Prepares a matrix for estimation of power spectrum via Welch's method. Also, is can be used for spectrogram.
准备通过韦尔奇的方法功率谱估计的矩阵。此外,可用于谱图。
用法----------Usage----------
setwelch(X, win = min(80, floor(length(X)/10)), inc = min(24, floor(length(X)/30)), coef = 64, wintaper=0.05)
参数----------Arguments----------
参数:X
Time series vector
时间序列向量
参数:win
window length
窗口长度
参数:inc
increment
增加
参数:coef
coefficient for fft
FFT系数
参数:wintaper
percent taper window taper
%锥度窗口锥
值----------Value----------
List:
列表:
参数:values
Matrix of fft's staggered along the trace
沿着轨迹的交错矩阵的FFT
参数:windowsize
window length used
使用窗口长度
参数:increment
increment used
增加使用
参数:wintaper
percent taper window taper
%锥度窗口锥
(作者)----------Author(s)----------
originally written by Andreas Weingessel, modified Jonathan M. Lees<jonathan.lees@unc.edu>
参考文献----------References----------
a method based on time averaging over short, modified periodograms IEEE Trans. Audio Electroacoustics 15, 70-73.
参见----------See Also----------
stft
STFT
实例----------Examples----------
dt = 0.001
t = seq(0, 6, by=dt)
x = 6*sin(2*pi*50*t) + 10* sin(2*pi*120*t)
y = x + rnorm(length(x), mean=0, sd=10)
plot(t,y, type='l')
title('sin(2*pi*50*t) + sin(2*pi*120*t)+ rnorm')
Y = fft(y)
Pyy = Y * Conj(Y)
N = length(y)
n = length(Pyy)/2
Syy = (Mod(Pyy[1:n])^2)/N
fn = 1/(2*dt)
f = (0length(Syy)-1))*fn/length(Syy)
plot(f, Syy, type='l', log='y' , xlim=c(0, 150));
abline(v=c(50, 120),col='blue', lty=2)
plot(f, Syy, type='l', log='y' , xlim=c(0, 150));
abline(v=c(50, 120),col='blue', lty=2)
win=1024
inc=min(24, floor(length(y)/30))
coef=2048
w<-setwelch(y, win=win, inc=inc, coef=coef, wintaper=0.2)
KK = apply(w$values, 2, FUN="mean")
fw=seq(from=0, to=0.5, length=coef)/(dt)
plot(fw, KK^2, log='', type='l' , xlim=c(0, 150)) ;
abline(v=c(50, 120), col='blue', lty=2)
Wyy = (KK^2)/w$windowsize
plot(f, Syy, type='l', log='y' , xlim=c(0, 150))
lines(fw,Wyy , col='red')
DBSYY = 20*log10(Syy/max(Syy))
DBKK =20*log10(Wyy/max(Wyy))
plot(f, DBSYY, type='l' , xlim=c(0, 150), ylab="Db", xlab="Hz")
lines(fw, DBKK, col='red')
title("Compare simple periodogam with Welch's Method")
转载请注明:出自 生物统计家园网(http://www.biostatistic.net)。
注:
注1:为了方便大家学习,本文档为生物统计家园网机器人LoveR翻译而成,仅供个人R语言学习参考使用,生物统计家园保留版权。
注2:由于是机器人自动翻译,难免有不准确之处,使用时仔细对照中、英文内容进行反复理解,可以帮助R语言的学习。
注3:如遇到不准确之处,请在本贴的后面进行回帖,我们会逐渐进行修订。
|