我从理论功率谱密度生成一些时间序列。
基本上,我的时间空间函数由X(t) = SUM_n sqrt(a_n) + cos(w_n t + phi_n)
组成,其中a_n
是在给定的 w_n
处 PSD
的值,而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是a_n的平方根,w = w,random.uniform表示随机相位偏移phi
w_n
是任意值还是像w_n = 2 * np.pi * n / T
这样的值? - Jaime