来自matlab官方网站,Lomb-Scargle周期图被定义为
http://www.mathworks.com/help/signal/ref/plomb.html#lomb
假设我们有一些随机信号,请说
x=rand(1,1000);
该信号的平均值可以很容易地实现为
平均=平均(X); 方差可以实现为
>> average_vector=repmat(average,1,1000);
>> diff=x-average_vector;
>> variance= sum(diff.*diff)/(length(x)-1);
我该怎么办?我的意思是如何选择频率?计算时间偏移不是问题,让我们假设我们有时间向量
t=0:0.1:99.9;
因此时间矢量的总长度为1000,通常对于DFT,频率区间表示为2 * pi / N的乘数,其中N是信号的长度,但是这种情况呢?提前谢谢
答案 0 :(得分:1)
从the provided link to MATLAB documentation可以看出,该算法不依赖于特定的采样时间t k 选择。请注意,对于等间隔采样时间(如您所选),相同的链接表示:
偏移仅取决于测量时间,并且当时间间隔相等时消失。
所以,正如你所说的那样“计算时间偏移不是问题”。
类似于可以通过选择一组离散频率从Discrete-Time Fourier Transform (DTFT)获得的DFT,我们也可以选择 f[n] = n * sampling_rate/N
(其中sampling_rate = 10
为您选择的t k )。如果我们忽略n=mN
的P LS (f [n])的值,其中m
是任何整数(因为它的值是不正确的,至少在公式中发布在链接中),然后:
因此对于实值数据样本:
其中Y
可以用您定义为的diff
向量表示:
Y = fft(diff);
即如wikipedia所示,Lomb-Scargle方法主要用于不等距数据。