我有一个时间序列,并使用matplotlib.pyplot.specgram在Python中生成其频谱图。 在进行一些分析和更改之后,我需要将频谱图转换回时间序列。 我可以直接使用matplotlib或其他库中的任何函数吗?或者如果没有,请您详细说明我应该在哪个方向工作?
感谢您的热情帮助。
答案 0 :(得分:1)
Matplotlib是一个用于绘制数据的库。通常,如果您尝试进行任何计算,则可以使用适合该计算的库。
numpy
是一个非常流行的用于在Python中进行数值计算的库。碰巧他们有一套相当广泛的fft
和ifft
方法。
我会check them out here,看看他们是否可以解决您的问题。
答案 1 :(得分:1)
通常做的一件事(例如在源分离社区中)是使用原始信号的相位数据(在转换之前应用于它) - 结果比零或随机相更好,而不是到目前为止来自旨在从头开始重建相位信息的算法。
经典的重建算法是Gri ffi n& Lim's,在文章“Signal mrom fi ed short-time Fourier transform”中有所描述。这是一个迭代算法,每次迭代都需要一个完整的STFT /逆STFT,这使得它非常昂贵。
这个问题确实是一个活跃的研究领域,搜索STFT +重建+幅度将产生大量论文,旨在改善Griffin& Lim的信号质量和/或计算效率。
找到详细的讨论