fig(family): 六型号总览图 + PD132T↔PD136HA 档位对齐图;待实测清单 ⑧

- docs/img/family-overview.{svg,png}(tools/plot_family_overview.py)
  面板A 窗长/τ 条形;面板B 检测延迟 vs Δf/f(六型号按各自档0 判据);
  归一化延迟表(@1.1× / @2× / @10× 判据)+ 进入确认与口径脚注
  关键:@10×(强信号) 全部=1 窗 ⇒ 8.2/8.7/10.0/10.9/21.9/27.3ms;@1.1×(近阈值) 7~9 窗 ⇒ M1H 57ms ~ PD136HA 197ms
- docs/img/sens-alignment-pd132t-pd136ha.{svg,png}(tools/plot_sens_alignment.py)
  四档 进入/离开 双段条形 + 同档偏差(−46%~+69%) + 最近档映射 + 换型 4 步 + 两端档无对应警示
- 待实测清单新增 ⑧ 弱信号复测(0.10% 车:PD132T 档1 ≈76ms 应检出 / PD136HA 档1 应检不到)
- 文档接入:cross-model-comparison.md 新增「六型号总览图」节;comparison §5.4 嵌入对齐图;measurement doc §10 加指引
- README tools 段补 3 个绘图脚本;表格校验 0 异常(16 文件)
This commit is contained in:
wangfq
2026-09-11 11:27:58 +08:00
parent 9c88b1d7b0
commit db5e108620
10 changed files with 720 additions and 1 deletions
+4 -1
View File
@@ -55,7 +55,10 @@ vd-analysis/
├── img/ # 图示(PNG 预览 + SVG 矢量)
└── tools/ # 分析辅助脚本
├── window_calc.py # 测量窗量化计算器(窗=⌊BASE/Xn₀⌋·Xn₁;六型号内置参数)
├── plot_timing_chain.py # 端到端时序图生成(纯 stdlib 手写 SVG,曲线按公式真算
├── plot_timing_chain.py # 端到端时序图(三段横轴:一个窗/检测到输出/基线;纯 stdlib SVG
├── plot_response_compare.py # PD132T↔PD136HA 响应对比(时域阶梯 + 延迟扫描,标出窗主导/τ 主导)
├── plot_family_overview.py # 六型号总览(窗长/τ/检测延迟 + 归一化延迟表)
├── plot_sens_alignment.py # PD132T↔PD136HA 档位对齐图(现场照着贴)
└── plot_response_compare.py # PD132T↔PD136HA 响应对比图(含"窗主导/τ 主导"分界)
```
+8
View File
@@ -58,6 +58,14 @@
> ⚠ **同族内档位同样不可照搬**PD132T ↔ PD136HA 一一映射偏差 **46%~+69%**(两端档差异最大:PD132T 最钝档 0.458% 无对应档;其最高灵敏档 0.032% 亦比 PD136HA 最高档钝 1/3)。跨代必须按 Δf/f 换算后现场复测,见 [pd132t-vs-pd136ha-comparison.md](pd132t-vs-pd136ha-comparison.md) §5.4。
## 六型号总览图(窗长 / τ / 检测延迟,2026-09-11 新增)
![车检器六型号总览](img/family-overview.png)
(矢量版 `docs/img/family-overview.svg`;生成脚本 `tools/plot_family_overview.py`,型号参数内置、改数即重出。图中延迟为「判据越线」口径,不含输出级 50ms 节拍与进入确认——确认时间见面板脚注)
**说明**:面板 A 的条形与面板 B 的曲线全部按本文口径计算(窗长 = `⌊BASE/Xn⌋·Xn/f_cap` 标称值;τ = 节拍×256/α;延迟由 `CAPVD_n = Δf/f·[1(1−α/256)^n]` 反解 `n`)。**归一化(按各自档0 判据的 1.1×/2×/10× 倍数)后,六型号的差异只剩「窗长 × τ」两件事**:@10×(强信号)全部 = 1 窗 ⇒ 10.9 / 21.9 / 27.3 / 8.2 / 8.7 / 10.0 ms@1.1×(近阈值)= 7~9 窗 ⇒ PD136HA 196.7ms 与 PD132L 191.2ms 最慢、M1H 57.3ms 与 DLD154Pro 61.2ms 最快。
## 测频路线(周期累积法为统一范式)
纳入对比表的型号(M1H / PD132L / PD132T / PD136HA / DLD154V4B / DLD154Pro**全部采用周期累积法**:
Binary file not shown.

After

Width:  |  Height:  |  Size: 255 KiB

+210
View File
@@ -0,0 +1,210 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1520" height="1100" viewBox="0 0 1520 1100">
<rect width="1520" height="1100" fill="#ffffff"/>
<text x="30.0" y="44.0" font-size="25" fill="#111" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">车检器六型号总览:测量窗长 · IIR 时间常数 · 检测延迟</text>
<text x="30.0" y="72.0" font-size="13" fill="#555" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">窗长 = ⌊BASE/Xn⌋·Xn/f_cap(标称值);τ = 节拍×256/α(产品线口径);检测延迟 = 判据越线时刻(不含输出级 50ms 节拍与进入确认)</text>
<line x1="30.0" y1="86.0" x2="1490.0" y2="86.0" stroke="#ddd" stroke-width="1.2"/>
<text x="40.0" y="118.0" font-size="16" fill="#111" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">面板 A:测量窗长与 IIR τ(对数刻度,单位 ms)</text>
<line x1="250.0" y1="140.0" x2="250.0" y2="560.0" stroke="#e8e8e8" stroke-width="1.0"/>
<text x="250.0" y="578.0" font-size="12.5" fill="#777" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">1</text>
<line x1="308.9" y1="140.0" x2="308.9" y2="560.0" stroke="#e8e8e8" stroke-width="1.0"/>
<text x="308.9" y="578.0" font-size="12.5" fill="#777" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">2</text>
<line x1="386.7" y1="140.0" x2="386.7" y2="560.0" stroke="#e8e8e8" stroke-width="1.0"/>
<text x="386.7" y="578.0" font-size="12.5" fill="#777" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">5</text>
<line x1="445.6" y1="140.0" x2="445.6" y2="560.0" stroke="#e8e8e8" stroke-width="1.0"/>
<text x="445.6" y="578.0" font-size="12.5" fill="#777" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">10</text>
<line x1="504.4" y1="140.0" x2="504.4" y2="560.0" stroke="#e8e8e8" stroke-width="1.0"/>
<text x="504.4" y="578.0" font-size="12.5" fill="#777" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">20</text>
<line x1="582.3" y1="140.0" x2="582.3" y2="560.0" stroke="#e8e8e8" stroke-width="1.0"/>
<text x="582.3" y="578.0" font-size="12.5" fill="#777" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">50</text>
<line x1="641.1" y1="140.0" x2="641.1" y2="560.0" stroke="#e8e8e8" stroke-width="1.0"/>
<text x="641.1" y="578.0" font-size="12.5" fill="#777" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">100</text>
<line x1="700.0" y1="140.0" x2="700.0" y2="560.0" stroke="#e8e8e8" stroke-width="1.0"/>
<text x="700.0" y="578.0" font-size="12.5" fill="#777" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">200</text>
<text x="742.0" y="578.0" font-size="12.5" fill="#777" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">ms</text>
<text x="240.0" y="172.0" font-size="15" fill="#111" text-anchor="end" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">DLD154Pro</text>
<rect x="250.0" y="154.0" width="184.1" height="15.0" rx="2" fill="#6a1b9a" fill-opacity="0.95" stroke="none" stroke-width="1.0"/>
<text x="440.1" y="166.0" font-size="12.5" fill="#6a1b9a" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">8.74</text>
<rect x="250.0" y="176.0" width="284.0" height="15.0" rx="2" fill="#6a1b9a" fill-opacity="0.38" stroke="none" stroke-width="1.0"/>
<text x="540.0" y="188.0" font-size="12.5" fill="#555" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">τ 28.3</text>
<text x="240.0" y="240.0" font-size="15" fill="#111" text-anchor="end" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">DLD154V4B</text>
<rect x="250.0" y="222.0" width="7.5" height="15.0" rx="2" fill="#2e7d32" fill-opacity="0.95" stroke="none" stroke-width="1.0"/>
<text x="263.5" y="234.0" font-size="12.5" fill="#2e7d32" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">1.09</text>
<rect x="250.0" y="244.0" width="295.4" height="15.0" rx="2" fill="#2e7d32" fill-opacity="0.38" stroke="none" stroke-width="1.0"/>
<text x="551.4" y="256.0" font-size="12.5" fill="#555" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">τ 32.4</text>
<text x="244.0" y="256.0" font-size="11.5" fill="#c1121f" text-anchor="end" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">节拍 10</text>
<text x="240.0" y="308.0" font-size="15" fill="#111" text-anchor="end" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">PD136HA</text>
<rect x="250.0" y="290.0" width="261.9" height="15.0" rx="2" fill="#e65100" fill-opacity="0.95" stroke="none" stroke-width="1.0"/>
<text x="517.9" y="302.0" font-size="12.5" fill="#e65100" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">21.84</text>
<rect x="250.0" y="312.0" width="379.7" height="15.0" rx="2" fill="#e65100" fill-opacity="0.38" stroke="none" stroke-width="1.0"/>
<text x="635.7" y="324.0" font-size="12.5" fill="#555" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">τ 87.4</text>
<text x="240.0" y="376.0" font-size="15" fill="#111" text-anchor="end" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">PD132T</text>
<rect x="250.0" y="358.0" width="203.1" height="15.0" rx="2" fill="#1565c0" fill-opacity="0.95" stroke="none" stroke-width="1.0"/>
<text x="459.1" y="370.0" font-size="12.5" fill="#1565c0" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">10.92</text>
<rect x="250.0" y="380.0" width="302.9" height="15.0" rx="2" fill="#1565c0" fill-opacity="0.38" stroke="none" stroke-width="1.0"/>
<text x="558.9" y="392.0" font-size="12.5" fill="#555" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">τ 35.4</text>
<text x="240.0" y="444.0" font-size="15" fill="#111" text-anchor="end" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">PD132L</text>
<rect x="250.0" y="426.0" width="280.9" height="15.0" rx="2" fill="#00838f" fill-opacity="0.95" stroke="none" stroke-width="1.0"/>
<text x="536.9" y="438.0" font-size="12.5" fill="#00838f" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">27.31</text>
<rect x="250.0" y="448.0" width="380.8" height="15.0" rx="2" fill="#00838f" fill-opacity="0.38" stroke="none" stroke-width="1.0"/>
<text x="636.8" y="460.0" font-size="12.5" fill="#555" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">τ 88.5</text>
<text x="240.0" y="512.0" font-size="15" fill="#111" text-anchor="end" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">M1H</text>
<rect x="250.0" y="494.0" width="178.6" height="15.0" rx="2" fill="#5d4037" fill-opacity="0.95" stroke="none" stroke-width="1.0"/>
<text x="434.6" y="506.0" font-size="12.5" fill="#5d4037" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">8.19</text>
<rect x="250.0" y="516.0" width="278.5" height="15.0" rx="2" fill="#5d4037" fill-opacity="0.38" stroke="none" stroke-width="1.0"/>
<text x="534.5" y="528.0" font-size="12.5" fill="#555" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">τ 26.5</text>
<line x1="250.0" y1="140.0" x2="250.0" y2="560.0" stroke="#bbb" stroke-width="1.4"/>
<text x="250.0" y="596.0" font-size="12.5" fill="#666" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">深色 = 测量窗长;浅色 = IIR τ;红字 = 滤波更新节拍(与窗长不同者)</text>
<text x="800.0" y="118.0" font-size="16" fill="#111" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">面板 B:检测延迟 vs 车辆信号 Δf/f(各型号按本型号档0 判据,对数-对数)</text>
<line x1="880.0" y1="160.0" x2="880.0" y2="545.0" stroke="#e8e8e8" stroke-width="1.0"/>
<text x="880.0" y="565.0" font-size="12.5" fill="#777" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.02</text>
<line x1="977.9" y1="160.0" x2="977.9" y2="545.0" stroke="#e8e8e8" stroke-width="1.0"/>
<text x="977.9" y="565.0" font-size="12.5" fill="#777" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.05</text>
<line x1="1052.0" y1="160.0" x2="1052.0" y2="545.0" stroke="#e8e8e8" stroke-width="1.0"/>
<text x="1052.0" y="565.0" font-size="12.5" fill="#777" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.1</text>
<line x1="1126.0" y1="160.0" x2="1126.0" y2="545.0" stroke="#e8e8e8" stroke-width="1.0"/>
<text x="1126.0" y="565.0" font-size="12.5" fill="#777" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.2</text>
<line x1="1224.0" y1="160.0" x2="1224.0" y2="545.0" stroke="#e8e8e8" stroke-width="1.0"/>
<text x="1224.0" y="565.0" font-size="12.5" fill="#777" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.5</text>
<line x1="1298.0" y1="160.0" x2="1298.0" y2="545.0" stroke="#e8e8e8" stroke-width="1.0"/>
<text x="1298.0" y="565.0" font-size="12.5" fill="#777" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">1</text>
<line x1="1372.1" y1="160.0" x2="1372.1" y2="545.0" stroke="#e8e8e8" stroke-width="1.0"/>
<text x="1372.1" y="565.0" font-size="12.5" fill="#777" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">2</text>
<line x1="1470.0" y1="160.0" x2="1470.0" y2="545.0" stroke="#e8e8e8" stroke-width="1.0"/>
<text x="1470.0" y="565.0" font-size="12.5" fill="#777" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">5</text>
<text x="1175.0" y="587.0" font-size="13" fill="#555" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">车辆引起的相对频偏 Δf/f(%,对数)</text>
<line x1="880.0" y1="545.0" x2="1470.0" y2="545.0" stroke="#e8e8e8" stroke-width="1.0"/>
<text x="872.0" y="549.0" font-size="12.5" fill="#777" text-anchor="end" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">4</text>
<line x1="880.0" y1="488.2" x2="1470.0" y2="488.2" stroke="#e8e8e8" stroke-width="1.0"/>
<text x="872.0" y="492.2" font-size="12.5" fill="#777" text-anchor="end" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">10</text>
<line x1="880.0" y1="420.2" x2="1470.0" y2="420.2" stroke="#e8e8e8" stroke-width="1.0"/>
<text x="872.0" y="424.2" font-size="12.5" fill="#777" text-anchor="end" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">30</text>
<line x1="880.0" y1="345.6" x2="1470.0" y2="345.6" stroke="#e8e8e8" stroke-width="1.0"/>
<text x="872.0" y="349.6" font-size="12.5" fill="#777" text-anchor="end" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">100</text>
<line x1="880.0" y1="277.5" x2="1470.0" y2="277.5" stroke="#e8e8e8" stroke-width="1.0"/>
<text x="872.0" y="281.5" font-size="12.5" fill="#777" text-anchor="end" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">300</text>
<line x1="880.0" y1="202.9" x2="1470.0" y2="202.9" stroke="#e8e8e8" stroke-width="1.0"/>
<text x="872.0" y="206.9" font-size="12.5" fill="#777" text-anchor="end" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">1000</text>
<line x1="880.0" y1="160.0" x2="1470.0" y2="160.0" stroke="#e8e8e8" stroke-width="1.0"/>
<text x="872.0" y="164.0" font-size="12.5" fill="#777" text-anchor="end" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">2000</text>
<text x="872.0" y="146.0" font-size="13" fill="#555" text-anchor="end" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">延迟 ms</text>
<rect x="1052.0" y="160.0" width="246.0" height="385.0" rx="0" fill="#fff8e1" fill-opacity="0.9" stroke="none" stroke-width="1.0"/>
<text x="1175.0" y="178.0" font-size="12.5" fill="#b8860b" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">典型车信号带 0.1%~1%</text>
<polyline points="1105.7,321.1 1112.8,367.8 1119.9,385.6 1126.9,396.9 1133.9,410.7 1140.8,410.7 1147.7,410.7 1154.6,428.5 1161.4,428.5 1168.1,428.5 1174.9,428.5 1181.6,453.6 1188.3,453.6 1194.9,453.6 1201.5,453.6 1208.1,453.6 1214.7,453.6 1221.3,453.6 1227.8,453.6 1234.3,496.6 1240.8,496.6 1247.3,496.6 1253.8,496.6 1260.2,496.6 1266.7,496.6 1273.1,496.6 1279.5,496.6 1285.9,496.6 1292.3,496.6 1298.7,496.6 1305.1,496.6 1311.4,496.6 1317.8,496.6 1324.1,496.6 1330.5,496.6 1336.8,496.6 1343.2,496.6 1349.5,496.6 1355.8,496.6 1362.1,496.6 1368.4,496.6 1374.7,496.6 1381.0,496.6 1387.3,496.6 1393.6,496.6 1399.9,496.6 1406.2,496.6 1412.5,496.6 1418.8,496.6 1425.0,496.6 1431.3,496.6 1437.6,496.6 1443.8,496.6 1450.1,496.6 1456.4,496.6 1462.6,496.6 1468.9,496.6" fill="none" stroke="#6a1b9a" stroke-width="2.2" stroke-linejoin="round"/>
<line x1="1105.5" y1="496.6" x2="1229.8" y2="496.6" stroke="#6a1b9a" stroke-width="1.0" stroke-dasharray="3,3"/>
<polyline points="1227.1,312.7 1233.6,359.4 1240.1,377.2 1246.6,388.5 1253.1,388.5 1259.6,402.4 1266.0,402.4 1272.4,420.2 1278.8,420.2 1285.3,420.2 1291.6,420.2 1298.0,445.3 1304.4,445.3 1310.8,445.3 1317.1,445.3 1323.5,445.3 1329.8,445.3 1336.2,445.3 1342.5,445.3 1348.8,445.3 1355.2,488.2 1361.5,488.2 1367.8,488.2 1374.1,488.2 1380.4,488.2 1386.7,488.2 1393.0,488.2 1399.3,488.2 1405.6,488.2 1411.8,488.2 1418.1,488.2 1424.4,488.2 1430.7,488.2 1436.9,488.2 1443.2,488.2 1449.5,488.2 1455.7,488.2 1462.0,488.2 1468.2,488.2" fill="none" stroke="#2e7d32" stroke-width="2.2" stroke-linejoin="round"/>
<line x1="1226.9" y1="488.2" x2="1351.2" y2="488.2" stroke="#2e7d32" stroke-width="1.0" stroke-dasharray="3,3"/>
<polyline points="1148.9,248.3 1155.7,297.2 1162.5,311.0 1169.3,319.3 1176.0,328.8 1182.7,340.1 1189.4,353.9 1196.0,353.9 1202.7,353.9 1209.2,371.8 1215.8,371.8 1222.4,371.8 1228.9,371.8 1235.4,371.8 1241.9,396.9 1248.4,396.9 1254.9,396.9 1261.3,396.9 1267.8,396.9 1274.2,396.9 1280.6,396.9 1287.0,396.9 1293.4,396.9 1299.8,439.8 1306.2,439.8 1312.5,439.8 1318.9,439.8 1325.2,439.8 1331.6,439.8 1337.9,439.8 1344.2,439.8 1350.6,439.8 1356.9,439.8 1363.2,439.8 1369.5,439.8 1375.8,439.8 1382.1,439.8 1388.4,439.8 1394.7,439.8 1401.0,439.8 1407.3,439.8 1413.6,439.8 1419.8,439.8 1426.1,439.8 1432.4,439.8 1438.6,439.8 1444.9,439.8 1451.2,439.8 1457.4,439.8 1463.7,439.8 1470.0,439.8" fill="none" stroke="#e65100" stroke-width="2.2" stroke-linejoin="round"/>
<line x1="1148.7" y1="439.8" x2="1273.0" y2="439.8" stroke="#e65100" stroke-width="1.0" stroke-dasharray="3,3"/>
<polyline points="1214.7,307.3 1221.3,354.0 1227.8,371.8 1234.4,383.1 1240.9,383.1 1247.3,396.9 1253.8,396.9 1260.3,414.7 1266.7,414.7 1273.1,414.7 1279.6,414.7 1286.0,439.8 1292.4,439.8 1298.7,439.8 1305.1,439.8 1311.5,439.8 1317.8,439.8 1324.2,439.8 1330.5,439.8 1336.9,439.8 1343.2,482.8 1349.5,482.8 1355.9,482.8 1362.2,482.8 1368.5,482.8 1374.8,482.8 1381.1,482.8 1387.4,482.8 1393.7,482.8 1400.0,482.8 1406.2,482.8 1412.5,482.8 1418.8,482.8 1425.1,482.8 1431.3,482.8 1437.6,482.8 1443.9,482.8 1450.2,482.8 1456.4,482.8 1462.7,482.8 1468.9,482.8" fill="none" stroke="#1565c0" stroke-width="2.2" stroke-linejoin="round"/>
<line x1="1214.5" y1="482.8" x2="1338.8" y2="482.8" stroke="#1565c0" stroke-width="1.0" stroke-dasharray="3,3"/>
<polyline points="1214.7,250.5 1221.3,297.2 1227.8,315.0 1234.4,326.3 1240.9,326.3 1247.3,340.1 1253.8,340.1 1260.3,357.9 1266.7,357.9 1273.1,357.9 1279.6,357.9 1286.0,383.1 1292.4,383.1 1298.7,383.1 1305.1,383.1 1311.5,383.1 1317.8,383.1 1324.2,383.1 1330.5,383.1 1336.9,383.1 1343.2,426.0 1349.5,426.0 1355.9,426.0 1362.2,426.0 1368.5,426.0 1374.8,426.0 1381.1,426.0 1387.4,426.0 1393.7,426.0 1400.0,426.0 1406.2,426.0 1412.5,426.0 1418.8,426.0 1425.1,426.0 1431.3,426.0 1437.6,426.0 1443.9,426.0 1450.2,426.0 1456.4,426.0 1462.7,426.0 1468.9,426.0" fill="none" stroke="#00838f" stroke-width="2.2" stroke-linejoin="round"/>
<line x1="1214.5" y1="426.0" x2="1338.8" y2="426.0" stroke="#00838f" stroke-width="1.0" stroke-dasharray="3,3"/>
<polyline points="1179.6,325.1 1186.3,371.8 1193.0,389.6 1199.6,400.9 1206.2,400.9 1212.8,414.7 1219.4,414.7 1225.9,432.5 1232.4,432.5 1238.9,432.5 1245.4,432.5 1251.9,457.7 1258.3,457.7 1264.8,457.7 1271.2,457.7 1277.6,457.7 1284.1,457.7 1290.5,457.7 1296.8,457.7 1303.2,457.7 1309.6,500.6 1316.0,500.6 1322.3,500.6 1328.7,500.6 1335.0,500.6 1341.3,500.6 1347.7,500.6 1354.0,500.6 1360.3,500.6 1366.6,500.6 1372.9,500.6 1379.2,500.6 1385.5,500.6 1391.8,500.6 1398.1,500.6 1404.4,500.6 1410.7,500.6 1416.9,500.6 1423.2,500.6 1429.5,500.6 1435.8,500.6 1442.0,500.6 1448.3,500.6 1454.6,500.6 1460.8,500.6 1467.1,500.6" fill="none" stroke="#5d4037" stroke-width="2.2" stroke-linejoin="round"/>
<line x1="1179.4" y1="500.6" x2="1303.7" y2="500.6" stroke="#5d4037" stroke-width="1.0" stroke-dasharray="3,3"/>
<line x1="1105.5" y1="160.0" x2="1105.5" y2="545.0" stroke="#6a1b9a" stroke-width="1.0" stroke-dasharray="2,3"/>
<line x1="1226.9" y1="160.0" x2="1226.9" y2="545.0" stroke="#2e7d32" stroke-width="1.0" stroke-dasharray="2,3"/>
<line x1="1148.7" y1="160.0" x2="1148.7" y2="545.0" stroke="#e65100" stroke-width="1.0" stroke-dasharray="2,3"/>
<line x1="1214.5" y1="160.0" x2="1214.5" y2="545.0" stroke="#1565c0" stroke-width="1.0" stroke-dasharray="2,3"/>
<line x1="1214.5" y1="160.0" x2="1214.5" y2="545.0" stroke="#00838f" stroke-width="1.0" stroke-dasharray="2,3"/>
<line x1="1179.4" y1="160.0" x2="1179.4" y2="545.0" stroke="#5d4037" stroke-width="1.0" stroke-dasharray="2,3"/>
<text x="886.0" y="537.0" font-size="12" fill="#666" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">竖虚线 = 各型号档0 判据(左端=永不检出);横虚线 = 该型号 1 窗下限</text>
<rect x="890.0" y="176.0" width="236.0" height="166.0" rx="5" fill="#ffffff" fill-opacity="0.94" stroke="#ccc" stroke-width="1.0"/>
<text x="902.0" y="196.0" font-size="13" fill="#555" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">型号 / 窗长</text>
<rect x="902.0" y="211.0" width="14.0" height="11.0" rx="2" fill="#6a1b9a" fill-opacity="0.95" stroke="none" stroke-width="1.0"/>
<text x="924.0" y="220.0" font-size="12" fill="#6a1b9a" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">DLD154Pro 8.74 ms</text>
<rect x="902.0" y="231.0" width="14.0" height="11.0" rx="2" fill="#2e7d32" fill-opacity="0.95" stroke="none" stroke-width="1.0"/>
<text x="924.0" y="240.0" font-size="12" fill="#2e7d32" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">DLD154V4B 1.09 ms</text>
<rect x="902.0" y="251.0" width="14.0" height="11.0" rx="2" fill="#e65100" fill-opacity="0.95" stroke="none" stroke-width="1.0"/>
<text x="924.0" y="260.0" font-size="12" fill="#e65100" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">PD136HA 21.84 ms</text>
<rect x="902.0" y="271.0" width="14.0" height="11.0" rx="2" fill="#1565c0" fill-opacity="0.95" stroke="none" stroke-width="1.0"/>
<text x="924.0" y="280.0" font-size="12" fill="#1565c0" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">PD132T 10.92 ms</text>
<rect x="902.0" y="291.0" width="14.0" height="11.0" rx="2" fill="#00838f" fill-opacity="0.95" stroke="none" stroke-width="1.0"/>
<text x="924.0" y="300.0" font-size="12" fill="#00838f" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">PD132L 27.31 ms</text>
<rect x="902.0" y="311.0" width="14.0" height="11.0" rx="2" fill="#5d4037" fill-opacity="0.95" stroke="none" stroke-width="1.0"/>
<text x="924.0" y="320.0" font-size="12" fill="#5d4037" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">M1H 8.19 ms</text>
<line x1="40.0" y1="636.0" x2="1480.0" y2="636.0" stroke="#ddd" stroke-width="1.2"/>
<text x="40.0" y="660.0" font-size="16" fill="#111" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">精确数值(判据越线延迟;不含输出级与进入确认)</text>
<text x="60.0" y="692.0" font-size="13.5" fill="#555" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">型号</text>
<text x="190.0" y="692.0" font-size="13.5" fill="#555" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">测量窗</text>
<text x="285.0" y="692.0" font-size="13.5" fill="#555" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">滤波节拍</text>
<text x="370.0" y="692.0" font-size="13.5" fill="#555" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">α</text>
<text x="412.0" y="692.0" font-size="13.5" fill="#555" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">τ(口径)</text>
<text x="500.0" y="692.0" font-size="13.5" fill="#555" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">档0 判据</text>
<text x="620.0" y="692.0" font-size="13.5" fill="#555" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">延迟 @1.1×判据</text>
<text x="775.0" y="692.0" font-size="13.5" fill="#555" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">延迟 @2×判据</text>
<text x="925.0" y="692.0" font-size="13.5" fill="#555" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">延迟 @10×判据</text>
<text x="1060.0" y="692.0" font-size="13.5" fill="#555" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">进入确认</text>
<line x1="40.0" y1="702.0" x2="1480.0" y2="702.0" stroke="#ccc" stroke-width="1.0"/>
<text x="60.0" y="730.0" font-size="14" fill="#6a1b9a" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">DLD154Pro</text>
<text x="190.0" y="730.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">8.74</text>
<text x="285.0" y="730.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">8.74</text>
<text x="370.0" y="730.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">79</text>
<text x="412.0" y="730.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">28.3</text>
<text x="500.0" y="730.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.1650 %</text>
<text x="620.0" y="730.0" font-size="13" fill="#1565c0" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">61.2 ms7 窗)</text>
<text x="775.0" y="730.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">17.5 ms2 窗)</text>
<text x="925.0" y="730.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">8.7 ms1 窗)</text>
<text x="1060.0" y="730.0" font-size="12.5" fill="#666" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">3 tick 确认(5ms tick</text>
<text x="60.0" y="770.0" font-size="14" fill="#2e7d32" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">DLD154V4B</text>
<text x="190.0" y="770.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">1.09</text>
<text x="285.0" y="770.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">10.00</text>
<text x="370.0" y="770.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">79</text>
<text x="412.0" y="770.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">32.4</text>
<text x="500.0" y="770.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.5140 %</text>
<text x="620.0" y="770.0" font-size="13" fill="#1565c0" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">70.0 ms7 窗)</text>
<text x="775.0" y="770.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">20.0 ms2 窗)</text>
<text x="925.0" y="770.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">10.0 ms1 窗)</text>
<text x="1060.0" y="770.0" font-size="12.5" fill="#666" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">3~5 tick 确认(10ms tick</text>
<text x="60.0" y="810.0" font-size="14" fill="#e65100" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">PD136HA</text>
<text x="190.0" y="810.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">21.84</text>
<text x="285.0" y="810.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">21.85</text>
<text x="370.0" y="810.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">64</text>
<text x="412.0" y="810.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">87.4</text>
<text x="500.0" y="810.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.2472 %</text>
<text x="620.0" y="810.0" font-size="13" fill="#1565c0" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">196.7 ms9 窗)</text>
<text x="775.0" y="810.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">65.6 ms3 窗)</text>
<text x="925.0" y="810.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">21.9 ms1 窗)</text>
<text x="1060.0" y="810.0" font-size="12.5" fill="#666" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">无(单次越线)</text>
<text x="60.0" y="850.0" font-size="14" fill="#1565c0" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">PD132T</text>
<text x="190.0" y="850.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">10.92</text>
<text x="285.0" y="850.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">10.92</text>
<text x="370.0" y="850.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">79</text>
<text x="412.0" y="850.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">35.4</text>
<text x="500.0" y="850.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.4578 %</text>
<text x="620.0" y="850.0" font-size="13" fill="#1565c0" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">76.4 ms7 窗)</text>
<text x="775.0" y="850.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">21.8 ms2 窗)</text>
<text x="925.0" y="850.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">10.9 ms1 窗)</text>
<text x="1060.0" y="850.0" font-size="12.5" fill="#666" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">无(单次越线)</text>
<text x="60.0" y="890.0" font-size="14" fill="#00838f" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">PD132L</text>
<text x="190.0" y="890.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">27.31</text>
<text x="285.0" y="890.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">27.31</text>
<text x="370.0" y="890.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">79</text>
<text x="412.0" y="890.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">88.5</text>
<text x="500.0" y="890.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.4578 %</text>
<text x="620.0" y="890.0" font-size="13" fill="#1565c0" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">191.2 ms7 窗)</text>
<text x="775.0" y="890.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">54.6 ms2 窗)</text>
<text x="925.0" y="890.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">27.3 ms1 窗)</text>
<text x="1060.0" y="890.0" font-size="12.5" fill="#666" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">无(单次越线)</text>
<text x="60.0" y="930.0" font-size="14" fill="#5d4037" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">M1H</text>
<text x="190.0" y="930.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">8.19</text>
<text x="285.0" y="930.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">8.19</text>
<text x="370.0" y="930.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">79</text>
<text x="412.0" y="930.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">26.5</text>
<text x="500.0" y="930.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.3296 %</text>
<text x="620.0" y="930.0" font-size="13" fill="#1565c0" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">57.3 ms7 窗)</text>
<text x="775.0" y="930.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">16.4 ms2 窗)</text>
<text x="925.0" y="930.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">8.2 ms1 窗)</text>
<text x="1060.0" y="930.0" font-size="12.5" fill="#666" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">10 tick 确认(≈0.6s</text>
<line x1="40.0" y1="948.0" x2="1480.0" y2="948.0" stroke="#ccc" stroke-width="1.0"/>
<rect x="40.0" y="964.0" width="700.0" height="118.0" rx="6" fill="#fbfdff" fill-opacity="0.95" stroke="#c1121f" stroke-width="1.2"/>
<text x="52.0" y="988.0" font-size="14.5" fill="#c1121f" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">口径与注意</text>
<text x="52.0" y="1012.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">τ 为产品线口径(节拍×256/α);精确 τ = −节拍/ln(1−α/256),约小 13%</text>
<text x="52.0" y="1033.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">V4B 测量窗 1.09ms 与滤波节拍 10ms 不同(Value 每 1.09ms、CAPVD 每 10ms</text>
<text x="52.0" y="1054.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">延迟仅含「判据越线」;输出级 50ms 节拍与进入确认未计(见右侧)</text>
<text x="52.0" y="1075.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">「档0」各型号判据不同(0.165%~0.514%),仅作同档位号横向对比</text>
<rect x="760.0" y="964.0" width="720.0" height="118.0" rx="6" fill="#fbfdff" fill-opacity="0.95" stroke="#0b6" stroke-width="1.2"/>
<text x="772.0" y="988.0" font-size="14.5" fill="#0b6" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">进入确认(须另加)</text>
<text x="772.0" y="1012.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">M1HIN_DELAY=10 tick(约 0.6s);V4B3~5 tick30~50ms</text>
<text x="772.0" y="1033.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">154Pro3 次确认;PD132L / PD132T / PD136HA:无(单次越线判定)</text>
<text x="772.0" y="1054.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">⇒ 整机响应 = 判据越线 + 进入确认 + ≤50ms 输出节拍</text>
</svg>

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 KiB

+128
View File
@@ -0,0 +1,128 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1500" height="1060" viewBox="0 0 1500 1060">
<rect width="1500" height="1060" fill="#ffffff"/>
<text x="30.0" y="44.0" font-size="24" fill="#111" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">PD132T ↔ PD136HA 灵敏度档位对齐图(判据 = 表值/65536 的 Δf/f</text>
<text x="30.0" y="72.0" font-size="13" fill="#555" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">每档画两段:深色 = 离开阈值(回差下沿),浅色 = 进入阈值(回差上沿);横轴 0~0.5%(线性)</text>
<line x1="30.0" y1="86.0" x2="1470.0" y2="86.0" stroke="#ddd" stroke-width="1.2"/>
<line x1="380.0" y1="112.0" x2="380.0" y2="576.0" stroke="#ececec" stroke-width="1.0"/>
<text x="380.0" y="598.0" font-size="12" fill="#777" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.00</text>
<line x1="465.0" y1="112.0" x2="465.0" y2="576.0" stroke="#ececec" stroke-width="1.0"/>
<text x="465.0" y="598.0" font-size="12" fill="#777" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.05</text>
<line x1="550.0" y1="112.0" x2="550.0" y2="576.0" stroke="#ececec" stroke-width="1.0"/>
<text x="550.0" y="598.0" font-size="12" fill="#777" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.10</text>
<line x1="635.0" y1="112.0" x2="635.0" y2="576.0" stroke="#ececec" stroke-width="1.0"/>
<text x="635.0" y="598.0" font-size="12" fill="#777" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.15</text>
<line x1="720.0" y1="112.0" x2="720.0" y2="576.0" stroke="#ececec" stroke-width="1.0"/>
<text x="720.0" y="598.0" font-size="12" fill="#777" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.20</text>
<line x1="805.0" y1="112.0" x2="805.0" y2="576.0" stroke="#ececec" stroke-width="1.0"/>
<text x="805.0" y="598.0" font-size="12" fill="#777" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.25</text>
<line x1="890.0" y1="112.0" x2="890.0" y2="576.0" stroke="#ececec" stroke-width="1.0"/>
<text x="890.0" y="598.0" font-size="12" fill="#777" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.30</text>
<line x1="975.0" y1="112.0" x2="975.0" y2="576.0" stroke="#ececec" stroke-width="1.0"/>
<text x="975.0" y="598.0" font-size="12" fill="#777" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.35</text>
<line x1="1060.0" y1="112.0" x2="1060.0" y2="576.0" stroke="#ececec" stroke-width="1.0"/>
<text x="1060.0" y="598.0" font-size="12" fill="#777" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.40</text>
<line x1="1145.0" y1="112.0" x2="1145.0" y2="576.0" stroke="#ececec" stroke-width="1.0"/>
<text x="1145.0" y="598.0" font-size="12" fill="#777" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.45</text>
<line x1="1230.0" y1="112.0" x2="1230.0" y2="576.0" stroke="#ececec" stroke-width="1.0"/>
<text x="1230.0" y="598.0" font-size="12" fill="#777" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.50</text>
<text x="805.0" y="622.0" font-size="13" fill="#555" text-anchor="middle" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">Δf/f(%)—— 数值越大越钝(越不易触发)</text>
<rect x="40.0" y="110.0" width="1420.0" height="104.0" rx="6" fill="#fafafa" fill-opacity="1.0" stroke="none" stroke-width="0"/>
<text x="60.0" y="170.0" font-size="17" fill="#111" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">档 0</text>
<rect x="380.0" y="124.0" width="155.6" height="17.0" rx="2" fill="#1565c0" fill-opacity="0.3" stroke="none" stroke-width="1.0"/>
<rect x="380.0" y="124.0" width="778.2" height="17.0" rx="2" fill="#1565c0" fill-opacity="0.85" stroke="none" stroke-width="1.0"/>
<text x="370.0" y="138.0" font-size="13.5" fill="#1565c0" text-anchor="end" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">PD132T</text>
<text x="1166.2" y="138.0" font-size="12.5" fill="#1565c0" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">进入 0.4578% 离开 0.0916%</text>
<rect x="380.0" y="170.0" width="210.1" height="17.0" rx="2" fill="#e65100" fill-opacity="0.3" stroke="none" stroke-width="1.0"/>
<rect x="380.0" y="170.0" width="420.2" height="17.0" rx="2" fill="#e65100" fill-opacity="0.85" stroke="none" stroke-width="1.0"/>
<text x="370.0" y="184.0" font-size="13.5" fill="#e65100" text-anchor="end" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">PD136HA</text>
<text x="808.2" y="184.0" font-size="12.5" fill="#e65100" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">进入 0.2472%</text>
<line x1="1158.2" y1="141.0" x2="800.2" y2="170.0" stroke="#999" stroke-width="1.2" stroke-dasharray="4,3"/>
<text x="1246.0" y="158.0" font-size="14" fill="#c1121f" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">同档偏差 -46%</text>
<text x="60.0" y="286.0" font-size="17" fill="#111" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">档 1</text>
<rect x="380.0" y="240.0" width="83.0" height="17.0" rx="2" fill="#1565c0" fill-opacity="0.3" stroke="none" stroke-width="1.0"/>
<rect x="380.0" y="240.0" width="155.6" height="17.0" rx="2" fill="#1565c0" fill-opacity="0.85" stroke="none" stroke-width="1.0"/>
<text x="370.0" y="254.0" font-size="13.5" fill="#1565c0" text-anchor="end" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">PD132T</text>
<text x="543.6" y="254.0" font-size="12.5" fill="#1565c0" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">进入 0.0916% 离开 0.0488%</text>
<rect x="380.0" y="286.0" width="140.1" height="17.0" rx="2" fill="#e65100" fill-opacity="0.3" stroke="none" stroke-width="1.0"/>
<rect x="380.0" y="286.0" width="210.1" height="17.0" rx="2" fill="#e65100" fill-opacity="0.85" stroke="none" stroke-width="1.0"/>
<text x="370.0" y="300.0" font-size="13.5" fill="#e65100" text-anchor="end" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">PD136HA</text>
<text x="598.1" y="300.0" font-size="12.5" fill="#e65100" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">进入 0.1236%</text>
<line x1="535.6" y1="257.0" x2="590.1" y2="286.0" stroke="#999" stroke-width="1.2" stroke-dasharray="4,3"/>
<text x="1246.0" y="274.0" font-size="14" fill="#c1121f" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">同档偏差 +35%</text>
<rect x="40.0" y="342.0" width="1420.0" height="104.0" rx="6" fill="#fafafa" fill-opacity="1.0" stroke="none" stroke-width="0"/>
<text x="60.0" y="402.0" font-size="17" fill="#111" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">档 2</text>
<rect x="380.0" y="356.0" width="54.5" height="17.0" rx="2" fill="#1565c0" fill-opacity="0.3" stroke="none" stroke-width="1.0"/>
<rect x="380.0" y="356.0" width="83.0" height="17.0" rx="2" fill="#1565c0" fill-opacity="0.85" stroke="none" stroke-width="1.0"/>
<text x="370.0" y="370.0" font-size="13.5" fill="#1565c0" text-anchor="end" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">PD132T</text>
<text x="471.0" y="370.0" font-size="12.5" fill="#1565c0" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">进入 0.0488% 离开 0.0320%</text>
<rect x="380.0" y="402.0" width="83.0" height="17.0" rx="2" fill="#e65100" fill-opacity="0.3" stroke="none" stroke-width="1.0"/>
<rect x="380.0" y="402.0" width="140.1" height="17.0" rx="2" fill="#e65100" fill-opacity="0.85" stroke="none" stroke-width="1.0"/>
<text x="370.0" y="416.0" font-size="13.5" fill="#e65100" text-anchor="end" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">PD136HA</text>
<text x="528.1" y="416.0" font-size="12.5" fill="#e65100" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">进入 0.0824%</text>
<line x1="463.0" y1="373.0" x2="520.1" y2="402.0" stroke="#999" stroke-width="1.2" stroke-dasharray="4,3"/>
<text x="1246.0" y="390.0" font-size="14" fill="#c1121f" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">同档偏差 +69%</text>
<text x="60.0" y="518.0" font-size="17" fill="#111" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">档 3</text>
<rect x="380.0" y="472.0" width="36.3" height="17.0" rx="2" fill="#1565c0" fill-opacity="0.3" stroke="none" stroke-width="1.0"/>
<rect x="380.0" y="472.0" width="54.5" height="17.0" rx="2" fill="#1565c0" fill-opacity="0.85" stroke="none" stroke-width="1.0"/>
<text x="370.0" y="486.0" font-size="13.5" fill="#1565c0" text-anchor="end" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">PD132T</text>
<text x="442.5" y="486.0" font-size="12.5" fill="#1565c0" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">进入 0.0320% 离开 0.0214%</text>
<rect x="380.0" y="518.0" width="46.7" height="17.0" rx="2" fill="#e65100" fill-opacity="0.3" stroke="none" stroke-width="1.0"/>
<rect x="380.0" y="518.0" width="72.6" height="17.0" rx="2" fill="#e65100" fill-opacity="0.85" stroke="none" stroke-width="1.0"/>
<text x="370.0" y="532.0" font-size="13.5" fill="#e65100" text-anchor="end" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">PD136HA</text>
<text x="460.6" y="532.0" font-size="12.5" fill="#e65100" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">进入 0.0427%</text>
<line x1="434.5" y1="489.0" x2="452.6" y2="518.0" stroke="#999" stroke-width="1.2" stroke-dasharray="4,3"/>
<text x="1246.0" y="506.0" font-size="14" fill="#c1121f" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">同档偏差 +33%</text>
<text x="1470.0" y="592.0" font-size="13" fill="#0b6" text-anchor="end" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">最佳匹配:档 1 → 档 2(−10.0%)</text>
<text x="1470.0" y="614.0" font-size="13" fill="#c1121f" text-anchor="end" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">两端档 0 / 3 无对应档 ⇒ 必须复测</text>
<line x1="1234.0" y1="112.0" x2="1234.0" y2="576.0" stroke="#ccc" stroke-width="1.0"/>
<text x="40.0" y="660.0" font-size="17" fill="#111" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">档位对照表(现场照着贴)</text>
<text x="60.0" y="690.0" font-size="13.5" fill="#555" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">档位</text>
<text x="150.0" y="690.0" font-size="13.5" fill="#555" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">PD132T 进入</text>
<text x="290.0" y="690.0" font-size="13.5" fill="#555" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">PD132T 离开</text>
<text x="430.0" y="690.0" font-size="13.5" fill="#555" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">PD136HA 进入</text>
<text x="570.0" y="690.0" font-size="13.5" fill="#555" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">PD136HA 离开</text>
<text x="710.0" y="690.0" font-size="13.5" fill="#555" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">同档偏差</text>
<text x="860.0" y="690.0" font-size="13.5" fill="#555" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">等效替代(最近进入阈值)</text>
<line x1="40.0" y1="700.0" x2="1460.0" y2="700.0" stroke="#ccc" stroke-width="1.0"/>
<text x="60.0" y="726.0" font-size="14" fill="#111" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">档 0</text>
<text x="150.0" y="726.0" font-size="13" fill="#1565c0" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.4578 %</text>
<text x="290.0" y="726.0" font-size="13" fill="#777" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.0916 %</text>
<text x="430.0" y="726.0" font-size="13" fill="#e65100" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.2472 %</text>
<text x="570.0" y="726.0" font-size="13" fill="#777" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.1236 %</text>
<text x="710.0" y="726.0" font-size="13.5" fill="#c1121f" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">-46.0 %</text>
<text x="860.0" y="726.0" font-size="13" fill="#0b6" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">PD136HA 档 0-46.0%</text>
<text x="60.0" y="762.0" font-size="14" fill="#111" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">档 1</text>
<text x="150.0" y="762.0" font-size="13" fill="#1565c0" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.0916 %</text>
<text x="290.0" y="762.0" font-size="13" fill="#777" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.0488 %</text>
<text x="430.0" y="762.0" font-size="13" fill="#e65100" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.1236 %</text>
<text x="570.0" y="762.0" font-size="13" fill="#777" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.0824 %</text>
<text x="710.0" y="762.0" font-size="13.5" fill="#c1121f" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">+35.0 %</text>
<text x="860.0" y="762.0" font-size="13" fill="#0b6" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">PD136HA 档 2-10.0%</text>
<text x="60.0" y="798.0" font-size="14" fill="#111" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">档 2</text>
<text x="150.0" y="798.0" font-size="13" fill="#1565c0" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.0488 %</text>
<text x="290.0" y="798.0" font-size="13" fill="#777" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.0320 %</text>
<text x="430.0" y="798.0" font-size="13" fill="#e65100" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.0824 %</text>
<text x="570.0" y="798.0" font-size="13" fill="#777" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.0488 %</text>
<text x="710.0" y="798.0" font-size="13.5" fill="#c1121f" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">+68.8 %</text>
<text x="860.0" y="798.0" font-size="13" fill="#0b6" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">PD136HA 档 3-12.5%</text>
<text x="60.0" y="834.0" font-size="14" fill="#111" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">档 3</text>
<text x="150.0" y="834.0" font-size="13" fill="#1565c0" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.0320 %</text>
<text x="290.0" y="834.0" font-size="13" fill="#777" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.0214 %</text>
<text x="430.0" y="834.0" font-size="13" fill="#e65100" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.0427 %</text>
<text x="570.0" y="834.0" font-size="13" fill="#777" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">0.0275 %</text>
<text x="710.0" y="834.0" font-size="13.5" fill="#c1121f" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">+33.3 %</text>
<text x="860.0" y="834.0" font-size="13" fill="#0b6" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">PD136HA 档 3+33.3%</text>
<line x1="40.0" y1="854.0" x2="1460.0" y2="854.0" stroke="#ccc" stroke-width="1.0"/>
<rect x="40.0" y="874.0" width="700.0" height="128.0" rx="6" fill="#fbfdff" fill-opacity="0.95" stroke="#c1121f" stroke-width="1.2"/>
<text x="52.0" y="898.0" font-size="14.5" fill="#c1121f" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">换型动作(4 步)</text>
<text x="52.0" y="922.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">① 先算目标:原型号档位 → 百分比 = 表值 / 65536</text>
<text x="52.0" y="943.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">② 在新型号表里找最接近的档(偏差 ≤15% 可接受;&gt;30% 必须复测)</text>
<text x="52.0" y="964.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">③ 用 §5.5 公式预估响应:延迟 = (n+1)×窗长(n 由 信号/判据 比决定)</text>
<text x="52.0" y="985.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">④ 强信号车 + 弱信号车各复测 3 次(记录 判据越线→继电器 实测耗时)</text>
<rect x="760.0" y="874.0" width="700.0" height="128.0" rx="6" fill="#fbfdff" fill-opacity="0.95" stroke="#e65100" stroke-width="1.2"/>
<text x="772.0" y="898.0" font-size="14.5" fill="#e65100" text-anchor="start" font-weight="bold" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">两端档位无对应(必须注意)</text>
<text x="772.0" y="922.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">档0(最钝):PD132T 0.4578% ↔ PD136HA 0.2472%(钝 46%</text>
<text x="772.0" y="943.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif"> ⇒ 依赖「最钝档防误触发」的现场,换型后须重新评估误触发率</text>
<text x="772.0" y="964.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif">档3(最灵敏):PD132T 0.0320% ↔ PD136HA 0.0427%(钝 33%</text>
<text x="772.0" y="985.0" font-size="13" fill="#333" text-anchor="start" font-weight="normal" font-family="'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif"> ⇒ 依赖「最高灵敏」的现场,PD136HA 可能检不到弱信号车(§5.5 ⑧)</text>
</svg>

After

Width:  |  Height:  |  Size: 20 KiB

+2
View File
@@ -253,6 +253,8 @@ loop1_CAPVD = loop1_CapSum; loop1_Origin = loop1_CAPVD; loop1_INI_LOOP = 0;
## 10. 响应速度的跨型号对照(图)
> 六型号完整总览图(窗长 / τ / 检测延迟 + 归一化延迟表):`docs/cross-model-comparison.md` 的「六型号总览图」节(`docs/img/family-overview.png`);PD132T↔PD136HA 细对比见 `docs/pd132t-vs-pd136ha-comparison.md` §5.5。
同一判据口径下 PD132T(窗 10.880 ms / α79)与 PD136HA(窗 21.760 ms / α64)的响应对比,含"窗主导 vs τ 主导"分界:
![PD132T vs PD136HA 响应对比](img/response-compare-pd132t-pd136ha.png)
+5
View File
@@ -217,6 +217,10 @@ loop1_dlt_ORG = (Origin * SensTable1[SensLevel]) >> 16; // 离开表
### 5.4 ⭐ 跨代档位换算表(照搬档位号 = 错)
![PD132T ↔ PD136HA 灵敏度档位对齐图](img/sens-alignment-pd132t-pd136ha.png)
(矢量版 `docs/img/sens-alignment-pd132t-pd136ha.svg`;生成脚本 `tools/plot_sens_alignment.py`。图中深色段 = 离开阈值、浅色段 = 进入阈值,二者之差即回差带;右侧「同档偏差」= 同档位号一对一映射的 `(HT)/T`
**PD132T → PD136HA(按 Δf/f 找最近档)**
| PD132T 档 | 进入 Δf/f | 最近的 PD136HA 档 | 进入偏差 | 离开偏差 | 可用性 |
@@ -340,6 +344,7 @@ IIR → 基线(无车时更新/有车冻结) → 进入/离开判据 → VD_FLAG
- [ ] **⑤ PD132L 捕获沿**:§2.3 表中 PD132L 的"单沿"是**推断**(由窗口比 0.8× = 时钟比推得),未读其源码的捕获配置 ⇒ 需补证。
- [ ] **⑥ 端点档复测**PD132T 档 00.4578%)与 PD136HA 档 00.2472%)在两代之间**无对应档**;现场若停在这两个档位,换型必须专项复测。
- [x] ~~**⑦ 旧文件勘误**~~**已落地**(同日提交):`docs/hardware-loop-frontend-pd132t-vs-v4b.md` §8 与 `docs/pd136ha-to-dld154v4b-delivery-alignment.md` §2.3 中「两型号线圈频段差 2×」已改为「**同一频段 ≈23.4~118kHz**」(见 §2.3)。
- [ ] **⑧ 弱信号复测(§5.5,2026-09-11 新增)**:用弱信号车(目标 Δf/f ≈ 0.10%)验证预测 —— PD132T 档1 应 **≈76 ms** 检出,**PD136HA 档1 应「检不到」**(其档1 判据 0.1236% 比 PD132T 的 0.0916% 钝 35%)。若现场确证,换型文档须写明:**PD136HA 需上调一档(档2 = 0.0824%)才能覆盖同类弱信号车**;同时用强/弱两种车各测 3 次,记录"判据越线 → 继电器动作"的实测时间,与 §5.5 的 `(n+1)·窗长 + ≤50 ms` 预测对照。
---
+223
View File
@@ -0,0 +1,223 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""六型号总览图(窗长 / τ / 检测延迟)—— 纯 stdlib 手写 SVG
面板 A:测量窗长 与 IIR 时间常数 τ(横向条形,对数刻度)
面板 B:检测延迟 vs Δf/f(各型号按【本型号档0 判据】计算,对数-对数)
转 PNGchromium --headless=new --disable-gpu --no-sandbox \
--screenshot=docs/img/family-overview.png --window-size=1520,1000 \
file://$PWD/docs/img/family-overview.svg
"""
import math
W, H = 1520, 1100
FONT = "'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif"
MONO = "'DejaVu Sans Mono',monospace"
out = []
def esc(s):
return (s.replace('&', '&amp;').replace('<', '&lt;').replace('>', '&gt;'))
def txt(x, y, s, size=14, fill='#222', anchor='start', weight='normal', family=None):
out.append('<text x="%.1f" y="%.1f" font-size="%s" fill="%s" text-anchor="%s" font-weight="%s" font-family="%s">%s</text>'
% (x, y, size, fill, anchor, weight, family or FONT, esc(s)))
def line(x1, y1, x2, y2, stroke='#999', w=1.0, dash=None):
d = ' stroke-dasharray="%s"' % dash if dash else ''
out.append('<line x1="%.1f" y1="%.1f" x2="%.1f" y2="%.1f" stroke="%s" stroke-width="%s"%s/>'
% (x1, y1, x2, y2, stroke, w, d))
def rect(x, y, w, h, fill='none', stroke='none', rx=3, sw=1.0, op=1.0, dash=None):
d = ' stroke-dasharray="%s"' % dash if dash else ''
out.append('<rect x="%.1f" y="%.1f" width="%.1f" height="%.1f" rx="%s" fill="%s" fill-opacity="%s" stroke="%s" stroke-width="%s"%s/>'
% (x, y, w, h, rx, fill, op, stroke, sw, d))
def poly(pts, stroke='#1565c0', w=1.8, fill='none', dash=None):
d = ' stroke-dasharray="%s"' % dash if dash else ''
s = ' '.join('%.1f,%.1f' % p for p in pts)
out.append('<polyline points="%s" fill="%s" stroke="%s" stroke-width="%s" stroke-linejoin="round"%s/>'
% (s, fill, stroke, w, d))
def dot(x, y, r=4.0, fill='#c1121f'):
out.append('<circle cx="%.1f" cy="%.1f" r="%.1f" fill="%s"/>' % (x, y, r, fill))
def note(x, y, w, h, title, lines_, color='#0b6'):
rect(x, y, w, h, '#fbfdff', color, rx=6, sw=1.2, op=0.95)
txt(x + 12, y + 24, title, 14.5, color, weight='bold')
for i, s in enumerate(lines_):
txt(x + 12, y + 48 + i * 21, s, 13, '#333')
# ---- 型号数据(全部取证过;数值见 docs/cross-model-comparison.md----
# name, 测量窗(ms), 滤波更新节拍(ms), α, 档0 判据(Δf/f %), 进入确认说明, 颜色
M = [
('DLD154Pro', 8.738, 8.74, 79, 0.1650, '3 tick 确认(5ms tick', '#6a1b9a'),
('DLD154V4B', 1.092, 10.00, 79, 0.5140, '3~5 tick 确认(10ms tick', '#2e7d32'),
('PD136HA', 21.845, 21.85, 64, 0.2472, '无(单次越线)', '#e65100'),
('PD132T', 10.923, 10.92, 79, 0.4578, '无(单次越线)', '#1565c0'),
('PD132L', 27.307, 27.31, 79, 0.4578, '无(单次越线)', '#00838f'),
('M1H', 8.192, 8.19, 79, 0.3296, '10 tick 确认(≈0.6s', '#5d4037'),
]
def tau_line(tick, alfa):
return tick * 256.0 / alfa
def delay_ms(m, d_pct):
"""判据越线延迟:d_pct 以 % 传入;返回 (窗数, ms) 或 None(检不到)"""
tick, alfa, thr = m[2], m[3], m[4]
if d_pct < thr:
return None
y = 0.0
for n in range(1, 4001):
y = d_pct * (1.0 - (1.0 - alfa / 256.0) ** n)
if y >= thr:
return (n, n * tick)
return (4000, 4000 * tick)
# ================== 画布 ==================
out.append('<svg xmlns="http://www.w3.org/2000/svg" width="%d" height="%d" viewBox="0 0 %d %d">' % (W, H, W, H))
out.append('<rect width="%d" height="%d" fill="#ffffff"/>' % (W, H))
txt(30, 44, '车检器六型号总览:测量窗长 · IIR 时间常数 · 检测延迟', 25, '#111', weight='bold')
txt(30, 72, '窗长 = ⌊BASE/Xn⌋·Xn/f_cap(标称值);τ = 节拍×256/α(产品线口径);检测延迟 = 判据越线时刻(不含输出级 50ms 节拍与进入确认)', 13, '#555')
line(30, 86, W - 30, 86, '#ddd', 1.2)
# ================== 面板 A:窗长 / τ 条形 ==================
txt(40, 118, '面板 A:测量窗长与 IIR τ(对数刻度,单位 ms)', 16, '#111', weight='bold')
LA0, LA1 = 250.0, 700.0
ALO, AHI = 1.0, 200.0
lax = lambda v: LA0 + (math.log10(max(v, ALO)) / math.log10(AHI / ALO)) * (LA1 - LA0)
# 网格与刻度
for g in (1, 2, 5, 10, 20, 50, 100, 200):
x = lax(g)
line(x, 140, x, 560, '#e8e8e8', 1.0)
txt(x, 578, ('%g' % g), 12.5, '#777', anchor='middle')
txt(LA1 + 42, 578, 'ms', 12.5, '#777', anchor='middle')
ROW0, ROWH = 152.0, 68.0
for i, m in enumerate(M):
nm, win, tick, alfa, thr, conf, col = m
y0 = ROW0 + i * ROWH
txt(240, y0 + 20, nm, 15, '#111', anchor='end', weight='bold')
# 窗长
w1 = max(lax(win) - LA0, 2.0)
rect(LA0, y0 + 2, w1, 15, col, rx=2, op=0.95)
txt(lax(win) + 6, y0 + 14, '%.2f' % win, 12.5, col)
# τ
tau = tau_line(tick, alfa)
w2 = max(lax(tau) - LA0, 2.0)
rect(LA0, y0 + 24, w2, 15, col, rx=2, op=0.38)
txt(lax(tau) + 6, y0 + 36, 'τ %.1f' % tau, 12.5, '#555')
# 节拍标注(V4B 窗≠节拍)
if abs(win - tick) > 0.05:
txt(LA0 - 6, y0 + 36, '节拍 %.0f' % tick, 11.5, '#c1121f', anchor='end')
line(LA0, 140, LA0, 560, '#bbb', 1.4)
txt(250, 596, '深色 = 测量窗长;浅色 = IIR τ;红字 = 滤波更新节拍(与窗长不同者)', 12.5, '#666')
# ================== 面板 B:检测延迟 vs Δf/f ==================
txt(800, 118, '面板 B:检测延迟 vs 车辆信号 Δf/f(各型号按本型号档0 判据,对数-对数)', 16, '#111', weight='bold')
BX0, BX1 = 880.0, 1470.0
BYB, BYT = 545.0, 160.0
RLO, RHI = 0.02, 5.0
DLO, DHI = 4.0, 2000.0
bx = lambda v: BX0 + (math.log10(v / RLO) / math.log10(RHI / RLO)) * (BX1 - BX0)
by = lambda d: BYB - (math.log10(max(d, DLO) / DLO) / math.log10(DHI / DLO)) * (BYB - BYT)
for g in (0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5):
x = bx(g)
line(x, BYT, x, BYB, '#e8e8e8', 1.0)
txt(x, BYB + 20, ('%g' % g), 12.5, '#777', anchor='middle')
txt((BX0 + BX1) / 2, BYB + 42, '车辆引起的相对频偏 Δf/f%,对数)', 13, '#555', anchor='middle')
for g in (4, 10, 30, 100, 300, 1000, 2000):
y = by(g)
line(BX0, y, BX1, y, '#e8e8e8', 1.0)
txt(BX0 - 8, y + 4, ('%g' % g), 12.5, '#777', anchor='end')
txt(BX0 - 8, BYT - 14, '延迟 ms', 13, '#555', anchor='end')
# 典型车信号带
rect(bx(0.1), BYT, bx(1.0) - bx(0.1), BYB - BYT, '#fff8e1', rx=0, op=0.9)
txt((bx(0.1) + bx(1.0)) / 2, BYT + 18, '典型车信号带 0.1%~1%', 12.5, '#b8860b', anchor='middle')
# 各型号曲线
for m in M:
nm, win, tick, alfa, thr, conf, col = m
pts = []
v = thr * 1.002
while v <= RHI:
r = delay_ms(m, v)
if r is None:
v *= 1.12
continue
d = r[1]
if d > DHI:
pts = [] # 越过上限 ⇒ 断开(避免画出界)
v *= 1.10
continue
pts.append((bx(v), by(d)))
v = v * 1.06 + 0.0015
if len(pts) > 1:
poly(pts, col, 2.2)
# 1 窗下限虚线(标签统一放到图例,避免互相压字)
line(bx(thr), by(tick), bx(min(thr * 3.2, RHI)), by(tick), col, 1.0, '3,3')
# 阈值竖线
for m in M:
x = bx(m[4])
line(x, BYT, x, BYB, m[6], 1.0, '2,3')
txt(BX0 + 6, BYB - 8, '竖虚线 = 各型号档0 判据(左端=永不检出);横虚线 = 该型号 1 窗下限', 12, '#666')
# 图例(放在面板 B 左上空白区)
rect(890, 176, 236, 166, '#ffffff', '#ccc', rx=5, sw=1.0, op=0.94)
txt(902, 196, '型号 / 窗长', 13, '#555', weight='bold')
for i, m in enumerate(M):
yy = 220 + i * 20
rect(902, yy - 9, 14, 11, m[6], rx=2, op=0.95)
txt(924, yy, '%s %.2f ms' % (m[0], m[1]), 12, m[6])
# ================== 表格:精确数值 ==================
TY = 646.0
line(40, TY - 10, W - 40, TY - 10, '#ddd', 1.2)
txt(40, TY + 14, '精确数值(判据越线延迟;不含输出级与进入确认)', 16, '#111', weight='bold')
COLS = [(60, '型号'), (190, '测量窗'), (285, '滤波节拍'), (370, 'α'), (412, 'τ(口径)'), (500, '档0 判据'),
(620, '延迟 @1.1×判据'), (775, '延迟 @2×判据'), (925, '延迟 @10×判据'), (1060, '进入确认')]
for x, s in COLS:
txt(x, TY + 46, s, 13.5, '#555', weight='bold')
line(40, TY + 56, W - 40, TY + 56, '#ccc', 1.0)
for i, m in enumerate(M):
nm, win, tick, alfa, thr, conf, col = m
y = TY + 84 + i * 40
txt(60, y, nm, 14, col, weight='bold')
txt(190, y, '%.2f' % win, 13, '#333')
txt(285, y, '%.2f' % tick, 13, '#333')
txt(370, y, str(alfa), 13, '#333')
txt(412, y, '%.1f' % tau_line(tick, alfa), 13, '#333')
txt(500, y, '%.4f %%' % thr, 13, '#333')
for dx, mul in ((620, 1.1), (775, 2.0), (925, 10.0)):
r = delay_ms(m, thr * mul)
if r is None:
txt(dx, y, '', 13, '#c1121f')
else:
txt(dx, y, '%.1f ms%d 窗)' % (r[1], r[0]), 13, ('#1565c0' if mul < 1.5 else '#333'))
txt(1060, y, conf, 12.5, '#666')
line(40, TY + 84 + len(M) * 40 - 22, W - 40, TY + 84 + len(M) * 40 - 22, '#ccc', 1.0)
# ================== 脚注 ==================
note(40, TY + 84 + len(M) * 40 - 6, 700, 118, '口径与注意', [
'τ 为产品线口径(节拍×256/α);精确 τ = −节拍/ln(1−α/256),约小 13%',
'V4B 测量窗 1.09ms 与滤波节拍 10ms 不同(Value 每 1.09ms、CAPVD 每 10ms',
'延迟仅含「判据越线」;输出级 50ms 节拍与进入确认未计(见右侧)',
'「档0」各型号判据不同(0.165%~0.514%),仅作同档位号横向对比',
], '#c1121f')
note(760, TY + 84 + len(M) * 40 - 6, 720, 118, '进入确认(须另加)', [
'M1HIN_DELAY=10 tick(约 0.6s);V4B3~5 tick30~50ms',
'154Pro3 次确认;PD132L / PD132T / PD136HA:无(单次越线判定)',
'⇒ 整机响应 = 判据越线 + 进入确认 + ≤50ms 输出节拍',
], '#0b6')
OPEN = 'docs/img/family-overview.svg'
out.append('</svg>')
open(OPEN, 'w', encoding='utf-8').write('\n'.join(out))
print('已写出 %s%d 元素)' % (OPEN, len(out)))
for m in M:
nm = m[0]
f = lambda r: ('%.1f ms%d 窗)' % (r[1], r[0])) if r else ''
print(' %-11s%6.2f | 节拍 %6.2f | τ %6.1f | 档0 %6.4f%% | @1.1x: %-16s @2x: %-16s @10x: %s'
% (nm, m[1], m[2], tau_line(m[2], m[3]), m[4],
f(delay_ms(m, m[4] * 1.1)), f(delay_ms(m, m[4] * 2.0)), f(delay_ms(m, m[4] * 10.0))))
+140
View File
@@ -0,0 +1,140 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""PD132T ↔ PD136HA 灵敏度档位对齐图(现场调档照着贴)—— 纯 stdlib 手写 SVG
横轴 = Δf/f进入/离开阈值的相对频偏%每档画 进入(实心)+离开(浅色) 两段
偏差 = 同档位号一对一映射的 (HT)/T最佳匹配 = 最近的进入阈值
PNGchromium --headless=new --disable-gpu --no-sandbox \
--screenshot=docs/img/sens-alignment-pd132t-pd136ha.png --window-size=1500,880 \
file://$PWD/docs/img/sens-alignment-pd132t-pd136ha.svg
"""
W, H = 1500, 1060
FONT = "'Noto Serif CJK SC','Noto Sans CJK SC',sans-serif"
K = 65536.0
out = []
def esc(s):
return s.replace('&', '&amp;').replace('<', '&lt;').replace('>', '&gt;')
def txt(x, y, s, size=14, fill='#222', anchor='start', weight='normal'):
out.append('<text x="%.1f" y="%.1f" font-size="%s" fill="%s" text-anchor="%s" font-weight="%s" font-family="%s">%s</text>'
% (x, y, size, fill, anchor, weight, FONT, esc(s)))
def line(x1, y1, x2, y2, stroke='#999', w=1.0, dash=None):
d = ' stroke-dasharray="%s"' % dash if dash else ''
out.append('<line x1="%.1f" y1="%.1f" x2="%.1f" y2="%.1f" stroke="%s" stroke-width="%s"%s/>' % (x1, y1, x2, y2, stroke, w, d))
def rect(x, y, w, h, fill='none', stroke='none', rx=2, sw=1.0, op=1.0):
out.append('<rect x="%.1f" y="%.1f" width="%.1f" height="%.1f" rx="%s" fill="%s" fill-opacity="%s" stroke="%s" stroke-width="%s"/>'
% (x, y, w, h, rx, fill, op, stroke, sw))
def note(x, y, w, h, title, lines_, color='#0b6'):
rect(x, y, w, h, '#fbfdff', color, rx=6, sw=1.2, op=0.95)
txt(x + 12, y + 24, title, 14.5, color, weight='bold')
for i, s in enumerate(lines_):
txt(x + 12, y + 48 + i * 21, s, 13, '#333')
T_IN = [300, 60, 32, 21] # PD132T 进入表(档0..3
T_OUT = [60, 32, 21, 14] # PD132T 离开表
H_IN = [162, 81, 54, 28] # PD136HA 进入表
H_OUT = [81, 54, 32, 18] # PD136HA 离开表
ct = lambda v: v / K * 100.0
out.append('<svg xmlns="http://www.w3.org/2000/svg" width="%d" height="%d" viewBox="0 0 %d %d">' % (W, H, W, H))
out.append('<rect width="%d" height="%d" fill="#ffffff"/>' % (W, H))
txt(30, 44, 'PD132T ↔ PD136HA 灵敏度档位对齐图(判据 = 表值/65536 的 Δf/f', 24, '#111', weight='bold')
txt(30, 72, '每档画两段:深色 = 离开阈值(回差下沿),浅色 = 进入阈值(回差上沿);横轴 0~0.5%(线性)', 13, '#555')
line(30, 86, W - 30, 86, '#ddd', 1.2)
# ================== 轴 ==================
AX0, AX1 = 380.0, 1230.0
VMAX = 0.50
ax = lambda v: AX0 + (v / VMAX) * (AX1 - AX0)
GY0, GGH = 118.0, 116.0
for g in [0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5]:
x = ax(g)
line(x, 112, x, 112 + 4 * GGH, '#ececec', 1.0)
txt(x, 112 + 4 * GGH + 22, ('%.2f' % g), 12, '#777', anchor='middle')
txt((AX0 + AX1) / 2, 112 + 4 * GGH + 46, 'Δf/f%)—— 数值越大越钝(越不易触发)', 13, '#555', anchor='middle')
# ================== 四档 ==================
COLT, COLH = '#1565c0', '#e65100'
for i in range(4):
gy = GY0 + i * GGH
viT, voT = ct(T_IN[i]), ct(T_OUT[i])
viH, voH = ct(H_IN[i]), ct(H_OUT[i])
dev = (viH - viT) / viT * 100.0
# 分组背景
if i % 2 == 0:
rect(40, gy - 8, W - 80, GGH - 12, '#fafafa', rx=6, sw=0)
txt(60, gy + 52, '%d' % i, 17, '#111', weight='bold')
# --- PD132T 行 ---
yT = gy + 6
rect(AX0, yT, ax(voT) - AX0, 17, COLT, rx=2, op=0.30)
rect(AX0, yT, ax(viT) - AX0, 17, COLT, rx=2, op=0.85)
txt(AX0 - 10, yT + 14, 'PD132T', 13.5, COLT, anchor='end', weight='bold')
txt(ax(viT) + 8, yT + 14, '进入 %.4f%% 离开 %.4f%%' % (viT, voT), 12.5, COLT)
# --- PD136HA 行 ---
yH = gy + 52
rect(AX0, yH, ax(voH) - AX0, 17, COLH, rx=2, op=0.30)
rect(AX0, yH, ax(viH) - AX0, 17, COLH, rx=2, op=0.85)
txt(AX0 - 10, yH + 14, 'PD136HA', 13.5, COLH, anchor='end', weight='bold')
txt(ax(viH) + 8, yH + 14, '进入 %.4f%%' % viH, 12.5, COLH)
# 同档偏差标注 + 连接线
line(ax(viT), yT + 17, ax(viH), yH, '#999', 1.2, '4,3')
badge_col = '#c1121f' if abs(dev) >= 30 else ('#b8860b' if abs(dev) >= 15 else '#0b6')
txt(AX1 + 16, gy + 40, '同档偏差 %+.0f%%' % dev, 14, badge_col, weight='bold')
# 最佳匹配说明
txt(W - 30, GY0 + 4 * GGH + 10, '最佳匹配:档 1 → 档 2(−10.0%', 13, '#0b6', anchor='end')
txt(W - 30, GY0 + 4 * GGH + 32, '两端档 0 / 3 无对应档 ⇒ 必须复测', 13, '#c1121f', anchor='end')
line(AX1 + 4, 112, AX1 + 4, 112 + 4 * GGH, '#ccc', 1.0)
# ================== 对照表 ==================
TY = 660.0
txt(40, TY, '档位对照表(现场照着贴)', 17, '#111', weight='bold')
COLS = [(60, '档位'), (150, 'PD132T 进入'), (290, 'PD132T 离开'), (430, 'PD136HA 进入'), (570, 'PD136HA 离开'),
(710, '同档偏差'), (860, '等效替代(最近进入阈值)')]
for x, s in COLS:
txt(x, TY + 30, s, 13.5, '#555', weight='bold')
line(40, TY + 40, W - 40, TY + 40, '#ccc', 1.0)
for i in range(4):
y = TY + 66 + i * 36
viT, voT, viH, voH = ct(T_IN[i]), ct(T_OUT[i]), ct(H_IN[i]), ct(H_OUT[i])
dev = (viH - viT) / viT * 100.0
j = min(range(4), key=lambda k: abs(H_IN[k] - T_IN[i]))
dev2 = (ct(H_IN[j]) - viT) / viT * 100.0
txt(60, y, '%d' % i, 14, '#111', weight='bold')
txt(150, y, '%.4f %%' % viT, 13, '#1565c0')
txt(290, y, '%.4f %%' % voT, 13, '#777')
txt(430, y, '%.4f %%' % viH, 13, '#e65100')
txt(570, y, '%.4f %%' % voH, 13, '#777')
txt(710, y, '%+.1f %%' % dev, 13.5, ('#c1121f' if abs(dev) >= 30 else '#b8860b'), weight='bold')
txt(860, y, 'PD136HA 档 %d%+.1f%%' % (j, dev2), 13, '#0b6')
line(40, TY + 66 + 4 * 36 - 16, W - 40, TY + 66 + 4 * 36 - 16, '#ccc', 1.0)
# ================== 脚注 ==================
note(40, TY + 66 + 4 * 36 + 4, 700, 128, '换型动作(4 步)', [
'① 先算目标:原型号档位 → 百分比 = 表值 / 65536',
'② 在新型号表里找最接近的档(偏差 ≤15% 可接受;>30% 必须复测)',
'③ 用 §5.5 公式预估响应:延迟 = (n+1)×窗长(n 由 信号/判据 比决定)',
'④ 强信号车 + 弱信号车各复测 3 次(记录 判据越线→继电器 实测耗时)',
], '#c1121f')
note(760, TY + 66 + 4 * 36 + 4, 700, 128, '两端档位无对应(必须注意)', [
'档0(最钝):PD132T 0.4578% ↔ PD136HA 0.2472%(钝 46%',
' ⇒ 依赖「最钝档防误触发」的现场,换型后须重新评估误触发率',
'档3(最灵敏):PD132T 0.0320% ↔ PD136HA 0.0427%(钝 33%',
' ⇒ 依赖「最高灵敏」的现场,PD136HA 可能检不到弱信号车(§5.5 ⑧)',
], '#e65100')
OPEN = 'docs/img/sens-alignment-pd132t-pd136ha.svg'
out.append('</svg>')
open(OPEN, 'w', encoding='utf-8').write('\n'.join(out))
print('已写出 %s' % OPEN)
for i in range(4):
viT, viH = ct(T_IN[i]), ct(H_IN[i])
j = min(range(4), key=lambda k: abs(H_IN[k] - T_IN[i]))
print('%d: PD132T %.4f%% ↔ PD136HA %.4f%%(同档 %+.1f%%| 最近档 %d%+.1f%%'
% (i, viT, viH, (viH - viT) / viT * 100, j, (ct(H_IN[j]) - viT) / viT * 100))