我正在尝试从en实验中生成一些合成数据。我得到了正频域的理论PSD,并计算出了一些时间序列。比C对我的数据做一些处理,做一个FFT并在频域进行拟合。我将首先向您展示一些代码,然后解释主要问题:
我评估理论PSD的箱子是我的箱子:
bins = np.linspace(1,1e3,2**13)
由此我计算我的时间序列:
^{pr2}$其中dataCOS
是PSD的值,对应的bins和t
由
t_full = np.linspace(0,1,2**13, endpoint = False)
我的问题是,我需要一个不抹黑我的时间序列的FFT。好吧,通常是不可能的,但是,如果我是正确的,并且在帧中以匹配的方式为每个时间点添加一个频率单元(最高和最低频率仍然可见),它应该可以工作。所以,我的问题是,箱子和t_full
如何成形??在
我的想法是:两者都需要有相同数量的点,最高和最低频率必须在时域可见。但我不确定,希望你能帮我。在
编辑*******************************************首先,为了进一步说明我的问题,请看所附的图片:在第一个例子中,你有一个经典的结果,一个反变换在时间域中有太多的点,但所有的箱子都是周期性的。在第二个是一样的,但是现在它们不再是周期性的了一个人得到了预期的污点。当然,这里可以使用过滤器来改进,但是如果您想适应初始的red函数,就会遇到大问题。最后一张图是我想要的结果:所有函数在时间范围内都是周期性的,所以没有涂抹。第二,每对t_-bins都包含我之前添加的一个频率,所以在计算极限处的云会消失。
为了得到这个结果,这里是所需的垃圾箱和垃圾箱的间距
bins = np.linspace(0,2**14,2**14, endpoint = False)
t_full = np.linspace(0,1,2*bins.shape[0], endpoint = False)
您可能只需要在FFT之前应用一个合适的window function来防止{a2}。我不是Python用户,所以我不能给出代码,但是公式的应用非常简单。尝试一个von Hann或Hamming窗口(它们相似,但形状略有不同)。在
相关问题 更多 >
编程相关推荐