123 Main Street, New York, NY 10001

Clock Stability: ppm/°C Temperature Drift & Aging

← Back to:Reference Oscillators & Timing

Stability is about slow frequency drift (temperature, aging, warm-up, ramps, pulling/stress) and how it accumulates into time error. This page provides a practical method to budget, measure, compensate, and screen stability so systems stay within the drift window across real thermal and mechanical conditions.

What “Stability” Means (and What It Is NOT)

Stability describes slow frequency error that changes with temperature, time, supply/load conditions, and mechanical stress. This slow error accumulates into time offset and shows up as holdover drift, long-term misalignment, and synchronization quality alarms.

In-scope on this page (slow drift)
  • Temperature stability: ±ppm over range, ppm/°C, turnover behavior, hysteresis/retrace.
  • Warm-up and thermal ramps: time-to-window, soak criteria, ramp-rate sensitivity.
  • Aging: ppm/day → ppm/year, first-year vs steady-state drift.
  • Frequency sensitivities (pulling): Δf vs VDD, load, stress (slow bias, not random jitter).
Out-of-scope (handled by other pages)
  • Random jitter / phase noise integration (fast error, RMS jitter windows).
  • PTP / SyncE protocol details (state machines, packet timing, EEC/SEC compliance classes).

Tip: When symptoms are “edge fuzz” or BER sensitivity, look for jitter/PN topics; when symptoms are “drift over minutes/hours/days”, look for stability topics.

Definitions that prevent misreads
Accuracy
Initial offset vs a reference (often improved by calibration). Good accuracy does not guarantee good drift performance.
Stability
Change of frequency over temperature/time/environment. This is the dominant driver for holdover time error and long-term alignment.
Repeatability
Ability to reproduce the same frequency behavior when returning to the same conditions (critical for LUT-based compensation and production screening).
Time error from frequency offset (the only formula needed here)

Frequency error is fractional: Δf/f. The accumulated time error scales with elapsed time: Δt ≈ (Δf/f) · T

Fast conversion anchors
  • 1 ppm = 1 μs/s
  • 1 ppm86.4 ms/day
  • 0.1 ppm8.64 ms/day
  • 10 ppb0.864 ms/day
Typical stability-driven symptoms
  • Holdover drift exceeds window after a known outage duration.
  • Quality alarms appear after temperature ramps or enclosure airflow changes.
  • Inter-board alignment gradually diverges over hours to days (relative drift).
Clock error time-scale map: jitter/phase noise vs stability Diagram shows a time axis from milliseconds to years. The upper track labels fast error sources (jitter and phase noise). The lower track labels stability sources (temperature drift, warm-up, aging, pulling) and an arrow to time error accumulation. Error time-scales: fast vs slow Time-scale ms s min hour day year Fast error (not covered here) Jitter / Phase Noise RMS window / PN integration Slow error (stability focus) Temp drift Warm-up Aging Pulling Slow error accumulates → Time error
Time-scale map: stability is slow frequency drift that accumulates into time offset; random jitter/phase noise is a separate fast-error topic.

Metrics & Specs That Must Be Read Correctly

Stability failures often come from a single mistake: treating one number (for example ±ppm) as a complete answer. A stable clock must be evaluated as a set of drift contributors that add up under real operating conditions.

Practical reading rules (prevents “looks good on paper”)
  • Always check conditions: temperature range, supply, output load, airflow, and warm-up state.
  • Separate envelope specs (±ppm over range) from sensitivity specs (ppm/°C, Δf/ΔV).
  • Convert stability into time error using Δt ≈ (Δf/f)·T before making holdover or alignment claims.
  • When a spec describes random jitter / phase noise, treat it as a different axis and keep it out of stability budgeting.
Temp stability
±ppm over range · ppm/°C · turnover

±ppm over range is an envelope: it bounds error across the temperature span but may hide a parabolic shape with a turnover temperature. ppm/°C is usually a local slope valid only over a limited region.

Common misread
Assuming “ppm/°C × ΔT” always equals worst-case drift. If the curve has a turnover, drift can be small near the turnover and much larger away from it.
System meaning
  • Determines holdover drift vs ambient and long-term skew changes with airflow/enclosure heat.
  • Sets the required temperature logging and guardband for time-error windows.
Quick check
  • Run a steady soak at 3–5 key temperatures (low / mid / high) after warm-up.
  • Repeat the same points for heating and cooling to reveal hysteresis.
Aging
first year vs steady-state · ppm/day → ppm/year

Aging is a long-term frequency drift. Many oscillators age faster early in life and then slow down, so “typical aging” can be misleading without the timeline.

Common misread
Using a steady-state number to cover first-year behavior, then discovering holdover windows fail after months in the field.
System meaning
  • Defines recalibration interval and long-term alignment maintenance strategy.
  • Sets the drift reserve needed for multi-month or multi-year deployments.
Useful conversion: 0.1 ppm/year8.64 ms/day time error accumulation if uncorrected.
Quick check
  • Log frequency vs time under a stable temperature (and stable supply) to separate aging from thermal gradients.
  • After a controlled power cycle, check for step-like offsets (retrace vs true aging trend).
Warm-up & retrace
settle time · hysteresis · repeatability

Warm-up describes how frequency approaches a stable window after power-on or a thermal disturbance. Retrace/hysteresis describes how the same temperature can produce different frequency offsets depending on heating vs cooling history.

Common misread
Treating “warm-up time” as a single number without a defined window (for example: ±0.1 ppm) and ignoring enclosure airflow or ramp rate.
System meaning
  • Controls time-to-service (when timing can be trusted after power-on).
  • Determines whether temperature compensation LUTs remain valid across real thermal ramps.
Quick check
  • Define a pass window (example: ±X ppb/ppm) and measure time-to-window after power-on.
  • Perform the same test under controlled ramps (°C/min) to expose compensation lag and hysteresis.
Load / supply pulling
frequency sensitivity (not random jitter)

