123 Main Street, New York, NY 10001

DDS (Direct Digital Synthesis): Spurs, Jitter, Fast Hops

← Back to:Reference Oscillators & Timing

Direct Digital Synthesis (DDS) generates a programmable, phase-coherent waveform by stepping a digital phase accumulator—enabling ultra-fine frequency resolution and very fast hopping. The engineering core is spur control: understand each spur’s fingerprint, then trade deterministic spurs for controlled noise and verify SFDR with a consistent measurement contract.

Definition: DDS in one page

A DDS is a digital phase accumulator plus a phase-to-amplitude mapping stage and (often) a DAC, producing a programmable output in frequency, phase, and amplitude.

What DDS is used for
  • Fine frequency steps: resolution set by the phase word width (N).
  • Fast hopping: frequency/phase changes happen digitally without analog settling loops.
  • Phase control: phase-continuous tuning and repeatable phase offsets for coherent systems.
The defining equation (engineering handle)
fOUT = FTW · fCLK / 2N
FTW is the frequency tuning word; N is the phase accumulator width. This equation sets the step size and explains why many spur patterns shift with FTW.
The cost (what must be managed)
  • Spurs: deterministic spectral lines from truncation, mapping quantization, update behavior, and coupling.
  • Images: clock-related replicas (k·fCLK ± fOUT) that must be budgeted and suppressed by the output chain.
  • Clock & supply sensitivity: reference clock phase noise/jitter and rail noise can directly raise the output phase noise floor or create moving spurs.
  • Near-Nyquist stress: spectral planning and reconstruction become more demanding as fOUT approaches the usable top-end.
Boundary contract (to avoid topic overlap)
  • PLL loop theory and jitter-cleaner internals are treated as external constraints, not expanded here.
  • Reconstruction/anti-image filter topology is not taught here; only image locations and suppression targets are used.
Visual map: DDS vs PLL vs DAC waveform generation
DDS vs PLL vs DAC waveform generation comparison Three-column comparison showing step size, hop behavior, phase control, and typical artifacts for DDS, PLL synthesizers, and DAC-based waveform generation. DDS PLL Synth DAC Waveform Compare along four engineering questions Step size Hop / settle Phase control Artifacts Ultra-fine Very fast Coherent Spurs + images Fine (limited) Lock-dependent Loop-limited Spurs + loop Depends Buffer/updates Depends Images + quant

Where DDS fits: system roles & boundary conditions

Typical DDS roles (described as output contracts)
  • Stepped tones: deterministic single-tone steps with predictable spur fingerprints.
  • Sweep / chirp: fast frequency trajectories; transient spectral “splash” becomes a first-class spec.
  • Calibration injection: multi-tone or swept stimuli used for self-test and system characterization.
  • Coherent multi-channel excitation: phase-aligned outputs with shared clocking and synchronized updates.
  • IF/reference stimulus: reference-like signals where spur locations and phase noise budgets dominate acceptability.
Minimal signal chain (only the points that change the spectrum)

A practical DDS chain can be treated as five blocks with one dominant KPI each: clock qualityDDS spur profileDAC linearity fingerprintimage suppressionendpoint requirement.

Boundary conditions (inputs that must be pinned down before design)
Minimum input set
  • fCLK: source, distribution, and whether it can be cleaned (phase noise/jitter budget is anchored here).
  • fOUT range: min/max and proximity to top-end operation (impacts images and output-chain stress).
  • SFDR target: specify the measurement window (BW) and RBW; “SFDR” without these is ambiguous.
  • Noise floor limit: define the in-band integration window used for RMS jitter / phase noise budgeting.
  • Hop contract: step size, hop rate, and a settling criterion (e.g., “spur mask restored within Tsettle”).
  • Coherence (if multi-channel): update synchronization, phase alignment, and allowable drift over time/temperature.
  • Output interface: level, termination, differential/single-ended, and known sensitive loads.
Common early failures (triage direction, not full fixes)
  • SFDR dominated by one moving spur: correlate spur frequency with FTW, fCLK, or a known rail switching tone.
  • Phase noise dominated by clock jitter: close-in phase noise rises across all FTWs with the same clock source.
  • Unexpected images: replicas appear at k·fCLK ± fOUT when reconstruction targets are under-specified.
  • Hop “splash”: wideband energy during updates indicates update timing, buffering, or phase discontinuity.
Boundary reminder (to avoid overlap with sibling pages)
  • PLL/cleaner loop design is treated as an external constraint; only clock-quality requirements are used here.
  • Filter topology is not expanded; only image locations and suppression targets are used.
  • Radar/comms system theory is not expanded; only DDS output contracts and verification metrics are used.
Visual map: system chain & one KPI per block
DDS system chain: clock to endpoint with KPI tags A block diagram showing Reference Clock, DDS Core, DAC, Reconstruction/Driver, and Endpoint, with one KPI tag under each block for boundary control. REF CLOCK jitter / PN DDS CORE spurs DAC linearity FILTER / DRIVER image rej. END POINT mask Boundary inputs (pin these down) fCLK fOUT range SFDR (BW,RBW) hop (Tsettle)

How DDS works: FTW, phase accumulator, and frequency resolution

The mathematical skeleton (engineering handle)
fOUT = FTW · fCLK / 2N
FTW (frequency tuning word) selects the output frequency. N (phase accumulator width) sets the tuning granularity and heavily influences spur periodicity. fCLK anchors both tuning and the location of clock-related images.
Why this equation matters later
  • Many spur families shift predictably when FTW changes.
  • Images land around k·fCLK ± fOUT, so spectral planning starts from fCLK.
  • Phase continuity and hop behavior are controlled at the accumulator/update boundary.
Frequency resolution: theoretical vs usable
Δf = fCLK / 2N
The math sets minimum step size, but usable resolution is limited by the spur mask and the allowed noise floor. A step is only “useful” if the spectral contract remains satisfied after the step (SFDR window, RBW, and hop settling criteria).
Practical definition of “effective” tuning
  • Spur-limited: the largest spur exceeds the mask when FTW changes.
  • Noise-limited: integrated noise/jitter raises the in-band floor beyond budget.
  • Update-limited: hop/settling time fails the timing contract.
Phase control: offset, continuity, and reset
Phase offset

A phase offset is a controlled shift applied to the accumulator phase before mapping, enabling repeatable alignment across channels and profiles.

Phase-continuous tuning vs phase reset
  • Phase-continuous: update FTW while keeping the accumulator running (no forced discontinuity).
  • Phase reset: clearing/reinitializing phase creates a discontinuity and commonly produces transient spectral spread.
Update timing: synchronization, double buffering, and glitch risk
  • Glitch risk rises when FTW/phase/amplitude registers change mid-cycle or in multi-write sequences.
  • Double buffering (shadow registers) prevents partial-state updates.
  • Synchronous update (IO_UPDATE / profile latch) aligns the change to a known boundary, reducing transient artifacts.
  • Verification hook: time-domain glitch check + frequency-domain check for spurs tied to update rate.
Boundary note (to keep the scope tight)

This section uses only the minimum DDS variables and timing boundaries needed for later spur diagnosis and hop behavior. It does not expand into general DSP derivations.

Visual map: phase accumulator + FTW mapping (core DDS skeleton)
DDS core: FTW to phase accumulator to phase-to-amplitude mapping Block diagram showing reference clock feeding an N-bit phase accumulator controlled by FTW and phase offset, with synchronized double-buffered updates, then LUT/CORDIC mapping to amplitude and optional DAC. REF CLK fCLK PHASE ACC N-bit FTW PH OFF LUT / CORDIC AMP A[n] Update boundary (glitch control) SHADOW REG double buffer SYNC UPDATE IO_UPDATE PHASE MODE cont / reset VERIFY glitch + spurs fOUT = FTW · fCLK / 2^N | Δf = fCLK / 2^N

Output spectrum anatomy: images, quantization noise, and what “SFDR” means here

What appears on a DDS spectrum (four buckets)
  • Fundamental: the desired tone at fOUT.
  • Spurs: narrow, deterministic lines from truncation/mapping/update/coupling; many move predictably with FTW.
  • Noise floor: broadband energy from quantization, clock jitter, and analog noise; evaluated by integration over a window.
  • Images: structured replicas around k·fCLK ± fOUT; their locations are clock-anchored and must be budgeted.
SFDR in DDS context (must include measurement conditions)
Definition (repeatable contract)
  • SFDR = (fundamental level) − (largest spur level) in dBc.
  • The result is only meaningful when the window (e.g., DC–BW or a Nyquist zone) and RBW/VBW are specified.
  • Window choice decides whether the “largest spur” is a near-in-band line, an image-related spur, or a coupling-related spur.
Quick separation: spur vs noise (triage rule)
  • Spur-like: narrow line; moves with FTW, fCLK, update rate, or a known interference tone.
  • Noise-like: floor or skirt rises across a band; correlates with clock jitter or broadband analog noise.
Key windows to look at (without turning into a filter tutorial)
  • DC–BW (in-band): the “application window” where SFDR and noise floor typically matter most.
  • Near-carrier: close-in region where clock phase noise can dominate spur perception as a skirt.
  • Image neighborhoods: check k·fCLK ± fOUT locations; set suppression targets for the output chain.
  • Near-Nyquist stress: spectral planning becomes tight; small imperfections more easily violate the spur mask.
Boundary note (scope control)

This section identifies where images land and how SFDR must be specified. Output filter topology is not expanded; only suppression targets and measurement windows are used.

Visual map: spectrum anatomy (fundamental, spurs, noise floor, images, BW window)
DDS spectrum anatomy with SFDR window and image regions Annotated spectrum diagram showing a fundamental tone, deterministic spurs, broadband noise floor, and clock-related images, plus an in-band BW measurement window for SFDR context. f dBc BW fund spurs noise floor images SFDR Specify window (BW) + RBW/VBW when comparing SFDR numbers

Spur taxonomy: from root-cause to “fingerprints”

The goal is to turn a spectrum into a diagnosis workflow: Root cause → Fingerprint → Quick check. Spurs are treated as deterministic lines that usually move in a predictable way when one knob is changed.

The five “knobs” used to classify spur fingerprints
  • FTW sweep: spur moves/rearranges with tuning.
  • Amplitude sweep: harmonic families change with back-off.
  • fCLK change: images and clock-coupled lines shift with clock planning.
  • Supply / VOCM / load: coupling and analog-chain sensitivity show up here.
  • Update rate / profile switch: hop/update-related combs and transient spurs reveal boundary issues.
Fingerprint library (source → signature → quick confirmation)
1) Phase truncation spurs
  • Fingerprint: spur pattern shifts predictably with FTW; certain FTWs look “worse”.
  • Common triggers: aggressive truncation at phase→amplitude input; limited mapping precision.
  • Quick check: keep amplitude constant and sweep FTW; if lines rearrange in repeatable ways, truncation is likely involved.
2) LUT / amplitude quantization spurs
  • Fingerprint: lines correlate with mapping precision and may respond strongly to amplitude scaling.
  • Common triggers: limited LUT depth/width, coarse amplitude word, or mapping mode choices.
  • Quick check: fix FTW, sweep output amplitude; if spur dominance changes with amplitude in a non-harmonic way, mapping quantization is a candidate.
3) DAC nonlinearity interaction (DDS-facing fingerprints)
  • Fingerprint: harmonic family (2f, 3f, …) becomes dominant; distortion rises near full-scale.
  • Common triggers: amplitude too close to full-scale, load/VOCM sensitivity, driver headroom.
  • Quick check: fix FTW, back-off amplitude; if harmonics drop rapidly, analog/DAC interaction is likely dominant.
