OTDR MASTER
English
Try it

Knowledge base

Measurement and handover practice, without the textbook tone.

Written from field problems: what to measure, which thresholds to close against, and how to file it so acceptance doesn't send the package back.

How to read an OTDR trace and measure a span

What every button does, how to place cursors A and B, and why the tool shows two different loss values for the same span — 2P and LSA. The second point is the heart of it: those two numbers diverge for a reason, not by error, and the divergence is itself a measurement.

Start

Open a file

Click "Open .sor" or drag a file into the window. Both generations of the format are read — Bellcore 1.x and Telcordia 2.x — and files from any vendor: the block layouts and scales were verified against a corpus of 287 real measurements.

What happens to the file. No account is needed. An opened file is stored with us — that is how the service learns to read more formats; what we never do with your files is named in the terms of use. Opened files also stay in this browser's memory so edits survive a page reload; remove them from the "Files in this browser" list.

Events

Why the event list doesn't match the instrument

The file carries the event table the instrument recorded. The tool shows it — and at the same time searches for events itself, from the curve. The lists don't fully agree, and that is deliberate: comparing the two lists is what this screen exists for. Under the chart are three toggles, each can be switched off:

  • both The event is in the instrument's table and in our detection.
  • instrument only The instrument recorded it, we didn't find it. Most often the event sits too close to a neighbour or to the fiber end — see "What the tool can't do".
  • ours only We found it, the instrument's table has nothing there. That is not an error. The table only holds what passed the thresholds the operator set at capture time: with a loss threshold of 0.100 dB, a splice at 0.09 dB never makes it into the file — but it exists.

When our loss figure differs from the instrument's, the table shows both: the instrument's on the left, ours on the right.

Cursors A / B

Measure a span by hand

The automatics answer "what is here". Cursors answer "what does this particular stretch cost" — the manual measurement you make when checking a span against the design or against what the instrument claimed.

  1. Click the chart to place cursor A.
  2. A second click places B. The span band and the readout row appear.
  3. From then on a click moves whichever cursor is closer. To pull an edge of the span, click near it.
  4. A marker can be dragged — grab the line and lead it.
  5. Clear cursors removes both. Order doesn't matter: cursors can be placed right-to-left, the tool works out where the span starts.

Dragging away from the markers still zooms into a span, so you can zoom with cursors in place. A double-click resets the zoom and brings back the marker its first click had moved.

What the readout row shows

A 12.320 km −40.302 dB
B 63.655 km −50.962 dB
Span 51.334 km
2P 10.660 dB 0.208 dB/km
LSA 10.274 dB 0.200 dB/km
deviation 0.184 dB

On the left — where each cursor stands and the level there. Then the fiber length between them and two ways of computing the loss over that span, each with its own per-km attenuation. The last number — the deviation — is the judge, and it gets its own section below.

2P and LSA

Why there are two losses and one span

These are not two variants of one calculation with a "correct" one to pick. They are two different questions to the same data, and they fail differently. While they agree, the span can be trusted. When they diverge — the divergence is the finding.

2P — two-point

The level under cursor A minus the level under cursor B. No assumptions: what the instrument showed at those two points is what gets subtracted.

The weakness lives in the same place. A single sample doesn't sit exactly on the backscatter level, only near it: on a trace with few averages either end can miss by tenths of a dB, and the answer moves by exactly that much.

LSA — least-squares

A straight line is fitted through every sample between the cursors by least squares, and the loss is taken from its slope. Noise averages out over hundreds of points, which is why per-km fiber attenuation is conventionally quoted from this value.

The weakness is the assumption. The method treats the span as one uniform piece of fiber. If a splice sits inside, the line is drawn through the step, and its slope describes a fiber that doesn't exist.

A B 2P and LSA land on the same line · deviation 0.01 dB
When only fiber lies between the cursors, the two lines fall on top of each other and the samples hug them. The readout numbers agree to the third decimal — the span can be trusted.
A B LSA 2P deviation — samples off the LSA line
With a splice inside the span, the least-squares line comes out steeper than the fiber actually loses: at the start of the span it runs above the samples, at the end below them. The orange brackets mark that distance — it is the deviation. 2P stays honest here, because it only looks at the ends.

The deviation is the judge

The deviation is the average distance of the samples from the fitted line. On uniform fiber it is hundredths of a dB. If it is noticeably larger — something sits inside the span, and the LSA slope is describing something other than the fiber.

How to use this. Place the cursors so the deviation is at its smallest: that is what it means for the span to be clean fiber, and for the dB/km figure to belong to it. And when the span is chosen deliberately around a splice — read 2P: its loss includes the fiber and the splice itself, which is usually what acceptance wants.

The example from the row above: 2P 10.660 dB against LSA 10.274 dB at a deviation of 0.184 dB. Nearly 0.4 dB apart — there are eight splices inside that span, and the deviation says so honestly. Put the cursors on a clean stretch between them and both figures converge, with the deviation dropping to hundredths.

A reference for sanity checks: G.652 single-mode fiber loses about 0.19–0.22 dB/km at 1550 nm and 0.32–0.36 dB/km at 1310 nm. If LSA on a clean stretch shows noticeably more — the fiber, not the instrument, is the story.

Edits

What can change, and what happens when it does

Editing is free, like viewing: measurement parameters, events — move, reclassify, add, delete — the curve itself, and then export to .sor. No sign-up.

Click a value to change it: Enter saves, Esc cancels. Undo and redo live on the arrows in the header.

The original bytes are always preserved, and a file with no edits exports byte-for-byte identical to the source.

Some fields deliberately cannot be edited: the sample count, spacing and trace length follow from the data itself, while pulse width and averaging describe a capture that already happened. Changing them would describe a measurement that never took place.

Limits

What the tool can't do

Better known in advance than discovered on site.

  • A long pulse merges nearby splices. The window a step is computed over spans several pulse widths. At 5000 ns that is about 3 km, and splices spaced 1–2 km apart won't be separated by our search: the instrument will find them, we will show one. Shoot with a short pulse when you need the resolution.
  • An event cannot look like a break. At 5000 ns the dead zone is about 500 m: a splice is smeared over half a kilometre and looks like a slightly steeper stretch. If "the step isn't visible" at high zoom — that's normal; read the numbers, not the kink.
  • Events right at the fiber end are not found. The method needs a window of fiber to the right of an event, and past the end there is none.
  • The fiber end is located to within about a hundred metres. On traces where the signal fades into noise gradually, the tool stops early — deliberately: better to undershoot than to show "connectors" in the noise.
  • Cursors don't measure reflectance. Reflectance comes from the event table, or is computed from the peak by the automatic search.

In short

If you remember one thing

Two numbers on one span is not redundancy. 2P says how much was actually lost between two points, including everything standing between them. LSA says how fast the fiber itself loses — but only if the span really is one fiber. The deviation answers whether that condition holds.

So the working order is: place the cursors → look at the deviation → if it is small, trust the dB/km from LSA; if it is large, use 2P and look for what's inside.

The easiest way to check is on your own trace: open a file in the app — editing metadata, events and the curve is free there.