nonshape.py 文件源码

python
阅读 29 收藏 0 点赞 0 评论 0

项目:demo_OSG_python 作者: srcole 项目源码 文件源码
def _lagged_coherence_1freq(x, f, Fs, N_cycles=3, f_step=1):
    """Calculate lagged coherence of x at frequency f using the hanning-taper FFT method"""
    Nsamp = int(np.ceil(N_cycles*Fs / f))
    # For each N-cycle chunk, calculate phase
    chunks = _nonoverlapping_chunks(x,Nsamp)
    C = len(chunks)
    hann_window = signal.hanning(Nsamp)
    fourier_f = np.fft.fftfreq(Nsamp,1/float(Fs))
    fourier_f_idx = _arg_closest_value(fourier_f,f)
    fourier_coefsoi = np.zeros(C,dtype=complex)
    for i2, c in enumerate(chunks):
        fourier_coef = np.fft.fft(c*hann_window)

        fourier_coefsoi[i2] = fourier_coef[fourier_f_idx]

    lcs_num = 0
    for i2 in range(C-1):
        lcs_num += fourier_coefsoi[i2]*np.conj(fourier_coefsoi[i2+1])
    lcs_denom = np.sqrt(np.sum(np.abs(fourier_coefsoi[:-1])**2)*np.sum(np.abs(fourier_coefsoi[1:])**2))
    return np.abs(lcs_num/lcs_denom)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号