2014-12-06 133 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

您應該調整低通濾波器和調製頻率與您的數據。