我根据理论功率谱密度生成了一些时间序列。
基本上,我在时间空间中的函数由 给出X(t) = SUM_n sqrt(a_n) + cos(w_n t + phi_n)
,其中是给定a_n
的值,并且是某个随机相位。为了获得真实的时间序列,我必须总结模式,当然我的大小也是如此。PSD
w_n
phi
2^25
t
2^25
如果我用 python 做到这一点,这将需要几个星期......
有什么办法可以加快速度吗?像一些矢量计算?
t_full = np.linspace(0,1e-2,2**12, endpoint = False)
signal = np.zeros_like(t_full)
for i in range(w.shape[0]):
signal += dataCOS[i] * np.cos(2*np.pi* t_full * w[i] + random.uniform(0,2*np.pi))
其中 dataCOS 是 sqrt a_n,w = w 和 random.uniform 表示随机相移 phi