目录 / 文档-技术白皮书 / 08-EFT.WP.Core.Sea v1.0
I. 字段分层与命名约定
- 名称空间
sensor.*(设备标识与规格),cal.*(标定与系数),acq.*(采样配置),time.*(时基与同步),filt.*(调理与抗混叠),spec.*(频谱与特征),env.*(环境与修正),path.*(路径与到达时),quality.*(质量与漂移),io.*(序列化与清单)。 - 基础规则
- 所有符号与字段名均为英文与纯文本;内联符号使用反引号包裹,如 fs、ENOB、H(f)、T_arr、gamma(ell)。
- 时间统一记录 ts(UTC,ISO8601)与 tau_mono(单调时钟);涉及积分或除号的表达统一加括号并声明路径或测度,如 L_gamma = ( ∫ 1 d ell )。
- 两口径到达时并存:T_arr = ( 1 / c_ref ) * ( ∫ n_eff d ell ) 与 T_arr = ( ∫ ( n_eff / c_ref ) d ell );差异以 delta_form 报告。
II. sensor.* 设备标识与规格
- sensor.sid : str
全局唯一传感器标识。示例 SNSR-IMU-0001. - sensor.model : str
设备型号。示例 ADX-1234. - sensor.serial : str
出厂序列号。 - sensor.class : str
设备类别,class ∈ {"accel","mic","rf","imu","temp","pressure"}。 - sensor.cal_id : str
当前有效标定版本号。 - sensor.A_gain : float,sensor.B_bias : float,sensor.C_offset : float
一阶线性标定系数,应用口径 x_corr = A_gain * ( x_raw - B_bias ) + C_offset。 - sensor.ENOB : float,sensor.ADC_bits : int
有效位数与量化位宽。 - sensor.DR : float
动态范围(比值或 dB)。
III. acq.* 采样与采集配置
- acq.fs_nom : float,acq.fs_max : float,acq.fs : float
名义、上限与实际采样率(Hz)。约束 fs <= fs_max;Nyquist 硬约束 fs >= 2 * f_max。 - acq.Delta_t : float
分析窗口长度(s)。 - acq.window : str
窗函数,{"rect","hann","hamming","blackman","flattop"}。 - acq.t0 : ts,acq.t1 : ts
采集区间 UTC 时间戳。 - acq.pretrigger : float,acq.posttrigger : float
触发前后保留时长(s)。 - acq.fs_hat : float
实测采样率估计,fs_hat = ( N - 1 ) / ( tau_{N-1} - tau_0 )。
IV. time.* 时基与同步字段
- time.clock_id : str,time.sync_ref : str
时钟与参考源,如 "ptp", "gps", "ntp"。 - time.alpha : float,time.beta : float
同步模型 ts_i(t) = alpha_i * tau_mono + beta_i 中的 skew/offset。 - time.J : float
抖动指标(s 或 ms)。 - time.u_alpha : float,time.u_beta : float
alpha/beta 的不确定度估计。 - time.ts_start : ts,time.ts_end : ts
数据块 UTC 边界。 - time.tau_start : float,time.tau_end : float
数据块单调时钟边界(s,自本机启动或统一起点)。
V. filt.* 调理与抗混叠
- filt.H_rev : str
滤波链路版本(不可与 T_fil/T_trans 概念混用)。 - filt.chain : list[dict]
滤波器序列,元素形如 {type:"lp", order:6, f_c:4800.0, ripple_db:0.1, stop_db:80.0}。 - filt.f_c : float,filt.BW : float
主截止与带宽(Hz),建议 f_c in [0.4, 0.45] * fs。 - filt.tau_g : float
群时延估计(s);报告口径 tau_g(H)。 - filt.AGC : dict|None
自动增益控制参数,含 {target_dBFS, attack_ms, release_ms, limit_db}。
VI. spec.* 频谱与特征
- spec.method : str
PSD 估计法,缺省 "welch"。 - spec.seg : int,spec.overlap : float,spec.window : str
Welch 分段、重叠与窗。 - spec.fft_len : int,spec.df : float
FFT 点数与频率分辨率。 - spec.S_xx_units : str
PSD 单位(如 "power/Hz")。 - spec.features : dict
特征字典,建议键:{"band_power_[f1_f2]","crest","THD","kurtosis","SNR_dB"}。 - spec.E_psd : float
- 频谱误差度量
- 定义 E_psd = ( ∫_{0}^{BW} | S_xx_meas(f) - S_xx_ref(f) | d f ) / ( ∫_{0}^{BW} S_xx_ref(f) d f )。
VII. env.* 环境与修正
- env.temp : float,env.hum : float,env.press : float
环境测量(单位按传感器定义,如 degC, %RH, Pa)。 - env.RefCond : dict
参考条件,示例 {temp:23.0, hum:45.0, press:101325.0}。 - env.correction_applied : bool
是否已应用 corr_env(x; RefCond)。 - env.U : float,env.u_c : float,env.k : float
扩展不确定度口径 U = k * u_c。
VIII. path.* 路径与到达时
- path.gamma_desc : str
路径 gamma(ell) 的几何描述或索引。 - path.L_gamma : float
路径长度 L_gamma = ( ∫ 1 d ell )。 - path.c_ref : float,path.n_eff_model : str
参考速度与有效折射率模型版本。 - path.T_arr_meas : float,path.T_arr_model : float
到达时测量与模型(s)。 - path.delta_form : float
- 两口径差异
- 定义 delta_form = | ( 1 / c_ref ) * ( ∫ n_eff d ell ) - ( ∫ ( n_eff / c_ref ) d ell ) |。
- path.toa_model_rev : str
到达时模型版本。
IX. quality.* 质量与漂移
- quality.q_score : float
质量分数,q_score ∈ [0,1]。 - quality.clip_rate : float,quality.missing_rate : float
剪切比例与缺失比例,缺失以 m ∈ {0,1} 标记来源统计。 - quality.D : float
漂移度量(与第9章定义一致),如 D = || mu_x - mu_ref || / sigma_ref。 - quality.alert : dict|None
最近一次告警摘要 {kind, ts, level}。
X. io.* 序列化与清单
- io.fmt : str
文件或流格式,fmt ∈ {"jsonl","csv","parquet","nc","tfrecord"}。 - io.compress : str|None
压缩算法,如 "zstd"。 - io.partition_by : list[str]
入湖分区键,建议 ["ts_date","sid"]。 - io.bytes_raw : int,io.bytes_stored : int,io.bytes_compressed : int
原始、落盘与压缩大小;存储效率 SE = bytes_raw / bytes_stored,压缩比 CR = bytes_raw / bytes_compressed。 - io.manifest_rev : str
清单版本;须包含窗口、窗函数、滤波与模型版本锚点。
XI. 完整性与一致性校验(摘录)
- 采样稳定:fs >= 2 * f_max,并记录 fs_hat 与 |fs_hat - fs_nom| / fs_nom。
- 时基一致:所有延时与抖动以 tau_mono 评估,发布与审计用 ts。
- 抗混叠:提供 H(f) 与 f_c,并报告 tau_g(H)。
- 到达时:同时给出 gamma(ell)、d ell、c_ref、n_eff 与 delta_form。
- 质量闭环:缺失即 m=0,q_score 与 D 必可追溯到原始块与参数版本。
XII. 样例 1:实验室加速度计(LAB)
{
"sensor": {
"sid": "SNSR-ACC-0007",
"model": "ADX-1234",
"serial": "SN-A1B2C3",
"class": "accel",
"cal_id": "CAL-2025-01",
"A_gain": 0.9987,
"B_bias": 0.0012,
"C_offset": 0.0000,
"ENOB": 17.6,
"ADC_bits": 24,
"DR": 98.0
},
"acq": {
"fs_nom": 20000.0,
"fs_max": 25600.0,
"fs": 20000.0,
"Delta_t": 10.0,
"window": "hann",
"t0": "2025-08-30T09:00:00Z",
"t1": "2025-08-30T09:00:10Z",
"fs_hat": 19999.8
},
"time": {
"clock_id": "clk_lab_01",
"sync_ref": "ptp",
"alpha": 0.9999997,
"beta": 2.3e-06,
"J": 8.0e-06,
"u_alpha": 1.0e-07,
"u_beta": 5.0e-07,
"ts_start": "2025-08-30T09:00:00Z",
"ts_end": "2025-08-30T09:00:10Z",
"tau_start": 12345.0,
"tau_end": 12355.0
},
"filt": {
"H_rev": "H-acc-v2",
"chain": [
{"type": "lp", "order": 6, "f_c": 9000.0, "ripple_db": 0.1, "stop_db": 80.0}
],
"f_c": 9000.0,
"BW": 9000.0,
"tau_g": 2.1e-04,
"AGC": null
},
"spec": {
"method": "welch",
"seg": 16,
"overlap": 0.5,
"window": "hann",
"fft_len": 262144,
"df": 0.076,
"S_xx_units": "power/Hz",
"features": {"band_power_[0_2000]": 1.23, "crest": 3.7, "THD": 0.012, "kurtosis": 3.05, "SNR_dB": 42.1},
"E_psd": 0.018
},
"env": {
"temp": 23.2,
"hum": 45.1,
"press": 101322.0,
"RefCond": {"temp": 23.0, "hum": 45.0, "press": 101325.0},
"correction_applied": true,
"u_c": 0.003,
"k": 2.0,
"U": 0.006
},
"path": {
"gamma_desc": "bench-straight-1m",
"L_gamma": 1.000,
"c_ref": 343.0,
"n_eff_model": "n_air_std_v1",
"T_arr_meas": 0.00295,
"T_arr_model": 0.00292,
"delta_form": 3.0e-05,
"toa_model_rev": "toa-air-1.0"
},
"quality": {
"q_score": 0.992,
"clip_rate": 0.0,
"missing_rate": 0.0,
"D": 0.12,
"alert": null
},
"io": {
"fmt": "parquet",
"compress": "zstd",
"partition_by": ["ts_date","sid"],
"bytes_raw": 160000000,
"bytes_stored": 52000000,
"bytes_compressed": 48000000,
"manifest_rev": "mf-sea-1.0"
}
}
XIII. 样例 2:现场麦克风(FIELD,长时连续)
{
"sensor": {
"sid": "SNSR-MIC-1145",
"model": "UMK-500",
"serial": "SN-9F2E7Q",
"class": "mic",
"cal_id": "CAL-2025-02",
"A_gain": 1.002,
"B_bias": 0.0,
"C_offset": 0.0,
"ENOB": 19.2,
"ADC_bits": 24,
"DR": 102.5
},
"acq": {
"fs_nom": 48000.0,
"fs_max": 96000.0,
"fs": 43200.0,
"Delta_t": 60.0,
"window": "hann",
"t0": "2025-08-30T00:00:00Z",
"t1": "2025-08-30T01:00:00Z",
"fs_hat": 43199.7
},
"time": {
"clock_id": "clk_field_02",
"sync_ref": "ntp",
"alpha": 1.0000011,
"beta": -1.1e-05,
"J": 2.2e-04,
"u_alpha": 2.0e-07,
"u_beta": 2.0e-06,
"ts_start": "2025-08-30T00:00:00Z",
"ts_end": "2025-08-30T01:00:00Z",
"tau_start": 501234.0,
"tau_end": 505,
"note": "tau_end trimmed per rotation"
},
"filt": {
"H_rev": "H-mic-v3",
"chain": [
{"type": "hp", "order": 4, "f_c": 20.0, "ripple_db": 0.1, "stop_db": 60.0},
{"type": "lp", "order": 6, "f_c": 19000.0, "ripple_db": 0.2, "stop_db": 80.0},
{"type": "notch", "f0": 50.0, "Q": 30.0}
],
"f_c": 19000.0,
"BW": 18980.0,
"tau_g": 3.6e-04,
"AGC": {"target_dBFS": -12.0, "attack_ms": 10.0, "release_ms": 200.0, "limit_db": -1.0}
},
"spec": {
"method": "welch",
"seg": 8,
"overlap": 0.5,
"window": "hann",
"fft_len": 131072,
"df": 0.33,
"S_xx_units": "power/Hz",
"features": {"band_power_[20_20000]": 0.87, "crest": 4.1, "THD": 0.018, "kurtosis": 3.20, "SNR_dB": 36.7},
"E_psd": 0.041
},
"env": {
"temp": 31.5,
"hum": 65.0,
"press": 100850.0,
"RefCond": {"temp": 23.0, "hum": 45.0, "press": 101325.0},
"correction_applied": true,
"u_c": 0.006,
"k": 2.0,
"U": 0.012
},
"path": {
"gamma_desc": "urban-canyon-seg42",
"L_gamma": 142.3,
"c_ref": 343.0,
"n_eff_model": "n_air_urban_v2",
"T_arr_meas": 0.420,
"T_arr_model": 0.417,
"delta_form": 3.4e-03,
"toa_model_rev": "toa-air-1.1"
},
"quality": {
"q_score": 0.956,
"clip_rate": 0.002,
"missing_rate": 0.004,
"D": 0.38,
"alert": {"kind": "drift", "ts": "2025-08-30T00:47:00Z", "level": "warn"}
},
"io": {
"fmt": "parquet",
"compress": "zstd",
"partition_by": ["ts_date","sid"],
"bytes_raw": 2.4e9,
"bytes_stored": 8.3e8,
"bytes_compressed": 7.1e8,
"manifest_rev": "mf-sea-1.0"
}
}
XIV. 样例 3:流式清单(STREAM,微批入湖)
{
"sensor": {"sid": "SNSR-RF-2201", "model": "SDR-X9", "serial": "RF-77C1", "class": "rf", "cal_id": "CAL-2025-03", "ENOB": 12.8, "ADC_bits": 14, "DR": 70.0},
"acq": {"fs_nom": 2000000.0, "fs_max": 5000000.0, "fs": 2000000.0, "Delta_t": 1.0, "window": "hann", "fs_hat": 1999995.0},
"time": {"clock_id": "clk_sdr_01", "sync_ref": "gps", "alpha": 1.0, "beta": 0.0, "J": 4.0e-06, "ts_start": "2025-08-30T09:10:00Z", "ts_end": "2025-08-30T09:10:01Z", "tau_start": 201.0, "tau_end": 202.0},
"filt": {"H_rev": "H-rf-v1", "chain": [{"type": "bpf", "order": 8, "f1": 915000000.0, "f2": 916000000.0, "ripple_db": 0.5, "stop_db": 60.0}], "f_c": 915500000.0, "BW": 1000000.0, "tau_g": 1.0e-06},
"spec": {"method": "welch", "seg": 4, "overlap": 0.5, "window": "hann", "fft_len": 2097152, "df": 0.96, "S_xx_units": "power/Hz", "features": {"band_power_[915_916]": 2.78, "crest": 5.2, "SNR_dB": 28.4}},
"env": {"temp": 27.0, "hum": 40.0, "press": 101000.0, "RefCond": {"temp": 23.0, "hum": 45.0, "press": 101325.0}, "correction_applied": false},
"path": {"gamma_desc": "rf-los-200m", "L_gamma": 200.0, "c_ref": 299792458.0, "n_eff_model": "n_rf_free_v1", "T_arr_meas": 6.72e-07, "T_arr_model": 6.67e-07, "delta_form": 5.0e-09, "toa_model_rev": "toa-rf-1.0"},
"quality": {"q_score": 0.941, "clip_rate": 0.0, "missing_rate": 0.0, "D": 0.21},
"io": {"fmt": "tfrecord", "compress": "zstd", "partition_by": ["ts_minute","sid"], "bytes_raw": 8.0e7, "bytes_stored": 2.4e7, "bytes_compressed": 2.0e7, "manifest_rev": "mf-sea-1.0"}
}
XV. 清单最小必填集(落盘前检查)
- 标识层:sensor.sid、sensor.model、sensor.serial、sensor.cal_id。
- 采样层:acq.fs、acq.Delta_t、acq.window、acq.t0/acq.t1 或 time.ts_start/time.ts_end。
- 时基层:time.clock_id、time.sync_ref、time.alpha、time.beta、time.J。
- 调理层:filt.H_rev、filt.f_c、filt.BW、filt.tau_g。
- 频谱层:spec.method、spec.seg、spec.overlap、spec.window、spec.fft_len 或 spec.df。
- 环境层:env.RefCond、env.correction_applied。
- 路径层:path.c_ref、path.n_eff_model、path.gamma_desc、path.T_arr_meas 或 path.T_arr_model、path.delta_form。
- 质量层:quality.q_score、quality.clip_rate、quality.missing_rate。
- 入湖层:io.fmt、io.compress、io.partition_by、io.manifest_rev。
XVI. 约束与冲突检查(执行要点)
- 名称冲突
严禁将 T_fil(张力)误作 T_trans(透射系数);路径与到达时字段仅使用 c_ref、n_eff、T_arr 口径。 - 稳定性
任一流式通道满足 rho = lambda / mu < 1;背压策略须在清单的运行时配置中留痕(见《Core.Threads》)。 - 口径锁定
频谱结果与到达时报告须在 io.manifest_rev 中记录 H_rev、spec.window、spec.method、path.toa_model_rev 与 env.RefCond。
XVII. 跨卷引用锚点
- 到达时与路径:c_ref、gamma(ell)、d ell、L_gamma、n_eff(x,t)、T_arr(见《能量丝》与本卷第8章)。
- 并发与入湖:chan、cap、q_len、bp、W_q(见《Core.Threads》)。
- 计量与不确定度:U = k * u_c、u(alpha)、u(beta)(见《Core.Metrology》)。
XVIII. 变更与版本化字段(建议)
- sensor.hw_rev : str,filt.H_rev : str,spec.rev : str,path.toa_model_rev : str,env.RefCond_rev : str,io.manifest_rev : str。
- 每次版本变更须递增并在清单中留痕,以保证 replay 与 diff 的可追溯与可审计。
版权与许可(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/