Mercurial > hg > ishara
view dsp/smooth_with.m @ 42:ae596261e75f
Various fixes and development to audio handling
author | samer |
---|---|
date | Tue, 02 Dec 2014 14:51:13 +0000 |
parents | c3b0cd708782 |
children |
line wrap: on
line source
function Z=smooth_with(h,i,Y) % smooth_with - Smooth a signal by convolution without changing length % % smooth_with :: [[M]], 1..M, [[N]] -> [[N]]. m=length(h); h=stoch(h(:))'; csh=cumsum(h); rsh=fliplr(cumsum(fliplr(h))); if isvector(Y), Z=sm(Y); else Z=maprows(@sm,Y); end function z=sm(y) z=conv(h,y); % complete convolution z=z(i:end-(m-i)); % trim the ends % rescale end bits z(1:m-i)=z(1:m-i)./csh(i:end-1); z(end-i+2:end)=z(end-i+2:end)./rsh(2:i); end end