4) Clock / supply coupling spurs
  • Fingerprint: lines lock to known interference tones (switching PSU, reference, digital activity) and move with them.
  • Common triggers: shared rails, inadequate isolation, clock distribution leakage, poor return paths.
  • Quick check: change fCLK or PSU mode/load; if spur frequency follows, coupling is the likely class.
5) Update / hop-related spurs
  • Fingerprint: spur combs or sidebands correlate with update rate or profile switching cadence.
  • Common triggers: non-synchronous updates, partial writes, phase reset, insufficient buffering.
  • Quick check: vary update rate; if spacing/levels track it, or if “sync update” reduces artifacts, the boundary is involved.
Fast routing guide (from observation to first action)
  • Moves with FTW in a repeatable pattern → suspect truncation or mapping.
  • Harmonics dominate and scale with amplitude → suspect DAC/analog interaction; try amplitude back-off first.
  • Locks to PSU/clock/digital tone → suspect coupling; change that tone to confirm.
  • Tracks update cadence → suspect update boundary; enforce sync update / double buffering.
Boundary note (scope control)

DAC deep INL/DNL mechanisms are not expanded here. This page uses only DDS-facing fingerprints (harmonics, amplitude sensitivity, and coupling behavior).

Visual map: root cause → fingerprint → quick check (spur taxonomy tree)
Spur taxonomy tree: root cause to fingerprint and quick check A flow-style tree linking spur root causes to typical fingerprints and fast confirmation checks, to support first-pass diagnosis. ROOT CAUSE FINGERPRINT QUICK CHECK Phase truncation FTW-linked moves with FTW repeatable pattern sweep FTW pattern repeats LUT / amplitude mapping error amplitude sensitive mode-dependent sweep amplitude spur reshapes DAC interaction harmonics scales with level FS-sensitive amplitude back-off harmonics drop Clock / supply locks to tone moves with fsw or reference change fCLK/PSU spur follows Update / hop cadence-linked comb / sidebands tracks update vary update rate spacing follows

Spur control toolbox: truncation, dithering, LUT/CORDIC, and amplitude shaping

Most spur fixes follow one of two strategies: reduce deterministic error (word widths / mapping precision) or de-correlate it (dither / shaping). The typical trade is spur ↓ versus noise floor ↑ or resources ↑.

1) Increase word widths (phase & amplitude paths)
  • Improves: truncation/mapping-related spurs; some “bad FTW” cases.
  • Costs: logic/ROM/power increase; may raise digital activity coupling if layout is weak.
  • Use when: spur fingerprint moves with FTW and correlates to mapping precision.
  • Quick verify: compare largest spur before/after in the same window & RBW.
2) Dither (break correlation; spur → noise)
  • Improves: reduces discrete spur peaks by spreading energy.
  • Costs: raises the broadband noise floor (in-band penalty).
  • Key knobs: injection point (phase vs amplitude) and strength (enough to meet mask, not maximal).
  • Quick verify: spur peak decreases while integrated noise increase stays within budget.
3) LUT vs CORDIC (mapping choice)
  • Improves: mapping-precision spurs with higher accuracy modes.
  • Costs: resources and sometimes latency; higher precision may increase switching activity.
  • Use when: spur pattern is mode-dependent or sensitive to amplitude scaling without harmonic dominance.
  • Quick verify: compare spur families between mapping modes with identical FTW and amplitude.
4) Amplitude shaping (when hop/sweep transient spectrum matters)
  • Improves: reduces some transient spectral spread and sideband visibility.
  • Costs: lowers effective amplitude or slows response; may change power distribution in-band.
  • Use when: hop/update-related artifacts dominate the mask and must settle within a defined time.
  • Quick verify: transient mask restores within the required settling time after updates.
From fingerprint to first tool (fast selection)
  • FTW-linked pattern → increase mapping widths, then consider phase dither.
  • Amplitude-sensitive (non-harmonic) → mapping mode/precision, amplitude word control, then dither.
  • Harmonic family → amplitude back-off and analog chain constraints (DAC-facing).
  • Locks to external tone → isolation and clock/rail hygiene (confirmed by tone movement).
  • Tracks update cadence → sync update, double buffering, and phase-continuous strategy.
Boundary note (scope control)

This toolbox focuses on DDS spur behavior (spur ↓ vs noise/resources ↑) and does not expand into generic digital filter theory.

Visual map: method → improves → costs (toolbox trade-off board)
DDS spur control toolbox trade-off board A row-based board mapping common spur-control methods to what they improve and what they cost, highlighting spur versus noise/resource trade-offs. METHOD IMPROVES COSTS word widths spurs ↓ resources ↑ dither spur peaks ↓ noise floor ↑ LUT / CORDIC mapping spurs ↓ latency ↑ amp shaping transients ↓ amplitude ↓ Common trade: discrete spurs ↓ → noise floor ↑ or resources ↑

Fast hopping & phase coherence: what breaks, what to do

Fast tuning is only useful if the hop does not violate spectral masks or coherence requirements. This section maps hop type → failure mode → controllable knobs → measurable pass criteria.

Hop types (control variable → typical risk)
  • Frequency hop (FTW step): update boundary artifacts; phase continuity policy determines transient spread.
  • Phase hop (phase offset / reset): discontinuity creates wideband spectral leakage and sidebands.
  • Ramp / chirp (FTW slope): slope changes can enlarge out-of-band leakage and transient masks.
What breaks (symptom → likely boundary)
  • Phase discontinuity: time-domain jump → frequency-domain broad leakage / elevated close-in energy.
  • Update glitch: partial writes / non-synchronous latch → comb/lines tied to update cadence.
  • Amplitude glitch: profile mismatch or abrupt amplitude word change → transient spur growth and harmonic bursts.
  • Clock-tracking mismatch: upstream clocking cannot follow hop profile → short-term phase noise rise / sidebands.
