From bb4e08726bf020c026e9101dfb0dc19413f67e5a Mon Sep 17 00:00:00 2001 From: Denis Chevalier Date: Sun, 9 Aug 2026 13:25:17 +0200 Subject: continue errors enumeration --- module-design.typ | 231 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- preamble.typ | 2 + 2 files changed, 227 insertions(+), 6 deletions(-) diff --git a/module-design.typ b/module-design.typ index d3cca58..3fb5715 100644 --- a/module-design.typ +++ b/module-design.typ @@ -110,7 +110,7 @@ operators. [$k_B$], [Boltzmann constant], [$num("1.381e-23")$], [$unit("joule per kelvin")$], [$T$], [Absolute temperature], [N/A], [$unit(K)$], - [$upright(e)$], [Elementary charge], [$num("1.603e-19")$], [$unit(C)$], + [$e$], [Elementary charge], [$num("1.603e-19")$], [$unit(C)$], ), caption: [Fundamental constants], ) @@ -149,7 +149,7 @@ operators. [ref], [Reference], [$V_"ref"$], [pp], [Peak-to-peak], [$V_"pp"$], [rms], [Root-mean-square], [$V_"rms"$], - [n, noise], [Noise], [$V_n, upright(e)_n, i_n$], + [n, noise], [Noise], [$V_n, e_n, i_n$], [OS], [Offset], [$V_"OS"$], [leak], [Leakage], [$I_"leak"$], [supply], [Power supply], [$V_"supply"$], @@ -227,15 +227,15 @@ operators. table( columns: 3, table.header([Symbol], [Definition], [Typical unit]), - [$upright(e)_n$], [Voltage noise spectral density], [$unit("nV")/sqrt(unit("Hz"))$], + [$e_n$], [Voltage noise spectral density], [$unit("nV")/sqrt(unit("Hz"))$], [$upright(i)_n$], [Current noise spectral density], [$unit("pA")/sqrt(unit("Hz"))$ or $unit("fA")/sqrt(unit("Hz"))$], - [$upright(e)_(n,"white")$], [White noise component], [$unit("nV")/sqrt(unit("Hz"))$], + [$e_(n,"white")$], [White noise component], [$unit("nV")/sqrt(unit("Hz"))$], - [$upright(e)_(n,1/f)$], [$1/f$ noise component], [$unit("nV")/sqrt(unit("Hz"))$ at $qty(1, "Hz")$], + [$e_(n,1/f)$], [$1/f$ noise component], [$unit("nV")/sqrt(unit("Hz"))$ at $qty(1, "Hz")$], [$f_c$], [Noise corner frequency ($1/f$ to white)], [$unit("Hz")$], @@ -1018,7 +1018,7 @@ A $qty(90, "dB") upright("SNR")$ with a $qty(20, "Vpp")$ signal range implies an $upright("RMS")$ noise floor of: $ - V_("noise","rms") = qty(20, "V")/10^(90/20) = qty(20, "V")/31623 approx qty(632.455, "uVrms") + V_("noise","rms") = qty(20, "V")/10^(90/20) = qty(20, "V")/31623 = qty(632.455, "uVrms") $ For Gaussian noise, the peak-to-peak value is approximately $6 times$ the @@ -1246,6 +1246,225 @@ Thermal noise is fundamental and cannot be compensated. Mitigation is through: For SAME, thermal noise contribution must be budgeted, not eliminated. +===== Operational amplifier voltage noise + +====== Physical mechanism + +Op-amp input voltage noise arises from two mechanisms: +/ White noise: Thermal noise in input stage transistors, shot noise from + base and gate currents, +/ $1/f$ noise (flicker noise): Surface defects and charge trapping in + semiconductors; dominates at low frequencies. + +====== Mathematical model + +Op-amp voltage noise is specified as a spectral density +$e_n (f)$ in $unit("nV")/sqrt(unit("Hz"))$: + +$ + e_n (f) = sqrt(e_(n,"white")^2 + (e_(n,1/f)^2)/f) = e_(n,"white") sqrt(1 + f_c/f) +$ + +The corner frequency $f_c$ is where $1/f$ noise noise power equals white noise +power: + +$ f_c = (e_(n,1/f) / e_(n,"white"))^2 $ + +Integrating total $upright("RMS")$ noise over bandwidth $f_L$ to $f_H$ yields: + +$ + V_(n,"rms") = e_(n,"white") sqrt((f_H - f_L) + f_c ln(f_H/f_L)) +$ + +For DC to $qty(20, "kHz")$ with significant $1/f$ content, the lower bound $f_L$ +cannot be zero (as $ln(f_H/0) arrow infinity$). In practice, $f_L$ is +established by the total observation time or the low-frequency cutoff of a DC +servo loop. + +====== Typical magnitude + +#figure( + table( + columns: 4, + table.header([Op-amp class], [$e_(n,"white")$], [$f_c$], [Notes]), + [General purpose (TL07x)], [$18 unit("nV")/sqrt(unit("Hz"))$], [$qty(200, "Hz")$], [JFET input], + + [Low noise (OPA211)], [$1.1 unit("nV")/sqrt(unit("Hz"))$], [$qty(10, "Hz")$], [Bipolar input], + + [Precision low noise (LT1028)], [$0.85 unit("nV")/sqrt(unit("Hz"))$], [$qty(3.5, "Hz")$], [Bipolar input], + + [Chopper stabilized (LTC2057)], [$7 unit("nV")/sqrt(unit("Hz"))$], [$lt qty(1, "Hz")$], [No $1/f$ corner], + ), + caption: [Op-amp voltage noise typical magnitudes], +) + +For a precision op-amp ($1 unit("nV")/sqrt(unit("Hz")), f_c = qty(10, "Hz")$) +over $qty(0.001, "Hz")$ to $qty(20, "kHz")$: + +$ + V_(n,"rms") & = sqrt((num("1e-9"))^2 times 20000 + (num("1e-9"))^2 times 10 times ln(20000/0.001)) \ + V_(n,"rms") & = sqrt(num("2e-14") + num("1.68e-13")) = sqrt(num("1.88e-13")) approx qty(0.43, "uVrms") +$ + +====== Where it enters + +Op-amp voltage noise appears directly at the input and is gained by the +closed-loop gain: + +$ V_(n,"out") = e_n times (1+R_f/R_"in") $ + +For a unity-gain buffer ($R_f = 0$), $V_(n,"out") = e_n$. For a gain-of-10 +amplifier, output noise is $10 times$ input voltage noise. + +====== Compensation strategy + +- Select low noise bipolar op-amps ($e_n < 2 unit("nV")/sqrt(unit("Hz"))$) for + low-source-impedance nodes, +- Minimize closed-loop gain stages in initial processing stages, +- Use chopper-stabilized amplifiers where $1/f$ where drift dominates + (accepting switching ripple filtering requirements), +- Implementing active DC servo loops to high-pass filter $1/f$ noise below the + signal band. + +===== Operational amplifier current noise + +====== Physical mechanism + +Op-amp input curent noise arises from shot noise associated with DC input bias +currents flowing through semiconductor junctions. It is significant primarily in +bipolar-input op-amps; JFET and CMOS input op-amps have negligible current noise +due to their extremely low bias currents. + +====== Mathematical model + +Current noise spectral density $i_n$ in $unit("pA")/sqrt(unit("Hz"))$ flows +through the source impedance $Z_"source"$ seen by the op-amp terminal, +generating an equivalent input voltage noise: + +$ V_(n,i) = i_n times Z_"source" $ + +Total $upright("RMS")$ voltage noise contribution over bandwidth $upright("BW")$: + +$ V_(n,i,"rms") = i_n times Z_"source" times sqrt(upright("BW")) $ + +====== Typical magnitude + +#figure( + table( + columns: 3, + table.header([Op-amp class], [$i_n$], [Notes]), + [Bipolar (LT1028)], [$1 unit("pA")/sqrt(unit("Hz"))$], [Low voltage noise, moderate current noise], + + [JFET (OPA627)], [$2.5 unit("fA")/sqrt(unit("Hz"))$], [Negligible], + [CMOS (LMC6001)], [$0.13 unit("fA")/sqrt(unit("Hz"))$], [Negligible], + ), + caption: [Op-amp current noise typical magnitudes], +) + +For a bipolar op-amp ($1 unit("pA")/sqrt(unit("Hz"))$) with $qty(10, "kilo ohm")$ +source impedance over $qty(20, "kHz")$: + +$ + V_(n,i,"rms") = num("1e-12") times 10000 times sqrt(20000) approx qty(1.41, "uVrms") +$ + +For a $qty(1, "mega ohm")$ source impedance (as mandated for SAME input jacks): + +$ + V_(n,i,"rms") = num("1e-12") times 10^6 times sqrt(20000) approx qty(141, "uVrms") +$ + +This demonstrates why bipolar op-amps are fundamentally unsuitable for driving +high-impedance nodes in the SAME ecosystem. + +====== Where it enters + +Current noise flows through all passive networks connected to the op-amp inputs. +The total current-noise-induced voltage error is dominated by the highest +equivalent impedance node connected to either terminal. + +====== Compensation strategy + +Current noise cannot be cancelled by differential substraction because $i_(n+)$ +and $i_(n-)$ are uncorrelated shot-noise sources. Mitigation requires: +- Mandating JFET or CMOS input buffers for all $Z_"in" gt.eq qty(1, "mega ohm")$ + front-panel input interfaces, +- Restring low-noise bipolar op-amps exclusively to low-impedance nodes + ($Z_"source" lt qty(1, "kilo ohm")$), +- Minimizing non-inverting terminal impedance by grouding it directly to AGND + where DC offset allows, avoiding extra thermal and current noise + contributions. + +===== Power supply noise coupling + +====== Physical mechanism + +Fluctuations and high-frequency ripple on the power supply rails couple into the +signal path through finite Power Supply Rejection Ratio ($upright("PSRR")$). +Because $upright("PSRR")$ degrades with frequency at approximately +$qty(-20, "decibel per decade")$, high-frequency supply ripple poses a +significantly greater threat to precision than DC supply variations. + +====== Mathematical model + +The output error voltage $V_(n,"supply")$ resulting from supply ripple +($V_("ripple")$) is: + +$ V_(n,"supply") = V_("ripple") / (upright("PSRR")(f)) $ + +Where $upright("PSRR")$ expressed in $unit("dB")$ represents the ration of AC +supply variation to output error variation: + +$ + upright("PSRR")_(unit("dB")) = 20 log_10(V_("supply")/V_("out")) +$ + +====== Typical magnitude + +#figure( + table( + columns: 3, + table.header([Op-amp], [$upright("PSRR")$ (DC)], [$upright("PSRR")$ ($qty(10, "kHz")$)]), + [TL072], [$qty(100, "dB")$], [$qty(80, "dB")$], + [OPA211], [$qty(130, "dB")$], [$qty(90, "dB")$], + [LT1028], [$qty(120, "dB")$], [$qty(90, "dB")$], + ), + caption: [Power supply noise coupling typical magnitudes], +) + +For SAME analog supply cleanliness specification ($qty(500, "uVpp")$ ripple on +$plus.minus qty(15, "V")$ rails) with $qty(80, "dB") upright("PSRR")$ at +$qty(10, "kHz")$: + +$ + V_(n,"supply") = qty(500, "uV") / 10^(80/20) = qty(500, "uV") / 10000 = qty(50, "nVpp") +$ + +At audio-band frequencies, power supply noise coupling is negligible when rails +meet specification. However, at the $qty(500, "kHz")$ switching frequency of +PWAM time-domain cores, reduced $upright("PSRR")$ ($qty(30, "dB")$) for +general-purpose parts) increases coupling: + +$ + V_(n,"supply",qty(500, "kHz")) = qty(500, "nV") / 10^(30/20) = qty(500, "uV") / 31.6 approx qty(15.8, "uVpp") +$ + +====== Where it enters + +- Every active op-amp and active element connected to the rails, +- High-gain stages (where output noise is further amplified by subsequent stages), +-PWAM modulation cores susceptible to $qty(500, "kHz")$ carrier rail modulation. + +====== Compensation strategy + +- Enforce power supply cleanliness specification per @power-distribution, +- Mandate local ceramic decoupling ($qty(100, "nF")$ X7R/NP0) placed within + $qty(5, "mm")$ of every IC supply pin to maintain high-frequency PSRR, +- Use RC or LC power rail filtering for sensitive reference and low-noise input + stages, +- Select precision op-amps with flat $upright("PSRR")$ characteristics aross the + signal bandwidth. + == Error compensation strategies == Advanced compensation topologies diff --git a/preamble.typ b/preamble.typ index d6234b6..5823a54 100644 --- a/preamble.typ +++ b/preamble.typ @@ -16,11 +16,13 @@ #add-unit("volt AC", "VAC", "V_\"AC\"") #add-unit("volt DC", "VDC", "V_\"DC\"") #add-unit("uVrms", "uVrms", "mu V_\"rms\"") +#add-unit("decade", "dec", "upright(\"dec\")") #set document( title: [SAME Analog Modular Ecosystem], author: "Denis Chevalier", description: [SAME Analog Modular Ecosystem Specification], + keywords: (), date: auto, ) -- cgit