annotate aim-mat/tools/@signal/convolute.m @ 4:537f939baef0 tip

various bug fixes and changed copyright message
author Stefan Bleeck <bleeck@gmail.com>
date Tue, 16 Aug 2011 14:37:17 +0100
parents 20ada0af3d7d
children
rev   line source
tomwalters@0 1 % method of class @signal
tomwalters@0 2 % function sig=convolute(sig1,sig2)
tomwalters@0 3 %
tomwalters@0 4 % calculates the convolution between the signals sig1 and sig2. The
tomwalters@0 5 % return value is a signal
tomwalters@0 6 %
tomwalters@0 7 % INPUT VALUES:
tomwalters@0 8 % sig1: original @signal
tomwalters@0 9 % sig2: @signal to correlate with
tomwalters@0 10 %
tomwalters@0 11 % RETURN VALUE:
tomwalters@0 12 % @sig: the convolution values at each delay
tomwalters@0 13 %
bleeck@3 14 % This external file is included as part of the 'aim-mat' distribution package
bleeck@3 15 % (c) 2011, University of Southampton
bleeck@3 16 % Maintained by Stefan Bleeck (bleeck@gmail.com)
bleeck@3 17 % download of current version is on the soundsoftware site:
bleeck@3 18 % http://code.soundsoftware.ac.uk/projects/aimmat
bleeck@3 19 % documentation and everything is on http://www.acousticscale.org
bleeck@3 20
tomwalters@0 21
tomwalters@0 22 function sig=convolute(sig1,sig2)
tomwalters@0 23
tomwalters@0 24
tomwalters@0 25 values1=getvalues(sig1);
tomwalters@0 26 values2=getvalues(sig2);
tomwalters@0 27
tomwalters@0 28 % do the convolution
tomwalters@0 29 sr1=getsr(sig1);
tomwalters@0 30 sr2=getsr(sig2);
tomwalters@0 31
tomwalters@0 32 if sr1~=sr2
tomwalters@0 33 error('sample rates of both signals must be the same!');
tomwalters@0 34 return
tomwalters@0 35 end
tomwalters@0 36
tomwalters@0 37 corrcovs=conv(values1,values2);
tomwalters@0 38
tomwalters@0 39 % return a signal:
tomwalters@0 40 sig=signal(corrcovs,sr1);
tomwalters@0 41 sig=setname(sig,'Convolution');
tomwalters@0 42
tomwalters@0 43
tomwalters@0 44
tomwalters@0 45
tomwalters@0 46
tomwalters@0 47