Back to all guides

Reference Patterns

Known Good Waveforms — Why Stored References Mislead, and What to Compare Against Instead

Known good waveforms are only as good as their labels and operating state. Learn where stored reference captures go wrong, and how physics baselines and cylinder-to-cylinder comparison give a reference you can trust.

What a known good waveform is supposed to be

A known good waveform is a capture from a healthy component, used as the "normal" you compare a suspect capture against. The idea is sound. A waveform means nothing on its own; it becomes a diagnosis only when it's measured against what it should be.

The weak point is the word known. A stored capture is trustworthy only if four things are true about it:

  • The component really was healthy when it was captured.
  • It is labeled with the correct vehicle, engine, signal, and channel.
  • Its operating state is recorded: RPM, temperature, load, and supply voltage.
  • Its probe, scaling, and scope settings are recorded.

Public and shared waveform libraries rarely guarantee all four. Most captures are contributed by other technicians, reviewed lightly or not at all, and saved without the operating state. Mislabeled channels, wrong engine variants, and "known good" captures from engines that were not actually healthy all turn up in practice.

A reference with an unknown error in it is worse than no reference, because it makes a wrong conclusion feel confirmed.

Where stored references go wrong

1. The operating state doesn't match

Almost every automotive waveform changes with conditions. If the reference and your capture weren't taken in the same state, the difference you see may be the state, not a fault.

SignalWhat shifts itSize of the effect
Saturated injector currentSupply voltage (I = V / R)12 Ω injector: 1.03 A at 12.4 V vs 1.18 A at 14.2 V, a 14.5% difference with nothing wrong
Variable reluctance crank sensorRPM (output rises roughly in proportion to speed)Cranking at 200 RPM gives about ¼ the amplitude of a 800 RPM idle capture
Relative compression humpsCranking speed, battery stateEvent rate = cylinders × RPM / 120, so the spacing changes with every capture
Secondary firing lineCylinder pressure, which follows loadIdle and snap-throttle firing lines are different by design
In-cylinder pressureManifold pressure, throttle positionIdle running compression is a fraction of cranking compression

2. The equipment doesn't match

Probe attenuation, clamp sensitivity (mV/A), coupling, filtering, and sample rate all change the shape on screen. A trace captured with a filter on, or at a low sample rate, looks rounded and quiet. Compared against a clean capture, it makes a good component look faulty or a faulty one look good.

3. The engine doesn't match

"Same model" is not "same engine." Displacement, compression ratio, cam timing, injector type, ignition design, and calibration differ between variants and model years. So do features like cylinder deactivation, which makes a healthy cylinder look dead if the reference was captured with it off.

4. The label is wrong

Swapped channel names, a sync channel on the wrong cylinder, the wrong firing order, or a capture that was never healthy. Nothing in the file tells you. The only defense is to check the reference against physics, which means you needed the physics anyway.

Three tiers of reference, ranked by trust

Tier 1: Physics baseline (highest trust)

Calculate what the signal should do from the engine's own parameters. The laws don't change between vehicles, and the inputs are measurable.

SignalBaseline from first principles
In-cylinder pressureCylinder volume from bore, stroke, rod length, and compression ratio; polytropic compression P·Vⁿ from intake valve closing
Saturated injector currentFinal current I = V / R; rise i(t) = (V / R)(1 − e^(−t/τ)), where τ = L / R
Coil primary currentInitial slope di/dt = V / L; shorted primary turns lower L and steepen the ramp
Crank sensor (e.g. 60-2 wheel)Tooth frequency = teeth × RPM / 60. At 750 RPM: 750 Hz, 1.33 ms per tooth, a 4.0 ms gap
Firing-frequency events (pressure pulse, relative compression, exhaust note)f = cylinders × RPM / 120. A V8 at 700 RPM fires at 46.7 Hz
Cam/crank phaseExpected edge positions from the engine's cam timing, measured in crank degrees (1 cam degree = 2 crank degrees)
Alternator ripplef = 6 × pole pairs × alternator RPM / 60

