annotate aim-mat/tools/@frame/getweightedsum.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 74dedb26614d
children
rev   line source
tomwalters@0 1 % method of class @frame
tomwalters@0 2 %
tomwalters@0 3 % INPUT VALUES:
tomwalters@0 4 %
tomwalters@0 5 % RETURN VALUE:
tomwalters@0 6 %
tomwalters@0 7 %
tomwalters@0 8 % (c) 2003, University of Cambridge, Medical Research Council
tomwalters@0 9 % Stefan Bleeck (stefan@bleeck.de)
tomwalters@0 10 % http://www.mrc-cbu.cam.ac.uk/cnbh/aimmanual
tomwalters@0 11 % $Date: 2003/01/17 16:57:46 $
tomwalters@0 12 % $Revision: 1.3 $
tomwalters@0 13
tomwalters@0 14 function sumsig=getweightedsum(fr,cutoff,db_per_octave,von,bis)
tomwalters@0 15 % weights the frequency with some function (usually lowpass)
tomwalters@0 16
tomwalters@0 17 if nargin<5
tomwalters@0 18 bis=getnrchannels(fr);
tomwalters@0 19 end
tomwalters@0 20 if nargin < 4
tomwalters@0 21 von=1;
tomwalters@0 22 end
tomwalters@0 23
tomwalters@0 24 if nargin < 2
tomwalters@0 25 cutoff=4000;
tomwalters@0 26 end
tomwalters@0 27 if nargin < 3
tomwalters@0 28 db_per_octave=6; % quality above
tomwalters@0 29 end
tomwalters@0 30
tomwalters@0 31
tomwalters@0 32 % number=getnrchannels(fr);
tomwalters@0 33 cfs=getcf(fr);
tomwalters@0 34
tomwalters@0 35 samplesig=getsinglechannel(fr,1);
tomwalters@0 36 sumsig=signal(samplesig);
tomwalters@0 37 sumsig=mute(sumsig);
tomwalters@0 38 sumsig=setname(sumsig,sprintf('weighted sum of frame: %s',getname(fr)));
tomwalters@0 39
tomwalters@0 40 for i=von:bis
tomwalters@0 41 sig=getsinglechannel(fr,i);
tomwalters@0 42 cur_fre=cfs(i);
tomwalters@0 43 scaler=getfiltervalue(cur_fre,cutoff,db_per_octave);
tomwalters@0 44
tomwalters@0 45 sig=sig*scaler;
tomwalters@0 46 sumsig=sumsig+sig;
tomwalters@0 47
tomwalters@0 48 end