OpenSOD - RFC0002 #1
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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:
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
GenParamsuint16WaL (Wavelength)value asNWa (Number of Wavelengths)WaveLngts (Wavelengths)which is alist<uint16>of lengthNWadefining the nominal wavelengths present in the fileFxdParamsWaLfieldIoRfieldPulseWidtharraySampleSpacingarrayNumbperOfDataPointsInTracearrayAcOffsDfield as it was redundant (can be calculated from theAcOffsfield)AcRangDfield as it was redundant (can be calculated from theAcRangefield)fxdparamsdata structure into logical groupings:TrT,AcOffs,AcRange),AvT,BsC,NFL,NFS,POf,LoT,ReT,EoT,FntPnlO),Ntr,TraceHeaders),X1,Y1,X2,Y2)TimeStpfield to be auint64to prevent the overflow that would otherwise occur in 2038TraceHeadersArrfield, which is alist<TraceHeader>that matches the order of traces in the Data Points blockTraceHeaderobject that provides the new location for Wavelength, IoR, Pulse Width, Sample Spacing, and Number of Data Points of the traceBItype to theTrTenum