最近在給一個多通道語音加上不同信噪比的單通道噪聲的時候,需要將單通道噪聲變成多通道,比如\(6*1\)的噪聲向量,那么需要變成\(6*4\)的矩陣。也就是將自身堆疊4次構成新的矩陣。然后再去跟多通道語音相加。(因為后面涉及到一些操作,廣播的方式不利於后面的處理)。
現在介紹兩種方法解決該問題
使用tile
import numpy as np
x = np.array([1, 2, 3, 4])
'''
假如需要將該變量復制n次,這里n取4
'''
y = np.tile(x, [4,1]).T
可以得到結果如下
矩陣乘法
另外一種方式就是借助於矩陣乘法
import numpy as np
x = np.array([1, 2, 3, 4])
y = np.array([1, 1, 1, 1])
z = np.outer(x,y)
同樣可以得到上述結果
因為對python的使用程度遠遠談不上熟練,所以希望能有其它短小精悍方法的朋友們,能不吝賜教。