Pulling is a DC/slow bias shift in frequency caused by supply voltage changes, output loading, or mechanical stress. It often masquerades as aging if measurement conditions are not controlled.

Common misread
Mixing supply pulling (Δf/ΔV) into a temperature or aging model, then “compensating” the wrong root cause.
System meaning
  • Requires supply and load control during stability tests (and stable fixtures in production).
  • Defines the need for isolation (buffering, clean rails) when multiple loads share a reference.
Quick check
  • Step supply voltage within allowed limits and measure Δf (keep temperature constant).
  • Change output loading/buffer configuration and look for correlated frequency steps.
Datasheet decoder for stability: metrics to system impact Two-column block diagram. Left column lists temperature stability, aging, warm-up and retrace, and pulling. Right column shows the system impact: time error accumulation, holdover window, time-to-trust, and sensitivity checks. Datasheet decoder: stability metrics → system meaning Metric (datasheet) System meaning (what it breaks) T Temp stability ±ppm · ppm/°C · turnover Holdover drift Time error vs T A Aging first year · ppm/day → ppm/year Long-term drift Recal interval W Warm-up & retrace time-to-window · hysteresis Time-to-trust Ramp risk P Pulling (Δf vs VDD/load/stress) Sensitivity check False aging
Datasheet decoder: treat stability as multiple drift contributors (temperature, aging, warm-up, pulling) mapped to time error and verification hooks.

Temperature Drift Physics: Curves, Turnover, Hysteresis

Temperature drift is rarely linear. Many oscillators show a curved frequency-vs-temperature behavior with a turnover temperature, plus a history-dependent gap where heating and cooling paths do not match (hysteresis/retrace). These shapes determine whether a simple “ppm/°C” model is valid and whether compensation remains stable across real thermal ramps.

A) Curved drift & turnover (typical XO/TCXO behavior)
  • Turnover is the temperature where drift slope approaches zero; drift grows as operation moves away from it.
  • ±ppm over range is an envelope, not a guarantee of slope linearity or ramp performance.
  • Local slope (ppm/°C) is range-dependent; the “worst slope” often occurs near the range edges.
Common misread
Treating ppm/°C × ΔT as a universal worst-case drift, ignoring curvature and turnover position.
B) Hysteresis & retrace (heat vs cool mismatch)
  • At the same temperature, frequency can differ depending on whether the system approached the point while heating or cooling.
  • This gap is a slow bias (not random noise) and can break single-direction compensation tables.
  • Repeatability depends on soak time, thermal gradients, and mechanical stress history.
Quick verification
  • Pick 2–3 temperatures, soak at each point, and measure frequency after both heating and cooling approaches.
  • Record the same-point delta as hysteresis; use it as a guardband for compensation validity.
C) Board-level gradients: package ≠ sensor ≠ ambient

A temperature sensor can be accurate while measuring the wrong thing. Drift follows the temperature of the frequency-setting core, which may lag and differ from ambient and from a nearby sensor during ramps.

  • Spatial gradient: airflow, nearby hot ICs, enclosure contact points, copper planes.
  • Temporal gradient: thermal time constants cause lag during ramps (sensor leads/lag vs core).
First checks before blaming the model
  • Confirm sensor placement relative to the oscillator and dominant heat sources.
  • Verify airflow changes do not create new gradients (fan states, ducting, enclosure lids).
  • Repeat measurements with a longer soak to distinguish gradient lag from true curvature.
Temperature drift: turnover, hysteresis, and datasheet envelope Chart-style block diagram with two curves (heat and cool), a highlighted turnover point, a vertical marker showing hysteresis gap at the same temperature, and an upper/lower envelope band representing ±ppm over range. Temperature drift shape: heat vs cool, turnover, and envelope Frequency error Temperature ±ppm envelope Heating Cooling Datasheet band Turnover Hysteresis gap
Heating and cooling can diverge at the same temperature (hysteresis/retrace). A datasheet ±ppm value is an envelope, not a guarantee of linear slope or ramp behavior.

Warm-Up & Thermal Ramps: Why It Passes Steady but Fails During Ramps

Steady-state drift can look excellent while ramp performance fails. The root cause is usually thermal dynamics: time constants, sensor/core temperature mismatch, and compensation or oven-control lag. These effects create transient frequency error that can exceed a defined stability window even if steady soak points pass.

A) Warm-up profile: transient → settle → soak
  • Transient: rapid drift right after power-on or disturbance.
  • Settle: drift slows but may still be outside the target window.
  • Soak pass: frequency remains inside a defined window for a defined duration.
Pass criteria template (define, then measure)
  • Time-to-window: time until |Δf/f| ≤ ±X (ppm/ppb).
  • Drift-rate: within-window slope ≤ Y per minute.
  • Soak duration: meets both criteria for ≥ Z minutes.
B) OCXO vs TCXO during ramps (different failure mechanisms)
OCXO (oven control)
  • Core temperature is regulated near a setpoint.
  • Ramp failures often involve thermal path changes (airflow/enclosure) or control settling.
TCXO (sensor + compensation)
  • Frequency is corrected using measured temperature.
  • Ramp failures often involve sensor/core mismatch, hysteresis, or compensation lag.
C) Ramp-rate sensitivity: °C/min × time constants = transient error

Under fast ramps, the relevant error is not the steady drift curve but the dynamic lag between thermal input and the temperature that actually sets frequency. Larger time constants and stronger gradients increase the overshoot and extend time-to-window.

  • Fast ramp + slow thermal response → window violations even if end-point soaks pass.
  • Enclosure airflow changes effectively modify the thermal plant and shift ramp behavior.
D) Practical logging (minimum set for ramp debugging)

To separate thermal lag from true curvature or aging, logging must capture both the thermal state and the frequency state with timestamps.

Minimum required
  • T_sensor (temperature used by the system)
  • f_meas or phase error (one is enough)
  • time (timestamp, power-on marker, ramp marker)
  • state (mode, lock/holdover, oven/comp enable, fan profile)
