Tool/software:
Setup:
- I capture a sample pair of waveforms from a working meter at zero flow. There are no errors.
Run:
- I initialize a meter with the same parameters from the capture
- I repeatedly feed the same captured waveform over and over again to the algorithm.
Result:
- The dTOF numbers move backwards by one 8MHz sample period (125ns) on each successive analysis until they eventually reset and loop back to the initial starting value.
Waveforms:
const int16_t signals[][2][320] = {
{
{17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,-43,-35,124,127,-168,-195,242,303,-248,-331,309,391,-328,-396,399,423,-463,-435,552,494,-561,-476,628,539,-581,-480,655,548,-585,-455,684,536,-610,-454,708,571,-596,-491,657,574,-547,-492,524,470,-434,-377,389,305,-367,-281,318,252,-271,-231,224,239,-119,-190,67,181,10,-121,3,149,44,-124,-36,143,58,-150,-74,162,104,-144,-107,124,91,-114,-77,107,73,-89,-57,90,61,-73,-46,85,80,-33,-46,43,61,-20,-48,22,58,-6,-42,15,50,-9,-49,5,52,10,-31,5,44,12,-25,-3,28,10,-13,1,24,13,-10,-3,20,16,1,7,26,24,1,-3,11,14,4,4,14,14,3,-1,0,-1,-3,3,5,1,-2,-1,-1,-3,-1,5,6,7,11,16,17,12,10,15,19,16,12,15,20,15,4,2,5,1,-2,1,8,2,-7,-9,-4,-3,-4,-4,5,8,3,-1,1,8,11,12,14,19,17,12,13,17,16,10,8,15,14,10,4,3,5,2,-3,-3,1,1,-2,-1,2,-1,-5,-3,3,7,4,5,9,9,9,8,11,14,14,11,12,12,9,6,8,11,10,6,5,4,4,0,0,0,1,2,1,0,2,3,4,4,8,11,11,12,13,16,16,15,14,15,14,12,8,10,7,3,1,1,1,-2,-4,-3,-2,-3,-3,-1,2,3,2,5,7,7,6,9,11,10,13,12,12,12,9,7,7,7,7,5,4,5,5,7,7,6,10},
{17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,-42,-36,123,127,-167,-194,241,302,-248,-329,308,391,-327,-396,398,422,-463,-434,552,493,-560,-476,627,538,-581,-479,653,547,-585,-455,683,534,-611,-454,708,568,-596,-492,656,573,-547,-492,524,470,-434,-377,389,304,-367,-279,317,250,-269,-229,223,239,-118,-189,67,181,10,-120,3,149,43,-123,-35,143,58,-149,-73,162,104,-143,-106,124,90,-114,-76,107,74,-88,-56,90,61,-73,-46,85,80,-32,-46,43,62,-20,-48,23,57,-5,-42,15,49,-7,-48,6,52,10,-31,5,44,12,-25,-2,28,11,-13,1,24,12,-12,-4,18,18,0,7,26,23,2,-6,9,13,2,1,12,13,1,-2,0,-2,-3,2,4,0,-2,-1,-1,-4,-2,3,7,6,11,18,16,13,10,17,20,16,12,16,20,13,5,2,4,2,-2,2,7,3,-7,-9,-4,-3,-5,-3,3,7,3,-2,1,7,11,12,15,19,17,13,12,19,16,10,9,12,14,10,4,4,5,2,-3,-3,3,2,-2,0,2,-1,-5,-2,3,8,6,6,11,11,8,9,12,17,13,11,12,13,11,8,9,11,11,6,5,5,4,1,0,0,2,3,2,-1,4,3,5,4,8,9,10,10,12,15,14,13,13,15,13,11,8,8,5,2,1,1,0,-2,-3,-3,-1,-4,-3,-1,1,3,3,5,9,9,8,11,10,12,13,12,13,11,10,7,7,8,8,6,6,5,7,5,6,7,7},
},
};
My meter's output. Notice the UPS and DNS TOF numbers (to the far right in the output below) moving backwards by 125ns each measurement for the SAME exact signal. My meter eventually notices and flags that the numbers are wrong for the physics of the given meter and the current temperature. That's what the "to fail" and "to pass" event transition markers are announcing.
reconfigure_meter
ADC Delay SAPH Count: 345 (69.00 us) --> 355 (71.00 us, computed 69.92 us, error 1077.1 ns)
ADC Delay SAPH Count: 355 (71.00 us) --> 355 (71.00 us, computed 69.92 us, error 1077.1 ns)
. 0.0000 hours 5.0 Hz
ADC First Peaks: 26 u 26 d
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 63.13 | AbsTof_Center 63.13 | DNS 63.13 | UPS 63.13 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 63.00 | AbsTof_Center 63.00 | DNS 63.00 | UPS 63.00 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 62.88 | AbsTof_Center 62.88 | DNS 62.88 | UPS 62.88 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 62.75 | AbsTof_Center 62.75 | DNS 62.75 | UPS 62.75 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 62.63 | AbsTof_Center 62.63 | DNS 62.63 | UPS 62.63 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 62.50 | AbsTof_Center 62.50 | DNS 62.50 | UPS 62.50 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 62.38 | AbsTof_Center 62.38 | DNS 62.38 | UPS 62.38 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 62.25 | AbsTof_Center 62.25 | DNS 62.25 | UPS 62.25 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 62.13 | AbsTof_Center 62.13 | DNS 62.13 | UPS 62.13 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 62.00 | AbsTof_Center 62.00 | DNS 62.00 | UPS 62.00 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 61.88 | AbsTof_Center 61.88 | DNS 61.88 | UPS 61.88 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 61.75 | AbsTof_Center 61.75 | DNS 61.75 | UPS 61.75 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 61.63 | AbsTof_Center 61.63 | DNS 61.63 | UPS 61.63 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 61.50 | AbsTof_Center 61.50 | DNS 61.50 | UPS 61.50 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 61.38 | AbsTof_Center 61.38 | DNS 61.38 | UPS 61.38 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 61.25 | AbsTof_Center 61.25 | DNS 61.25 | UPS 61.25 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 61.13 | AbsTof_Center 61.13 | DNS 61.13 | UPS 61.13 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 61.00 | AbsTof_Center 61.00 | DNS 61.00 | UPS 61.00 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 60.88 | AbsTof_Center 60.88 | DNS 60.88 | UPS 60.88 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 60.75 | AbsTof_Center 60.75 | DNS 60.75 | UPS 60.75 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 60.63 | AbsTof_Center 60.63 | DNS 60.63 | UPS 60.63 | Delta 0.00
----- to fail
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 60.63 | AbsTof_Center 60.63 | DNS 60.63 | UPS 60.63 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 63.13 | AbsTof_Center 63.13 | DNS 63.13 | UPS 63.13 | Delta 0.00
----- to pass
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 63.00 | AbsTof_Center 63.00 | DNS 63.00 | UPS 63.00 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 62.88 | AbsTof_Center 62.88 | DNS 62.88 | UPS 62.88 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 62.75 | AbsTof_Center 62.75 | DNS 62.75 | UPS 62.75 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 62.63 | AbsTof_Center 62.63 | DNS 62.63 | UPS 62.63 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 62.50 | AbsTof_Center 62.50 | DNS 62.50 | UPS 62.50 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 62.38 | AbsTof_Center 62.38 | DNS 62.38 | UPS 62.38 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 62.25 | AbsTof_Center 62.25 | DNS 62.25 | UPS 62.25 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 62.13 | AbsTof_Center 62.13 | DNS 62.13 | UPS 62.13 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 62.00 | AbsTof_Center 62.00 | DNS 62.00 | UPS 62.00 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 61.88 | AbsTof_Center 61.88 | DNS 61.88 | UPS 61.88 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 61.75 | AbsTof_Center 61.75 | DNS 61.75 | UPS 61.75 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 61.63 | AbsTof_Center 61.63 | DNS 61.63 | UPS 61.63 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 61.50 | AbsTof_Center 61.50 | DNS 61.50 | UPS 61.50 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 61.38 | AbsTof_Center 61.38 | DNS 61.38 | UPS 61.38 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 61.25 | AbsTof_Center 61.25 | DNS 61.25 | UPS 61.25 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 61.13 | AbsTof_Center 61.13 | DNS 61.13 | UPS 61.13 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 61.00 | AbsTof_Center 61.00 | DNS 61.00 | UPS 61.00 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 60.88 | AbsTof_Center 60.88 | DNS 60.88 | UPS 60.88 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 60.75 | AbsTof_Center 60.75 | DNS 60.75 | UPS 60.75 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 60.63 | AbsTof_Center 60.63 | DNS 60.63 | UPS 60.63 | Delta 0.00
----- to fail
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 60.63 | AbsTof_Center 60.63 | DNS 60.63 | UPS 60.63 | Delta 0.00
72.000 F | Center (+-5%) 60.73 63.92 67.12 | dTOF_Center 63.13 | AbsTof_Center 63.13 | DNS 63.13 | UPS 63.13 | Delta 0.00
----- to pass