目录 / 文档-技术白皮书 / 38-EFT.WP.EDX.EMI v1.0
I. 目标与覆盖
- 覆盖层:I30-EMI(电缆/连接/路径绑定与混合模)、I40-EMI(S↔Z/功率→场量映射)、Methods.SimStack.EMI(仿真栈)、Mx-*(先验/似然/证据/反演)、M10-EMI(计量与对齐)。
- 强制口径(两式等价,须显式路径/测度并记录 delta_form):
- 常量外提:T_arr = ( 1 / c_ref ) * ( ∫ n_eff d ell )
- 一般口径:T_arr = ( ∫ ( n_eff / c_ref ) d ell )
- 发布硬门:check_dim=pass、passivity(Re{Z_eft}≥0)、KK_consistency=pass、Re{ΔZ_rad}≥0、corr(P_rad,E/H)≥ρ_gate、两口径 T_arr 一致(≤ u(T_arr))。
II. 命名空间与版本
- 命名空间:
- edx.emi.binding(I30-EMI)
- edx.emi.mapping(I40-EMI)
- edx.emi.simstack(Methods.SimStack.EMI)
- edx.emi.inference(Mx-*)
- edx.emi.metrology(M10-EMI)
- 版本策略:api_version: "1.0"(语义化 semver);所有响应附 {api_version, impl_version, checksum}。
III. 公共数据结构(最小集合)
types:
PathSegment:
fields: {layer:str, len_m:float, n_eff:float, neigh:str}
PathSpec:
fields: {id:str, segments:list[PathSegment], w_init_DM:float, w_init_CM:float}
ModeSpec:
fields: {name:str, Zc_ohm:list[float], alpha_per_m:list[float], beta_per_m:list[float]}
ArrivalRecord:
fields:
{form:enum["n_over_c","one_over_c_times_n"], gamma:"explicit", measure:"d_ell",
c_ref:float, Tarr_s:float, u_Tarr_s:float, delta_form:str}
QAGates:
fields: {check_dim:enum["pass","fail"], passivity:enum["pass","fail"], KK:enum["pass","fail"]}
Ports: {names:list[str], zref_ohm:list[float]}
Deemb: {method:str, version:str, artifact:str, baseline_id:str}
Sync: {ref:str, scheme:str, dt_sync_s:float}
MixedMode: {enabled:bool, T_mm:str, Z0_mm_ohm:list[float]}
BindingEMI: {id:str, paths:list[PathSpec], modes:list[ModeSpec]}
Weights: {w:map[(path_id,mode)->list[float]]} # w_{p,m}(ω)
Grid: {freq_grid_Hz:list[float]}
CalSite: {distance_m:float, AF_file:str, PF_file:str, coords:str}
IV. I30-EMI|电缆/连接与混合模绑定(函数原型)
edx.emi.binding:
- id: "I30-EMI.bind_cable"
proto: "bind_cable(layout:any, returns:any, harness:any, constraints:any) -> BindingEMI"
requires: ["显式路径分段与 n_eff(seg)", "回流/跨接标注", "缝隙/残桩位置"]
qa: ["check_dim"]
- id: "I30-EMI.mode_project"
proto: "mode_project(dataset:any, T_mm:any) -> x_mm"
notes: ["功率守恒、互易性不破坏"]
- id: "I30-EMI.mode_merge"
proto: "mode_merge(x_mm:any, rules:any) -> dataset'"
qa: ["passivity","KK"]
- id: "I30-EMI.path_correct_emi"
proto: "path_correct_emi(dataset:any, binding:BindingEMI, arrival:ArrivalRecord) -> aligned"
post: ["写入 arrival", "两口径 T_arr 一致性校核"]
V. I40-EMI|S↔Z 与功率→场量映射(函数原型)
edx.emi.mapping:
- id: "I40-EMI.map_S_to_Z_eft"
proto: "map_S_to_Z_eft(S:any, Znorm:list[float], mode:enum['single','mixed'], T_mm?:any, Z0_mm?:any) -> {Z_eft:any, argZ:list[float], Zc_ohm:list[float], qa:QAGates}"
- id: "I40-EMI.estimate_deltaZ_rad"
proto: "estimate_deltaZ_rad(Z_eft:any, Z_ref:any, ΔZ_T:any) -> deltaZ_rad:any"
gates: ["Re{ΔZ_rad}≥0", "KK_consistency(Z_eft)=pass"]
- id: "I40-EMI.prad2field"
proto: "prad2field(deltaZ_rad:any, I_port:list[float], site:CalSite) -> {P_rad:list[float], E_env:list[float], H_env:list[float]}"
notes: ["必须附 AF/PF 与 R", "输出用于 corr(P_rad,E/H)"]
VI. Methods.SimStack.EMI|仿真栈(函数原型)
edx.emi.simstack:
- id: "SimStackEMI.build"
proto: "build(netlist:any, layout:any, binding:BindingEMI, options:any) -> sim_handle"
- id: "SimStackEMI.forward"
proto: "forward(sim_handle:any, theta:map, grid:Grid) -> {Z_eft:any, deltaZ_rad:any, P_rad:list[float], E_env:list[float], H_env:list[float], I_CM:list[float], w:Weights}"
- id: "SimStackEMI.invert"
proto: "invert(sim_handle:any, data:any, priors:any, sampler:str='NUTS') -> {posterior:any, logZ:float, summary:any}"
- id: "SimStackEMI.ppc"
proto: "ppc(sim_handle:any, posterior:any, grid:Grid) -> {residual_spectrum:list[float], gates:QAGates}"
- id: "SimStackEMI.export"
proto: "export(sim_handle:any, format:enum['cards','json']) -> artifact_paths:list[str]"
VII. Mx-*|先验/似然/证据(EMI 约束)
edx.emi.inference:
priors:
n_eff_seg: {type:"normal", mu:"n_eff_hat", sigma:"0.05*mu"}
sigma_eff: {type:"lognormal", mu:-12.0, s:0.8, unit:"S/m"}
w_dirichlet: {type:"dirichlet", alpha:[0.3,0.3,0.3]} # Σ≤1
dt_sync: {type:"normal", mu:0.0, sigma:2.0e-12, unit:"s"}
deltaZrad_Re: {type:"halfnormal", sigma:1.0, constraint:"Re≥0"}
likelihoods:
complex_Z: "joint_gaussian([Re,Im]; W_ω)" # ε_Z = Z_meas−Z_model
power_field: "penalty(P_rad − 0.5*Re(ΔZ_rad)*|I_port|^2) + penalty(corr(P_rad,E/H) − ρ_gate)"
cm_chain: "penalty(I_CM − H_cm(ω)*u_inj(ω))"
kpi_terms: "penalty(E_phase,GDR,ΔW)"
evidence:
compute: ["laplace","nested_sampling"]
gates: ["passivity","KK","check_dim"]
VIII. M10-EMI|计量与对齐(函数原型)
edx.emi.metrology:
- id: "M10-EMI.align"
proto: "align(raw:any, deemb:Deemb, sync:Sync, binding:BindingEMI, arrival:ArrivalRecord, Znorm:list[float], mixed?:MixedMode) -> aligned"
post: ["输出 Z_eft/argZ/ΔZ_rad/P_rad", "写入 QAGates 与必需 KPI"]
- id: "M10-EMI.arrival_consistency"
proto: "arrival_consistency(arrival:ArrivalRecord, binding:BindingEMI) -> {diff_s:float, pass:bool}"
rule: "|T_arr(n_over_c) − T_arr(one_over_c_times_n)| ≤ u_Tarr"
IX. QA 门与检查函数
qa:
- id: "check_dim"
proto: "check_dim(obj:any) -> enum['pass','fail']"
- id: "check_passivity"
proto: "check_passivity(Z:any) -> {min_Re:float, pass:bool}"
- id: "check_KK"
proto: "check_KK(Z:any, grid:Grid) -> enum['pass','fail']"
- id: "check_radiation_positive"
proto: "check_radiation_positive(deltaZ_rad:any) -> {min_Re:float, pass:bool}"
- id: "check_power_field_corr"
proto: "check_power_field_corr(P_rad:list[float], E_env:list[float], H_env:list[float]) -> {rho_E:float, rho_H:float, pass:bool}"
- id: "check_weights"
proto: "check_weights(w:Weights) -> {sum_max:float, pass:bool}" # Σ_{p,m} w_{p,m} ≤ 1
X. 错误码(统一)
errors:
E_BAD_UNITS: "单位或量纲不一致"
E_KK_FAIL: "K–K 一致性失败"
E_PASSIVITY: "被动性失败 (Re{Z}<0)"
E_BINDING_MISSING: "缺失 binding_ref 或路径段"
E_DELTA_FORM_MISS: "到达时 delta_form 未记录"
E_TARR_MISMATCH: "两口径 T_arr 不一致"
E_RADIATION_NEG: "ΔZ_rad 非正实"
E_LOW_CORR_PR_EH: "P_rad 与 E/H 相关性低于阈值"
E_PORT_NORM: "端口归一/混合模基不一致"
E_QA_FAIL: "QA 门未通过"
E_PRIOR_INVALID: "先验或边界不合法"
XI. 请求/响应模式(最小示例)
request:
api_version: "1.0"
op: "emi_map_and_field"
payload:
S_path: "/artifacts/S.s2p"
Znorm_ohm: [50.0, 50.0]
mixed_mode: {enabled:true, T_mm:"/cfg/T_mm.yaml", Z0_mm_ohm:[100.0,25.0]}
site: {distance_m:3.0, AF_file:"/cal/AF_3m.yaml", PF_file:"/cal/PF.yaml"}
grid: {freq_grid_Hz: [1e9, 1.01e9, ...]}
response:
api_version: "1.0"
result:
Z_eft: {real:[...], imag:[...]}
argZ: [...]
deltaZ_rad: {Re_ohm:[...], Im_ohm:[...]}
P_rad_W: [...]
E_env: [...]
H_env: [...]
qa_gates: {check_dim:"pass", passivity:"pass", KK:"pass"}
checksum: "sha256:..."
XII. 合规模板(到达时/绑定/映射)
arrival:
form: "n_over_c" # 或 "one_over_c_times_n"
gamma: "explicit"
measure: "d_ell"
c_ref: 299792458.0
Tarr_s: 1.234e-09
u_Tarr_s: 6.0e-12
delta_form: "n_over_c"
binding_emi:
id: "LAY2PATH-EMI-0001"
paths:
- id: "γ_main"
segments:
- {layer:"L3", len_m:0.0100, n_eff:2.12, neigh:"GND_L2"}
w_init_DM: 0.85
w_init_CM: 0.15
- id: "γ_side"
segments:
- {layer:"L3", len_m:0.0035, n_eff:2.40, neigh:"slot_L2"}
w_init_DM: 0.05
w_init_CM: 0.95
mapping_i40:
Znorm_ohm: [50.0, 50.0]
mixed_mode: {enabled:true, T_mm:"/cfg/T_mm.yaml", Z0_mm_ohm:[100.0,25.0]}
XIII. 端到端调用顺序(伪代码)
# 1) 绑定与对齐
binding = bind_cable(layout, returns, harness, constraints)
aligned = edx.emi.metrology.align(raw, deemb, sync, binding, arrival, Znorm, mixed_mode)
# 2) S↔Z 与 ΔZ_rad、功率→场量
Zpack = edx.emi.mapping.map_S_to_Z_eft(S_aligned, Znorm, mode="mixed", T_mm=Tmm, Z0_mm=Z0mm)
ΔZrad = edx.emi.mapping.estimate_deltaZ_rad(Zpack.Z_eft, Z_ref, ΔZ_T)
PFE = edx.emi.mapping.prad2field(ΔZrad, I_port, site)
# 3) 仿真栈
sim = edx.emi.simstack.build(netlist, layout, binding, options)
out = edx.emi.simstack.forward(sim, theta0, grid)
# 4) 反演与 PPC
post = edx.emi.simstack.invert(sim, aligned, priors, sampler="NUTS")
pp = edx.emi.simstack.ppc(sim, post.posterior, grid)
# 5) 导出
edx.emi.simstack.export(sim, format="cards")
XIV. 约束与发布门限(EMI 硬门)
Σ_{p,m} w_{p,m} ≤ 1;min Re{Z_eft} ≥ 0;KK_consistency=pass;两口径 T_arr 差值 ≤ u(T_arr);min Re{ΔZ_rad} ≥ 0;corr(P_rad,E/H) ≥ ρ_gate;S↔Z/混合模闭环保持功率与互易;KPI(E_phase/GDR/ΔW)达标。版权与许可(CC BY 4.0)
版权声明:除另有说明外,《能量丝理论》(含文本、图表、插图、符号与公式)的著作权由作者(“屠广林”先生)享有。
许可方式:本作品采用 Creative Commons 署名 4.0 国际许可协议(CC BY 4.0)进行许可;在注明作者与来源的前提下,允许为商业或非商业目的进行复制、转载、节选、改编与再分发。
署名格式(建议):作者:“屠广林”;作品:《能量丝理论》;来源:energyfilament.org;许可证:CC BY 4.0。
首次发布: 2025-11-11|当前版本:v5.1
协议链接:https://creativecommons.org/licenses/by/4.0/