Our company is working many years with OTDR file format (Originally Bellcore 1.0-2.0, then Telcordia GR-196 and SR-4731) and we have something to tell about this topic because our software (especially Fiberizer Cloud - web SOR Viewer and storage) now widely used by customers all over the world to process not only own Agizer OTDR's data but many vendors as well.
1. Offsets notes/issues
1.1. Acquisition offset (AO) and Front panel offset (FPO)
Specification stands: "AO tells how far away from the OTDR the first data point in the trace file is". As a result AO must be negative when a number of the first data points belong to internal fiber (before OTDR output connector).
At the same time internal fiber determined by FPO value. "FPO indicates how much of the saved trace corresponds to lead in fiber."
It means AO and FPO duplicates each other when internal points exists :
-AO = FPO, as FPO > 0
When trace file points start from Nkm (i.e. 0..Nkm points are skipped):
AO=N, FPO = 0
In all other cases parameters are in conflict! (when |AO| <> FPO)
Agizer™ Suggestion: Keep current definition of AO (including negative values) and reject FPO.
Our OTDRs distance calibration procedure is binding moment when light goes through front panel to 0 sec(m) of trace data point by changing AO.
1.2. "Distance" type fields.
AOD and UOD depend on Group Index (GI) user selected. User may be confused to see UOD marker in wrong location after he changed GI for whole trace (because all data points stored in time).
Agizer™ Suggestion: Store all values (AO, UO) only in time. FPO has no "distance" pair.
1.3. Problem of binding User Offset to connection between lead-in fiber and link.
To measure distance properly with lead-in fiber user need to input length of his lead-in fiber as User Offset value. But event location is Time type value, so it's not easy task to get 0-accuracy by editing UO in meters (consider GI)
Agizer™ Suggestion: We are using custom field to keep number of event to bind UO. User has choice: input UO himself; input UO himself but bind to nearest event; input event number.
1.4. Whether Event and Markers locations must depend on User Offset.
Specification stands: "Event Propagation Time (EPT) is relative to the beginning of the link (the end of the User Offset fiber). "
Agizer™ Suggestion: User Offset is used when time values recalculated to distance values just before displaying for user. As a result all time values (including Event locations are stored relative to 0sec time (adjusted by AO/FPO)
1.5. Connection of fibers with different Group Indexes (or Helix Factor).
Real link consists of many fibers spliced together and for accurate distance measurement need to extend format by including sections (from point N to point M) with different GI. Same as it is currently done for different Pulse Widths.
It is especially useful for bi-directional analysis when we need to bind events of the traces measured from opposite directions.
2. String fields (like Comments, fiber type, etc... )
2.1. There is Language Code in General parameters (like EN, CH, RU) which is not exactly tell us encoding table was used for selected language.
Agizer™ Suggestion: Add "U8" language code for any languages and use UTF-8 encoding.
3. Thresholds (Loss, Reflectance, End-Of-Fiber)
3.1. Specification stands: "Events table should contains information about events along the fiber trace that the fiber trace analysis software has identified as exceeding the user selected
event threshold levels (see Fixed Parameters Block)"
Agizer™ Suggestion: Consider threshold values as alarm levels (pass/fail) to highlight certain events. At the same time Events table must include ALL events (including passed - OK, i.e. lower than thresholds) which analysis software was able to identify.
Otherwise skipped event might affect next event parameters calculation (see next figure):
Left approximation shoulder have wrong attenuation coefficient and event loss is also incorrect.
4.1. Signed short integer (multiplied by 1000 scale) is not enough for some fields.
For example Attenuation Coefficient Lead-in Fiber (ACI) for Event need more accuracy for some applications (like 0.1234 db/km).
4.2. Zero level of dB scale (vertical axis). It's described quite well in specification but some vendors understand it in a different ways.
We understand it as follows:
- Maximum level (top of chart) is 0dB (maximum backscattering/reflection level which OTDR can measure)
- Minimum level (bottom of chart) is -65dB (negative value because signal attenuate along the trace)
We are glad to welcome software and fiber optic engineers to discuss these issues.