添加高斯白噪音
def gen_gaussian_noise(signal,SNR): noise=np.random.randn(*signal.shape) noise=noise-np.mean(noise)signal_power=(1/signal.shape[0])*np.sum(np.power(signal,2))noise_variance=signal_power/np.power(10,(SNR/10))noise=(np.sqrt(noise_variance)/np.std(noise))*noisereturn noise
验证信噪比
def check_snr(signal,noise):signal_power=(1/signal.shape[0])*np.sum(np.power(signal,2))noise_power=(1/noise.shape[0])*np.sum(np.power(noise,2)) SNR=10*np.log10(signal_power/noise_power)return SNR
给信号加噪声程序
Noise_data = []
X_train=X_train.reshape(5900,2048).detach().numpy()
for i in range(X_train.shape[0]):noise = gen_gaussian_noise(X_train[i,:],-2)new_signal = X_train[i,:] + noiseNoise_data.append(new_signal)SNR= check_snr(X_train[i,:],noise)
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!