β: This English translation is in beta — the Traditional-Chinese original is the authoritative version.
Common Mistakes Showroom: 13 Real-World Landmines
Prerequisites: white_noise_to_phase_noise · psd_phase_noise_jitter | Next: exercises · cheat_sheet
This page does not teach new formulas. It lays out 13 mistakes that actually happen in phase noise / jitter work and that cost you a factor of 2, 3 dB, or when they do — several of which this site itself made during drafting and review, then fixed by simulation adjudication (we leave the correction record honestly on each page). Every entry follows the same format:
❌ Wrong claim/practice → 💥 Why it's wrong (physics) → ✅ Correct version → 📍 On-site reference.
40 years of hard-won lesson: the most expensive mistakes in this line of work are not failures to derive something, but dropping a factor of 2 when swapping conventions, or forcing LTI intuition onto an LTV system. Look at the summary table first, then work through each entry.
| # | Landmine | Error size | Antidote page |
|---|---|---|---|
| 1 | Treating as Demir's convention | Linewidth | diffusion_dictionary |
| 2 | Mixing SSB with time-domain ( vs ) | 3 dB; back-solved off by | white_noise_to_phase_noise |
| 3 | Single-sideband plugged into the coefficient-8 jitter kernel | Variance , jitter | jitter_kernels |
| 4 | Using slope intuition to infer ISF direction | Sign flipped, false divergence at the peak | lti_vs_ltv |
| 5 | Treating the device corner as the corner | Off by 3–300× in frequency in this example | flicker_noise_upconversion |
| 6 | Ring FOM misremembered as | 1.76 dB (long channel) | fom_limit |
| 7 | Forgetting in the dBc/Hz integral, or shifting carelessly | ; per decade of | psd_phase_noise_jitter |
| 8 | Treating the divergence as physical | Qualitatively wrong (reality is Lorentzian) | lorentzian_linewidth |
| 9 | Feeding directly into the TJ formula | Pessimistic by 0.84 ps in this example | dj_dual_dirac |
| 10 | RBW too wide when measuring close-in | High by 2.5 dB in this example (and can be worse) | measurement_and_spurs |
| 11 | Assuming jitter (in seconds) also halves after ÷2 | The time value does not change by a single fs | clock_chain_budget |
| 12 | Applying the white-noise accumulation law to flicker | Underestimates by ~3× at | jitter_kernels |
| 13 | Assuming a pure-sine subharmonic injection would lock | Lock range at first order (not just narrower) | subharmonic_injection |
1. Treating κ² as D — linewidth comes out 2× too large
❌ Wrong practice: compute the phase-variance growth rate ([P2] Eq.(11)/(12), p.793), call this number directly the diffusion constant , then plug it into Demir's linewidth formula . (This site's v3 spec made exactly this mistake; v5 fixed it by Monte-Carlo adjudication.)
💥 Why it's wrong: the literature has two definitions of — the rate convention (in which ), and the Demir/laser convention (in which ). is the formula for the latter; plugging in the former's value overstates the linewidth by .
✅ Correct version: first ask whether the other party's expression has that factor of 2 before converting conventions. The unambiguous way to write it is entirely in terms of :
Canonical Example B (, pC, A²/Hz): rad²/s → correct linewidth 19.9 mHz; the wrong version gives 39.8 mHz. A single lab_23 simulation extracting all four channels (variance slope 0.1252 rad²/s, linewidth fit 20.0 mHz) sides with 19.9 mHz. Dimension check: ✓ (rad is dimensionless).
📍 On-site reference: diffusion_dictionary (item-by-item reconciliation of Suits 2/3 and the lab_23 adjudication), lorentzian_linewidth.
2. Mixing up −148 and −145 — the 3 dB between SSB /4 and time-domain /2
❌ Wrong practice: for the same oscillator, one page states dBc/Hz, another states , and they cross-reference each other without labeling the convention; or the -convention number from [P1] Eq.(21) is plugged into the back-solving formula , which expects the convention.
💥 Why it's wrong: [P1] Eq.(21), p.185 uses SSB (single-sideband) bookkeeping, with denominator (its summation form, Eq.(19), corresponds to ); the clean time-domain derivation for small-angle PM gives , with denominator — the two differ by dB, a well-known convention dispute in the literature, not an arithmetic error by either side.
✅ Correct version: know both faces of Example B: gives , gives dBc/Hz. Any reported number must be labeled with its convention; back-solving ([P2] Eq.(50), p.803 route) expects the convention — substituting gives rad/ ✓, mistakenly substituting gives only (short by ). Scaling (, dB/dec) is identical between the two conventions.
📍 On-site reference: white_noise_to_phase_noise (factor-of-2 teaching note), diffusion_dictionary (Suit 4), jitter_kernels (Section 4.5's back-solving trap).
3. Single-sided/double-sided PSD plugged into the wrong jitter kernel — 8 vs 4's √2
❌ Wrong practice: take the single-sideband spectrum from a measured , then plug it into the literature's period-jitter formula ([P2] Eq.(49), p.803, taken literally).
💥 Why it's wrong: the defined in [P2] Eq.(48) is a double-sided spectrum; the coefficient-8 formula is matched to a double-sided spectrum. A single-sideband spectrum (the kind you get from a datasheet or from ) has already folded the double-sided power into 2× the density, so pairing it with the coefficient-8 formula double-counts a factor of 2 — variance , jitter .
✅ Correct version: pick one convention and stay with it end to end. With a single-sideband and , the N-period kernel is
( — numerically identical). For the canonical white-noise oscillator ( rad²/s, GHz): correct fs; the wrong version gives 0.2251 fs. lab_24 computes it three different ways with three different bookkeeping conventions and all three print 0.1592 fs.
📍 On-site reference: jitter_kernels (Step 0 comparison table, [P2] Eq.(48)/(49) verified-verbatim note, lab_24 Monte-Carlo).
4. Using ΔV/slope intuition to infer ISF direction — LTI intuition crashes on an LTV system
❌ Wrong practice: apply the comparator intuition and claim that "injecting positive charge pushes the voltage up, so the phase always leads (or always lags)"; or extend this to "the smaller the slope, the more sensitive, so a sinusoidal oscillator is most vulnerable to noise at its peak." (An early version of this site's lti_vs_ltv page had the direction backwards; it has since been corrected.)
💥 Why it's wrong: an oscillator is an LTV (linear time-variant) system. The sign of is set by the tangential projection of the voltage jump onto the limit cycle, which flips sign with injection phase; at the peak, is almost entirely a radial (amplitude) component, which the amplitude restoring force absorbs — the true sensitivity there is 0, not the infinity that slope suggests.
✅ Correct version: for an ideal LC oscillator (), the ISF is ([P1] Sec. III; ). Look up the direction directly: rising zero-crossing () → phase leads; falling zero-crossing () → phase lags; peak/trough → pure amplitude change. Numerical feel (Example A): a 1 fC injection with pC, GHz gives rad fs at the zero-crossing, and 0 fs at the peak. The 1-D waveform-shift check agrees with the ISF only at the zero-crossing; it breaks down moving toward the peak — exactly where the amplitude channel takes over.
📍 On-site reference: lti_vs_ltv (direction table and projection argument), impulse_to_phase_shift, waveform_slope (where slope intuition does apply: driven threshold-crossing circuits).
5. Treating a device's 1/f corner as its 1/f³ corner
❌ Wrong claim: "This transistor's flicker corner is at 1 MHz, so the phase noise's region also extends out to 1 MHz offset."
💥 Why it's wrong: the efficiency of flicker upconversion is set by the DC term of the ISF, while the white-noise floor is set by — so the intersection of the two regions (the corner) is rescaled by waveform symmetry, not a copy of the device corner. [P1] specifically emphasizes that this overturns the old myth that "the two corners are equal."
✅ Correct version: [P1] Eq.(24), p.185:
With a device corner at 1 MHz and : an asymmetric waveform () → corner at 320 kHz; symmetrizing to → 3.2 kHz. Same device, corner differs by 100× — the corner is a design variable (symmetry), not a process constant. Dimension check: frequency × dimensionless ratio = frequency ✓.
📍 On-site reference: flicker_noise_upconversion (Examples E/F are exactly these two numbers), symmetry.
6. Ring FOM prefactor misremembered as 8/(3γ) — γ counted twice
❌ Wrong practice: write [P2]'s white-noise phase-noise limit for a ring as (putting the channel thermal-noise coefficient in the denominator).
💥 Why it's wrong: the prefactor in [P2] Eq.(23), p.796 is , where is the stage-delay proportionality constant ([P2] Eq.(14), , waveform/delay bookkeeping) and has nothing to do with noise; only enters through . Writing counts twice.
✅ Correct version:
For a long-channel device with , , the misremembered formula overstates the noise by dB; more insidiously, when the two formulas coincide exactly, hiding the error. The ceiling ([P2] Eq.(25)) is where the that genuinely comes from shows up. (This site's v3 spec corrected this coefficient against the original [P2] PDF, p.796.)
📍 On-site reference: fom_limit (Step 2, with a step-by-step derivation and the ceiling), paper_002 deep dive.
7. Computing jitter from a dBc/Hz integral: forgetting ×2, or mislabeling the integration range
❌ Wrong practice: compute rms jitter directly as (forgetting the in ); or report "jitter = xx fs" without stating the integration band, so others using a different can't reconcile the numbers.
💥 Why it's wrong: (small-angle PM: each sideband only carries half the power), so missing the ×2 → half the variance, jitter low by . And the integral of a spectrum is dominated by the lower limit () — every decade drops, jitter rises by .
✅ Correct version: the four-step chain , and always attach . Canonical Example C (5 GHz, dBc/Hz@1 MHz, , integrated 1–100 MHz): correct 447.9 fs; forgetting → 316.7 fs; moving to 100 kHz → 1422.8 fs (). Dimension check: ✓.
📍 On-site reference: psd_phase_noise_jitter (Example C step-by-step), lab_08.
8. Treating L's divergence at Δf→0 as physical — "infinite power near the carrier" does not exist
❌ Wrong claim: "Eq.(21) is , so phase noise grows without bound as offset shrinks — power is infinite at "; or seeing an instrument fail to show the dB/dec slope at very small offsets and suspecting the measurement is broken.
💥 Why it's wrong: comes from linearization (small-angle approximation), and corresponds to long time intervals, where the random phase walk has already gone far beyond rad — exactly where the approximation breaks down. The real carrier spectrum is Lorentzian: it flattens near the carrier, has a finite peak, and conserves total power (equal to the carrier power).
✅ Correct version: is just the far asymptote of a Lorentzian at ; the knee is at . Canonical Example B: 19.9 mHz (almost unmeasurable, so in practice the region "looks like" it goes all the way down); a datasheet-grade dBc/Hz@1 MHz oscillator has a knee at 628 Hz — genuinely visible when measuring at low offset. Divergence is not physics; it's a signal that the approximation has failed.
📍 On-site reference: lorentzian_linewidth (full mechanism and power conservation), beyond_lorentzian, diffusion_dictionary (Suit 3).
9. Plugging DJ_pp directly into the TJ formula — you should use DJ_δδ
❌ Wrong practice: measure (or compute) the actual peak-to-peak value of deterministic jitter, , and substitute it directly into the industry extrapolation formula .
💥 Why it's wrong: the dual-Dirac model's is a model parameter fitted from the Q-scale tail, and mathematically it must satisfy (near its extremes the DJ distribution has only finite probability mass, so the deep tail is a "discounted Gaussian"); this "intentional underreporting" is precisely the mechanism that makes the BER extrapolation fit the true tail.
✅ Correct version: , where at BER . lab_31 (sinusoidal DJ, ps, RJ ps): ps but the fitted ps; forcing in gives TJ ps, 0.84 ps more pessimistic than the exact bathtub value of 17.23 ps — throwing away margin for nothing. The reverse direction is also wrong: is not a physical peak-to-peak value, so don't use it to plot waveform extrema. Always state the fit window when reporting (lab_31: the deeper the fit window, the closer gets to, but never exceeds, : 3.07/3.16/3.27 ps).
📍 On-site reference: dj_dual_dirac (Steps 6/7: derivation plus the proof that "underreporting is intentional"), serdes_clocking_connection.
10. RBW set too wide when measuring close-in — smearing out the −30 dB/dec skirt
❌ Wrong practice: when measuring near-carrier phase noise with a spectrum analyzer direct method, use a filter with RBW (resolution bandwidth) kHz at 1 kHz offset to read dBc/Hz quickly; or normalize per-Hz using the nominal RBW instead of the ENBW.
💥 Why it's wrong: a dBc/Hz reading is "the average density inside the RBW filter window." In the region, the density varies by tens of dB within one window, and the average is dominated by the side closer to the carrier — the reading is biased high, and the steep skirt gets smeared out; when the RBW is large enough that the window edge touches the carrier, carrier power leaks straight in and you read the filter shape, not the DUT.
✅ Correct version: for close-in measurements, keep RBW (conservatively below ). An honest numerical feel (averaging the density across the window and comparing to the true value at kHz): RBW kHz reads 2.5 dB high, RBW Hz only 0.02 dB (see the code at the end of this page; this doesn't even account for carrier leakage — real conditions are only worse). Normalize per-Hz using ENBW (equivalent noise bandwidth), not the nominal RBW, and remember the log-detector's dB correction (a different mechanism from the 2.5 dB window-averaging bias above — the matching numeric value is pure coincidence) — this is standard spectrum-analyzer measurement knowledge (external literature, not among the five source PDFs; see the measurement page's Method A, which cites Keysight/Agilent AN-1303). The true near-carrier flattening is the Lorentzian (Mistake 8) — you must rule out the RBW artifact before claiming to have seen it.
📍 On-site reference: measurement_and_spurs (Method A's ENBW normalization, the "re-weight by changing RBW" spur-identification test).
11. Assuming jitter (in seconds) also halves after ÷2 — confusing phase in dB with absolute time
❌ Wrong claim: "A ÷2 frequency divider improves phase noise by 6 dB, so rms jitter (in fs) also halves (or shrinks by )."
💥 Why it's wrong: an ideal divider is edge-picking — it copies the input edge's time position verbatim, without moving it by a single fs. What changes is the "exchange rate": the same time-domain error, spread over a period that is now times longer, converts to a smaller phase angle (rad), which is why drops by .
✅ Correct version: work it through honestly. (the phase definition of division), so (the rad value truly shrinks); but , and substituting into spec formula 17:
The two 's cancel — jitter measured in seconds is an invariant under ideal ×N/÷N. A worked chain (5 GHz divided by 2 to 2.5 GHz, same integration band): 22.5 fs → 22.5 fs, while does halve (0.706 → 0.353 mrad). What ÷2 saves is "fraction of the UI" (the UI got longer), not the time value; an ADC aperture or an absolute timing budget cares about seconds, and gains nothing at all. Dimension check: , independent of ✓.
📍 On-site reference: clock_chain_budget (Rule 2 and Step 5's "conserved quantity"), adc_aperture_jitter.
12. Applying the white-noise √N accumulation law to flicker noise
❌ Wrong practice: measure the period jitter , then extrapolate the accumulated jitter after periods using — regardless of what the spectrum actually looks like.
💥 Why it's wrong: the law is a property of white-FM random walks (independent increments, [P2] Eq.(8)). When flicker () dominates, adjacent increments are strongly correlated, and the growth law is approximately ([P2] Eq.(9) and the slope-1 region of Fig. 4) — extrapolating with systematically underestimates jitter over long intervals.
✅ Correct version: first check which mechanism dominates near . White-noise region: ; flicker region: ( is the Euler–Mascheroni constant; nearly , and with a logarithmic dependence on the low-frequency cutoff — always attach when reporting a number). Numerical picture (lab_24, ps, Hz): is for white noise vs for flicker — nearly 3× apart. Quick sanity check: only the white-noise region satisfies ; if that relation doesn't hold, don't use .
📍 On-site reference: jitter_kernels (Step 5's closed-form flicker expression and the log-band caveat), lab_03, allan_variance (the ADEV version of the same story: white FM vs flicker FM ).
13. Assuming a pure-sine subharmonic injection would lock — a pure sine has no -th harmonic
❌ Wrong claim: "I inject a clean sine at into the oscillator; it's the same generalized-Adler restoring force as fundamental injection locking, so it should lock to ." — treating an injection-locked clock multiplier (ILCM, the multiplier direction) as fundamental locking with just a different injection frequency.
💥 Why it's wrong: term-by-term averaging of [P4] Eq.(29)–(30) gives the selection rule — the multiplier (, ) restoring force is supplied only by "the injection waveform's -th harmonic" times "the ISF's fundamental" (see subharmonic_injection, Section 1). A pure sine