From 578d2b3bac4bcf698d18c29c494b3143e9a97ad8 Mon Sep 17 00:00:00 2001 From: Denis Chevalier Date: Mon, 10 Aug 2026 07:34:49 +0200 Subject: set per and delimiter parameters globally (curry unify methods) --- electrical-specifications.typ | 67 +++++++++++++++++++------------------------ 1 file changed, 30 insertions(+), 37 deletions(-) (limited to 'electrical-specifications.typ') diff --git a/electrical-specifications.typ b/electrical-specifications.typ index c4416fe..a7c5a76 100644 --- a/electrical-specifications.typ +++ b/electrical-specifications.typ @@ -1,4 +1,4 @@ -#import "@preview/unify:0.8.1": qty, qtyrange +#import "unify.typ": qty, qtyrange = Electrical specifications @@ -179,7 +179,7 @@ temperature gradients to stabilize, and servo loops to settle. ===== Temperature Measurements are made with an ambient temperature range of -$qtyrange(15, 30, "dC", delimiter: "\"to\"")$, with an hourly variation of +$qtyrange(15, 30, "dC")$, with an hourly variation of maximum $plus.minus qty(2, "dC")$. Temperature is the main source of drift for components. While designs should compensate for reasonable temperature variations, they should expect normal temperature operation conditions, @@ -188,7 +188,7 @@ achievable with a standard HVAC. ===== Humidity Measurements are made within a relative humidity range of -$qtyrange(30, 70, "percent", delimiter: "\"to\"") upright("RH")$, with an hourly +$qtyrange(30, 70, "percent") upright("RH")$, with an hourly variation of maximum $plus.minus qty(5, "percent") upright("RH")$. High humidity can cause parasitic leakage paths (nanoamps matter at high-Z @@ -202,7 +202,7 @@ met with easy access humidity control measures and tools. ===== Atmospheric pressure Measurements are made within an atmospheric pressure range from -$qtyrange(800, 1100, "hPa", delimiter: "\"to\"")$, with a daily variation of +$qtyrange(800, 1100, "hPa")$, with a daily variation of maximum $plus.minus qty(50, "hPa")$. A low atmospheric pressure impacts convection and temperature regulation. It @@ -216,9 +216,9 @@ to $qty(2000, "m")$ altitude, under normal atmospheric conditions. ===== Electro-magnetic environment RF field immunity must follow EN 61000-4-3 specification ( -$qty(3, "volt per meter")$, $qtyrange(80, 1000, "MHz", delimiter: "\"to\"")$). The magnetic field -should be below $qty(1, "ampere per meter", per: "/") upright("DC")$, and below -$qty(0.3, "ampere per meter", per: "/") upright("AC")$ (power frequency). SAME equipment should be +$qty(3, "volt per meter")$, $qtyrange(80, 1000, "MHz")$). The magnetic field +should be below $qty(1, "ampere per meter") upright("DC")$, and below +$qty(0.3, "ampere per meter") upright("AC")$ (power frequency). SAME equipment should be at least $qty(1, "m")$ away from switching equipment such as motors, welders etc. @@ -243,7 +243,7 @@ SAME equipment should be operated on stable surfaces, free from significant vibration. Vibration can induce microphonic effects in capacitors and connectors, affecting precision at high-impedance nodes. -Operating vibration should be below $qty(0.5, "g")$ ($qtyrange(5, 500, "Hz", delimiter: "\"to\"")$). +Operating vibration should be below $qty(0.5, "g")$ ($qtyrange(5, 500, "Hz")$). Shock should be below $qty(5, "g")$ ($qty(11, "ms")$ pulse). These requirements should be met in normal laboratory or studio environments. @@ -260,7 +260,7 @@ cassettes removed in bright light. ===== Ionizing radiation SAME is designed for normal background radiation environments (below -$qty(1, "micro sievert per hour", per: "/")$). +$qty(1, "micro sievert per hour")$). Operation near significant ionizing radiation sources such as medical imaging equipment, nuclear facilities, or particle accelerators is not recommended @@ -297,21 +297,17 @@ are met. table( columns: 3, table.header([Parameter], [Range], [Variation]), - [Temperature], [$plus qty(15, "dC") "to" plus qty(30, "dC")$], [$plus.minus qty(2, "celsius per hour", per: "/")$], + [Temperature], [$plus qty(15, "dC") "to" plus qty(30, "dC")$], [$plus.minus qty(2, "celsius per hour")$], - [Relative humidity], - [$qtyrange(30, 79, "percent", delimiter: "\"to\"") "RH"$], - [$plus.minus qty(5, "percent") "RH"$], + [Relative humidity], [$qtyrange(30, 79, "percent") "RH"$], [$plus.minus qty(5, "percent") "RH"$], - [Atmospheric pressure], - [$qtyrange(800, 1100, "hPa", delimiter: "\"to\"")$], - [$plus.minus qty(50, "hecto pascal per day", per: "/")$], + [Atmospheric pressure], [$qtyrange(800, 1100, "hPa")$], [$plus.minus qty(50, "hecto pascal per day")$], - [RF immunity], [$qty(3, "volt per meter", per: "/"), qtyrange(80, 1000, "MHz", delimiter: "\"to\"")$], [N/A], + [RF immunity], [$qty(3, "volt per meter"), qtyrange(80, 1000, "MHz")$], [N/A], - [Magnetic field (DC)], [$lt qty(1, "ampere per meter", per: "/")$], [N/A], + [Magnetic field (DC)], [$lt qty(1, "ampere per meter")$], [N/A], - [Magnetic field (AC)], [$lt qty(0.3, "ampere per meter", per: "/")$], [N/A], + [Magnetic field (AC)], [$lt qty(0.3, "ampere per meter")$], [N/A], [Vibration], [$lt qty(0.5, "g"), qtyrange(5, 500, "Hz")$], [N/A], @@ -321,7 +317,7 @@ are met. [Lighting], [No direct sunlight], [N/A], - [Background radiation], [$lt qty(1, "micro sievert per hour", per: "/")$], [N/A], + [Background radiation], [$lt qty(1, "micro sievert per hour")$], [N/A], ), caption: [Summary of the precision measurements conditions], ) @@ -337,7 +333,7 @@ entry by reducing the components costs and soldering difficulty. It is suitable for teaching on circuit topologies and general analog computer patching. At this level of precision, results are valid within $plus.minus qty(10, "mV")$. -The maximum drift rate should be inferior or equal to $qty(60, "ppm per hour", per: "/")$. +The maximum drift rate should be inferior or equal to $qty(60, "ppm per hour")$. We recommend calibration verification before each session. === Industrial tier @@ -350,7 +346,7 @@ acquisition. At this level of precision, results are valid within $plus.minus qty(1, "mV")$. The maximum drift rate should be inferior or equal to -$qty(0.6, "ppm per hour", per: "/")$. We recommend daily calibration verification. +$qty(0.6, "ppm per hour")$. We recommend daily calibration verification. === Metrologic tier @@ -362,7 +358,7 @@ operation. At this level of precision, results are valid within $plus.minus qty(0.1, "mV")$. The maximum drift rate should be inferior or equal to -$qty(0.014, "ppm per hour", per: "/")$. We recommend daily calibration verification. +$qty(0.014, "ppm per hour")$. We recommend daily calibration verification. === Summary @@ -379,10 +375,7 @@ $qty(0.014, "ppm per hour", per: "/")$. We recommend daily calibration verificat [Result validity], [$plus.minus qty(0.1, "V")$], [$plus.minus qty(10, "mV")$], [$plus.minus qty(1, "mV")$], - [Maximum drift rate], - [$qty(60, "ppm per hour", per: "/")$], - [$qty(0.6, "ppm per hour", per: "/")$], - [$qty(0.014, "ppm per hour", per: "/")$], + [Maximum drift rate], [$qty(60, "ppm per hour")$], [$qty(0.6, "ppm per hour")$], [$qty(0.014, "ppm per hour")$], [Drift-free computation], [$approx qty(16, "h")$], [$approx qty(7, "day")$], [$approx qty(30, "day")$], @@ -401,11 +394,11 @@ the precision budget. table( columns: 4, table.header([Tier], [Precision], [Drift rate], [Time to drift $qty(100, "percent")$ of budget]), - [*Educational*], [$qty(1000, "ppm")$], [$qty(60, "ppm per hour", per: "/")$], [$approx qty(16, "h")$], + [*Educational*], [$qty(1000, "ppm")$], [$qty(60, "ppm per hour")$], [$approx qty(16, "h")$], - [*Industrial*], [$qty(100, "ppm")$], [$qty(0.6, "ppm per hour", per: "/")$], [$approx qty(7, "day")$], + [*Industrial*], [$qty(100, "ppm")$], [$qty(0.6, "ppm per hour")$], [$approx qty(7, "day")$], - [*Metrologic*], [$qty(10, "ppm")$], [$qty(0.014, "ppm per hour", per: "/")$], [$approx qty(30, "day")$], + [*Metrologic*], [$qty(10, "ppm")$], [$qty(0.014, "ppm per hour")$], [$approx qty(30, "day")$], ), caption: [Drift rate derivations], ) @@ -485,7 +478,7 @@ an initial accuracy within $plus.minus qty(7.5, "mV")$ better than $plus.minus qty(1.5, "mV")$ ($qty(0.01, "percent")$) for a $plus.minus qty(10, "percent")$ input voltage variation. Load regulation shall be better than $plus.minus qty(3.0, "mV")$ ($qty(0.02, "percent")$) over the -full load range ($qtyrange(10, 100, "percent", delimiter: "\"to\"")$). Output +full load range ($qtyrange(10, 100, "percent")$). Output voltage ripple and noise shall not exceed $qty(500, "uVpp")$ over a $qty(20, "MHz")$ bandwidth. @@ -506,11 +499,11 @@ noise shall not exceed $qty(5, "mVpp")$ over a $qty(20, "MHz")$ bandwidth. The $plus.minus qty(10.0000, "V")$ reference rails shall maintain an initial accuracy within $plus.minus qty(20, "uV")$ ($plus.minus qty(2, "ppm")$) at $qty(25, "dC")$. Line regulation shall be strictly less than -$qty(2, "micro volt per volt", per: "/")$ ($qty(0.2, "ppm per volt", per: "/")$). Load regulation -shall be strictly less than $qty(5, "micro volt per milli ampere", per: "/")$ -($qty(0.5, "ppm per milli ampere", per: "/")$). The temperature coefficient must be less -than $qty(0.5, "ppm per celsius", per: "/")$, and low-frequency noise -($qtyrange(0.1, 10, "Hz", delimiter: "\"to\"")$) shall not exceed +$qty(2, "micro volt per volt")$ ($qty(0.2, "ppm per volt")$). Load regulation +shall be strictly less than $qty(5, "micro volt per milli ampere")$ +($qty(0.5, "ppm per milli ampere")$). The temperature coefficient must be less +than $qty(0.5, "ppm per celsius")$, and low-frequency noise +($qtyrange(0.1, 10, "Hz")$) shall not exceed $qty(2, "uVpp")$. ===== Master oscillator requirements @@ -518,7 +511,7 @@ $qty(2, "uVpp")$. The $qty(10, "MHz")$ Master Oscillator shall demonstrate frequency stability inferior or equal to $qty(10, "ppb")$ (parts per billion) over the full operating temperature range. Phase noise shall be inferior or equal to -$qty(-140, "dBc per Hz", per: "/")$ at a $qty(1, "kHz")$ offset. +$qty(-140, "dBc per Hz")$ at a $qty(1, "kHz")$ offset. ===== Grounding rules -- cgit