我有一些看似正弦的定期采样数据,我想确定波的频率,为此我获得了R并加载了包含名为'periodogram'的函数的TSA包.
为了了解它是如何工作的,我创建了一些数据如下:
x<-.0001*1:260
Run Code Online (Sandbox Code Playgroud)
这可以解释为260个样本,间隔为.0001秒
Frequency=80
Run Code Online (Sandbox Code Playgroud)
频率可以解释为80Hz,因此每个波周期应该有大约125个点
y<-sin(2*pi*Frequency*x)
Run Code Online (Sandbox Code Playgroud)
然后我做:
foo=TSA::periodogram(y)
Run Code Online (Sandbox Code Playgroud)
在得到的周期图中,我预计会看到与我的数据相对应的频率出现尖峰 - 我确实看到一个尖峰但是最大'spec'值的频率为0.007407407,这与我80Hz的频率有什么关系?
我注意到foo $带宽变化,值为0.001069167,我也难以解释.
如果有更好的方法来确定我的数据频率,我会感兴趣 - 我对R的经验仅限于一天.