mirror of
https://github.com/mborgerding/kissfft.git
synced 2025-05-27 21:20:27 -04:00
27 lines
653 B
Matlab
27 lines
653 B
Matlab
function maxabsdiff=tailscrap()
|
|
% test code for circular convolution with the scrapped portion
|
|
% at the tail of the buffer, rather than the front
|
|
%
|
|
% The idea is to rotate the zero-padded h (impulse response) buffer
|
|
% to the left nh-1 samples, rotating the junk samples as well.
|
|
% This could be very handy in avoiding buffer copies during fast filtering.
|
|
nh=10;
|
|
nfft=256;
|
|
|
|
h=rand(1,nh);
|
|
x=rand(1,nfft);
|
|
|
|
hpad=[ h(nh) zeros(1,nfft-nh) h(1:nh-1) ];
|
|
|
|
% baseline comparison
|
|
y1 = filter(h,1,x);
|
|
y1_notrans = y1(nh:nfft);
|
|
|
|
% fast convolution
|
|
y2 = ifft( fft(hpad) .* fft(x) );
|
|
y2_notrans=y2(1:nfft-nh+1);
|
|
|
|
maxabsdiff = max(abs(y2_notrans - y1_notrans))
|
|
|
|
end
|