Add when “false aging” is suspected
  • VDD (to identify pulling)
  • load state (buffer enable, fanout changes)
  • airflow indicator (fan duty, enclosure open/closed)
Warm-up and ramp dynamics: thermal lag and window violations Engineering block diagram shows temperature input (step/ramp), thermal plant with time constant, sensor placement/lag, and compensation or oven control. Right side shows frequency error vs time curves with a shaded stability window band. Warm-up & ramp dynamics: lag → window violations → time-to-window Temperature input Step Ramp Thermal path & control chain Thermal plant time constant τ Sensor placement/lag Control TCXO/OCXO Observed result Frequency error warm-up / ramp Frequency error vs time Window Ideal settle Time-to-window Fast settle Lag/overshoot
Under ramps, thermal lag and control/compensation delays can push frequency error outside the stability window until time-to-window is achieved.

Aging: Mechanisms, Shapes, and Why the First Year Is Different

Aging is a slow, long-term frequency drift that is often not a constant rate. Many oscillators exhibit faster change early in life and slower change later, which is why a single “ppm/year” number can under- or over-estimate real holdover drift depending on the time horizon.

A) Typical aging curve: fast early, slower later
  • Early life can show larger slope changes (often visible in the first 30–90 days).
  • Later life often transitions into a smaller, steadier drift rate.
  • Short-term “steps” can appear after disturbances; distinguish steps from the underlying long-term trend.
Common misread
Using a steady-state “ppm/year” value to cover early-life drift, then discovering long-term alignment budgets fail during the first deployment months.
B) Crystal vs MEMS vs OCXO: what “aging” looks like
Crystal XO / TCXO
  • Often shows early-life slope that relaxes later.
  • Can show apparent “retrace” after thermal cycling or power cycles.
MEMS Oscillator
  • Aging behavior can differ from quartz; pay attention to drift spec conditions and logging requirements.
  • Bias-like shifts can be dominated by stress or environment if mounting is inconsistent.
OCXO / GPSDO (holdover context)
  • Oven control reduces sensitivity to ambient temperature changes, but does not remove aging.
  • System holdover must separate aging trend from state changes (warm-up, airflow, setpoint behavior).
C) Power cycling: retrace, stress relief, and “aging steps”

Not every long-term change is a smooth drift. Power cycles and thermal cycles can introduce step-like offsets that mimic an aging jump. Without controlled conditions, these steps can be mis-modeled as a change in aging rate.

Isolation checklist (quick)
  • Compare pre/post power-cycle frequency at the same temperature soak and the same supply/load.
  • Log a “cycle marker” event and check whether drift is continuous or step-like across the marker.
  • If steps correlate with mounting or enclosure changes, treat as stress/pulling (not true aging).
D) Guardband: most conservative vs most realistic

Set an aging guardband based on the system time horizon and the acceptable time error accumulation. Use a tiered approach: conservative for early deployment, then tighten as data is collected.

Worst-case envelope
Use datasheet max aging (and early-life allowance if provided). Best for hard SLAs and unknown field conditions.
Typical + guard margin
Apply typical aging plus an explicit margin for variability, handling, and measurement uncertainty.
Learned model
Fit an aging trend from logged field or burn-in data, but only after pulling/stress false-positives are removed.
Budget framing
Convert the guardband into time error using Δt ≈ (Δf/f)·T, then pick recalibration/discipline intervals that keep time error within the system window.
Aging is not a constant rate: early-life slope and budget envelope Diagram shows a log-scaled time axis from days to years and a frequency offset axis. A typical aging curve has steeper slope early and flattens later. Envelope lines represent worst-case and typical guardbands, with a highlighted early-life window of 30–90 days. Aging shape (log time): fast early, slower later + budget envelope Δf/f (ppm/ppb) Time (log) 1d 10d 30d 1y 10y 30–90d Typical aging curve Worst-case Typical + margin Later: slower slope
A log-time view makes early-life slope obvious. Use an envelope budget for deployment, then tighten using verified long-term data after false-aging sources are removed.

Sensitivities That Masquerade as Aging: Pulling & Stress

Many “aging” investigations fail because the observed drift is not aging at all. Slow frequency changes can be caused by pulling (supply/load/drive-level sensitivity) and stress (mechanical mounting, vibration, and environment). If these sources are not isolated, compensation models will chase the wrong variable and get worse over time.

A) Pulling: supply, load, and drive-level sensitivity
  • Supply pulling (Δf/ΔV): frequency shifts with rail changes; can look like slow drift if VDD moves with temperature or load.
  • Load pulling: changes in fanout, termination, or buffer enable can create steps in frequency.
  • Drive-level sensitivity: oscillator output amplitude/loading conditions influence the resonator operating point.
Quick checks
  • Step VDD within allowed limits and measure correlated Δf (hold temperature constant).
  • Toggle fanout outputs/terminations and look for frequency steps aligned to the change.
  • Hold output load constant during aging logs; document any configuration changes as state markers.
B) g-sensitivity: vibration/acceleration as slow bias

Vibration and acceleration can change oscillator frequency through stress coupling. In the field, this can present as a slow “bias drift” when motion patterns vary across time or between installations.

Quick checks
  • Run a controlled vibration or tap test and watch for frequency correlation.
  • Compare drift logs between “static bench” and “installed enclosure” conditions.
  • If drift changes with mounting orientation, suspect g-sensitivity or stress coupling.
C) Humidity/contamination/leakage as “apparent drift”
  • Humidity and contamination can change impedances, bias points, or sensor readings that feed compensation.
  • Leakage paths can evolve with moisture, flux residues, or conformal coating behavior.
  • These effects often look like long-term drift but can recover after drying or cleaning.
Quick checks
  • Compare drift in controlled humidity vs dry conditions (constant temperature).
  • Inspect for residues; verify that cleaning/coating steps do not shift frequency.
  • Log leakage indicators (bias currents, sensor offsets) as part of the drift record.
D) Mounting stress: PCB bending, enclosure torque, fastener changes

Mechanical stress can create slow frequency bias shifts and step changes. These are often mis-labeled as “aging jumps” when the real cause is assembly variation or enclosure handling.

