Ok Hank, I'll give this a go. BTW, it only took me 15 mins to remember what I was thinking when I posted almost a year ago!
Anyway, this is what I think is going on. Every sample with a difference greater then 50 in DT's code gets rejected the first and second time through. The 50 can be set with the FAspread constant. the number of times it get rejected is set by Reject constant.
The way it gets rejected is really pretty. Int the avg routine, the value gets tested against FAspread, if it is bigger, the flow jumps to FastAvg, where reject count gets incremented by 1. then reject count gets tested to see if it is now 3
Code:
IF RejCount = Reject + 1 THEN
if it is, the new value is accepted as good. It also becomes the new average. and everything moves on from there.
If it is not, then the running average is left as is and the current value is rejected.
BTW, I think using DT's FAspread con 50, 91 would never be considered as spurious since it is within 50
Does this help?
Bookmarks