* * Example TRACE.DAT from pp 718-720 * open data track.dat data(format=free,org=columns) 1 24 time error * * Brown and Trigg tracking signals * (Table 17-1) * compute alpha=.10 compute triptsm=4.0 compute triptst=.35 compute mad=59.22,cusum=0.0,sad=0.0 do t=1,24 compute mad =mad+alpha*(abs(error(t))-mad) compute cusum=cusum+error(t) compute tsm =cusum/mad compute sad =sad+alpha*(error(t)-sad) compute tst =sad/mad disp t error(t) mad cusum tsm sad tst if abs(tsm)>triptsm.or.abs(tst)>triptst { disp "Signal is tripped" compute cusum=0.0,sad=0.0 } end do time * * Autocorrelation tracking signal * compute alpha=.10 compute tripr=.35 compute mad=59.22,scov=0.0,smse=11400. do t=2,24 compute scov =error(t)*error(t-1)+(1-alpha)*scov compute smse =error(t-1)**2+(1-alpha)*smse compute rtrack=scov/smse disp t error(t) scov smse rtrack if abs(rtrack)>tripr.or.abs(rtrack)>tripr { disp "Signal is tripped" compute scov=0.0 } end do time