Quick checks
  • Re-seat the board and repeat frequency at the same temperature soak; look for repeatable steps.
  • Change enclosure torque in a controlled way and check correlation.
  • Compare “free board” vs “installed” measurements to isolate mounting contribution.
Observed drift fault tree: isolate aging from pulling and stress Root node ‘Observed drift’ splits into four main branches: aging, temperature gradient, pulling, and stress. Each branch ends with quick check tags such as VDD step, load change, vibration test, torque swap, and soak comparison. Fault tree: observed drift → aging vs false-aging sources Observed drift Aging Temp gradient Pulling Stress Trend over time Soak Log Sensor ≠ core Soak Ramp VDD / load VDD step Load Mount / vibe Vibe Torque Rule: remove gradients, pulling, and stress before fitting an aging model. If drift follows VDD/load/mounting, treat it as sensitivity—not true aging.
Use a fault-tree approach: prove or eliminate pulling, gradients, and stress before labeling drift as aging and building compensation.

Budgeting Stability into System Requirements (No Protocol Rabbit Holes)

Stability specs become actionable only after they are translated into system windows: how fast a frequency error accumulates time error, how long holdover can last before crossing a limit, and how multi-channel alignment drifts under temperature and aging corners.

Convert ppm → time error accumulation

Use the first-order relation Δt ≈ (Δf/f)·T. It is valid for slow drift budgets and holdover planning. Treat ppm/ppb as a time-domain accumulation rate.

Anchor conversions
  • 1 ppm1 µs/s
  • 1 ppm3.6 ms/hour
  • 1 ppm86.4 ms/day
  • 10 ppb0.864 ms/day
Window mapping template
Allowed time error W over outage duration T implies max allowed frequency error |Δf/f| ≤ W/T.
Holdover planning: drift vs outage duration

Holdover is a window problem, not a protocol problem. Define the system’s pass window first (time error, phase error, or application alignment tolerance), then budget stability so the worst-case drift stays inside the window for the full outage duration.

Define outage scenario
  • Outage duration: T_outage
  • Allowed time/phase error: W
  • Temperature corner & ramp corner: ΔT, dT/dt
Pass criteria
Worst-case Δt(T_outage) must remain within ±W, including temperature drift, aging drift, residual pulling, and ramp penalty.
Multi-channel alignment drift: relative stability matters

Multi-channel alignment budgets depend on relative drift, not only absolute drift. Shared references can create common-mode cancellation, but only if channel paths see similar thermal and loading conditions.

Absolute vs relative
  • Absolute: channel vs ideal timebase (timestamps, holdover window).
  • Relative: channel A vs channel B (alignment, inter-channel skew drift).
Common-mode is conditional
Common-mode cancellation weakens if channels see different gradients, different fanout loads, different supply pulling, or different mounting stress.
Guardbands: temperature corners + aging corners + ramp corners

Build a budget envelope for worst-case frequency error, then translate to time error vs time. Avoid mixing slow drift with unrelated noise specs; treat each slow term as a bounded bias until proven independent.

Three budgeting modes
  • Conservative: sum worst-case corners.
  • Typical+margin: typical drift + explicit margin.
  • Learned model: fit trends after removing false-aging sources.
Ramp penalty
Include a bounded extra term derived from ramp tests (dynamic lag/hysteresis). Treat it as a corner until verified across builds.
Stability budgeting funnel: specs to windowed system outcome Diagram shows four input blocks (Temp, Aging, Pulling, Ramp) feeding a budget funnel that outputs worst-case frequency error. The output is converted to a time error vs time plot with a pass window band and typical versus worst-case curves. Budget funnel: stability specs → worst-case Δf/f → time error vs time + window Inputs (slow drift terms) Temp ±ppm, ppm/°C Aging ppm/day, ppm/yr Pulling Δf/ΔV, load Ramp penalty term Budget combine Budget corners + margin Worst-case envelope Typical + margin Worst-case Δf/f (ppm/ppb) System outcome Time error vs time Window Typical Worst-case Holdover Align Recal
Combine slow-drift terms into a frequency-error envelope, then translate to time error vs time and verify it stays inside the system window for the full outage duration.

How to Measure Stability Correctly (Lab Setups + Traps)

Stability measurement is about slow frequency/phase drift. The most common failures come from an insufficient reference, uncontrolled thermal state, and sampling choices (gate time and averaging) that create false “excellent” results.

Reference choice: better-than-DUT + cross-check
Better-than-DUT rule
The reference must be significantly more stable than the DUT over the same time scale (minutes, hours, days). Otherwise the measurement shows the reference drift.
Cross-check strategy
  • Verify the drift trend using a second reference, or a second measurement path.
  • Log reference state changes (warm-up, disciplining, mode changes) as markers.
Instruments: counter, time interval, phase comparator, temperature control
Pick by output
  • Δf/f vs time: high-resolution frequency counter with controlled gate time.
  • Δt (time error) vs time: time interval analyzer or phase comparator.
  • Thermal corners: temperature chamber + controlled airflow + stable mounting.
Do not skip isolation
Insert a buffer/isolator between DUT and instruments to avoid measurement loading and to reduce back-injection that can create apparent pulling.
Sampling traps: gate time, averaging, slow-ramp aliasing
Gate time
  • Too short: readings look noisy and hide slow drift structure.
  • Too long: dynamic behavior is averaged out and looks “perfect”.
  • Always record gate time and averaging method in the log header.
Ramp aliasing
If sampling cadence aligns with chamber control cycles or fan cycles, the drift plot can show a false periodic pattern. Use state markers and vary sampling intervals to confirm.
Test plans: steady soak, ramp, power-cycle, vibration
Minimum viable plan
  • Steady soak: define soak criteria and measure within-window drift rate.
  • Ramp: define ramp rate (°C/min) and log time, T, and frequency/phase.
  • Power-cycle: detect step/retrace that can mimic aging.
