3D visionExplainer

Multi frame depth camera trigger pulse width: the math

The pulse width a multi frame depth camera trigger needs: setup time plus N frame periods, with the arithmetic, the frame-rate cost and why video fails.

LumaSpec Vision9 min read Share on LinkedIn

On this page 9 sections
  1. 01The answer: setup time plus N frame periods
  2. 02What three frames really cost
  3. 03Why setup recurs: the gate switches the projector
  4. 04Edge quality and the first-burst quirk
  5. 05Driving the pulse
  6. 06When the 160 ms figure is wrong
  7. 07The decision, case by case
  8. 08Checklist before you wire it
  9. 09Questions

You trigger a depth camera with a hardware line, ask it for three frames, and the sensor's documentation tells you to hold the line high for 160 ms. That number is not arbitrary and not negotiable: it is a fixed setup time plus one frame period per frame. This explainer breaks the arithmetic open — where the setup time and the 33 ms come from, what a burst really costs in frames per second, and why the setup time returns on every burst. By the end you can size the pulse for any frame count and frame rate, budget multi-camera sequences, and know when triggered burst capture is the wrong tool.

The answer: setup time plus N frame periods

A hardware-triggered depth camera that captures N frames per burst needs the line high for the whole burst:

T_on = T_setup + N × T_frame T_frame = 1 / f_depth

With the two numbers used throughout — a 60 ms setup time and a depth engine fixed at 30 fps — the frame period is 1 s / 30 = 33.3 ms, which the sensor family's documentation rounds to 33 ms. Three frames therefore need:

T_on = T_setup + 3 × 33.3 ms = 160 ms

And yes, that setup time lands on every burst. Each rising edge restarts the whole sequence: the projector switches on, the scan settles, the receiver locks to the sensor's own illumination, and only frames integrated after that lock count toward your N. Nothing stays warm between bursts. That recurring cost sets the effective frame rate of the whole scheme, and it is why the mode is specified for static scenes rather than video.

The setup figure and the fixed 30 fps belong to one scanning depth sensor family; if yours prints different figures, substitute them in the same formula and every number below scales with them.

What three frames really cost

The burst itself runs at 3 frames / 0.160 s = 18.75 fps — call it 19 fps, already a third below the sensor's free-run rate. The instructive numbers appear when you change N:

  • One frame per trigger: T_on = T_setup + 33.3 ms = 93.3 ms, so the ceiling is 1 / 0.0933 s = 10.7 fps. Triggering every frame, the way you would with an area camera, hands two thirds of the rate to setup.
  • Enforced off time: with 40 ms of guaranteed low between bursts the cycle is 200 ms, and the rate falls to 3 / 0.200 s = 15.0 fps. Dead time comes straight off the top.
  • Overhead share: at three frames, setup is 37.5% of the high time.
Frames per burst High time Effective rate, back-to-back
1 93 ms 10.7 fps
3 160 ms 18.8 fps
5 227 ms 22.1 fps
10 393 ms 25.4 fps

Back-to-back means the line drops only long enough to re-arm. The ceiling stays at the sensor's own 30 fps however large N grows: setup amortizes, it never disappears.

Why setup recurs: the gate switches the projector

On this class of sensor the external gate does more than time an exposure — it switches the active illuminator. A scanning depth projector must start its light source, settle its mirror and reference the receiver to its own projected light before the first valid frame; that start-up is the setup time. Free-run mode never switches the projector off, so it pays the cost once at power-up. The triggered mode exists so the projector can be off between bursts, and the reason is interference: two depth projectors facing the same scene corrupt each other's patterns, and depth quality collapses where their fields overlap.

The working pattern is sequential bursts — camera A's 160 ms, then camera B's. Two cameras at three frames each take 2 × 160 ms = 320 ms per synchronized set, so each delivers 3 / 0.320 s = 9.4 fps. Four cameras take 640 ms and deliver 4.7 fps each. The master/slave wiring, arming order and delay settings for that chain are a separate subject, covered in multi depth camera synchronization: slave mode and trigger setup; the numbers above are the budget you feed into it.

Some time-of-flight cameras avoid the collision with microsecond-spaced illumination windows and a programmable camera-to-camera offset. A fixed-rate scanning depth sensor exposes no such control, so plan the sequential budget rather than waiting for a firmware feature.

One safety note, because it belongs with trigger timing: depth projectors are active infrared sources, some laser-based — respect the laser class on the camera label, never stare into the projector, and leave any interleaving the vendor built into the driver switched on.

For the camera side, the MV-DT01WMU is our time-of-flight sensing camera, and the 3D sensors category carries laser profilers and stereo structured-light cameras when a line of geometry or a single snapshot serves better than frames of depth.

3D sensorsHikrobot MV-DT01WMU ToF sensing cameraMV-DT01WMU
Type
Depth / ToF camera
Price on requestView and quote

Edge quality and the first-burst quirk