Phase-continuous strategies (knobs that actually control hop quality)
  • Keep the phase accumulator running: change FTW while preserving phase continuity.
  • Double buffering + sync latch: shadow registers update first, then latch at a deterministic boundary.
  • Controlled phase offset: apply phase steps intentionally (measured), avoid unintended resets.
  • Avoid phase reset unless required: reset often produces the largest transient energy spread.
Multi-channel coherence (interface-level conditions + measurable metrics)
  • Shared reference clock: same source, controlled distribution skew.
  • Common sync-update event: deterministic latch point across channels (no partial updates).
  • Phase alignment control: phase offset registers and per-channel delay trims.
  • Metrics: Δφ (phase error), hop settling time to Δφ < X°, and repeatability over temperature/time.
Verification hooks (measurements that close the loop)
  • Time-domain glitch check: observe hop boundary; pass when glitch amplitude < X mV or duration < X ns.
  • Transient spectral mask: compare post-hop windows; pass when max line within BW < X dBc.
  • Coherence check: measure Δφ after hop; pass when Δφ settles to < X° within X ms.
Boundary note (scope control)

Timing protocols (PTP/SyncE) are not expanded here. The focus is hop boundaries, deterministic latch control, and measurable coherence metrics.

Visual: hop timing boundary + phase-continuous vs phase-reset behavior
Hop timing boundary and phase coherence comparison A timing diagram showing IO update, shadow-to-active latch, phase continuous versus phase reset behavior, and simplified spectral outcome. Hop boundary: shadow update → sync latch → output behavior time IO_UPDATE FTW_shadow FTW_active Phase mode sync events write new FTW write new FTW FTW A FTW B (latched) FTW C (latched) LATCH LATCH phase continuous phase reset (risk) Phase continuous Phase reset / glitch sidebands low leakage higher

Clocking & jitter sensitivity: when a “clean clock” actually matters

Clock quality most visibly appears as phase-noise skirts and a raised noise floor. The key is to treat RMS jitter as a windowed metric tied to offset range and system bandwidth.

Clock PN / jitter → output noise (engineering-level transfer)
  • Jitter impact: raises close-in skirts and integrated noise in the measurement window.
  • Spur vs noise: spurs are discrete and often traceable to knobs; jitter is continuous and integrates.
  • Sensitivity trend: higher fOUT generally increases sensitivity to timing noise.
RMS jitter window selection (avoid non-comparable numbers)
  • RMS jitter must declare the offset integration range (start/stop offsets).
  • It must match the system bandwidth and the noise that matters (in-band vs wideband).
  • Measurement settings (RBW / averaging) should be consistent when comparing clocks.
Fast dominance checks (jitter-dominant vs spur-dominant)
  • Change fOUT: skirt/noise changes strongly while discrete lines remain similar → jitter path likely.
  • Swap reference quality: noise floor follows the clock quality → jitter contribution is real.
  • Change FTW/update cadence: discrete lines rearrange predictably → spur-dominant behavior.
Clock distribution & layout (DDS-focused checklist)
  • Differential routing: controlled impedance, correct termination, short stubs.
  • Return continuity: avoid plane splits under the clock path; keep reference intact.
  • Skew control: match critical clock legs only where coherence depends on it.
  • Isolation: prevent digital burst currents from sharing clock return and supply.
Budget hooks (what to ask for and what to verify)
  • Define a target: integrated jitter < X over the chosen offset window.
  • Split contributors: reference, distribution, IC-added, supply coupling.
  • Pass criteria should match the end requirement (mask, in-band noise, or coherence metric).
Boundary note (scope control)

Jitter-cleaner loop theory is not expanded here. The focus is output impact, windowed jitter budgeting, and distribution checklist items.

Visual: clock PN → output noise transfer + budget bar (contributors + jitter window)
Clock phase-noise transfer and jitter budget breakdown A simplified block transfer from clock phase noise to output noise, plus a stacked budget bar showing contributors and the RMS jitter window definition. Clock quality mapping: PN/jitter → output skirts/noise (budgeted by window) Clock PN / jitter windowed metric DDS core adds + transfers DAC / analog coupling paths Output skirts/noise Jitter budget (contributors) reference distribution IC-added supply RMS jitter window offset range system BW numbers are comparable only with window Pass criteria integrated jitter < X over the defined offset window

Output chain interface: DAC, reconstruction, and load (without becoming a DAC page)

DDS spurs often become “system-visible” at the DAC output and the reconstruction/load interface. The focus here is where images land, what fingerprints point to the analog chain, and how to isolate reflections vs true spectral lines.

Image suppression targets (what must be filtered, not how)
  • First image location: fIMG1 ≈ fCLK − fOUT (higher images at k·fCLK ± fOUT).
  • Suppression goal: push images below the in-band spur budget (SFDR target + margin).
  • Nyquist proximity: as fOUT approaches fCLK/2, filter margin shrinks and interface errors dominate faster.
“Looks like DAC / driver” fingerprints (quick isolation hints)
  • Harmonics scale with amplitude: 2fOUT/3fOUT rise or fall strongly with back-off.
  • Common-mode sensitive: spur level shifts with VOCM, bias, or differential balance.
  • Transformer/balun asymmetry: even-order growth and CM leakage are common outcomes.
  • Back-off test: 3–6 dB back-off that “cleans up” quickly points to headroom/nonlinearity more than DDS quantization spurs.
Termination & drive (prevent reflection-made “spurs”)
  • Controlled impedance: keep stubs short; match differential paths where phase coherence matters.
  • Rterm / load match: verify the intended termination exists at the intended point (not “at the instrument”).
  • Riso as an isolation knob: small series isolation can reduce reflection coupling and stabilize the interface.
  • Measurement discipline: the measurement setup must not become the dominant mismatch element.
Reflection / standing-wave isolation (short path)
  1. Change the load or cable: strong spectral reshaping indicates reflection sensitivity.
  2. Compare near vs far points: TP1 (near DAC) vs TP3 (at load) localizes where the “spur-like” artifact is created.
  3. Add isolation / fix termination: if the artifact collapses after Riso/termination correction, the interface is the primary cause.
