Skew, drift and calibration
Lane skew against eye opening, heater drift as a random walk, the calibration state machine and what it costs in availability.
What this stage does
Two things go wrong slowly or quietly. The four electrical lanes do not arrive perfectly aligned, and the module samples them all at once, so a skewed lane is read off its peak. And the interferometer is tuned by thermo-optic heaters (17 patent) whose phases drift with temperature and age. A microcontroller with monitor photodiodes calibrates the heaters at power-up, then tracks them with small pilot perturbations while data flows; when tracking fails, the stream pauses for a recalibration.
How it’s modelled
Skew. Each lane’s NRZ drive passes a Gaussian channel of bandwidth 0.75 × baud illustrative (swept down to 0.5 × baud); one lane is delayed; every lane is sampled at the unskewed optimum; the sequence is periodic, truncated at 6 symbols illustrative each side.
Drift and tracking. Each heater’s phase is a random walk (0.01 rad/√s illustrative, swept) plus a common temperature walk. A first-order tracker (gain 0.1 illustrative) is updated once per pilot period (1,000 frames patent) and evaluated in closed form per monitoring period (0.5 s patent). Each period sends a marker frame of 256 words illustrative; a failure is re-applied once (true patent) and a second failure pauses the stream for 1 s illustrative.
Calibration. The simulator’s calibration runs ordered coarse and fine scans per heater in mesh order, a joint refinement on the truth-table residuals, DAC quantisation (12 bits illustrative, phase growing as V²) and a pass check at max |deviation| below 0.5 level steps patent. Its code is not part of this site’s vendored copy, so the animation below runs a simplified stand-in written for this site: the same steps on the same ported analogue chain, with 64 illustrative coarse points, 3 illustrative sweeps and a damped least-squares refinement. The simulator’s own refinement already stands in for the patent’s procedure, whose details are not given.
What we found
Skew
The channel bandwidth matters more than the skew. At 0.75 × baud the eye opening (1 = ideal, over 2,048 random symbols) is 0.9575 with no skew and 0.9155 with 10 ps (0.14 UI) on one lane; the error-rate target holds up to 0.4023 UI. At 0.5 × baud the eye starts at 0.464, falls to 0.3928 at 10 ps, and the target holds only to 0.2449 UI.
Data table
| skew (UI) | 0.5×baud | 0.75×baud |
|---|---|---|
| 0 | 0.464 | 0.9575 |
| 0.02 | 0.4762 | 0.9593 |
| 0.04 | 0.4868 | 0.9576 |
| 0.06 | 0.4916 | 0.953 |
| 0.08 | 0.4709 | 0.9469 |
| 0.1 | 0.4476 | 0.9389 |
| 0.12 | 0.4217 | 0.9286 |
| 0.14 | 0.3928 | 0.9155 |
| 0.16 | 0.361 | 0.8991 |
| 0.18 | 0.3262 | 0.8787 |
| 0.2 | 0.2882 | 0.8537 |
| 0.22 | 0.2471 | 0.8235 |
| 0.24 | 0.203 | 0.7876 |
| 0.26 | 0.1558 | 0.7454 |
| 0.28 | 0.1057 | 0.6966 |
| 0.3 | 0.05288 | 0.6408 |
| 0.32 | −0.002429 | 0.578 |
| 0.34 | −0.05998 | 0.5084 |
| 0.36 | −0.1195 | 0.4322 |
| 0.38 | −0.1805 | 0.3502 |
| 0.4 | −0.2428 | 0.2631 |
| 0.42 | −0.3058 | 0.1721 |
| 0.44 | −0.3692 | 0.0784 |
| 0.46 | −0.4326 | −0.01662 |
| 0.48 | −0.4955 | −0.1115 |
| 0.5 | −0.5575 | −0.2049 |
Data table
| skew (UI) | 0.5×baud | 0.75×baud |
|---|---|---|
| 0 | 1.743 × 10⁻¹⁸ | 1 × 10⁻²⁰ |
| 0.02 | 3.38 × 10⁻¹⁹ | 1 × 10⁻²⁰ |
| 0.04 | 8.822 × 10⁻²⁰ | 1 × 10⁻²⁰ |
| 0.06 | 1.452 × 10⁻¹⁹ | 1 × 10⁻²⁰ |
| 0.08 | 2.102 × 10⁻¹⁸ | 1 × 10⁻²⁰ |
| 0.1 | 4.429 × 10⁻¹⁷ | 1 × 10⁻²⁰ |
| 0.12 | 1.123 × 10⁻¹⁵ | 1 × 10⁻²⁰ |
| 0.14 | 3.268 × 10⁻¹⁴ | 1 × 10⁻²⁰ |
| 0.16 | 1.032 × 10⁻¹² | 1 × 10⁻²⁰ |
| 0.18 | 3.304 × 10⁻¹¹ | 1 × 10⁻²⁰ |
| 0.2 | 9.887 × 10⁻¹⁰ | 1 × 10⁻²⁰ |
| 0.22 | 2.528 × 10⁻⁸ | 1 × 10⁻²⁰ |
| 0.24 | 5.024 × 10⁻⁷ | 1 × 10⁻²⁰ |
| 0.26 | 7.112 × 10⁻⁶ | 1 × 10⁻²⁰ |
| 0.28 | 6.782 × 10⁻⁵ | 1 × 10⁻²⁰ |
| 0.3 | 0.0004399 | 1 × 10⁻²⁰ |
| 0.32 | 0.002093 | 1 × 10⁻²⁰ |
| 0.34 | 0.007757 | 1.758 × 10⁻¹⁹ |
| 0.36 | 0.02256 | 6.995 × 10⁻¹⁵ |
| 0.38 | 0.05187 | 1.094 × 10⁻¹⁰ |
| 0.4 | 0.1003 | 4.298 × 10⁻⁷ |
| 0.42 | 0.1706 | 0.0002878 |
| 0.44 | 0.2287 | 0.02446 |
| 0.46 | 0.2449 | 0.1889 |
| 0.48 | 0.2514 | 0.2437 |
| 0.5 | 0.2732 | 0.2453 |
Drift as a random walk
With a pilot every 10 frames the tracker gets about 10,050 updates per heater per monitoring period, and availability stays above the study’s threshold at every swept drift rate, up to 1 rad/√s. With a pilot every 100,000 frames it gets about 1.005, and availability holds only up to 0.01 rad/√s: at 0.1 rad/√s it is 0.6708, and at the top of the sweep 0.3333, almost all of it spent recalibrating. Even a pilot every 1,000 frames loses ground at 1 rad/√s (availability 0.9408, 71 recalibrations in 1,200 s, one every 16.9 s).
Data table
| drift (rad/√s) | pilot 10 frames | pilot 1000 frames | pilot 10000 frames | pilot 100000 frames |
|---|---|---|---|---|
| 0.003 | 1 | 1 | 1 | 1 |
| 0.01 | 1 | 1 | 1 | 1 |
| 0.03 | 1 | 1 | 1 | 0.9983 |
| 0.1 | 1 | 1 | 0.9992 | 0.6708 |
| 0.3 | 1 | 1 | 0.41 | 0.3347 |
| 1 | 1 | 0.9408 | 0.3333 | 0.3333 |
Data table
| drift (rad/√s) | pilot 10 frames | pilot 1000 frames | pilot 10000 frames | pilot 100000 frames |
|---|---|---|---|---|
| 0.003 | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ |
| 0.01 | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ |
| 0.03 | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1.482 × 10⁻⁵ |
| 0.1 | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 3.841 × 10⁻⁵ | 0.03418 |
| 0.3 | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 0.2119 | 0.6896 |
| 1 | 1 × 10⁻²⁰ | 0.003199 | 0.8718 | 0.9326 |
The calibration state machine
How good does calibration have to be?
Phase errors that calibration leaves behind are forgiving. Word error stays below one in a million for an input-phase error up to 21.24° on one lane, and for LO-phase errors up to 28.31° on output 1, 18.59° on output 2 and 18.39° on all outputs at once. Output 3 tolerates 35.67°.
Data table
| phase error (deg) | input lane 1 | input lane 2 | LO output 1 | LO output 2 | LO output 3 | LO all outputs |
|---|---|---|---|---|---|---|
| 0 | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ |
| 1 | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ |
| 2 | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ |
| 3 | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ |
| 4 | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ |
| 5 | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ |
| 6 | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ |
| 7 | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ |
| 8 | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ |
| 9 | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ |
| 10 | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ |
| 11 | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ |
| 12 | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1.997 × 10⁻²⁰ |
| 13 | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 1 × 10⁻²⁰ | 4.577 × 10⁻¹⁸ | 1 × 10⁻²⁰ | 9.154 × 10⁻¹⁸ |
| 14 | 1.388 × 10⁻¹⁸ | 1.388 × 10⁻¹⁸ | 1 × 10⁻²⁰ | 1.38 × 10⁻¹⁵ | 1 × 10⁻²⁰ | 2.76 × 10⁻¹⁵ |
| 15 | 1.681 × 10⁻¹⁶ | 1.681 × 10⁻¹⁶ | 1 × 10⁻²⁰ | 2.694 × 10⁻¹³ | 1 × 10⁻²⁰ | 5.387 × 10⁻¹³ |
| 16 | 1.455 × 10⁻¹⁴ | 1.455 × 10⁻¹⁴ | 1 × 10⁻²⁰ | 3.35 × 10⁻¹¹ | 1 × 10⁻²⁰ | 6.701 × 10⁻¹¹ |
| 17 | 9.032 × 10⁻¹³ | 9.032 × 10⁻¹³ | 1 × 10⁻²⁰ | 2.618 × 10⁻⁹ | 1 × 10⁻²⁰ | 5.236 × 10⁻⁹ |
| 18 | 4.039 × 10⁻¹¹ | 4.039 × 10⁻¹¹ | 1 × 10⁻²⁰ | 1.268 × 10⁻⁷ | 1 × 10⁻²⁰ | 2.537 × 10⁻⁷ |
| 19 | 1.307 × 10⁻⁹ | 1.307 × 10⁻⁹ | 1 × 10⁻²⁰ | 3.768 × 10⁻⁶ | 1 × 10⁻²⁰ | 7.535 × 10⁻⁶ |
| 20 | 3.08 × 10⁻⁸ | 3.08 × 10⁻⁸ | 1 × 10⁻²⁰ | 6.803 × 10⁻⁵ | 1 × 10⁻²⁰ | 0.000136 |
| 21 | 5.31 × 10⁻⁷ | 5.31 × 10⁻⁷ | 1 × 10⁻²⁰ | 0.0007432 | 1 × 10⁻²⁰ | 0.001482 |
| 22 | 6.748 × 10⁻⁶ | 6.748 × 10⁻⁶ | 6.949 × 10⁻²⁰ | 0.00492 | 1 × 10⁻²⁰ | 0.009647 |
| 23 | 6.366 × 10⁻⁵ | 6.366 × 10⁻⁵ | 1.716 × 10⁻¹⁷ | 0.01999 | 1 × 10⁻²⁰ | 0.0368 |
| 24 | 0.0004496 | 0.0004496 | 3.504 × 10⁻¹⁵ | 0.05146 | 1 × 10⁻²⁰ | 0.08192 |
| 25 | 0.0024 | 0.0024 | 5.618 × 10⁻¹³ | 0.08961 | 1 × 10⁻²⁰ | 0.1167 |
| 26 | 0.009788 | 0.009788 | 6.703 × 10⁻¹¹ | 0.1183 | 1 × 10⁻²⁰ | 0.1337 |
| 27 | 0.03091 | 0.03091 | 5.639 × 10⁻⁹ | 0.1382 | 1 × 10⁻²⁰ | 0.1558 |
| 28 | 0.07674 | 0.07674 | 3.169 × 10⁻⁷ | 0.1631 | 2.346 × 10⁻²⁰ | 0.2016 |
| 29 | 0.1528 | 0.1528 | 1.128 × 10⁻⁵ | 0.2013 | 2.949 × 10⁻¹⁸ | 0.2777 |
| 30 | 0.25 | 0.25 | 0.0002416 | 0.25 | 3.144 × 10⁻¹⁶ | 0.3751 |
Data table
| phase error (deg) | input lane 1 | input lane 2 | LO output 1 | LO output 2 | LO output 3 | LO all outputs |
|---|---|---|---|---|---|---|
| 0 | 8.882 × 10⁻¹⁶ | 8.882 × 10⁻¹⁶ | 8.882 × 10⁻¹⁶ | 8.882 × 10⁻¹⁶ | 8.882 × 10⁻¹⁶ | 8.882 × 10⁻¹⁶ |
| 1 | 0.01745 | 0.01745 | 0.0006092 | 0.0176 | 0.0003046 | 0.0176 |
| 2 | 0.0349 | 0.0349 | 0.002437 | 0.03551 | 0.001218 | 0.03551 |
| 3 | 0.05234 | 0.05234 | 0.005482 | 0.05371 | 0.002741 | 0.05371 |
| 4 | 0.06976 | 0.06976 | 0.009744 | 0.07219 | 0.004872 | 0.07219 |
| 5 | 0.08716 | 0.08716 | 0.01522 | 0.09096 | 0.007611 | 0.09096 |
| 6 | 0.1045 | 0.1045 | 0.02191 | 0.11 | 0.01096 | 0.11 |
| 7 | 0.1219 | 0.1219 | 0.02982 | 0.1293 | 0.01491 | 0.1293 |
| 8 | 0.1392 | 0.1392 | 0.03893 | 0.1489 | 0.01946 | 0.1489 |
| 9 | 0.1564 | 0.1564 | 0.04925 | 0.1687 | 0.02462 | 0.1687 |
| 10 | 0.1736 | 0.1736 | 0.06077 | 0.1888 | 0.03038 | 0.1888 |
| 11 | 0.1908 | 0.1908 | 0.07349 | 0.2092 | 0.03675 | 0.2092 |
| 12 | 0.2079 | 0.2079 | 0.08741 | 0.2298 | 0.0437 | 0.2298 |
| 13 | 0.225 | 0.225 | 0.1025 | 0.2506 | 0.05126 | 0.2506 |
| 14 | 0.2419 | 0.2419 | 0.1188 | 0.2716 | 0.05941 | 0.2716 |
| 15 | 0.2588 | 0.2588 | 0.1363 | 0.2929 | 0.06815 | 0.2929 |
| 16 | 0.2756 | 0.2756 | 0.155 | 0.3144 | 0.07748 | 0.3144 |
| 17 | 0.2924 | 0.2924 | 0.1748 | 0.3361 | 0.08739 | 0.3361 |
| 18 | 0.309 | 0.309 | 0.1958 | 0.358 | 0.09789 | 0.358 |
| 19 | 0.3256 | 0.3256 | 0.2179 | 0.38 | 0.109 | 0.38 |
| 20 | 0.342 | 0.342 | 0.2412 | 0.4023 | 0.1206 | 0.4023 |
| 21 | 0.3584 | 0.3584 | 0.2657 | 0.4248 | 0.1328 | 0.4248 |
| 22 | 0.3746 | 0.3746 | 0.2913 | 0.4474 | 0.1456 | 0.4474 |
| 23 | 0.3907 | 0.3907 | 0.318 | 0.4702 | 0.159 | 0.4702 |
| 24 | 0.4067 | 0.4067 | 0.3458 | 0.4932 | 0.1729 | 0.4932 |
| 25 | 0.4226 | 0.4226 | 0.3748 | 0.5163 | 0.1874 | 0.5163 |
| 26 | 0.4384 | 0.4384 | 0.4048 | 0.5396 | 0.2024 | 0.5396 |
| 27 | 0.454 | 0.454 | 0.436 | 0.563 | 0.218 | 0.563 |
| 28 | 0.4695 | 0.4695 | 0.4682 | 0.5865 | 0.2341 | 0.5865 |
| 29 | 0.4848 | 0.4848 | 0.5015 | 0.6102 | 0.2508 | 0.6102 |
| 30 | 0.5 | 0.5 | 0.5359 | 0.634 | 0.2679 | 0.634 |
What would need measured data
Every drift rate, tracker gain and recalibration time here is illustrative; so are the channel bandwidths and the heater mesh layout (inferred, since the real layout is not given). Measured lane skew and channel responses, the OFT’s actual heater cross-talk, drift statistics against temperature and the real calibration sequence and timings would replace them. The pilot period, monitoring period and retry-once rule come from the patent.