اطلاعیه

Collapse
No announcement yet.

lاضافه کردن نویز سفید به تابع باsnr

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    lاضافه کردن نویز سفید به تابع باsnr

    سلام.لطفا کمکم کنید :angry: باید به نمونه هایی از سیگنال گفتار با snr=5,10,20 نویزسفید را اعمال کنم البته با استفاده از تابع زیر خواهش میکنم کمکم کنید.ممنون :wow: :an
    function ADD_Noise_From_File(InputFile,noisefile,OutputFile ,SNR)
    %%%%%%%%%%%%%%%%%%%%%% ALL Files Must be Wave file

    %-------------------- Read Input & Noise Files -----------------------
    [x,InputFs,Inputbits]=wavread('white.wav'

    [nSamples,o]=size(x);

    singldisp=0;
    inp=x;
    mn=mean(inp(1:length(inp)));

    x=x-mean(x);
    se=norm(x,2)^2/nSamples; %signal energy
    if isempty(SNR)
    errordlg('ERROR in SNR value','ERROR','on'
    return;
    end
    nsc=se/(10^(SNR/10));

    [y,NoiseFs,Noisebits]=wavread(noisefile,nSamples);
    cnt=size(y);

    if cnt<nSamples % --not enough samples in the noise file
    errordlg('Not enough samples in the noise file.','ERROR','on'
    return;
    end

    ny=norm(y,2)^2/nSamples;
    y=sqrt(nsc/ny)*y;
    x = x+y; mx=max(x);
    inp(1:nSamples)=x+mn*ones(nSamples,1);

    wavwrite(inp,InputFs,OutputFile);

    end
لطفا صبر کنید...
X