亲爱的全部 我正在寻找一种numpy/scipy函数来计算双向相干性和自动双相干性,研究三波相互作用。 谢谢所有可能的帮助 尼古拉函数计算双相干
Q
函数计算双相干
1
A
回答
1
也许这Matlab toolbox将帮助;通常,将Matlab转换为Python非常容易。
3
这在Python土地最佳的解决方案是http://pypi.python.org/pypi/nitime
它有几个相干估计,但我并没有在那些非常仔细。它是一个神经影像学软件包,但是算法只是故意使用numpy和scipy,所以它可以被其他应用程序使用。
0
如果您参考归一化的交叉谱密度(as defined in wikipedia),那么matplotlib.mlab.cohere就可以做到这一点。
1
这是一个依赖于scipy.spectrogram函数(scipy version> 0.17)并计算两个信号之间的双相干函数。从2001年Hagihira和林2007。参见Wikipedia-bicoherence
希望
定义有所帮助。
问候,
def compute_bicoherence(s1, s2, rate, nperseg=1024, noverlap=512):
""" Compute the bicoherence between two signals of the same lengths s1 and s2
using the function scipy.signal.spectrogram
"""
from scipy import signal
import numpy
# compute the stft
f1, t1, spec_s1 = signal.spectrogram(s1, fs = rate, nperseg = nperseg, noverlap = noverlap, mode = 'complex',)
f2, t2, spec_s2 = signal.spectrogram(s2, fs = rate, nperseg = nperseg, noverlap = noverlap, mode = 'complex')
# transpose (f, t) -> (t, f)
spec_s1 = numpy.transpose(spec_s1, [1, 0])
spec_s2 = numpy.transpose(spec_s2, [1, 0])
# compute the bicoherence
arg = numpy.arange(f1.size/2)
sumarg = arg[:, None] + arg[None, :]
num = numpy.abs(
numpy.mean(spec_s1[:, arg, None] * spec_s1[:, None, arg] * numpy.conjugate(spec_s2[:, sumarg]),
axis = 0)
) ** 2
denum = numpy.mean(
numpy.abs(spec_s1[:, arg, None] * spec_s1[:, None, arg]) ** 2, axis = 0) * numpy.mean(
numpy.abs(numpy.conjugate(spec_s2[:, sumarg])) ** 2,
axis = 0)
bicoh = num/denum
return f1[arg], bicoh
# exemple of use and display
freqs, bicoh = compute_bicoherence(s1, s2, rate)
f = plt.figure(figsize = (9, 9))
plt.pcolormesh(freqs, freqs, bicoh,
# cmap = 'inferno'
)
plt.colorbar()
plt.clim(0, 0.5)
plt.show()
相关问题
- 1. 双错计算
- 2. 创建用于计算根的简单函数使用数据Seq [SEQ [(双,双]]
- 3. 双重HashCode计算
- 4. 计算sigmoid函数
- 5. 函数计算logarit
- 6. Python函数参数计算
- 7. 计算复数的相位
- 8. 计算FFT相关系数
- 9. 加入和计数在相同的查询没有双字段计算
- 10. 双计算产生奇数结果
- 11. 双数据类型计算器C#
- 12. 计算双倍数的百分比
- 13. 用C++计算小双数的错误
- 14. 要计算相同项目的计数
- 15. Java计算双打 - NaN
- 16. Objective-C双重长计算
- 17. 双重强制Python计算
- 18. 计算MIN和MAX函数
- 19. ActionScript函数在计算器
- 20. 计算气体函数
- 21. 分段函数计算
- 22. 函数的大O计算
- 23. 传递函数不计算
- 24. 时间戳计算函数
- 25. 淘汰赛计算函数
- 26. 计算句子的函数
- 27. f#计算差异函数
- 28. 计时函数:双重返回0 MS
- 29. 计算阵列自相关函数的方法
- 30. r函数cor.test():如何计算皮尔逊相关的p值?