为录制的语音信号添加高斯白噪声,其频谱为“
”与您的语音频谱冲突“(高频噪音)。
因此,对于上述声明,是否意味着它们的大小应该相同?
我使用matlab命令在我的声音中添加了白高斯:
noisyVoice = awgn(myVoice,1)
这是我的声音和嘈杂的声音(添加了高斯白噪声的声音)的图表:
答案 0 :(得分:1)
一种解决方案是过滤高斯噪声,然后将其调制到特定频段。
Fs = 1000;
L = 500;
t = (0 : L-1)/Fs;
x = chirp(t,10,.5,100);
NFFT = 2^nextpow2(L);
Y = fft(x,NFFT)/L;
f = Fs / 2 * linspace(0,1,NFFT/2+1);
subplot(211)
plot(f,2*abs(Y(1:NFFT/2+1)))
title('Amplitude Spectrum of Noise-free Signal')
xlabel('Frequency (Hz)')
b = fir2(30,[0 2*50 2*50 Fs]/Fs,[1 1 0 0]);
n = randn(L, 1);
nb = filter(b,1,n);
newx = x + nb' .* cos(2*pi*300*t); % x + modulated noise (Fc = 300Hz)
newY = fft(newx,NFFT)/L;
subplot(212)
plot(f,2*abs(newY(1:NFFT/2+1)))
title('Amplitude Spectrum of Noisy Signal')
xlabel('Frequency (Hz)')
您应该使用数据调整低通滤波器和调制频率。