blockFrames.m
上传用户:jzquartz
上传日期:2008-06-09
资源大小:389k
文件大小:1k
源码类别:

Audio

开发平台:

Matlab

  1. function M3 = blockFrames(s, fs, m, n)
  2. % blockFrames: Puts the signal into frames
  3. %
  4. % Inputs: s  contains the signal to analize
  5. %         fs is the sampling rate of the signal
  6. %         m  is the distance between the beginnings of two frames
  7. %         n  is the number of samples per frame
  8. %
  9. % Output: M3 is a matrix containing all the frames
  10. %
  11. %
  12. %%%%%%%%%%%%%%%%%%
  13. %
  14. % Author:     Amin Koohi(Sohrevardi)
  15. %              AminSohrevardi@yahoo.com , AminKoohi@yahoo.com
  16.     l = length(s);
  17.     nbFrame = floor((l - n) / m) + 1;
  18.     
  19.     for i = 1:n
  20.         for j = 1:nbFrame
  21.             M(i, j) = s(((j - 1) * m) + i);
  22.         end
  23.     end
  24.     
  25.     h = hamming(n);
  26.     M2 = diag(h) * M;
  27.     
  28.     for i = 1:nbFrame
  29.         M3(:, i) = fft(M2(:, i));
  30.     end
  31.