tailscrap.m
上传用户:ozl2332
上传日期:2009-12-28
资源大小:38k
文件大小:1k
源码类别:

语音压缩

开发平台:

C/C++

  1. function maxabsdiff=tailscrap()
  2. % test code for circular convolution with the scrapped portion 
  3. % at the tail of the buffer, rather than the front
  4. %
  5. % The idea is to rotate the zero-padded h (impulse response) buffer
  6. % to the left nh-1 samples, rotating the junk samples as well.
  7. % This could be very handy in avoiding buffer copies during fast filtering.
  8. nh=10;
  9. nfft=256;
  10. h=rand(1,nh);
  11. x=rand(1,nfft);
  12. hpad=[ h(nh) zeros(1,nfft-nh) h(1:nh-1) ]; 
  13. % baseline comparison
  14. y1 = filter(h,1,x);
  15. y1_notrans = y1(nh:nfft);
  16. % fast convolution
  17. y2 = ifft( fft(hpad) .* fft(x) );
  18. y2_notrans=y2(1:nfft-nh+1);
  19. maxabsdiff = max(abs(y2_notrans - y1_notrans))
  20. end