A physics baseline is adjusted to your capture's operating state automatically: its RPM, its supply voltage, its manifold pressure. A stored waveform can't do that.

Tier 2: Internal reference (high trust)

Compare the component against its siblings in the same capture: cylinder against cylinder, injector against injector, coil against coil. They share the same engine, the same moment, the same supply voltage, and the same probe. Every variable except the fault cancels out.

This is why relative compression works without a PSI number: the healthy cylinders are the reference.

Its limit: if every cylinder shares the same fault, such as retarded cam timing or a restricted exhaust, they all look equal. Tier 1 catches what Tier 2 can't.

Tier 3: External stored capture (lowest trust)

A library or shared capture is still useful for shape recognition: learning what a signal family looks like, and identifying an unfamiliar sensor type. Treat it as an illustration, not a measurement standard. Never condemn a part because its amplitude or timing differs from a stored capture alone.

A repeatable comparison workflow

  1. Verify the source first. Battery rested voltage, charging voltage, and ripple. A weak supply shifts every current-based signal. See Battery & charging system health.
  2. Record the operating state with the capture: RPM, engine temperature, load, supply voltage, and whether cylinder deactivation or variable timing could be active.
  3. Record the equipment: probe or clamp scaling, coupling, filter state, and sample rate.
  4. Compare internally (Tier 2). Find the outlier among the component's siblings.
  5. Compare against the physics baseline (Tier 1). This catches faults shared by every cylinder and confirms the outlier's deviation is real.
  6. Check your conclusion against a second signal. For example, a late exhaust-valve event in cylinder pressure should agree with cam/crank phase and the exhaust pulse. Agreement across independent signals is what turns a deviation into a diagnosis.
  7. Confirm mechanically before quoting parts: leakdown, resistance, pressure test, or a commanded actuator test.

How WaveAssist Pro builds its reference

WaveAssist Pro does not score your capture against a library of stored waveforms. Instead:

  • In-cylinder pressure is measured against a pressure envelope calculated from the engine family's geometry: bore, stroke, rod length, compression ratio, and valve timing.
  • Multi-cylinder tests such as relative compression measure every event against the others in the same capture, reported as a percentage of the average.
  • Findings from separate channels are cross-checked when you upload more than one signal.
  • Measured values are reported, so you can check the math yourself.

CSV exports give the highest accuracy because every sample is measured. Screen images are accepted, but values read from an image are estimates.

Common mistakes

  • Comparing captures taken in different operating states: idle vs cranking, cold vs hot, engine off vs running.
  • Ignoring supply voltage when comparing current waveforms.
  • Matching the shape but not the scale: different V/div or time/div makes identical signals look different.
  • Trusting a reference's label without checking it against firing order and engine geometry.
  • Calling a cylinder bad because it differs from a stored capture, while it matches its own siblings.
  • Missing a fault shared by every cylinder because only cylinder-to-cylinder comparison was used.

Frequently asked questions

What is a known good waveform?

A capture from a healthy component, used as the expected pattern for a suspect capture. It's only reliable if the component was truly healthy and the capture is correctly labeled with its vehicle, engine, operating state, and equipment settings.

Are waveform libraries wrong?

Not always, but you can't tell from the file which ones are. Shared captures often lack the operating state and equipment settings, and some carry mislabeled channels or the wrong engine variant. Use them to learn shapes, not to measure against.

Do I still need a known good waveform?

You need a reference, but it doesn't have to be a stored capture. The healthy cylinders in your own capture, and a baseline calculated from the engine's specifications, are both more reliable because they match your vehicle and your operating state exactly.

Can I compare waveforms between different vehicles?

Only for shape. Amplitude, timing, and frequency depend on RPM, supply voltage, load, engine geometry, and component values. Different vehicles, or the same vehicle in a different state, will differ without anything being wrong.

How does WaveAssist Pro know what normal looks like for my engine?

It calculates it from the engine's parameters and your capture's operating state, then checks each cylinder against the others. You supply the vehicle, engine, and operating state with the upload.

Related guides