Skip to content

Conversation

@hydratim
Copy link
Contributor

@hydratim hydratim commented Dec 4, 2024

In a recent discussion with a potential client, the requirement for a standardised OTDR data format that supports both bidirectional traces and multi-wavelength traces came up.
The key drivers for these requirements were to simplify file management in large fibre deployments and to enable multi-wavelength analysis.

While there is some support within proprietary formats for such features (e.g. MSOR), these have two main issues:

  1. They are vendor-specific (aka proprietary) formats with no public documentation.
  2. They are poorly designed - MSOR, for example, is essentially just SOR files concatenated together.

To tackle this, we propose a modification to OpenSOD for release as OpenSOD RFC0002.

RFC0002 adds Multi-Wavelength and Bi-directional support to the SOD format.
Simplifying file management and enabling multi-wavelength analysis for improved detection of bends, fractures, splitters, and WDM-MUX devices.
This revision removes redundant data, fixes the timestamp overflow, and clarifies implementation guidelines and field specifications.

Changes

  • GenParams
    1. We redefined the uint16 WaL (Wavelength) value as NWa (Number of Wavelengths)
    2. We added a new field, WaveLngts (Wavelengths) which is a list<uint16> of length NWa defining the nominal wavelengths present in the file
  • FxdParams
    1. We removed the old WaL field
    2. We removed the old IoR field
    3. We removed the old PulseWidth array
    4. We removed the old SampleSpacing array
    5. We removed the old NumbperOfDataPointsInTrace array
    6. We removed the AcOffsD field as it was redundant (can be calculated from the AcOffs field)
    7. We removed the AcRangD field as it was redundant (can be calculated from the AcRange field)
    8. We reordered the fxdparams data structure into logical groupings:
    • Global Settings (TrT, AcOffs, AcRange),
    • Calculation Settings (AvT, BsC, NFL, NFS, POf, LoT, ReT, EoT, FntPnlO),
    • Trace Headers (Ntr, TraceHeaders),
    • Default Viewing Window (X1, Y1, X2, Y2)
    1. We redefined the TimeStp field to be a uint64 to prevent the overflow that would otherwise occur in 2038
    2. We added the TraceHeadersArr field, which is a list<TraceHeader> that matches the order of traces in the Data Points block
    3. We defined the TraceHeader object that provides the new location for Wavelength, IoR, Pulse Width, Sample Spacing, and Number of Data Points of the trace
    4. We added the BI type to the TrT enum

@hydratim hydratim added documentation Improvements or additions to documentation enhancement New feature or request labels Dec 4, 2024
@hydratim
Copy link
Contributor Author

We're setting the deadline for feedback on this draft to 2025-02-01, after which it will be adopted as RFC0002 - assuming any changes required by the feedback are resolved.

@hydratim hydratim added the precutoff A feedback cut-off date has been set. label Dec 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request precutoff A feedback cut-off date has been set.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants