Content uploaded by Albi Salm
Author content
All content in this area was uploaded by Albi Salm on Feb 23, 2022
Content may be subject to copyright.
2
On the reliability of dive computer
generated run-times, Part VI:
Error Propagation
Abstract:
Here, in Part VI, we only point out to the law of error propagation.
During the previous 5 parts ([1] to [5] and all the references therein), we
observed by some of the dive computer manufacturers deviations from
documented algorithms/decompression models. Additionally to these
software-driven variations are those, driven by hardware and the statistical
errors by measuring ambient pressure, time, temperature and the inertgas
contents of the breathed gas-mix.
Introduction: slides # 3 & 4
Error Propagation: slides # 5 8
References: slides # 9 & 10
Attachment: slide # 11
3
Introduction (1):
The variance of the TTS, Δ TTS, i.e. the delta-„time-to-surface“
between the TTS calculated by a dive computer, be it @ run-time, i.e. in the
water, or on the desk with the planning tools, vs. a TTS of a printed diving
table is basically a linear combination of these 3 elements [8]:
modifications of algorithms & constants, that is the manufacturers decision
to modify a documented (& sometimes tested) published algorithm or the
related constants, for eg. water density, ambient air pressure at start of
dive, the respiratory coefficient, etc. …
purely software driven deviations, mainly through high level language
compilers (FORTRAN, C, etc.) during compiling & linking:
truncations
rounding off/ -on
the precision / binary word-length of the used variables
floating point errors through the linked mathematical libraries
purely hardware driven, i.e.: uncompensated, systematic errors
AND statistical measurement errors
4
Introduction (2):
That is:
Δ TTS = TTS Table – TTS Dive Computer
Δ TTS = Σ modifications + Σ software + Σ hardware
with the TTS, the „time-to-surface“ defined as:
TTS = sum of all stop times + ascent time (+ transit times)
TTS = stop times + (bottom depth / ascent speed)
The error contributions from term 1 (Σ modifications), and at least partially,
from the 2nd. term, Σ software, were covered in Part I Part V of this series;
here in Part VI we look exclusively at the error propagation of the 3rd. term:
Σ hardware, [8].
5
Error Propagation (1):
The calculated inertgas pressure Pt within a compartment of
any deterministic decompression model, be it a perfusion-, diffusion-,
bubble-model or any (linear) combination thereof is basically a function of the
3 variables ambient pressure (pamb), fraction of inertgas in the breathing mix
(fInert) and dive-time t:
Pt(t) = P(pamb, fInert, t) (1)
i.e. the change, the error that is, of Pt is found in its total differential:
dPt(t) = (δP/δpamb ) * dpamb + (δP/δfInert) * dfInert + (δP/δt) * dt (2)
by neglecting 2nd. order variations and errors/variations in time and other
variables, a Taylor expansion gives the variation of Pt(t) and reduces
approximately to:
∂Pt(t) ≈ pamb * ∂ fInert + fInert * ∂pamb (3)
(pls. cf. attachment, slide # 11)
6
Error Propagation (2):
∂Pt(t) ≈ pamb * ∂ fInert + fInert * ∂pamb (3)
The first term of (3) reflects variations in the composition of the breathing mix,
i.e. the error of the gasanalyzer, whereas the second term reflects the
variations in depth, i.e. the error in the pressure reading, that is the intrinsic
errors of, for eg. a piezo-sensor. Both errors have to be added!
A real dive profile consists of consequtive pressure jumps, measured by a
dive computer every n seconds. The then calculated Pt(t) is used as the start
value for the next pressure jump, thus the errors are accumulated with each
step. As the analyzers and piezo errors are each in the range of ca. 2 to 5 %,
so are then the errors for calculated NDL / stop times etc. for each step the
sum of these errors, neglecting all the other possible errors!
This is quite in contrast to a calculation for a table-output for a standard box-
/square profile: as there is only one time step (the bottom time) and only one
pressure jump (the bottom depth), the error from (3) is limited in comparison
to a dive computers calculation in real-time.
7
Error Propagation (3):
This, as such, would be a minor problem, if it were not for:
the (usual, non-professional) diver, watching his/her dive computers
display, lured into a false feeling of the safety of his/her device, thinking:
„Wow, a computer display! And Ahh: with 1 decimal place:
then it must be precise!“
the (usual) dive computer manufacturers euphemisms in the technical
specifications of their products concerning the precision of the used piezo
(=pressure)-sensors. There are abundant tests from independant sources,
showing the manufactures negligence in: compensating the usual piezo
drifts (temperature, age, voltage), the errors through pressure offset
against vacuum & clock jitter and the quantisation noises.
That is: besides the statistical errors through measurements there are the
manufacturers modifications from prescribed & documented (& sometimes
tested) algorithms on-top, leaving the user (diver) completely in the dark
about function and safety; i.e. the dive computer presents itself as a totally
intransparent black-box.
8
Error Propagation (4):
That is: usually the dive computers manuals and/or
on-line documentation concerning these things are either:
cryptic, or incomplete, or flat false, or:
any combination of the above.
Up to now, the complete set of the dive computers hardware with its
soft-/firmware does not comply to any safety-& security standard,
for e.g.: a safety-integrity level like the SIL from IEC61508 (except one
singular box, the BIO350 from Open Safety Equipment).
Nevertheless, as a pure data-logger, i.e. an electronic recorder of the dive-
profile, a dive computer could give useful information, esp. for forensic
assessments.
As well, large binary collections of the really dived profiles could be used
to improve statistically based decompression calculations, like the „Diver
Safety Guardian“ from DAN!
Still, all the recommendations / conclusions from the previous
Part I to Part V yield here as well.
9
On the reliability of dive computer
generated run-times, Part VI
References:
[1] Rosenblat M., Vered N., Eisenstein Y., Salm A. (26.07.2021)
On the reliability of dive computer generated run-times, Part I;
DOI: 10.13140/RG.2.2.16260.65929
[2] Rosenblat M., Vered N., Eisenstein Y., Salm A. (11.01.2022)
On the reliability of dive computer generated run-times, Part II;
DOI: 10.13140/RG.2.2.11343.41126
[3] Rosenblat M., Vered N., Eisenstein Y., Salm A. (02.02.2022)
On the reliability of dive computer generated run-times, Part III;
DOI: 10.13140/RG.2.2.21973.50405
[4] Rosenblat M., Vered N., Eisenstein Y., Salm A. (22.02.2022)
On the reliability of dive computer generated run-times, Part IV;
DOI: 10.13140/RG.2.2.11469.72169
[5] Rosenblat M., Vered N., Eisenstein Y., Salm A. (07.02.2022)
On the reliability of dive computer generated run-times, Part V;
DOI: 10.13140/RG.2.2.18129.81763
10
On the reliability of dive computer
generated run-times, Part VI
References:
[6] Vered N., Rosenblat M., Salm A. (2021) Synopsis & Fact Sheet
DIVE Version 3_11,
DOI: https://dx.doi.org/10.13140/RG.2.2.17024.56326
[7] Rosenblat M., Vered N., Eisenstein Y., Salm A. (2022) Recovery of
selected ZH-86 air-diving schedules via a decompression shareware
DOI: 10.13140/RG.2.2.34235.13609
[8] Salm, A. (2012) Variations in the TTS: where do they come from?
International Journal of the Society for Underwater Technology, Vol 31, No 1,
pp 43–47
The „Diver Safety Guardian“ :
https://www.diversafetyguardian.org/
DAN, the „Divers Alert Network“: https://dan.org/