0

我在信号分析中遇到了一些问题。我在脚本 (x) 中加载了一个形状为 x(68, 815) 的数组。68 代表阵列中的信号数量。所以我想对它执行PSD和CSD。CSD:x[0] 和 x[1] .... x[0] 和 x[67] 以及以下... x[1] 和 x[1] .... x[1] 和 x[67 ] 等等

但不知何故,计算值符合我的预期,在进一步计算中使用它们会导致令人不安的结果。谁能找到我的错误?我完全迷路了。只见林不见树。

x = np.load('/home/daniel/Dropbox/[...]')

nfft = 512
n_freqs = nfft/2+1
n_epochs = len(x) # in this case there are 68 channels, does not want to change the variable name
sfreq = 1000

def compute_mean_psd_csd(x, n_epochs, nfft, sfreq):
    '''Computes mean of PSD and CSD for signals.'''

    Rxy = np.zeros((n_epochs, n_epochs, n_freqs), dtype=complex)
    Rxx = np.zeros((n_epochs, n_epochs, n_freqs), dtype=complex)
    Ryy = np.zeros((n_epochs, n_epochs, n_freqs), dtype=complex)
    for i in range(n_epochs):
        for j in range(n_epochs):
            Rxy[i,j], freqs = mlab.csd(x[i], x[j], NFFT=nfft, Fs=sfreq)
            Rxx[i,j], _____ = mlab.psd(x[i], NFFT=nfft, Fs=sfreq)
            Ryy[i,j], _____ = mlab.psd(x[i], NFFT=nfft, Fs=sfreq)
4

0 回答 0