annotate aim-mat/tools/@signal/antitilt.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 % usage: sigresult=tilt(sig,tilttime)
tomwalters@0 3 % puts the signal upright!
tomwalters@0 4 % in the auditory image model, all activities become
tomwalters@0 5 % smaller with the distance
tomwalters@0 6 % usually with a decrease of 100% in 40 ms
tomwalters@0 7 % if you call tilt with tilt(sig,0.04), this tilt is reversed
tomwalters@0 8 %
tomwalters@0 9 % INPUT VALUES:
tomwalters@0 10 % sig: original @signal
tomwalters@0 11 % tilttime: time in seconds that the old signal is assumed to go from 100% to 0
tomwalters@0 12 % [default: 0.04]
tomwalters@0 13 %
tomwalters@0 14 % RETURN VALUE:
tomwalters@0 15 % sigresult: @signal
bleeck@3 16 % This external file is included as part of the 'aim-mat' distribution package
bleeck@3 17 % (c) 2011, University of Southampton
bleeck@3 18 % Maintained by Stefan Bleeck (bleeck@gmail.com)
bleeck@3 19 % download of current version is on the soundsoftware site:
bleeck@3 20 % http://code.soundsoftware.ac.uk/projects/aimmat
bleeck@3 21 % documentation and everything is on http://www.acousticscale.org
bleeck@3 22
tomwalters@0 23
tomwalters@0 24 function sig=antitilt(sig,tilttime)
tomwalters@0 25
tomwalters@0 26 if nargin<2
tomwalters@0 27 tilttime=0.04;
tomwalters@0 28 end
tomwalters@0 29
tomwalters@0 30 vals=sig.werte;
tomwalters@0 31
tomwalters@0 32 if getminimumtime(sig)>0
tomwalters@0 33 return
tomwalters@0 34 end
tomwalters@0 35 durationtotilt=abs(getminimumtime(sig));
tomwalters@0 36 tiltnr=time2bin(sig,0); % so viele Punkte werden getiltet
tomwalters@0 37 dt=tilttime-durationtotilt; % übrige Zeit, die links aus dem Bild rausgeht
tomwalters@0 38 dnull=dt/tilttime;
tomwalters@0 39 ti=linspace(dnull,1,tiltnr)';
tomwalters@0 40 vals(1:tiltnr)=vals(1:tiltnr)./ti;
tomwalters@0 41 % figure
tomwalters@0 42 % subplot(2,1,1)
tomwalters@0 43 % plot(sig);
tomwalters@0 44 sig.werte=vals;
tomwalters@0 45 % subplot(2,1,2)
tomwalters@0 46 % plot(sig);
tomwalters@0 47
tomwalters@0 48
tomwalters@0 49