4. 传感器输出信号采集与处理

土壤水分传感器输出的原始信号,无论来自模拟接口还是数字接口,都不能直接当作最终含水率使用。采集环节决定数据“拿得准不准”,预处理环节决定数据“用得稳不稳”。本节围绕两条采集路径展开,并给出从原始读数到可入库数据的完整预处理流程。

一、模拟信号采集:从电压到数字量

常见的模拟型土壤水分传感器(如电容式探头)输出 0~2.5 V 或 0.5~4.5 V 的电压信号,部分型号输出 4~20 mA 电流环。采集系统的核心是“激励—响应—量化”三步:由采集器提供稳定激励电压,探头输出随介电常数变化的电压,再经 ADC 转换为数字量。

以 12 位 ADC、参考电压 3.3 V 为例,量化步长为 3.3/4096 ≈ 0.806 mV。若传感器灵敏度为 1 V 对应 10% 体积含水率,则 1 个 LSB 约对应 0.008% 含水率,分辨率足够。但实际误差主要来自三处:激励电压漂移、线缆压降、ADC 参考源温漂。工程上应做到:激励与 ADC 参考同源;模拟线采用屏蔽双绞线并单端接地;长线(>20 m)改用 4~20 mA 电流输出,因为电流环对线路电阻不敏感。

采集时序上,建议每次读数前丢弃前 2~3 个采样点(等待激励建立与探头稳定),再连续采集 N=16 个点求均值。若采集器支持,可在探头供电端并联 100 μF 电容抑制上电冲击。

二、数字信号采集:协议与帧解析

数字型传感器常见接口有 SDI-12、RS-485(Modbus-RTU)、RS-232 及 I²C。以 RS-485 Modbus-RTU 为例,典型参数为 9600 bps、8N1,从站地址 1,功能码 0x03,读取保持寄存器 0x0000 起的 2 个寄存器,其中寄存器内容为含水率×100(单位 0.01%)。

请求帧: 01 03 00 00 00 02 C4 0B
响应帧: 01 03 04 0B B8 01 F4 XX XX
        └┬┘ └┬┘ └┬┘ └──┬──┘ └──┬──┘
       从站 功能 字节数 含水率=30.00% 温度=5.00℃

数字采集的关键不是“读到了”,而是“读对了”。必须校验 CRC、检查字节数与功能码,并设置 200~500 ms 超时与最多 3 次重试。SDI-12 则需注意其 1200 bps、字符间隔与“aM!”“aD0!”的握手顺序,命令发出后须等待传感器返回服务请求再取数。数字接口的优势是免除了 ADC 量化与参考漂移问题,但引入了通信误码与总线冲突风险,因此帧校验不可省略。

土壤水分传感器数据采集与预处理链路 模拟通道 探头 0.5~4.5 V 激励与参考同源 12 位 ADC 量化 丢弃前 3 点,N=16 均值 数字通道 RS-485 / SDI-12 帧头·功能码·CRC 超时 300 ms,重试 3 次 解析为物理量 原始读数 时间戳 + 值 单位统一为 % 标记通道来源 记录质量标志位 ① 物理量转换 标定曲线 → 含水率 剔除超量程值 ② 滤波去噪 滑动中值 + 均值 窗口 5 点 ③ 异常值剔除 3σ 或 IQR 判据 变化率阈值 ④ 重采样对齐 统一到 10 min 间隔 缺失值标记 可用数据 含水率 % 质量标志 时间序列 入库 / 上传 异常判据示例(教学假设) · 超量程:含水率 < 0 或 > 60% → 直接剔除 · 3σ:偏离滑动窗口均值 > 3 倍标准差 → 标记可疑 · 变化率:10 min 内跳变 > 8% → 结合前后点复核

三、滤波与去噪:先中值后均值

田间噪声有两类:高频随机噪声(如电源纹波、电磁干扰)和脉冲噪声(如接触不良、雷击感应)。均值滤波对随机噪声有效,但会被脉冲“拉偏”;中值滤波能剔除脉冲,却对缓慢漂移无能为力。因此推荐“先中值、后均值”的串联结构:对连续 5 点做中值滤波去掉尖峰,再对中值序列做 5 点滑动平均平滑随机波动。

举例:某序列为 28.1、28.3、45.6、28.2、28.4(%),第 3 点为明显脉冲。5 点中值输出为 28.3,脉冲被直接替换;若改用 5 点均值,结果为 31.72,误差被放大到 3.5 个百分点。可见滤波顺序不是形式问题,而是直接影响结果。

对缓慢变化过程(如土壤入渗),还可采用一阶低通滤波:yk = α·xk + (1−α)·yk−1,α 取 0.2~0.3 时兼顾平滑与响应。需注意滤波会引入滞后,标定与阈值判断时应使用滤波后的同一口径数据。

四、异常值剔除:三类判据配合使用

异常值剔除不能只靠单一阈值。实践中建议三层判据:物理边界(含水率 0~60%、温度 −20~60 ℃,超出即判无效);统计判据(滑动窗口内 3σ 或 IQR 法,IQR 判据为 x < Q1−1.5·IQR 或 x > Q3+1.5·IQR,对非正态分布更稳健);时序判据(相邻点变化率超过设定阈值,如 10 min 内跳变 8% 以上,需结合前后点复核,避免把真实降雨入渗误删)。

被剔除的点不要直接删除,而应写入质量标志位(如 0=正常、1=可疑、2=无效),保留原始值以便追溯。对短时缺失(连续少于 3 个点),可用线性插值补齐;对长时缺失,应标记为缺测,不得插值伪造。

五、数据预处理流程与结果判读

完整流程为:原始读数 → 物理量转换 → 中值+均值滤波 → 三层异常判据 → 重采样对齐 → 质量标志 → 入库。每一步都应保留中间结果,便于排障时定位问题出在采集端还是处理端。

结果判读可看三个指标:有效率(正常点占比,长期低于 90% 说明采集链路有问题)、噪声水平(滤波前后标准差之比,理想情况下降 50% 以上)、异常类型分布(若脉冲型异常集中出现,优先排查接线与屏蔽)。下表为一段教学假设数据的处理前后对比:

指标处理前处理后判读
样本数288281(7 点标记无效)有效率 97.6%,正常
标准差2.41%0.86%降噪 64%,滤波有效
最大跳变17.3%2.1%脉冲已剔除
异常类型脉冲 5、超量程 2—建议检查探头接线
采集与预处理的口径必须与标定一致:标定用的是滤波前还是滤波后的值、采样间隔是多少,现场处理就应保持同一口径,否则标定曲线再准也会被处理环节引入系统偏差。
不要用“删除异常点后重新计算均值”的方式反复迭代,这会把正常极值逐步吃掉。异常判据应基于固定窗口一次性判定,判定结果写入标志位,后续统计按标志位筛选。

至此,传感器输出的原始信号已转化为带质量标志、时间对齐、可直接参与标定与修正的含水率序列,为后续的标定建模与数据修正打下可靠基础。