Measurement Systems & Instrument Characteristics

What instrumentation engineers actually do. Learn the generalised measurement system (sensor → signal conditioning → display/transmission), the static characteristics every datasheet quotes — range, span, accuracy, precision, resolution, sensitivity, linearity, hysteresis, dead band, drift — and the dynamic behaviour of zero-, first- and second-order instruments, with a real calibration analysed in Python.

Instrumentation & Control (I&C) engineering is about two jobs: measuring a physical quantity reliably (temperature, pressure, flow, level, position, composition…) and using that measurement to control a process automatically. Every refinery, power plant, pharmaceutical line, car, aircraft and wind turbine depends on it.

Before choosing any sensor you must be able to read its datasheet. 'Accuracy ±0.1% of span', 'repeatability 0.02%', 'time constant 5 s' — these numbers decide whether a loop can be controlled at all. This lesson gives you that vocabulary and shows how to measure each property during calibration.

An analogy

A measurement system is like a news reporter: the sensor witnesses the event, signal conditioning turns the story into clear language, and the display or transmitter broadcasts it. A good reporter is accurate (tells the truth), precise (tells the same story every time) and fast (reports while it is still news).

The generalised measurement system

Every instrument has the same chain: a primary sensing element that responds to the measurand (a thermocouple junction, a diaphragm), a variable-conversion element that turns that response into a usable signal (voltage, current, frequency), signal conditioning (amplify, filter, linearise, isolate), and a presentation or transmission stage (display, 4–20 mA, fieldbus). Errors can enter at every stage.

Static characteristics

These describe the instrument when the input is steady:

Accuracy is not precision

A precise but inaccurate instrument gives tightly grouped readings around the wrong value (a systematic error — fixable by calibration). An accurate but imprecise instrument scatters around the right value (random error — reduced by averaging). Specifications of '% of span' and '% of reading' differ hugely at the bottom of the range: ±0.5% of a 100 kPa span is ±0.5 kPa even when you read 5 kPa (10% error of reading!).

Dynamic characteristics

Zero-order instruments respond instantly (a potentiometer). First-order instruments have one energy storage (thermal mass of a thermometer): an exponential response with time constant τ. Second-order instruments have two (a spring-mass accelerometer, a pressure gauge): they can oscillate, described by ωₙ and ζ; ζ ≈ 0.6–0.7 gives fastest response with little overshoot. Dynamic error, lag and bandwidth decide whether an instrument can follow a changing process.

Loading, environment and selection

Instruments disturb what they measure (loading): a voltmeter draws current, a thermowell conducts heat along its stem, an orifice plate costs pressure drop. Environmental influences (temperature, vibration, EMI, humidity) appear in the 'total probable error' as root-sum-square of individual effects. Selection balances accuracy, rangeability (turndown), response time, installation, hazardous-area certification (ATEX/IECEx), materials compatibility, maintenance and lifecycle cost.

Formulas

Worked example: % of span vs % of reading

Given: Gauge 0–100 kPa, accuracy ±0.5% of span; Reading 20 kPa

Find: Possible error as % of reading.

Answer: ±2.5% of reading — choose ranges so normal readings are in the upper half

Worked example: Sensitivity

Given: 4–20 mA transmitter ranged 0–100 kPa

Find: Ideal sensitivity and output at 37.5 kPa.

Answer: 0.16 mA/kPa; 10.0 mA

Worked example: First-order lag

Given: τ = 8 s thermometer, process heating at 2 °C/s

Find: Steady measurement lag.

Answer: 16 °C behind the true temperature

Analysing a calibration run: sensitivity, non-linearity, hysteresis

# Static characteristics from a calibration run of a pressure transmitter
true_kpa  = [0, 25, 50, 75, 100, 75, 50, 25, 0]          # applied (up then down)
read_mA   = [4.02, 8.05, 12.10, 16.04, 19.98, 16.12, 12.20, 8.13, 4.06]

up, down = read_mA[:5], read_mA[4:][::-1]
n = len(up)
xs = true_kpa[:5]
# least-squares straight line through the upscale points
mx, my = sum(xs) / n, sum(up) / n
sxx = sum((x - mx) ** 2 for x in xs)
sxy = sum((x - mx) * (y - my) for x, y in zip(xs, up))
slope = sxy / sxx
icpt = my - slope * mx
span = 16.0                                               # 4-20 mA
nonlin = max(abs(y - (slope * x + icpt)) for x, y in zip(xs, up)) / span * 100
hyst = max(abs(u - d) for u, d in zip(up, down)) / span * 100
print(f"sensitivity {slope:.4f} mA/kPa, offset {icpt:.3f} mA")
print(f"non-linearity {nonlin:.2f}% of span, hysteresis {hyst:.2f}% of span")
# sensitivity 0.1596 mA/kPa, offset 4.056 mA
# non-linearity 0.39% of span, hysteresis 0.62% of span

This is exactly what a calibration technician does: apply known inputs going up and then down, record outputs, fit a line, and express deviations as a percentage of span. The ideal transmitter would give 0.16 mA/kPa and 4.000 mA offset.

First-order response of a thermometer

import math
# Thermometer (first-order, tau = 8 s) plunged from 20 C into 100 C water
tau, T0, Tf = 8.0, 20.0, 100.0
for t in (8, 16, 24, 40):
    T = Tf + (T0 - Tf) * math.exp(-t / tau)
    print(f"t={t:2d} s: reading {T:6.2f} C ({(T-T0)/(Tf-T0)*100:5.1f}% of step)")
# Ramp input 2 C/s: steady lag error = rate * tau
print(f"ramp 2 C/s -> steady lag {2*tau:.0f} C behind the true value")
# t= 8 s: reading  70.57 C ( 63.2% of step)
# t=16 s: reading  89.17 C ( 86.5% of step)
# t=24 s: reading  96.02 C ( 95.0% of step)
# t=40 s: reading  99.46 C ( 99.3% of step)
# ramp 2 C/s -> steady lag 16 C behind the true value

63.2% at one τ, 95% at 3τ, 99.3% at 5τ — the rules of thumb for every first-order sensor. A slow sensor in a control loop adds lag and can make the loop unstable.

Common mistakes

Applications

Key takeaways

Going further