Boundary note (scope control)

Filter topology, component tolerances, and group-delay design are intentionally not expanded here. Only interface targets, fingerprints, and isolation actions are retained.

Visual: “minimum-correct” output chain + terminations + measurement points
DDS output chain interface with key terminations and measurement points Block diagram showing DDS core to DAC to reconstruction filter and optional transformer to load, with TP1 TP2 TP3 measurement points and termination/isolation markers. Minimum-correct connection: DDS → DAC → reconstruction → interface → load DDS core FTW / phase DAC harmonics LPF / reconstruction images Interface / load match Transformer / balun balance Driver / amp headroom TP1 TP2 TP3 Riso Rterm Quick fingerprints harmonics VOCM sensitive cable dependent TP1 vs TP3 isolate chain vs interface Interface targets fIMG1 ≈ fCLK − fOUT suppress below spur budget verify at TP2 / TP3

Measurement & verification: how to see spurs correctly

A “spur” is only actionable when it survives instrument self-checks and responds predictably to isolation knobs. This section provides setup templates, settings traps, and an A/B fingerprint workflow that maps observations to root-cause buckets.

Instrument choice (DDS-relevant only)
  • Spectrum analyzer: discrete spurs, images, and wideband noise floor (primary tool).
  • Phase-noise / source analyzer: close-in skirts and integrated jitter in a defined offset window.
  • Scope FFT: hop transients, time-domain glitches, and short-window spectral snapshots.
Setup blueprint (minimum-correct measurement chain)
  • Output path: DUT → attenuator/pad → spectrum analyzer (avoid instrument overload).
  • Clock path: clock source → DUT (swappable for A/B isolation).
  • Power path: isolate noisy rails; keep grounding and return paths deterministic.
Settings traps (common “fake spur” generators)
  • RBW/VBW mismatch: changes apparent floor and spur prominence.
  • Windowing / averaging: can smear hop artifacts into “lines” or hide narrow spurs.
  • Reference level overload: instrument-generated intermod looks like real spurs.
  • Mixer/measurement mode: artifacts that move with instrument settings are not DUT-stable.
Fast self-check

Change attenuation and reference level; then change RBW. A true DUT spur remains at the same frequency and converges in level under sane settings.

A/B fingerprint workflow (shortest isolation path)
  1. Change FTW (hold fCLK): predictable rearrangement suggests DDS-internal spur families.
  2. Change fCLK: image locations and clock-related artifacts shift with fCLK movement.
  3. Back-off amplitude: strong harmonic/spur improvement points to DAC/driver headroom or nonlinearity.
  4. Change supply conditions: spurs tied to switching frequencies indicate power coupling.
  5. Change clock source / reference: skirts/noise floor tracking indicates jitter dominance.
Pass criteria templates (copy into validation plans)
  • In-band spur: max spur < X dBc within [BW], RBW=…, avg=…, measured at TPx.
  • Image: first image at (fCLK−fOUT) < X dBc at TP2/TP3 (after reconstruction).
  • Hop recovery: within Tsettle after hop, SFDR returns to ≥ X dBc (BW=…, RBW=…).
Boundary note (scope control)

This is not an instrument manual. Only DDS-relevant settings, isolation knobs, and reproducible templates are retained.

Visual: measurement setup + fingerprint flow (combined)
DDS spur measurement setup and A/B fingerprint flow Top half shows DUT to attenuator to spectrum analyzer with clock source and power isolation. Bottom half shows an A/B flow for isolating DDS, clock, DAC/driver, power, and reflection causes. Measure correctly: stable setup + A/B knobs → root-cause bucket Setup template DUT DDS + DAC attenuator / pad Spectrum analyzer spurs / images / floor Clock source Power (isol.) RBW/VBW Ref level Fingerprint flow (A/B isolation) Change FTW Change fCLK Back-off amp Supply A/B Clock A/B Root-cause buckets DDS Clock DAC/Driver Power I/F

Engineering checklist: design reviews + debug hooks (DDS-focused)

This checklist is intentionally scoped to DDS spur control, fast bring-up, and repeatable triage. It avoids generic PCB theory and keeps every item tied to an observable symptom or a measurable pass criterion.

A) Clock (source → cleaner → fanout → endpoint)
  • Topology is explicit: where the master reference enters, where it is cleaned, where it is distributed.
  • Termination is correct: differential termination at the intended location (not “at the instrument”).
  • Return path continuity: no clock trace crossing splits/slots without a controlled return bridge.
  • A/B knob exists: clock source can be swapped (or cleaner can be bypassed) for isolation.
Example clock-chain parts (reference only)
  • Jitter attenuator / cleaner: Silicon Labs Si5341, Si5345
  • Clock generator / JESD-class tree: TI LMK04828, ADI AD9528
  • Oscillator reference (examples): SiTime SiT5356 (programmable), Abracon ASTX-H11 (XO family)

Note: verify suffix/package and output format (LVCMOS/LVDS/HCSL/LVPECL) per design.

B) Power (analog/digital isolation + noise containment)
  • Separate sensitive rails: dedicate low-noise rails for clock/DAC analog as required by the chosen implementation.
  • No accidental return crossings: avoid split-induced return detours near clock/DDS/DAC regions.
  • Switching spur awareness: ensure regulator switching tones do not land inside measurement windows.
  • Triage knob: ability to power the clock/analog rail from a clean bench supply for A/B isolation.
Example power parts (reference only)
  • Low-noise LDO (analog/clock rails): ADI ADM7150, TI TPS7A47, TI TPS7A20
  • Ferrite bead (0603 example): Murata BLM18AG601SN1D
  • Decoupling capacitors (examples): Murata GRM188R71C104KA01 (0.1 µF), Murata GRM21BR61C106KE15L (10 µF)
