gpt4 book ai didi

fft - 在 Julia 中实现 STFT(短时傅立叶变换)的最佳方法是什么

转载 作者:行者123 更新时间:2023-12-04 02:20:56 27 4
gpt4 key购买 nike

所以,我想知道如何实现 STFT在 Julia 中,可能使用汉明窗。我在互联网上找不到任何东西。

最好的方法是什么?我宁愿不使用 Python 库,但如果可能的话,我宁愿使用纯原生的 Julia。也许它是 Juila 中仍在开发的功能...?

谢谢!

最佳答案

我不知道 Julia 中有任何原生 STFT 实现。正如大卫在他的评论中所说,你必须自己实现。这相当简单:

1) 将信号分解成短时间段

2) 应用您选择的窗口(在您的情况下,Hamming)

3) 使用 Julia 的 fft 函数进行 FFT。

以上都是相当标准的数学运算,你会在网上找到很多引用资料。如果您还没有汉明窗,下面的代码会生成一个汉明窗(使用在线引用时请注意 Julia 的 1-indexing,因为很多信号处理引用资料都喜欢使用 0 -indexing 在描述窗口生成时)。

Wb = Array(Float64, N)
## Hamming Window Generation
for n in 1:N
Wb[n] = 0.54-0.46cos(2pi*(n-1)/N)
end

您还可以使用 DSP.jl 中的汉明窗函数.

P.S 如果您在 OS X 上运行 Julia,请查看 Julia interface Apple 的 Accelerate 框架。这提供了一个非常快速的汉明窗口实现,以及可能有用的卷积和元素乘法函数。

关于fft - 在 Julia 中实现 STFT(短时傅立叶变换)的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37255298/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com