scipy.signal.lombscargle¶
- scipy.signal.lombscargle(x, y, freqs)[源代码]¶
- 计算Lomb-Scarger周期图。 - Lomb-Scargl型周期图是由Lomb开发的 [1] 并由斯卡格尔进一步延伸 [2] 寻找和检验具有不均匀时间采样的弱周期信号的显著性。 - 什么时候 规格化 为FALSE(默认值),则计算的周期图未标准化,它采用值 - (A**2) * N/4对于足够大的N,振幅为A的谐波信号。- 什么时候 规格化 如果为True,则计算的周期图由恒定参考模型周围的数据残差(零点)归一化。 - 输入数组应该是一维的,并将强制转换为Float64。 - 参数
- xarray_like
- 采样时间。 
- yarray_like
- 测量值。 
- freqsarray_like
- 输出周期图的角频率。 
- precenter布尔值,可选
- 通过减去平均值来确定前置中测量值。 
- normalize布尔值,可选
- 计算归一化周期图。 
 
- 退货
- pgramarray_like
- Lomb-Scargl型周期图。 
 
- 加薪
- ValueError
- 如果输入数组 x 和 y 形状不同。 
 
 - 参见 - istft
- 短时傅里叶逆变换 
- check_COLA
- 检查是否满足常量重叠添加(Cola)约束 
- welch
- 韦尔奇方法的功率谱密度 
- spectrogram
- 韦尔奇(氏)法频谱图 
- csd
- 韦尔奇方法的互谱密度 
 - 注意事项 - 由于Townsend的原因,此子例程使用稍作修改的算法计算周期图 [3] 这允许仅使用通过每个频率的输入阵列的单次通过来计算周期图。 - 对于大量的样本和频率,算法的运行时间大致为O(x*freqs)或O(N^2)。 - 参考文献 - 1
- N.R.Lomb“不等间隔数据的最小二乘频率分析”,“天体物理和空间科学”,第39卷,第447-462页,1976年。 
- 2
- J.D.斯卡格尔:“天文时间序列分析研究。II-非均匀分布数据的谱分析的统计方面”,“天体物理杂志”,第263卷,第835-853页,1982年。 
- 3
- R.H.D.Townsend,“使用图形处理单元快速计算Lomb-Scargl型周期图”,“天体物理杂志增刊系列”,第191卷,第247-253页,2010年。 
 - 示例 - >>> import matplotlib.pyplot as plt >>> rng = np.random.default_rng() - 首先定义信号的一些输入参数: - >>> A = 2. >>> w = 1. >>> phi = 0.5 * np.pi >>> nin = 1000 >>> nout = 100000 >>> frac_points = 0.9 # Fraction of points to select - 随机选择带有时间步长的数组的一小部分: - >>> r = rng.standard_normal(nin) >>> x = np.linspace(0.01, 10*np.pi, nin) >>> x = x[r >= frac_points] - 绘制选定时间的正弦波: - >>> y = A * np.sin(w*x+phi) - 定义要计算周期图的频率数组: - >>> f = np.linspace(0.01, 10, nout) - 计算Lomb-Scarger周期图: - >>> import scipy.signal as signal >>> pgram = signal.lombscargle(x, y, f, normalize=True) - 现在绘制输入数据的曲线图: - >>> plt.subplot(2, 1, 1) >>> plt.plot(x, y, 'b+') - 然后绘制归一化周期图: - >>> plt.subplot(2, 1, 2) >>> plt.plot(f, pgram) >>> plt.show() 