C) Digital update (synchronous updates + glitch containment)
  • Double-buffer is used: profile/FTW changes become active only at a known boundary.
  • Sync pulse exists: SYNC/IO_UPDATE/LD is routed and measurable.
  • Timing constraints exist: host/FPGA timing is deterministic and does not “race” with clock domains.
  • Readback exists: active profile and lock/status can be read and logged during triage.
Example “platform parts” (reference only)
  • Integrated DDS with sync features (examples): ADI AD9910, ADI AD9959, ADI AD9833
  • FPGA option (example silicon part): AMD Xilinx XC7Z020 (platform-dependent)
D) Output chain (impedance, images, measurement points)
  • Image targets are explicit: first image near (fCLK − fOUT) is measured at TP2/TP3.
  • TPs are placed: TP1 (near DAC), TP2 (after reconstruction), TP3 (at load).
  • Interface mismatch is controlled: termination and isolation are placed where they actually work.
Example interface materials (reference only)
  • SMA edge connector (example): Amphenol 132134
  • 50 Ω termination resistor (0603 example): Vishay CRCW060349R9FKEA (49.9 Ω)
  • Series isolation resistor (0603 example): Vishay CRCW0603100RFKEA (100 Ω)
  • RF transformer/balun (example): Mini-Circuits ADT1-1WT+

Note: resistor values are examples; select based on interface standard and stability goals.

E) Debug hooks (turn triage into switchable experiments)
  • Dither control: on/off + level step (or mode) is exposed and logged.
  • Reference select: external ref vs internal / cleaner bypass is selectable.
  • Path bypass: optional filter/transformer bypass (if present) is possible for isolation.
  • Readback/logging: active profile, lock status, and update event counters are readable.
Example implementation hint (reference only)

For integrated DDS parts that support multiple profiles and dither modes (e.g., AD9910 / AD9959), ensure profile pins, update pins, and status readback are routed to accessible headers/test pads.

Visual: checklist workflow (Design → Bring-up → Spur triage → Fix → Verify)
DDS engineering checklist workflow and root-cause buckets A workflow diagram from design review through bring-up, spur triage, fix and verification, with DDS-related focus tags and root-cause buckets. DDS engineering checklist: prioritize knobs that localize root causes Design review clock / power Bring-up TPs / logs Spur triage A/B knobs Fix minimal Verify SFDR / Tsettle DDS-focused review tags clock tree power domains sync update TP1/2/3 dither reference A/B supply A/B path bypass status log Root-cause buckets (triage targets) DDS core Clock DAC/Driver Power I/F Close the loop: fix → verify with BW/RBW/TPx defined

Applications: waveform, scan, radar, comm test (interface-level only)

DDS application fit is best explained as a mapping: use-case → key spec → verification metric. System-level waveforms are intentionally not expanded; only the interface requirements and measurable outcomes are retained.

A) Scan / chirp / sweep
  • Key specs: hop time, phase continuity, spur behavior during updates, usable SFDR near Nyquist.
  • Verification: define BW and RBW; require SFDR recovery within Tsettle after frequency steps.
B) Test signal source (single-tone / multi-tone / step)
  • Key specs: frequency resolution (Δf), phase control, profile switching behavior, spur visibility under fixed settings.
  • Verification: measure max spur in the specified BW with fixed RBW/averaging; repeat across multiple FTWs.
C) Multi-channel coherent excitation
  • Key specs: sync update, inter-channel phase alignment, drift with temperature and time.
  • Verification: Δφ threshold under controlled clock tree; compare spur “fingerprints” across channels.
D) Production test / self-cal injection (BIST hooks)
  • Key specs: repeatability, profile identity, fixed measurement setup parameters.
  • Verification: production templates define TPx, BW/RBW, and acceptance thresholds.
Example DDS parts often used for these use-cases (reference only)
  • Low-frequency control/waveform: ADI AD9833
  • Multi-channel phase-coherent: ADI AD9959 (4-channel DDS)
  • High-speed single-channel family example: ADI AD9910
Visual: Use-case → Key spec → Verification metric mapping
DDS applications mapped to key specs and verification metrics A three-lane diagram mapping common DDS use-cases to key specifications and to measurable verification metrics. Applications are interface-level: use-case → key spec → metric Use-case Key spec Verification metric Scan / chirp Test source Coherent Prod / BIST Tsettle / hop phase cont. SFDR / spurs Δφ alignment repeatability Tsettle meets Δφ < threshold max spur dBc BW/RBW fixed TPx defined

IC selection logic: DDS IC vs FPGA DDS+DAC vs other synthesis (DDS perspective)

Selection is treated as a decision tree driven by measurable constraints: fOUT range, hop/Tsettle, SFDR target, channel count, phase coherence, and verification cost. Part numbers below are concrete examples to speed up datasheet lookup; final choice must be validated under the defined BW/RBW/TPx conditions.

A) Decision inputs (minimum field set)
  • fOUT range and how close it runs to fCLK/2 in the target mode.
  • Resolution & hop: Δf requirement and the required Tsettle after profile updates.
  • SFDR target: max spur threshold within the defined BW (with fixed RBW/avg).
  • Coherence: phase continuity + multi-channel Δφ requirement.
  • Cost of verification: expected bench time + production template complexity.
B) Option compare (engineering trade-offs)
Integrated DDS IC
  • Fast bring-up; known spur families and built-in features (profiles, dither, sync pins).
  • Constraints often appear at the output interface (format, amplitude control, image management).

Examples: AD9833, AD9959, AD9910

FPGA DDS + external DAC
  • Maximum flexibility: custom profiles, many channels, custom dither/cordic choices.
  • Verification cost increases: more ways to create spurs, more corner cases in update timing and interface control.

Example FPGA: XC7Z020 · Example high-speed DAC family: ADI AD9739A (verify fit)

Exit condition (not a DDS fit)

If the required spur mask at high fOUT cannot tolerate image proximity to fCLK/2, or if the required LO purity demands a different architecture, the design should switch to a dedicated synthesizer approach (covered in separate pages).

