Optical and Photonic Testing
Automated test and measurement across five optical instrument categories — OTDR, optical spectrum analysis, tunable laser sources, polarization analysis, and optical power metering — through 43 unified handlers covering 8 vendors, with simulated transports for offline development.
Executive Summary
Testing optical and photonic components — fibers, amplifiers, transceivers, wavelength-selective switches, polarization-maintaining assemblies — requires coordinating multiple specialized instruments from different vendors, each with its own command set, communication protocol, and data format. That complexity has historically made multi-vendor test automation expensive and brittle, with custom driver code per instrument model and limited reuse across test stations.
S1 Foundry addresses this through a handler-based abstraction layer that
presents a uniform programming interface across all supported optical instruments.
An EXFO OTDR and a Yokogawa OTDR expose the same IOpticalOtdrHandler
interface. A Keysight tunable laser and a Santec tunable laser both implement
ITunableLaserHandler. Test sequences written against these interfaces
run unchanged across any supported instrument, eliminating vendor lock-in at the
test software layer. Five optical handler modules provide 43 handlers spanning 8
vendors. The handler suite is covered by 3,211 automated tests that exercise
every operation path through simulated transports.
1. Module Overview
The optical testing capability in S1 Foundry is organized into five handler modules. Each module targets a specific instrument category, defines its own handler interface, and includes vendor-specific implementations that translate the common interface into the instrument's native command protocol.
S1.Handlers.Otdr
Optical Time-Domain Reflectometry. Trace acquisition, event detection, loss and ORL measurement, fiber length calculation, and SOR file export. 9 handlers from 3 vendors.
S1.Handlers.OpticalSpectrumAnalyzer
Optical spectrum analysis. Sweep control, peak detection, OSNR measurement, channel power analysis, marker management, and sensitivity configuration. 7 handlers from 3 vendors.
S1.Handlers.TunableLaser
Tunable laser source control. Wavelength and power management, coherence control, modulation, wavelength sweeping, and fine tuning. 7 handlers from 3 vendors.
S1.Handlers.PolarizationAnalyzer
Polarization measurement and control. PMD/PDL analysis, Mueller and Jones matrix computation, Stokes parameters, scrambling, and extinction ratio measurement. 6 handlers from 3 vendors.
S1.Handlers.OpticalPowerMeter
Optical power measurement, attenuation control, and switching. Power meters, variable optical attenuators, and optical switches across bench-top and modular form factors. 14 handlers from 4 vendors.
2. OTDR Fiber Characterization
Optical Time-Domain Reflectometry is the foundational measurement technique for fiber plant characterization. An OTDR injects short optical pulses into a fiber and analyzes the backscattered and reflected light to map the fiber's physical characteristics over distance. The resulting trace reveals splices, connectors, bends, breaks, and end-of-fiber events along with per-segment attenuation and overall optical return loss (ORL).
Trace Acquisition and Configuration
The IOpticalOtdrHandler interface exposes full control over
acquisition parameters: wavelength selection (typically 1310 nm, 1550 nm, or
1625 nm), pulse width in nanoseconds (determining the trade-off between
spatial resolution and dynamic range), distance range in kilometers, spatial
resolution in meters, and averaging time in seconds. Longer averaging times
reduce noise and improve event detection sensitivity at the cost of measurement
duration.
Acquisition is controlled through StartAcquisitionAsync and
StopAcquisitionAsync. The IsAcquiring property
indicates whether a measurement is in progress. Once acquisition completes,
GetTraceAsync returns the full OTDR trace as an
OtdrTrace object containing distance and power data arrays.
Event Detection and Analysis
Beyond raw trace data, the OTDR module provides automated event detection
through DetectEventsAsync. The method analyzes the trace and
returns a list of OtdrEvent objects, each characterized by its
position along the fiber (in kilometers), event type (reflective, non-reflective,
or end-of-fiber), insertion loss, and reflectance. Reflective events correspond
to connectors and mechanical splices where an impedance mismatch causes a
discrete reflection. Non-reflective events correspond to fusion splices and
fiber bends where light is lost without a visible reflection peak.
Loss and ORL Measurement
Two focused measurement methods complement the full event analysis:
MeasureLossAsync calculates the total attenuation between two
distance points along the fiber (specified in kilometers), while
MeasureOrlAsync measures the total optical return loss for the
entire fiber span. These methods enable targeted pass/fail testing without
requiring a full event analysis cycle.
SOR File Export
The Bellcore SOR (Standard OTDR Record) format is the industry-standard file
format for OTDR measurement data, defined in GR-196-CORE. The
ExportSorAsync method writes the current trace and event data
to a standard Stream in SOR format, enabling interoperability
with third-party fiber management systems, regulatory compliance archives,
and historical trend analysis tools.
Supported OTDR Instruments
3. Optical Spectrum Analysis
Optical spectrum analyzers measure the power distribution of an optical signal as a function of wavelength. In DWDM (Dense Wavelength Division Multiplexing) networks, an OSA verifies that each channel is present at the correct wavelength, within its allocated spectral bandwidth, at the required power level, and with adequate optical signal-to-noise ratio. In component manufacturing, an OSA characterizes the spectral response of filters, amplifiers, lasers, and multiplexers.
Sweep Control and Spectrum Capture
The IOsaHandler interface provides two approaches to defining the
measurement window: center wavelength and span, or explicit start and stop
wavelengths. Resolution bandwidth (RBW) controls the spectral resolution of
the measurement — narrower RBW resolves closely-spaced DWDM channels but
increases sweep time. Video bandwidth (VBW) controls the post-detection
filtering that smooths the displayed trace.
StartSweepAsync triggers a measurement sweep. Once complete,
GetSpectrumAsync returns an OsaSpectrum object
containing matched arrays of wavelength and power values. The number of
sampling points is configurable through SetSamplingPointsAsync,
allowing trade-offs between spectral detail and data transfer time.
DWDM Channel Testing
Two methods target DWDM network testing directly. MeasureOsnrAsync
calculates the optical signal-to-noise ratio for a channel given the channel
spacing in GHz. MeasureChannelPowerAsync
integrates the optical power within a specified bandwidth around a center
wavelength, providing per-channel power measurements for gain equalization
and channel loading verification.
Peak Detection
FindPeaksAsync identifies spectral peaks above a power threshold
(specified in dBm) and returns an array of OsaPeak objects, each
containing the peak wavelength and power level. Peak detection is the basis for
automated channel counting, wavelength accuracy verification, and side-mode
suppression ratio (SMSR) measurement on laser sources. The threshold parameter
prevents noise-floor artifacts from being reported as signal peaks.
Marker Analysis
The marker subsystem provides point measurements at specific wavelengths.
SetMarkerAsync positions a numbered marker at a target wavelength,
and GetMarkerValueAsync reads the interpolated power at that
position. Markers are used for delta measurements between two wavelengths,
tracking a specific channel across successive sweeps, and annotating spectra
with reference points for reporting.
Supported OSA Instruments
4. Tunable Laser Sources
Tunable laser sources provide a precisely controlled optical stimulus at any wavelength within their operating range. They are the primary signal source for characterizing passive optical components (filters, couplers, isolators, wavelength-selective switches), measuring receiver sensitivity across the operating band, and performing swept-wavelength insertion loss and return loss measurements in combination with an optical power meter.
Wavelength and Power Control
The ITunableLaserHandler interface provides direct control over
the two fundamental laser parameters. SetWavelengthAsync tunes
the laser to a target wavelength in nanometers with the precision supported
by the instrument (typically 1 pm or better). SetPowerDbmAsync
sets the output power in dBm. The MinWavelength,
MaxWavelength, MinPower, and MaxPower
properties expose the instrument's operating range, enabling test sequences to
validate parameters before commanding the instrument.
Wavelength Sweep
Swept-wavelength measurement is the standard technique for characterizing
the spectral response of passive optical components. The interface supports
two sweep modes. SweepWavelengthAsync performs a simple stepped
sweep with configurable start wavelength, stop wavelength, step size, and
dwell time per step. For more complex sweep profiles, ConfigureSweepAsync
accepts a LaserSweepConfig object, and the sweep is controlled
through StartSweepAsync, StopSweepAsync, and
GetSweepStatusAsync.
Coherence Control
Coherence length — determined by the laser linewidth — affects interferometric
measurements. Narrow linewidth (high coherence) is required for coherent
detection and interferometric sensing. Broad linewidth (low coherence) is
preferred for insertion loss measurements where interference fringes are
undesirable. SetCoherenceControlAsync switches between high-coherence
and low-coherence modes, and GetLinewidthAsync reads the current
linewidth.
Modulation
The modulation subsystem enables internal modulation of the laser output.
EnableModulationAsync activates modulation with a specified
LaserModulationType and frequency in Hz. Common applications
include tone-modulated identification of fibers in a cable bundle, lock-in
amplification for high-sensitivity power measurements, and BER testing with
modulated stimuli.
Fine Tuning
For applications requiring sub-picometer wavelength adjustments — such as
tracking a resonance peak during thermal cycling or aligning to an ITU grid
channel — SetFineTuningOffsetAsync applies a wavelength offset
in picometers relative to the coarse wavelength setting.
GetFineTuningRangeAsync reports the instrument's fine-tuning
range.
Supported Tunable Laser Instruments
5. Polarization Measurement
Polarization effects in optical fiber — PMD (Polarization Mode Dispersion) and PDL (Polarization Dependent Loss) — limit the performance of high-speed optical links, degrading signal quality at 40 Gbps and above and reducing the OSNR margin available to the receiver. Characterizing these effects requires specialized polarization analysis instruments that measure the full polarization transfer function of the device under test.
PMD and PDL Measurement
The IPolarizationAnalyzerHandler interface provides
MeasurePmdAsync and MeasurePdlAsync for direct
measurement of the two primary polarization impairments. MeasurePmdAsync
returns a PmdResult containing the differential group delay (DGD)
and mean PMD values. MeasurePdlAsync returns a PdlResult
with the maximum PDL in dB. For wavelength-resolved analysis,
MeasurePdlVsWavelengthAsync sweeps across the configured spectral
range and returns PDL as a function of wavelength.
Mueller Matrix Analysis
The Mueller matrix is a 4x4 real-valued matrix that fully describes how an
optical component transforms the polarization state of transmitted light,
including polarization-dependent loss and depolarization effects. Mueller
matrix measurement is the standard technique for characterizing polarization
controllers, isolators, circulators, and fiber-optic connectors.
GetMuellerMatrixAsync returns a MuellerMatrixResult
at a single wavelength. MeasureMuellerVsWavelengthAsync provides
the full spectral Mueller matrix for broadband characterization.
Jones Matrix Analysis
The Jones matrix is a 2x2 complex-valued matrix that describes the polarization
transfer function of a non-depolarizing optical element. Jones matrix analysis
is computationally simpler than Mueller matrix analysis and is the preferred
method when depolarization can be neglected — which is the case for most
passive fiber-optic components. GetJonesMatrixAsync and
MeasureJonesVsWavelengthAsync provide single-wavelength and
swept-wavelength Jones matrix measurements respectively.
Stokes Parameters and Polarization Control
GetStokesParametersAsync returns the four Stokes parameters
(S0, S1, S2, S3) as a StokesVector, describing the instantaneous
polarization state of the measured signal. GetDopAsync returns
the degree of polarization (DOP), a scalar between 0 and 1 indicating how
fully polarized the signal is.
The control subsystem complements the measurement capability:
SetPolarizationStateAsync commands a target polarization state
by azimuth and ellipticity angles, ScrambleAsync randomizes the
polarization state for PDL-insensitive measurements, and
EnablePolarizationTrackingAsync activates continuous tracking
of a varying input polarization state. MeasureExtinctionRatioAsync
measures the polarization extinction ratio, a key parameter for
polarization-maintaining fiber and PM-coupled laser assemblies.
Supported Polarization Instruments
6. Optical Power Metering
Optical power measurement is the most fundamental and most frequently performed optical test. Power meters verify transmitter output levels, receiver input levels, link budgets, splice and connector losses, and the insertion loss of every passive component in the optical path. The S1 Optical Power Meter module provides the broadest vendor coverage of any optical handler category, with 14 handlers spanning 4 vendors across bench-top power meters, modular sensor heads, variable optical attenuators, and optical switches.
Power Measurement
All optical power meter handlers implement IOpticalPowerMeterHandler,
providing consistent access to power reading, wavelength calibration, range
selection, and zeroing. Power is reported in either dBm (logarithmic) or watts
(linear) depending on the configured display mode. Wavelength calibration
ensures that the detector's spectral responsivity correction is applied for
the signal wavelength being measured, which is critical for accurate absolute
power measurements.
Variable Optical Attenuation
The Keysight N77xx series handlers include variable optical attenuator (VOA) functionality. VOAs are used for receiver sensitivity testing (progressively attenuating the signal until the error rate reaches a threshold), power equalization in multi-channel test setups, and simulating fiber span loss in lab environments. Attenuation is set in dB with sub-dB resolution and applied without disturbing the optical alignment.
Optical Switching
The N77xx switch handler controls optical switch modules that route signals between input and output ports. In automated test stations, optical switches eliminate manual fiber re-patching between test steps, reducing test cycle time and eliminating a common source of connector damage and measurement variability.
Supported Power Meter Instruments
7. Vendor Abstraction Architecture
Each optical handler module follows the same three-tier abstraction pattern used throughout S1 Foundry: a handler interface at the top, vendor-specific base classes in the middle, and concrete instrument handlers at the bottom. This structure isolates vendor-specific protocol details from the test sequence code and maximizes code reuse within each vendor family.
Interface Layer
Each handler interface (IOpticalOtdrHandler, IOsaHandler,
ITunableLaserHandler, IPolarizationAnalyzerHandler,
IOpticalPowerMeterHandler) defines the operations available for
that instrument category. Test sequences are written against these interfaces,
not against concrete handler classes. Swapping from an EXFO OTDR to a Yokogawa
OTDR requires changing only the handler construction code; the test sequence
itself is unchanged.
Vendor Base Layer
Instruments from the same vendor typically share a communication protocol (SCPI
dialect, binary command format, or proprietary API). Vendor-specific base classes
implement the protocol framing, command formatting, and response parsing that
is common across models from that vendor. For example,
ExfoOtdrHandlerBase handles EXFO's command syntax and data
encoding, while YokogawaOtdrHandlerBase handles Yokogawa's SCPI
variant with its model-specific response formats.
Concrete Handler Layer
Concrete handlers provide model-specific parameters: wavelength ranges,
pulse width options, resolution limits, and feature availability flags.
A handler for the Yokogawa AQ7282A knows its specific wavelength options
(1310/1550/1625/1650 nm), maximum distance range, and minimum pulse width.
These parameters are exposed through the GetCapabilitiesAsync
method that returns a capabilities object describing the instrument's
operating envelope.
Simulated Transport
Each module includes a simulated transport that generates realistic measurement data without hardware. Simulated OTDR traces include fiber attenuation slopes, splice events, connector reflections, and noise. Simulated OSA spectra include channel peaks, noise floor, and OSNR characteristics. These transports enable the full test suite to run in CI/CD pipelines, on developer machines, and in environments where physical instruments are not available.
8. Testing Infrastructure
Each optical handler module includes a comprehensive test suite that runs against simulated transports. Tests cover connection lifecycle, happy-path operations, error conditions, input validation, and measurement accuracy verification.
Test Distribution
| Module | Handlers | Tests | Coverage Focus |
|---|---|---|---|
| S1.Handlers.Otdr | 9 | 702 | Acquisition, events, loss, ORL, SOR export |
| S1.Handlers.OpticalSpectrumAnalyzer | 7 | 279 | Sweep, peaks, OSNR, channel power, markers |
| S1.Handlers.TunableLaser | 7 | 266 | Wavelength, power, sweep, coherence, modulation |
| S1.Handlers.PolarizationAnalyzer | 6 | 181 | PMD, PDL, Mueller, Jones, Stokes, extinction |
| S1.Handlers.OpticalPowerMeter | 14 | 1,783 | Power, attenuation, switching, wavelength cal |
| Total | 43 | 3,211 |
Test Categories
- Connection lifecycle — Connect, disconnect, reconnect, and dispose sequences. Verifies that handlers reject operations when not connected and release resources on disposal.
- Parameter validation — Wavelength range checks, power limits, pulse width bounds, resolution constraints, and invalid enum values. Each handler validates inputs against its capabilities before commanding the instrument.
- Measurement accuracy — Simulated transport responses include known values. Tests verify that the handler correctly parses instrument responses and returns values within expected tolerances.
- Error handling — Timeout scenarios, transport failures, instrument error codes, and out-of-range conditions. Tests verify that handlers surface structured exceptions rather than raw protocol errors.
- Concurrent access — Thread safety tests exercise shared state (connection flags, acquisition status) under contention from multiple async operations.
9. TestStand Integration
Optical component manufacturing requires automated test sequences that coordinate multiple instruments, apply pass/fail limits, and produce traceable test reports. S1 Foundry integrates with NI TestStand to provide a production-ready test execution environment for optical testing.
Typical Optical Test Sequence
A transceiver module production test illustrates how the optical handlers combine in a TestStand sequence:
- Initialize instruments — Connect the tunable laser, OSA, power meter, and polarization controller. Each handler's
ConnectAsyncestablishes the instrument link and verifies readiness throughSelfTestAsync. - Transmitter output power — Enable the DUT transmitter and measure output power at each operating wavelength using the optical power meter handler. Compare against the min/max limits from the component specification.
- Receiver sensitivity — Sweep the tunable laser across the receiver wavelength range. At each step, adjust the VOA to find the power level at which the DUT reports errors. The resulting sensitivity curve maps the receiver's operating envelope.
- Spectral characterization — Trigger an OSA sweep with the DUT transmitter active. Use
FindPeaksAsyncto verify center wavelength accuracy, SMSR, and spectral width against the ITU grid specification. - Polarization dependence — Scramble the input polarization state while measuring the DUT's output. Record PDL across the operating band using
MeasurePdlVsWavelengthAsync. - OTDR verification — For fiber-pigtailed assemblies, run an OTDR trace on each fiber port. Use
DetectEventsAsyncto verify splice loss and connector reflectance against workmanship standards. - Report and archive — Aggregate results, apply pass/fail limits, and export test data. OTDR traces are archived as SOR files; spectral data as CSV; polarization data with full Mueller/Jones matrices.
Multi-Instrument Coordination
Because all optical handlers share the IHardwareModule lifecycle
pattern, a TestStand sequence manages them uniformly. The Setup group connects
all instruments in parallel. Each test step invokes handler methods through the
same async/await pattern. The Cleanup group disconnects all instruments,
regardless of whether the sequence completed or aborted. This uniformity
eliminates the per-vendor integration code that traditionally accounts for a
significant fraction of optical test station development effort.
10. Supported Instruments
The following table summarizes the full instrument coverage across all five optical handler modules.
| Vendor | Modules | Instruments |
|---|---|---|
| EXFO | OTDR, OSA, Tunable Laser, Polarization, Power Meter | FTB-7200D, FTB-7400E, FTB-7600E, FTBx-5235, FTBx-5245, CTP10, T100S-HP, FTBx-5500, PSO-200, FOT-930, FPM-300, FTB-500 |
| Keysight | Tunable Laser, Polarization, Power Meter | 81606A, 81608A, 81609A, N7786, N7788, 816xx Sensor, N77xx Power Meter, N77xx Attenuator, N77xx Switch |
| Yokogawa | OTDR, OSA | AQ1210, AQ7280, AQ7282A, AQ6370D, AQ6375B, AQ6380 |
| Viavi | OTDR, Power Meter | MTS-2000, MTS-4000, MTS-6000, MAP, MTS, OLP-87 |
| Thorlabs | Power Meter | PM100A, PM100D, PM100USB, PM5020 |
| Anritsu | OSA | MS9710C, MS9740B |
| Santec | Tunable Laser | TSL-570, TSL-770 |
| Luna Innovations (General Photonics) | Polarization | PolaDetect, PSY-201 |
Additional instruments can be supported by implementing the relevant handler interface and vendor base class. The three-tier architecture means that adding a new model from an already-supported vendor typically requires only the concrete handler class with model-specific parameters — the protocol implementation is inherited from the vendor base class.
Evaluating S1 Foundry for optical test
Talk to the engineering team about the OTDR, OSA, tunable laser, polarization, and power meter instruments on your bench.