annotate aim-mat/tools/@signal/getminmax.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 % returns the height and lows in locations and time of all local maxima in the signal
tomwalters@0 4 % in case of continuus maxima, the last value of the series is taken
tomwalters@0 5 %
tomwalters@0 6 % INPUT VALUES:
tomwalters@0 7 %
tomwalters@0 8 % RETURN VALUE:
tomwalters@0 9 %
bleeck@3 10 % This external file is included as part of the 'aim-mat' distribution package
bleeck@3 11 % (c) 2011, University of Southampton
bleeck@3 12 % Maintained by Stefan Bleeck (bleeck@gmail.com)
bleeck@3 13 % download of current version is on the soundsoftware site:
bleeck@3 14 % http://code.soundsoftware.ac.uk/projects/aimmat
bleeck@3 15 % documentation and everything is on http://www.acousticscale.org
bleeck@3 16
tomwalters@0 17
tomwalters@0 18 function [maxpos,minpos,maxs,mins]=getminmax(sig)
tomwalters@0 19 % usage: [maxpos,minpos,maxs,mins]=getminmax(sig)
tomwalters@0 20
tomwalters@0 21
tomwalters@0 22 werte=getdata(sig);
tomwalters@0 23 werte=werte';
tomwalters@0 24
tomwalters@0 25 % find all maxima
tomwalters@0 26 % mit NULL!!
tomwalters@0 27 maxpos = find((werte >= [0 werte(1:end-1)]) & (werte > [werte(2:end) 0]));
tomwalters@0 28 maxs=werte(maxpos);
tomwalters@0 29
tomwalters@0 30 % find all minima
tomwalters@0 31 minpos = find((werte < [inf werte(1:end-1)]) & (werte <= [werte(2:end) inf]));
tomwalters@0 32 mins=werte(minpos);
tomwalters@0 33
tomwalters@0 34 maxpos=bin2time(sig,maxpos);
tomwalters@0 35 minpos=bin2time(sig,minpos);