【发布时间】:2017-01-31 13:30:02
【问题描述】:
所以这是一个有点棘手的问题......
我有一个时间序列信号,它的响应谱不均匀,我需要对其进行美白处理。我使用频率时间归一化方法进行此白化,其中我使用恒定的窄频带(~1/4 最低频率端成员)在两个频率端点之间增量过滤我的信号。然后我找到表征这些窄带中每一个的包络,并将该频率分量归一化。然后我使用这些规范化的信号重建我的信号......全部在 python 中完成(抱歉,必须是 python 解决方案)......
问题是,我必须为大约 500,000 个这样的信号执行此操作,并且需要一段时间(每个大约一分钟)......几乎所有时间都花在实际(多个)上希尔伯特变换
我已经在一个小型集群上运行它。我不想并行化希尔伯特所在的循环。
我正在寻找替代包络例程/函数(非 Hilbert),或替代方法来计算整个窄带响应函数而无需执行循环。
另一种选择是使频带适应其过滤的中心频率,因此随着我们进行例程,它们会逐渐变大;这只会减少我必须通过循环的次数。
欢迎提出任何建议!!!
【问题讨论】:
-
hilbert 使用 fft,因此将信号长度设置为 2**n 会加快一点速度。
-
离最近的 pow2 太远了,但我确保它至少是一个偶数,这可以改善它。