Two behaviors bite teams moving from area-camera triggering:

  • Dirty edges. Ringing or bounce on the line can register as extra rising edges, and a marginal gate can clip a frame mid-integration. Scope the line at the camera end, and drive it from a source with a programmed width and a defined edge rather than a hand-built monostable. Ringing shows in the image too — diagnosing gray-level jumps on a pulse-triggered frame grabber walks through that failure mode.
  • The first burst returns one frame less. On cameras that document multi-pulse triggering, the first trigger after arming delivers N − 1 frames; the count matches the preset from the second trigger on. Either budget T_setup + (N + 1) × T_frame of high time and drop the first frame, or discard the first burst in software.

Count the returned frames per burst during commissioning — a one-line check that catches both problems.

Driving the pulse

The source must hold a solid high level for a programmed width, on command, into the camera's opto-isolated input. A multi-channel light controller fits well because strobing LEDs is the same timing problem, and it leaves channels for the illumination you will add later.

The LS-CTL-0070 is a 4-channel, 200 W digital control box with an RS232 interface and a strobe feature, so one box sequences several cameras' bursts from a serial command stream.

For the wire into the camera's I/O connector, the LS-CBL-0300 is an M8 8-pin male-to-open cable with 8 cores, built for drag-chain use, 7 m long; land the trigger pair on the opto input and keep its return with it. Browse light controllers for other channel counts, and cables for other connector families.

Light controllersDigital control box, 4 ch, 200 W, RS232 (LS-CTL-0070)LS-CTL-0070
Output
Constant voltage 24 V
Channels
4 channels
$549.00View part
CablesCamera Power and I/O Cable, M8 8-pin connector, Male to Open end (8-core), 7 m, drag-chain use (LS-CBL-0300)LS-CBL-0300
Type
Power and I/O cables
Length
6-8 m
$79.00View part

Start at the controller step of the system configurator to size the pulse source together with the cameras and illumination.

When the 160 ms figure is wrong

The decision, case by case

  • One depth camera, static scene, a few frames: use the triggered burst. Hold the line high for the setup time plus 33.3 ms per frame, and take at least three frames per burst to keep setup under 40% of the budget.
  • Several depth cameras, static scene: sequence the bursts and multiply. Per-camera rate is N / (cameras × T_on): with three-frame bursts, 9.4 fps for two cameras, 6.25 fps for three.
  • Continuous synchronized video of a moving scene: do not build it from facing active-illumination depth cameras. One depth camera for geometry plus synchronized 2D cameras for motion is the architecture that works — see stereo camera trigger synchronization with a shared pulse and multi-camera video capture synchronization for four cameras.
  • One depth camera, continuous: run free-run with no gate, and let the depth mode and exposure set the rate.
  • Several images per trigger on a 2D camera — different lighting or exposures, not depth frames — is a different pattern: multi image capture per trigger.

Checklist before you wire it

  • Write T_on = T_setup + N × T_frame with your sensor's own two numbers, plus the off time your controller enforces.
  • Compute the effective rate N / (T_on + T_off) and compare it with what the inspection needs.
  • Count frames on the first burst after arming; expect N − 1 on cameras with the multi-pulse quirk.
  • Scope the line at the camera end for ringing and clean edges.
  • Match the controller output to the camera input's voltage and isolation requirements before ordering.
  • Plan the camera order in multi-camera scenes so no two projectors face the same volume during a burst.

If the budget does not close, the camera finder lists other depth engines with different native rates, and the contact page reaches our applications team with your scene and rate requirement.

Questions

Does the 60 ms setup time repeat on every trigger burst?

Yes. Every rising edge restarts projector wake-up and lock, so the cost lands each burst. Amortize it: at one frame per burst the setup is 64% of the 93 ms high time, while at ten frames it is 15% of 393 ms. If you need rate, take more frames per burst; if you need single frames, accept the roughly 11 fps ceiling.

Can I just hold the trigger high and let the camera stream continuously?

No. The gate latches the preset number of frames and then waits for a fresh edge; holding the line high does not extend the capture. Continuous depth video comes from the sensor's free-run mode, which turns the projector on once and never re-pays the setup time, but free-run gives up the external gate, and overlapping projectors still interfere.

What happens if my pulse is shorter than the formula gives?

The sensor simply delivers fewer frames: cut the pulse inside a frame period and that frame never completes, so a short three-frame request can return two. Check the returned frame count per burst rather than assuming it, and remember the multi-pulse quirk: on cameras that document it, the first burst after arming returns one frame less than the preset even with a correct pulse width.

Is there any way to run several depth cameras as continuous video?

Not while their illumination overlaps. Two options work: angle the cameras so their projected fields never share volume, or sequence the bursts and accept that the per-camera rate divides as N / (cameras × T_on). For real motion, pair one depth camera with synchronized 2D cameras, which carry the video while depth supplies geometry.

Does the pulse width set the exposure on a depth camera?

Not on this gate. Here the width buys frame count (setup plus N frame periods), while integration time is a separate setting in the sensor's depth controls. On many industrial area cameras the opposite contract applies and the pulse width is the exposure, so check which mode the input is configured in before reusing one pulse generator across both.