Examples (reference only): TI LMX2594, ADI ADF4351

C) Datasheet fields to extract (DDS-relevant)
  • Phase accumulator width (N), phase truncation behavior, amplitude resolution.
  • Dither: injection point, modes, on/off control, and expected spur-to-noise trade.
  • Profiles / RAM / phase offset control; synchronous update pin behavior and timing.
  • Output controls: amplitude scaling, VOCM behavior (if applicable), differential balance notes.
  • Reference inputs, status readback, and any “recommended clock/power filtering” notes.
D) Verification minimum set (must be defined before selection is “final”)
  • Max spur: < X dBc within BW, RBW/avg fixed, measured at TPx.
  • First image: (fCLK−fOUT) suppressed below budget at TP2/TP3.
  • Hop recovery: within Tsettle after update, SFDR returns to ≥ X dBc.
  • Coherence: Δφ remains within threshold across time/temperature.
E) Concrete part-number lookup list (starting points only)
DDS IC examples
  • ADI AD9833 (low-frequency DDS family example)
  • ADI AD9959 (multi-channel DDS example)
  • ADI AD9910 (high-speed DDS family example)
Clocking examples
  • Si5341, Si5345 (jitter cleaners)
  • LMK04828, AD9528 (clock generation/distribution families)
Power + interface examples
  • ADM7150, TPS7A47 (low-noise LDOs)
  • BLM18AG601SN1D (ferrite bead example)
  • 132134 (SMA connector example), ADT1-1WT+ (transformer example)

Always verify suffix/package, voltage ratings, footprint, and current/thermal margins for the actual design.

Visual: selection flow (requirements → constraints → solution → verification items)
DDS selection flow and verification items A decision-flow diagram from requirements to constraints to solution choices with verification tags for each branch. Choose the implementation that minimizes verification risk for the required SFDR / hop / coherence Requirements fOUT Δf / resolution Tsettle SFDR target Constraints channel count phase coherence verification cost interface limits Integrated DDS IC examples AD9833 · AD9959 · AD9910 FPGA DDS + DAC examples XC7Z020 · AD9739A Exit (non-DDS) examples LMX2594 · ADF4351 Verification items (must be defined) max spur dBc first image level hop Tsettle Δφ threshold Always bind results to BW/RBW/averaging + TPx measurement point

Request a Quote

Accepted Formats

pdf, csv, xls, xlsx, zip

Attachment

Drag & drop files here or use the button below.

FAQs (DDS): spur triage & measurement traps (12)

Measurement contract (bind every SFDR claim to these fields)
Core fields
  • BW_Hz: analysis bandwidth window (example: 0 → 0.45·fCLK)
  • RBW_Hz / VBW_Hz: resolution & video bandwidth (example: RBW=1 kHz, VBW=1 kHz)
  • AVG_N: averaging count/type (example: AVG_N=20, power average)
  • TP: measurement point (TP1 near DAC, TP2 post-reconstruction, TP3 at load)
  • SFDR_target_dBc: spec target (use budget + guardband)
Default pass rule template

Pass criteria should be written as: max_spur_dBc ≤ (−SFDR_target_dBc − Guardband_dB) within BW_Hz, measured with RBW_Hz/VBW_Hz/AVG_N at TP. Use Guardband_dB = 3–6 dB unless production data supports tighter limits.

