Mercurial > hg > aimmat
annotate aim-mat/tools/@signal/getzerocrossings.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 % |
tomwalters@0 | 3 % INPUT VALUES: |
tomwalters@0 | 4 % |
tomwalters@0 | 5 % RETURN VALUE: |
tomwalters@0 | 6 % |
tomwalters@0 | 7 % |
bleeck@3 | 8 % This external file is included as part of the 'aim-mat' distribution package |
bleeck@3 | 9 % (c) 2011, University of Southampton |
bleeck@3 | 10 % Maintained by Stefan Bleeck (bleeck@gmail.com) |
bleeck@3 | 11 % download of current version is on the soundsoftware site: |
bleeck@3 | 12 % http://code.soundsoftware.ac.uk/projects/aimmat |
bleeck@3 | 13 % documentation and everything is on http://www.acousticscale.org |
bleeck@3 | 14 |
tomwalters@0 | 15 |
tomwalters@0 | 16 function t=getzerocrossings(signal,var) |
tomwalters@0 | 17 % gets the zero crossings of the signal. |
tomwalters@0 | 18 % in Case, the Signal has many zeros and only few |
tomwalters@0 | 19 % bumps, like in a klicktrain, only the last zero is counted |
tomwalters@0 | 20 % if var is there, then not real zero, but a value of var is taken |
tomwalters@0 | 21 |
tomwalters@0 | 22 if nargin < 2 |
tomwalters@0 | 23 var=0; |
tomwalters@0 | 24 end |
tomwalters@0 | 25 |
tomwalters@0 | 26 werte=getdata(signal); |
tomwalters@0 | 27 |
tomwalters@0 | 28 nr= getnrpoints(signal); % so many points |
tomwalters@0 | 29 a=0; |
tomwalters@0 | 30 count=1; |
tomwalters@0 | 31 sr=getSR(signal); |
tomwalters@0 | 32 for i=1:nr |
tomwalters@0 | 33 b=werte(i); |
tomwalters@0 | 34 if a <= var & b > var |
tomwalters@0 | 35 t(count)=bin2time(signal,i); |
tomwalters@0 | 36 count=count+1; |
tomwalters@0 | 37 end |
tomwalters@0 | 38 % shift the last values |
tomwalters@0 | 39 a=b; |
tomwalters@0 | 40 end |