Add when field risk exists
  • Vibration: isolate g-sensitivity drift/bias.
  • Supply/load toggles: measure pulling (Δf/ΔV, load steps).
  • Mount/torque A/B: isolate mechanical stress effects.
Stability measurement architecture: controlled thermal state, isolation, and sampling hygiene Block diagram shows DUT inside a temperature chamber, output to buffer/isolator, split to frequency counter and to phase comparator with a reference input. A logger records time, temperature, frequency/phase, and state markers. A side column lists do/don’t tags: gate time, warm-up, airflow, ref check, state tags, and fixed load. Stability test setup: DUT → isolation → instruments + logging + sampling hygiene Architecture Temp chamber DUT oscillator T sensor placement Buffer isolator Counter Δf/f Phase comparator Δt Reference Logger time T Δf/f or Δt state tags warm-up / mode / fan load / VDD markers Do / Don’t Gate time Warm-up Airflow Ref check State tags Fixed load Avoid false trends
Use a better-than-DUT reference, isolate the DUT from instrument loading, control chamber airflow and warm-up state, and log gate time plus state markers to avoid false “excellent” stability plots.

Modeling & Compensation: LUT, Polynomials, and Hysteresis-Aware Methods

Compensation succeeds only when it is treated as a verifiable pipeline: collect representative data, fit with guardrails, validate on independent ramps/cycles, deploy with version control, and monitor for out-of-distribution behavior. Hysteresis and sensor placement errors are the common reasons a “good fit” fails in the field.

Compensation targets: temp-only vs temp+aging
Temp-only
Targets repeatable temperature-driven drift using a stable thermal path. Best when recalibration is feasible and long-term holdover is not the primary constraint.
Temp + aging
Adds a slow time-dependent term with controlled update cadence. Requires strong evidence gating to avoid “learning” false-aging sources such as pulling or stress.
Define success as a window
Bind the objective to the time scale and allowed window (frequency error envelope or time error envelope), then evaluate every model against that window across corners.
LUT vs polynomial vs piecewise + constraints

Model choice is a risk/guardrail decision. Prefer methods that are bounded, interpretable, and stable under sparse data. Add explicit constraints to prevent edge behavior and false oscillations.

LUT (lookup table)
  • Best for strong nonlinearity and clear turnover regions.
  • Key guardrails: density where slope is high, bounded interpolation, explicit out-of-range behavior.
Polynomial
  • Best for compact parameterization within a strictly bounded temperature range.
  • Key guardrails: range limits, segmenting, and forced bounds to avoid explosive extrapolation.
Piecewise + monotonic constraints
  • Best for predictable behavior with sparse or uneven data density.
  • Key guardrails: monotonic/shape constraints, slope bounds, smooth transitions across segments.
Hysteresis handling: heating/cooling maps + state machine
Two maps, not one curve
Use separate heating and cooling maps when retrace/hysteresis is observable. A single model will systematically fail in at least one direction.
State logic with deadband
Determine state using temperature slope sign (dT/dt) with hysteresis thresholds and hold-time to prevent rapid toggling under small fluctuations.
Fallback when T is untrusted
If the sensor is out-of-range, noisy, or decoupled from the resonator temperature, enter a safe mode (freeze updates, clamp correction, raise alarm marker).
Overfitting detection: validation gates across ramps & cycles

Treat validation as gates that must pass before deployment. The goal is to prove the model holds across direction, rate, cycles, and build variation—not only on the training dataset.

Validation gates
  • Hold-out dataset: independent ramps/cycles not used in fitting.
  • Across ramp rates: multiple °C/min profiles.
  • Across power cycles: cold start vs warm start.
  • Across builds: cross-board transfer check (same design, different assembly).
Pass criteria template
For each direction and corner, compensated drift must remain inside the defined window (frequency envelope or time-error envelope). Out-of-distribution conditions must trigger a defined fallback behavior.
Compensation pipeline with validation gates and hysteresis-aware mapping Flow diagram shows a gated pipeline from data collection to model fit and deployment, with a validation gate and pass criteria. Heating and cooling maps are selected by a state machine. Monitoring and field learning feed back with controlled updates and fallback. Compensation pipeline: collect → fit → validate → deploy → monitor (with hysteresis-aware maps) Pipeline Collect data Tag ramps/cycles Fit LUT/poly Validate hold-out Deploy versioned Guardrails: bounds • monotonic • out-of-range Pass criteria Hysteresis-aware Heating map Cooling map State machine dT/dt + deadband Correction bounded Monitor Field learn Fallback
Use a gated pipeline: fit with guardrails, validate on hold-out ramps/cycles, deploy with versioning, and monitor for out-of-distribution behavior. Handle retrace using heating/cooling maps selected by a state machine.

Design & Layout Hooks for Stability (Board/System Level)

Stability is shaped by thermal, electrical, and mechanical paths. The goal is to place the oscillator in a predictable thermal zone, measure the temperature that actually matters, prevent load-dependent pulling, and avoid stress paths that create apparent drift.

Placement: thermal quiet zone, airflow, distance from hot ICs
Thermal quiet zone
Keep the oscillator away from pulsing heat sources (DC/DC, high-current regulators, hot processors). Periodic heat maps into periodic drift.
Airflow control
Avoid turbulent zones and direct fan blasts. If airflow varies with fan control cycles, the temperature at the resonator will vary even when ambient looks stable.
Sensor placement: what temperature is actually being measured?
Thermal path alignment
“Close distance” is not enough. The sensor must share a similar thermal path (copper, airflow, conduction) to the resonator temperature, not just the board temperature.
Avoid gradient boundaries
Do not place the sensor on quiet/hot boundaries where gradients are largest. Compensation becomes non-transferable across builds and enclosure variations.
Power conditioning for drift: isolate DC shifts, avoid load pulling
Isolate slow DC movement
Prevent load-dependent supply and ground shifts from reaching the oscillator supply pin. Slow VDD drift can appear as slow frequency drift through pulling.
Do / Don’t (drift-focused)
  • Do: dedicated conditioning, short return, controlled load environment for the oscillator rail.
  • Don’t: share high di/dt return paths or allow mode switches that shift the oscillator rail’s DC operating point.