Why do spurs move when I change FTW even if fCLK is constant?
Likely cause
Phase truncation / LUT quantization creates deterministic spur families whose locations depend on the FTW pattern.
Quick check
Sweep FTW across a small set (e.g., 8–16 steps) and record spur offset patterns; spur families repeat predictably with FTW changes.
Fix
Enable/adjust dither; increase effective phase/amp resolution (if configurable); avoid “pathological” FTWs by small frequency offsets if allowed.
Pass criteria
For the full FTW set: max_spur_dBc meets the contract within BW_Hz at TP, with fixed RBW_Hz/VBW_Hz/AVG_N and guardband applied.
Why does enabling dither remove a spur but raise the noise floor—what’s “too much”?
Likely cause
Dither intentionally randomizes truncation/quantization error: spurs drop, but error energy spreads into broadband noise.
Quick check
Compare (dither OFF) vs (dither ON at low/medium/high) using the same BW/RBW/VBW/AVG; check spur drop (dBc) vs noise rise (dB/Hz or integrated).
Fix
Use the minimum dither level that eliminates the dominant spur family; prefer shaped/triangular modes if supported; keep dither switchable for triage.
Pass criteria
Dominant spur meets SFDR_target_dBc with guardband, while integrated in-band noise increase stays below NoiseRise_max_dB (set by SNR budget) in BW_Hz.
Why is SFDR much worse near Nyquist even though the math says it should work?
Likely cause
Image proximity and reconstruction limits increase sensitivity to clock phase noise, DAC non-idealities, and small mismatch/termination errors.
Quick check
Repeat the same amplitude and setup at fOUT = 0.2·fCLK vs 0.45·fCLK; compare which terms grow: image level, noise floor, or harmonics.
Fix
Add margin: lower fOUT/fCLK ratio, strengthen image filtering target, and tighten clock quality and output termination. Keep TP2/TP3 available for isolation.
Pass criteria
At the worst-case fOUT/fCLK corner: max_spur_dBc and image1_dBc meet budget at TP2/TP3 with the bound BW/RBW/VBW/AVG.
Why do I see a spur at an offset equal to my switching regulator frequency?
Likely cause
Power-to-clock or power-to-output coupling: switching ripple modulates clock threshold, DAC reference, or analog supply, creating AM/PM sidebands.
Quick check
Change the regulator switching frequency (if programmable) or temporarily power the analog/clock rail from a clean bench supply; confirm spur offset follows fSW.
Fix
Improve rail isolation (separate LDO for clock/analog), add ferrite segmentation, and reduce shared return impedance. Example parts: ADM7150 (low-noise LDO), TPS7A47 (low-noise LDO), BLM18AG601SN1D (ferrite bead). Verify footprints/suffix.
Pass criteria
Sidebands at ±fSW from the carrier are below SpurSW_max_dBc in BW_Hz (bound RBW/VBW/AVG/TP). Spur must not reappear across regulator modes.
Why does hop produce a wideband “splash” even when phase is continuous?
Likely cause
Update boundary is phase-continuous but not amplitude/derivative-continuous (profile latch timing, pipeline latency, or output chain settling causes transient energy).
Quick check
Compare “single-step hop” vs “two-step hop with intermediate frequency” and measure transient spectrum in short windows; check if splash scales with step size.
Fix
Use double-buffered updates at a defined edge; apply amplitude ramping or multi-step hopping; ensure output chain (filter/driver) has adequate settling headroom.
Pass criteria
Within Tsettle_s after the update: SFDR returns to ≥ SFDR_target_dBc at TP, and wideband transient power stays below Splash_max_dBc in the defined BW_Hz.
Why does changing output amplitude change the dominant spur (DAC interaction fingerprint)?
Likely cause
DAC/driver nonlinearity and common-mode behavior shift with output amplitude, changing harmonic/IM spur dominance.
Quick check
Sweep amplitude in 3–5 steps (e.g., −12/−6/−3/0 dBFS) and track whether the spur scales like harmonics (2f, 3f) or moves as offset sidebands.
Fix
Set an amplitude operating point with margin; verify termination and transformer/balun loading. Typical isolation resistor options for experiments: CRCW060349R9FKEA (49.9 Ω), CRCW0603100RFKEA (100 Ω). Verify package/suffix.
Pass criteria
For the specified amplitude range: max_spur_dBc stays within budget at TP, and harmonic spurs remain below H2_max_dBc/H3_max_dBc under the bound measurement contract.
Why does my measured SFDR change a lot with RBW/VBW/averaging settings?
Likely cause
SFDR is “peak spur vs carrier” but instrument settings can change peak detection, noise averaging, and apparent spur visibility (especially for narrow/slow spurs).
Quick check
Run two fixed presets: (RBW=1 kHz, AVG=20) and (RBW=10 kHz, AVG=10), same reference level and span; compare which peaks move vs which only change in noise floor.
Fix
Lock a production-style measurement contract: BW, RBW, VBW, detector type, averaging, and TP. Use the same contract for all A/B root-cause tests.
Pass criteria
SFDR is reported only under the bound contract; results from “non-contract” settings are labeled debug-only and not used for spec compliance.
How can I tell phase-truncation spurs from clock-coupled spurs quickly?
Likely cause
Truncation spurs are deterministic with FTW patterns; clock-coupled spurs align with external tones (reference, fSW, fanout artifacts) and follow those tones.
Quick check
A/B #1: change FTW slightly (same fCLK) and see if spur families re-map. A/B #2: change reference source or regulator mode; clock-coupled spurs track the external change.
Fix
For truncation: use dither/precision modes. For clock-coupled: strengthen clock distribution and isolation; verify termination and return continuity; isolate supplies as needed.
Pass criteria
Root cause classification is repeatable: the same A/B test always moves the same spur family, and the remaining max_spur_dBc meets SFDR_target_dBc under the bound contract.
Why does multi-channel coherence degrade after reset or mode switching?
Likely cause
Reset does not re-establish the same phase accumulator state across channels, or update/sync edges are not aligned across clock domains.
Quick check
Measure Δφ immediately after reset and after a controlled re-sync sequence; check if Δφ changes are deterministic (sequencing) or random (noise/clock distribution).
Fix
Use a documented re-sync procedure: shared reference, deterministic reset release, synchronous profile update pulse, and explicit phase alignment step (if supported).
Pass criteria
After reset/mode switch and re-sync: Δφ ≤ Δφ_max_deg across channels for HoldTime_s and across the specified temperature range.
Why does the output frequency have tiny periodic error even with a stable reference?
Likely cause
Periodic modulation from digital update cadence, reference spur leakage, or power ripple creates small FM/PM sidebands around the carrier.
Quick check
Identify sideband spacing (Δf) and compare against known periodic sources: fSW, update rate, reference spur offsets. Disable periodic updates and re-measure.
Fix
Remove periodic stimuli (avoid unnecessary update cycles), improve reference isolation, and reduce power ripple injection into clock/analog rails.
Pass criteria
Sidebands at ±Δf are below FMspur_max_dBc under the bound contract, and remain stable across operating modes and temperature corners.
Why do spurs change when switching profiles (or enabling phase offset) even if fOUT is “the same”?
Likely cause
Profile switch changes internal mapping modes, scaling, or update timing; identical fOUT does not guarantee identical truncation state or output chain operating point.
Quick check
Compare profile A vs B with the same FTW but different phase/amplitude settings; check whether spur changes correlate with scaling or with update boundary timing.
Fix
Standardize profile fields (same mapping/dither mode) and enforce double-buffered updates at a defined edge; avoid mixing scaling modes unless required.
Pass criteria
Across all used profiles: max_spur_dBc meets SFDR_target_dBc with guardband, and hop/profile-switch recovery meets Tsettle_s under the bound contract.
LUT precision vs CORDIC quantization: why does the spur pattern change when the waveform mapping mode changes?
Likely cause
Mapping method changes the quantization error structure: LUT creates table quantization families; CORDIC introduces iteration/rounding artifacts with different fingerprints.
Quick check
Hold fCLK, FTW, amplitude constant; switch mapping mode only; compare spur locations and whether dither suppresses them similarly.
Fix
Use the mapping mode that best matches the SFDR/noise budget; pair with appropriate dither strength; lock the mode for production repeatability.
Pass criteria
For the chosen mapping mode: max_spur_dBc and integrated noise meet the budget under the bound contract, and results are stable across the required FTW set.