Pages

Subscribe:

Senin, 05 November 2012

ANALISIS FFT, LOWPASS FILTER DAN RUNNING MEAN SUARA (*.WAV) DENGAN MENGGUNAKAN MATLAB



ANALISIS FFT, LOWPASS FILTER DAN RUNNING MEAN SUARA (*.WAV) DENGAN MENGGUNAKAN MATLAB

Muhammad Idris
Departemen Ilmu dan Teknologi Kelautan
Institut Pertanian Bogor
Dalam analisis suara terkadang kita tidak kita membutuhkan FFT, Low Pass Filter dan Running Mean. Berikut ini adalah syntak Matlab untuk menampilkan grafik FFT, Low Pass Filter dan Running Mean (untuk suara ekstensi *.wav) untuk analisis suara:



if ~ispc
    dsp_error('windowsOnly', ...
      'This demo is supported only on Windows(R) platforms.');
end
frameSize = 1024;
hfileIn = signalblks.MultimediaFileReader(which('idrissesudah.wav'), ...
    
        'SamplesPerAudioFrame', frameSize, ...
            'AudioOutputDataType', 'double');
fileInfo = info(hfileIn);
Fs = fileInfo.AudioSampleRate;
hfft = signalblks.FFT;
hmean = signalblks.Mean('RunningMean', true);
hmin  = signalblks.Minimum('RunningMinimum', true);
hmax  = signalblks.Maximum('RunningMaximum', true);
hfilter = signalblks.DigitalFilter(...
  'TransferFunction', 'FIR (all zeros)', 'Numerator', fir1(10,0.3));
haudioOut = signalblks.AudioPlayer('SampleRate', Fs, ...
                              'QueueDuration', 0.5);
s = hfigsstats(frameSize, Fs);
while ~isDone(hfileIn)
    sig = step(hfileIn);
    fftoutput = step(hfft, sig);
    fftoutput = fftoutput(1:512);
    meanval = step(hmean, sig);
    minimum = step(hmin, sig);
    maximum = step(hmax, sig);
    filteroutput = step(hfilter, sig);
    filteroutputfft = step(hfft, filteroutput);
    step(haudioOut, sig);
    s = plotstatsdata(s, minimum, maximum, sig.', meanval, fftoutput, filteroutputfft);
end
pause(2);

Contoh tampilan grafik :

Semoga bermanfaat

0 komentar:

Posting Komentar