Mechanical: keep-out for bending, mounting torque, shock paths
Stress paths create apparent drift
Board bending and mounting torque changes can shift stress and bias the frequency. Keep the oscillator away from screw bosses, stiffeners, and connector insertion-force zones.
Practical checks
  • Torque A/B: compare drift after controlled mounting torque changes.
  • Support A/B: compare drift with different standoff patterns.
  • Shock/vibration markers: log event tags and check for step-like frequency shifts.
Board-level stability layout map: hot zones, quiet zone, airflow, sensor, isolation, keep-out Top-view board diagram with hot components, airflow arrows, a thermal quiet zone area, oscillator and sensor placement, an isolation band, and mechanical keep-out circles around mounting holes. A right column lists rule tags. Layout map: place the oscillator in a thermal quiet zone and avoid hot/stress paths Quiet zone Hot IC SoC/FPGA DC/DC pulsing Power R heater Isolation Oscillator place here S Sensor Airflow Keep-out Keep-out Rules Hot zone Quiet zone Airflow Sensor Isolation Keep-out
Place the oscillator inside a thermal quiet zone, align the sensor’s thermal path with the resonator, isolate slow DC shifts that cause pulling, and keep away from mechanical keep-out/stress paths.

Applications & selection logic (Stability-focused)

This section converts “stability” requirements into a category choice (XO / TCXO / OCXO / MEMS) using only slow-drift knobs: temperature drift, aging, warm-up, ramp sensitivity, and pulling / stress. Phase noise/jitter integration and protocol details are intentionally out of scope for this page.

A) Choose XO vs TCXO vs OCXO vs MEMS by “stability knobs”

  • XO: best when temperature is reasonably controlled (or frequent resync is available) and the system can tolerate larger drift envelopes. Focus on temp envelope, aging budget, and pulling sensitivity.
  • TCXO: best when the system needs predictable temperature behavior across a wider range. Focus on turnover & curve shape, retrace/hysteresis, and ramp-rate sensitivity (steady-state pass ≠ ramp pass).
  • OCXO: best when holdover is long and drift windows are tight. Focus on warm-up to stable window, power/thermal boundary conditions, and aging envelope.
  • MEMS oscillator: best when mechanical robustness matters (shock/vibration/stress) and repeatable drift behavior is required across mounting/airflow conditions. Focus on g-sensitivity / stress sensitivity, temp stability class, and supply/load pulling.

Practical rule: selection is “pass-window first”. If the system window is defined as allowed time error over holdover duration, the oscillator category should be chosen by the worst-case frequency error envelope (temperature + aging + pulling), not typical curves.

B) Holdover-driven and ramp-driven “gates” (stability-only)

Gate 1 — Holdover duration vs drift window
  • Convert “ppm envelope” into time error accumulation to determine when the system exceeds its window during an outage.
  • If the worst-case envelope exceeds the window before the required outage ends, move up the stability stack (often TCXO → OCXO, or add compensation/thermal isolation).
Gate 2 — Thermal ramps and retrace
  • If the product sees fast ramps, pick a category/model with predictable ramp behavior and hysteresis that can be modeled.
  • Require ramp tests in validation: steady-soak pass does not guarantee ramp pass (time constants + compensation lag).
Gate 3 — Mechanical stress / vibration
  • If mounting torque, enclosure preload, shock or vibration is significant, treat stress sensitivity as part of the drift budget (apparent “aging” often hides here).
  • Require A/B fixture tests (mounting variation) before concluding “aging”.
Stability-focused selection decision tree Box diagram that maps stability inputs (temperature range, ramp rate, holdover, aging, warm-up, shock/stress) through decision gates to recommended oscillator categories (XO, TCXO, OCXO, MEMS) and must-check datasheet items. Stability-only selection: Inputs → Gates → Recommended category → Must-check Inputs Temp range Ramp rate Holdover Aging budget Warm-up Shock / Stress Decision gates Long holdover? tight window Fast ramps? retrace matters High stress? mounting, vibe Recommended category OCXO TCXO MEMS oscillator XO warm-up aging envelope turnover retrace ramps stress pulling repeat temp aging pulling
Diagram: stability-only selection tree. Inputs flow through holdover / ramp / stress gates to category choice, with “must-check” datasheet items per category.

C) Concrete part numbers (starting points; verify suffix/package/frequency options)

The part numbers below are provided to accelerate datasheet lookup and prototyping. Final selection must be driven by this page’s stability budgeting and validation gates (temperature corners + aging corners + pulling/stress corners).

XO (standard crystal oscillator)
  • Epson SG-210STF 25.0000ML (XO, CMOS, SMD)
  • Epson SG-210STF 13.5600ML (XO, CMOS, SMD; same family)
  • NDK NZ2520SD series (XO family; note: some variants are legacy/discontinued—use as reference patterns, not a guaranteed current BOM)
TCXO (temperature compensated)
  • SiTime SiT5156AI-FK-33E0-25.000000X (Super-TCXO family; MHz)
  • SiTime SiT5156AICFA-25E0-16.369000 (example ordering code; verify output type & package)
  • NDK NT2016SA (TCXO family; ordering uses model + frequency + spec number)
  • Epson TG-3541CE 32.7680KXA3 (kHz DTCXO; timekeeping/RTC class)
  • Abracon AST3TQ-40.000MHZ-1 (TCXO example; verify voltage/temp grade)
OCXO (oven controlled)
  • Epson OG7050CAN (OCXO model; verify frequency option and stability grade)
  • Epson OG1409CAN (older OCXO family reference)
  • Abracon AOCJY-10.000MHZ-F-T (OCXO example; verify temp range and output option)
  • Abracon AOCJY-100.000MHZ-E (OCXO example; verify frequency and grade)
