我正在模拟一个信号(见下文),后来我给它添加了噪音。 但我不想为每个样本点添加噪音。那么有没有办法将我的噪声数组的定义量设置为零(零必须随机定位)。 nse_kappa和noise_mu是为噪声分布定义的参数
x = np.zeros((n_epochs, times.size))
for i in range(0,n_epochs):
print("Signal simulation of Epoch %s complete") %(i+1)
for j in range(0, freqs0.size):
x[i] = x[i] + (np.sqrt(Rxx0[j]) * np.sin(1 * np.pi * freqs0[j] * times))
x[i] = x[i] + np.random.normal(loc=noise_mu, scale= nse_kappa, size=times.size)
答案 0 :(得分:1)
添加噪音时,请检查是否应添加噪音。
import random
for x in range(10):
if random.uniform(0,1) > 0.5:
print "Add noise"
else:
print "Do nothing"
答案 1 :(得分:0)
使用random.sample生成非重复随机整数作为索引,并使用它们将数组值设置为零。
import random
# your code
N = 100 # number of indices set to zero
ind = random.sample(range(len(x)),N)
x[ind] = 0.