Documentation sections
Crystal PPM Tolerance & Frequency Error Calculator
POSThttps://rftools.io/ api/ py/ v1/ calculate
Slug frequency-ppm-tolerance. Convert crystal tolerance in ppm to absolute frequency error in Hz. Stacks initial tolerance, temperature stability, and aging into worst-case and RSS budgets, with clock drift in seconds per day.
Inputs
Send every one of these in inputs, in the units shown. Most are required: a call without one is refused (400) and costs nothing; one the calculator can do without takes the default shown. An input outside its range is still computed and flagged in the provenance.
| Name | Unit | Range | Default | Description |
|---|---|---|---|---|
| nominalFrequencynumber | MHz | 0.000001 … 1000 | 25 | Marked frequency of the crystal or oscillator. |
| initialTolerancenumber | ppm | 0 … 1000 | 20 | Calibration accuracy at room temperature, from the datasheet. |
| tempStabilitynumber | ppm | 0 … 1000 | 15 | Frequency deviation over the full operating temperature range. |
| agingPerYearnumber | ppm/yr | 0 … 100 | 3 | Long-term drift per year. AT-cut crystals are typically 1–5 ppm in year one. |
| yearsnumber | years | 0 … 30 | 3 | How long the aging term is accumulated for. |
Outputs
Returned in values, by key. A value that is unbounded or undefined is null.
| Field | Unit | Description |
|---|---|---|
| totalPpmWorstheadline | ppm | Total Error (worst case) |
| totalPpmRss | ppm | Total Error (RSS) |
| agingTotalPpm | ppm | Accumulated Aging |
| deviationHz | Hz | Frequency Deviation |
| fMinHz | Hz | Minimum Frequency |
| fMaxHz | Hz | Maximum Frequency |
| spanHz | Hz | Total Frequency Span |
| driftSecPerDay | s/day | Clock Drift |
| driftMinPerYear | min/year | Clock Drift |
Calling it
- Calculate: one call, the request and response in full, and its errors.
- Batch: this calculator with others, or a sweep, in one request.
- Solve for a target: the value of one input that brings an output to a target.