MEMS oscillator (mechanically robust option class)
  • Microchip DSC1001AL5-008.0000 (MEMS oscillator example)
  • Microchip DSC1121DI2-024.0000 (high performance MEMS oscillator example)
  • SiTime SiT8208AI-32-18E-33.333000 (MEMS oscillator ordering code example)
  • SiTime SiT8008AI-72-33E-24.000000G (low power MEMS oscillator ordering code example)

Selection reminder: even within the same category, stability can vary dramatically by grade and ordering options. Always verify temperature envelope, aging spec shape (early vs steady), warm-up to stable window, and pulling / stress sensitivity.

Engineering checklist (bring-up → validation → production → field)

This checklist is stability-only: it targets slow drift (temperature, aging, ramps, pulling, stress). Phase-noise/jitter measurement and protocol troubleshooting should be handled in their dedicated subpages.

A) Bring-up (first power-on → stable window proof)

  • Warm-up capture: log time, T_sensor, f_meas (or phase vs reference), plus board state (airflow/fan, enclosure state).
  • Steady soak: hold at a stable ambient and confirm drift slope is bounded (avoid “looks stable” from excessive averaging).
  • Ramp test: run heating and cooling ramps; record the envelope and retrace gap (steady-soak alone is not sufficient).

Pass criteria template (placeholders): Warm-up-to-window ≤ X min; soak drift slope ≤ Y ppm/hour; ramp envelope ≤ Z ppm (evaluate heating and cooling separately if hysteresis exists).

B) Validation (corners matrix → worst-case envelope)

  • Corner matrix (stability-only): temperature (including turnover region), supply DC corners (pulling), mounting/torque variants (stress), airflow variants (thermal gradients).
  • A/B isolation tests: hold temperature constant while stepping supply / load to expose pulling; hold supply constant while changing mounting to expose stress sensitivity.
  • Deliverable: a conservative drift envelope that combines temp + aging + pulling/stress for downstream production limits and field alarms.

C) Production (limit lines + golden reference + sampling plan)

  • Golden reference strategy: maintain a reference path that is measurably better than the DUT for stability (periodic health checks; avoid “golden drift” contaminating limits).
  • Limit lines: convert the validation drift envelope into production-friendly limits (warm-up window, soak slope, basic pulling checks).
  • Sampling plan: increase sampling on material changes (oscillator lot, assembly torque, enclosure parts), not just time-based schedules.

D) Field (logging → drift alarms → recalibration triggers)

  • Log items: T_sensor, f_est (or phase), supply DC, compensation model version, state flags (fan/enclosure/power mode), and shock/power-cycle events.
  • Drift alarms: trigger on envelope violations (window-based), not on raw instantaneous numbers.
  • Recalibration triggers: evidence-based (persistent envelope breach, new mounting condition, thermal profile change), not calendar-only.
Stability stage-gate checklist Stage-gate flow diagram for stability: Bring-up, EVT/DVT validation, PVT production readiness, and Field operations. Each gate has short pass-criteria chips with placeholder thresholds. Stability stage-gates: Bring-up → EVT/DVT → PVT → Field Bring-up EVT / DVT PVT Field Warm-up ≤ X Soak slope ≤ Y Ramp env ≤ Z Corners pass Mounting A/B Pulling bounded Limit lines set Golden ref ok Sampling locked Logging on Alarms set Recal triggers Outputs: Worst-case envelope Limit lines Field logs Recal policy
Diagram: stage-gate checklist. Each gate has short, measurable pass criteria placeholders (X/Y/Z) that should be filled by system budgeting from earlier sections.

Operational tip: when drift worsens unexpectedly, do not label it “aging” first. Run quick isolation checks (supply pulling, load pulling, mounting stress, airflow/thermal gradient) to avoid compensation that amplifies the real root cause.

Request a Quote

Accepted Formats

pdf, csv, xls, xlsx, zip

Attachment

Drag & drop files here or use the button below.

FAQs (Stability)

Short, executable stability troubleshooting: slow drift only (temperature/aging/warm-up/ramps/pulling/stress/measurement traps). Each answer includes measurable pass criteria placeholders that must be set by the system budget.

