我已经搜索过并发现这可能是关于类型的问题。但我尝试使用astype强制数组浮动,但没有成功。这必须是一个简单的错误,但不是初学者。 关于问题:我试图在所有麦克风的信号之外形成空间相关矩阵。
R_a[k][l] = np.correlate(self.mic_list[k].delayed_signal,self.mic_list[l].delayed_signal)
这个类有一个mic_list,它是一个mic列表,这是另一个有这个方法的类
def add_delayed_signal (self, delayed_signal):
self.delayed_signal = delayed_signal
先谢谢你。
答案 0 :(得分:0)
我猜测R_a
是一个二维数组。 np.correlate
做的是计算两个信号之间的cross-correlation,并给出一个向量作为结果(而不是标量)。
您正在寻找的内容可能是np.cov
或np.corrcoef
。这些也是获得所需结果的矢量化方法。
例如:
>>> x = np.random.randn(10)
>>> y = np.random.randn(10)
>>> X = np.vstack((x, y))
>>> X
array([[ 1.45841294, -0.16430013, -0.20782822, 0.08979425, -1.38337166,
0.36488053, -2.57135737, 0.81215918, -0.54081983, 0.30421112],
[-0.79416305, 1.14511318, -0.4962483 , -0.42647021, -0.59925241,
-0.45612051, -0.02566026, -1.7668091 , -1.63098627, 0.3761437 ]])
>>> np.cov(X)
array([[ 1.28563113, -0.20563105],
[-0.20563105, 0.74178773]])
这是你正在寻找的吗?