2014-12-06 303 views
1

将白高斯噪声添加到您录制的语音信号中,其中“频谱不与使用matlab添加高斯白噪声

与您的语音频谱发生冲突”(高频噪声)。

因此,对于上述说法,这是否意味着它们的大小应该是相同的?

noisyVoice = awgn(myVoice,1) 

这是我的两个声音的图形和嘈杂voise(具有加性白高斯噪声)::

enter image description here

我已在语音使用MATLAB命令添加白高斯

+0

频域图的'x轴'有问题! – Rashid 2014-12-06 13:01:57

+0

@Kamtal我编辑了x轴的标签 – AMH9 2014-12-06 13:12:48

回答

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)') 

enter image description here

您应该调整低通滤波器和调制频率与您的数据。