【问题标题】:adding white Gaussian noise using matlab使用matlab添加高斯白噪声
【发布时间】:2015-02-04 13:42:12
【问题描述】:

在录制的语音信号中添加高斯白噪声,其频谱不会

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

那么对于上面的说法,是否意味着它们的大小应该相同?

我使用 matlab 命令在我的声音上添加了白色高斯:

noisyVoice = awgn(myVoice,1) 

这是我的声音和嘈杂声音(添加了高斯白噪声的声音)的图表:

【问题讨论】:

    标签: matlab noise


    【解决方案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)')
    

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

    【讨论】:

      猜你喜欢
      • 2013-10-14
      • 2011-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-07
      • 2016-08-17
      • 1970-01-01
      • 2012-12-18
      相关资源
      最近更新 更多