aboutsummaryrefslogtreecommitdiff
path: root/charts/power-supply-noise-coupling-typical-magnitude.typ
diff options
context:
space:
mode:
Diffstat (limited to 'charts/power-supply-noise-coupling-typical-magnitude.typ')
-rw-r--r--charts/power-supply-noise-coupling-typical-magnitude.typ68
1 files changed, 68 insertions, 0 deletions
diff --git a/charts/power-supply-noise-coupling-typical-magnitude.typ b/charts/power-supply-noise-coupling-typical-magnitude.typ
new file mode 100644
index 0000000..6a3a8d8
--- /dev/null
+++ b/charts/power-supply-noise-coupling-typical-magnitude.typ
@@ -0,0 +1,68 @@
+#import "../lib/unify.typ": qty, unit
+#import "@preview/cetz:0.5.2"
+#import "@preview/cetz-plot:0.1.4": plot
+
+#figure(
+ cetz.canvas({
+ import cetz.draw: *
+
+ plot.plot(
+ size: (12, 6),
+ x-mode: "log",
+ y-mode: "linear",
+ x-label: [Frequency $f$ ($unit("Hz")$)],
+ y-label: [$upright("PSRR")(f)$ ($unit("dB")$)],
+ x-min: 1,
+ x-max: 1000000,
+ y-min: 0,
+ y-max: 140,
+ x-grid: "minor",
+ y-grid: "minor",
+ {
+ // 500 kHz PWAM Carrier vertical reference line
+ plot.add(
+ ((500000, 0), (500000, 140)),
+ style: (stroke: (paint: luma(120), thickness: 0.8pt, dash: "dashed")),
+ label: none,
+ )
+ // General purpose (TL07x): PSRR_DC = 100 dB, fp1 = 1 kHz, fp2 = 100 kHz
+ plot.add(
+ style: (stroke: (dash: "solid")),
+ label: [TL07x],
+ domain: (1, 1000000),
+ samples: 8000,
+ f => (
+ 100
+ - 10 * calc.log(1 + calc.pow(f / 1000, 2), base: 10)
+ - 10 * calc.log(1 + calc.pow(f / 100000, 2), base: 10)
+ ),
+ )
+ // Low noise (OPA211): PSRR_DC = 130 dB, fp1 = 300 Hz, fp2 = 50 kHz
+ plot.add(
+ style: (stroke: (dash: "dotted")),
+ label: [OPA211],
+ domain: (1, 1000000),
+ samples: 8000,
+ f => (
+ 130
+ - 10 * calc.log(1 + calc.pow(f / 300, 2), base: 10)
+ - 10 * calc.log(1 + calc.pow(f / 50000, 2), base: 10)
+ ),
+ )
+ // Precision low noise (LT1028): PSRR_DC = 120 dB, fp1 = 300 Hz, fp2 = 100 kHz
+ plot.add(
+ style: (stroke: (dash: "dashed")),
+ label: [LT1028],
+ domain: (1, 1000000),
+ samples: 8000,
+ f => (
+ 120
+ - 10 * calc.log(1 + calc.pow(f / 300, 2), base: 10)
+ - 10 * calc.log(1 + calc.pow(f / 100000, 2), base: 10)
+ ),
+ )
+ },
+ )
+ }),
+ caption: [Power supply rejection ratio ($upright("PSRR")$) degradation across frequency, highlighting the reduced rejection at the $qty(500, "kHz")$ PWAM carrier frequency],
+) <figure-power-supply-noise-coupling-mathematical-model>