Why does it pass at steady temperature but fails during fast thermal ramps?
Likely cause: Thermal time constants and compensation lag create a ramp-only error envelope that is invisible in steady soak.
Quick check: Repeat the same temperature sweep at two ramp rates (e.g., slow vs fast) and compare drift envelope vs °C/min; log T_sensor, time, and f/phase simultaneously.
Fix: Validate with ramp profiles representative of the product; reduce gradients (placement/airflow) and/or use hysteresis-aware maps (separate heat/cool) if retrace exists.
Pass criteria: Under worst-case ramp rate ≤ X °C/min, drift envelope stays within ±Z ppm (or equivalent time-error window) across heating and cooling.
My temp sensor is accurate, yet compensation gets worse—what’s the first gradient/placement check?
Likely cause: The sensor measures the wrong temperature node (ambient or hot spot) while the resonator sees a different local temperature due to gradients.
Quick check: Compare two sensor placements (near resonator vs near heat source) under identical thermal conditions; evaluate correlation of measured T with frequency drift.
Fix: Move sensor closer to the resonator’s thermal mass or add a thermal “guard” (copper island + keep-out from hot ICs); reduce airflow asymmetry and hot-side radiation.
Pass criteria: With sensor at the chosen location, residual drift after compensation reduces by ≥ R% and stays within ±Z ppm across the operating thermal profiles.
Why does the “best” LUT for heating perform poorly during cooling (hysteresis)?
Likely cause: Thermal retrace/hysteresis: the same sensor temperature maps to different resonator states depending on direction (heat vs cool).
Quick check: At one temperature point, approach from above and below and record the frequency difference Δf; repeat across several points to confirm a repeatable retrace gap.
Fix: Use separate heating/cooling LUTs with a direction/state machine, or add “history” features (previous T and ramp sign) to the model; validate on independent ramp profiles.
Pass criteria: Residual error stays within ±Z ppm on both heating and cooling ramps; retrace-induced bias at same T is bounded to ≤H ppm.
Aging estimate jumps after a power cycle—what should be logged first?
Likely cause: The estimator re-initializes and misattributes warm-up/retrace or state changes as long-term aging.
Quick check: Log power-off duration, first T minutes of warm-up curve, estimator state/reset flags, and the pre/post-cycle frequency offset at a controlled temperature point.
Fix: Gate aging updates until after reaching the stable window; persist estimator state across power cycles; treat early minutes as warm-up state, not aging evidence.
Pass criteria: After any power cycle, aging estimate changes by ≤A ppm when evaluated at a controlled stable point; warm-up transient is excluded from aging accumulation.
Frequency drift looks like aging, but correlates with supply/load—how to confirm pulling?
Likely cause: Supply pulling / load pulling / drive-level sensitivity creates a bias that can mimic slow aging.
Quick check: At constant temperature, step VDD by ±ΔV and change output load/termination in a controlled A/B test; compute Δf/ΔV and Δf/ΔLoad.
Fix: Isolate the oscillator supply (low-noise LDO + RC/LC as appropriate), eliminate load-dependent conditions (proper buffering/termination), and lock drive level within the validated range.
Pass criteria: With fixes applied, sensitivity is bounded: |Δf/ΔV| Sv ppm/V and |Δf/ΔLoad| Sl ppm (or within the system drift budget).
Warm-up time on bench is short, but in enclosure it’s long—what thermal path dominates?
Likely cause: Enclosure alters convection and heat sinking (airflow, radiant coupling, chassis conduction), shifting time constants and gradients.
Quick check: Compare warm-up curves for open vs closed enclosure and fan on vs off; identify the condition that changes the time-to-window the most.
Fix: Create a thermal “quiet zone” for the oscillator (keep-out from hot ICs, controlled airflow), and make the dominant thermal path stable (repeatable contact/insulation strategy).
Pass criteria: In the final enclosure state, warm-up-to-window ≤ X minutes and warm-up overshoot/retrace bias ≤ W ppm.
Why does mounting torque / enclosure assembly change frequency?
Likely cause: Mechanical stress (PCB bending, preload, fastener torque) changes resonator stress state or board-level strain near the oscillator.
Quick check: Run a torque A/B/C test at constant temperature; record frequency offset and drift slope per torque setting to check monotonic dependence.
Fix: Add mechanical keep-out around the oscillator (no mounting holes/edge clamps nearby), control torque spec and sequence, and reduce local strain transfer (standoffs, compliant features).
Pass criteria: Across allowed assembly torque range, frequency shift is ≤ M ppm and long-term drift slope change is ≤ N ppm/day at a controlled temperature.
Drift improves after “burn-in”—is it real aging stabilization or a test artifact?
Likely cause: Early-life aging slope reduction is real for many resonators, but improvements can also come from fixture/thermal path changes or measurement settings drift.
Quick check: Re-run the same test with a stable reference and fixed gate time; verify enclosure/mounting/airflow are identical; compare pre/post burn-in at the same controlled temperature point.
Fix: Separate “aging tracking” from “setup variability”: lock fixture and measurement configuration; if burn-in is required, define it as a controlled process with limits and re-verification steps.
Pass criteria: After burn-in, drift slope decreases and remains stable across repeated runs: slope change repeatability within ±P ppm/day under controlled conditions.
Why do two identical boards drift apart over days (relative drift)?
Likely cause: Small differences in local thermal gradients, pulling sensitivity, or stress state turn into long-term relative drift even when absolute specs look similar.
Quick check: Log both boards’ T_sensor, VDD, and f/phase; compute common-mode removed residual drift (BoardA − BoardB) and correlate residual with gradients or supply differences.
Fix: Tighten thermal/mechanical repeatability (sensor placement, airflow symmetry, mounting torque); bound pulling with supply isolation and buffering; re-train compensation per platform state if required.
Pass criteria: Relative drift stays within ±Q ppm over D days (or within the alignment window), under the defined platform thermal and mechanical conditions.
How many calibration points are enough without overfitting?
Likely cause: Models fit to one thermal profile or one assembly state can “win the lab” but fail in new ramps or new gradients (overfitting).
Quick check: Split data into training vs validation by profile (different ramp rates, heat/cool direction, and enclosure states); compare validation error to training error.
Fix: Start with the simplest model that passes validation (fewest points/lowest order); add constraints (monotonic/piecewise) and separate heat/cool maps when hysteresis exists.
Pass criteria: Validation error envelope ≤ ±Z ppm across independent ramps/cycles, and training-vs-validation gap ≤ G ppm (no “validation collapse”).
Why does drift worsen after firmware update (measurement gate time / averaging trap)?
Likely cause: Gate time/averaging changes can alias slow ramps or hide warm-up segments, biasing the estimate and making drift appear worse (or deceptively better).
Quick check: Under fixed thermal and supply conditions, toggle old vs new measurement settings (gate time, averaging window, update rate) and compare estimated drift and responsiveness to a known step.
Fix: Define a measurement contract: minimum update rate, gate time bounds, and “warm-up exclusion” rules; re-validate stability metrics after any firmware change affecting timing estimation.
Pass criteria: For the defined test profiles, reported drift matches the reference method within ±E ppm and does not change by more than ±F ppm after firmware update.
What’s the quickest pass/fail criterion for production stability screening?
Likely cause: Production failures often come from warm-up not reaching the stable window, pulling sensitivity out of bounds, or assembly stress shifting frequency beyond the envelope.
Quick check: Use a minimal 3-step screen: (1) time-to-window, (2) short soak slope, (3) one pulling/stress proxy check (e.g., small VDD step or defined assembly condition).
Fix: Turn validation envelopes into limit lines: reject units that exceed warm-up time, soak slope, or sensitivity limits; enforce assembly torque/fixture controls that were validated.
Pass criteria: Warm-up-to-window ≤ X min; soak slope ≤ Y ppm/hour over T minutes; sensitivity checks within limits (e.g., |Δf/ΔV| ≤ Sv ppm/V).