親愛的全部 我正在尋找一種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. java雙重計算
- 4. 雙重HashCode計算
- 5. CSS計算「函數」
- 6. AVR函數計算
- 7. 計算sigmoid函數
- 8. PHP計算函數
- 9. 函數計算logarit
- 10. Excel.Application.WorksheetFunction.RTD沒有重新計算,當雙擊函數
- 11. 兩個互相干擾的jquery函數
- 12. Python函數參數計算
- 13. 計算FFT相關係數
- 14. 計算複數的相位
- 15. R相關分數計算
- 16. 加入和計數在相同的查詢沒有雙字段計算
- 17. 用C++計算小雙數的錯誤
- 18. 計算雙倍數的百分比
- 19. 雙數據類型計算器C#
- 20. 雙計算產生奇數結果
- 21. 函數計算postgresql中的總計數
- 22. 相關計算
- 23. 要計算相同項目的計數
- 24. 計算不正確雙
- 25. Objective-C雙重長計算
- 26. 精確計算雙精度
- 27. Magento雙重稅計算
- 28. Java雙重計算問題
- 29. 雙重強制Python計算
- 30. Java計算雙打 - NaN