annotate aim-mat/tools/@signal/attenuate.asv @ 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 @signal
tomwalters@0 2 %
tomwalters@0 3 % INPUT VALUES:
tomwalters@0 4 % sig,attenuation
tomwalters@0 5 % sig is the signal
tomwalters@0 6 % attenuation is the attenuation against the lowdest possible tone
tomwalters@0 7 %
tomwalters@0 8 %
tomwalters@0 9 %
tomwalters@0 10 % RETURN VALUE:
tomwalters@0 11 %
tomwalters@0 12 %
tomwalters@0 13 % (c) 2003, University of Cambridge, Medical Research Council
tomwalters@0 14 % Stefan Bleeck (stefan@bleeck.de)
tomwalters@0 15 % http://www.mrc-cbu.cam.ac.uk/cnbh/aimmanual
tomwalters@0 16 % $Date: 2003/06/11 10:46:32 $
tomwalters@0 17 % $Revision: 1.1 $
tomwalters@0 18
tomwalters@0 19
tomwalters@0 20
tomwalters@0 21 function sig=attenuate(sig,attenuation)
tomwalters@0 22
tomwalters@0 23 if attenuation==0
tomwalters@0 24 return
tomwalters@0 25 end
tomwalters@0 26
tomwalters@0 27 dat=sig.werte;
tomwalters@0 28 ma=max(dat);
tomwalters@0 29 mi=min(dat);
tomwalters@0 30 if -mi > ma
tomwalters@0 31 ma=-mi;
tomwalters@0 32 end
tomwalters@0 33
tomwalters@0 34
tomwalters@0 35 amphigh=max(sig);
tomwalters@0 36
tomwalters@0 37 amp=amphigh / power(10,-attenuation/20);
tomwalters@0 38 if amp>0
tomwalters@0 39 sig=scaletomaxvalue(sig,amp);
tomwalters@0 40 end
tomwalters@0 41