---
title: 重载铁路轨道检测数据可信度验证与预处理
author: 齐钒羽
date: 2026-03-28
summary: 对重载铁路轨道检测数据的里程系统进行完整可信度验证。发现两类里程异常（回退+冻结），揭示编码器量化特性，对比三种预处理方法（压平/删除拼接/速度外推）对STFT分析的影响。
canonical: https://blog.sysu-sam.com/@qifanyu/railway-data-credibility
---

# 重载铁路轨道检测数据可信度验证与预处理

**Author**: Fanyu Qi | **Date**: 2026-03-28

---

## 1. 数据概况

| 参数 | 6车编组 | 8车编组 |
|------|:---:|:---:|
| 车号 | TJC001 | TW000007 |
| 均速 | 88.5 km/h | 67.0 km/h |
| 采样点数 | 16,193,130 | 21,373,253 |
| 采样率 | 5000 Hz | 5000 Hz |
| 里程范围 | K225.500 - K305.000 | K225.500 - K305.000 |
| 里程存储方式 | 1m 阶梯步长（0.001 km 精度） | 同左 |

原始数据由两个分段文件拼接而成（文件1: K225-K265，文件2: K265-K305），拼接处里程连续递增（264.999 → 265.000），无异常。

---

## 2. 里程异常发现

### 2.1 里程回退

对原始数据逐样本检查里程序列，发现里程并非严格单调递增。在特定位置出现**阶梯式回退**：里程先正常递增至某值，然后逐 1m 后退若干米，再恢复递增。

![里程回退示例](https://blog.sysu-sam.com/images/qifanyu/railway-mileage_retreat_examples.png)

*6car 里程回退事件局部放大。红色区域 = 回退区间*

**回退原因**：回退事件约每 4.7 km 出现一次，与铁路里程校准桩的典型间距吻合。车轮编码器通过轮轴转数估算行驶距离，因车轮直径磨损和打滑会产生累积漂移。到达已知里程桩时，系统将里程修正到桩的真实值——如果编码器多算了 6m，里程就回退 6m。

### 2.2 冻结 + 前跳

另一类异常：编码器暂时停止递增，数百至数千个采样堆积在同一步长内，然后一次跳过若干米追赶。

例如 6car 在 K252.957 处：3770 个采样堆积在 3 个步长内（理论值约 600），随后跳过 12m，紧接的步长仅有 7 个采样。

### 2.3 异常统计

| 异常类型 | 特征 | 6车 | 8车 |
|---------|------|:---:|:---:|
| 里程回退 | 里程递减 | 16 处，184 步 | 3 处，6 步 |
| 冻结+前跳 | 单步样本量极多，后续步极少 | K252 等，12 步 | K250/K271/K286 等，15 步 |
| **异常总计** | | **198 步 (0.25%)** | **23 步 (0.03%)** |

---

## 3. 步长样本量偏差分析

### 3.1 偏差定义

对每个 1m 步长，使用**该步自己的平均速度**计算理论样本量：

$$N_{theory,i} = \frac{F_s \times 3.6}{\bar{v}_i} = \frac{18000}{\bar{v}_i}$$

其中 $\bar{v}_i$ 为第 $i$ 步内所有采样点的平均速度 (km/h)。例如某步均速 88.5 km/h，则 $N_{theory} = 18000 / 88.5 = 203.4$。

偏差比值 $r_i = N_{actual,i} / N_{theory,i}$。数学推导表明，$\bar{v}_i$ 在分子分母中约掉：

$$r_i = \frac{N_{actual}}{N_{theory}} = \frac{N_{actual} \times \bar{v}_i}{18000} = \frac{\sum v_j}{3.6 \times F_s} = D \text{ (米)}$$

因此 **ratio 直接等于该步的实际物理距离**。$r_i = 1.05$ 即该步实际 1050mm，偏差 +50mm。

### 3.2 逐级排除效果

| | 全部 | 排除回退 | 排除回退+冻结 |
|--|:---:|:---:|:---:|
| 6car 步长数 | 79,673 | 79,487 | **79,475** |
| 6car N 范围 | 3 - 1,423 | 7 - 1,423 | **106 - 302** |
| 6car ratio std | 11.8% | 11.5% | **10.9%** |
| 8car 步长数 | 79,507 | 79,499 | **79,484** |
| 8car N 范围 | 135 - 2,381 | 185 - 706 | **185 - 526** |
| 8car ratio std | 8.6% | 7.7% | **7.5%** |

排除异常后，样本量范围回归合理区间（理论范围：6car 192-251，8car 257-327）。

**异常检测方法**：传统的 IQR 法和 3σ 法均假设正态分布。6car 的 ratio 分布为多峰结构（见下文编码器量化分析），IQR 误判 36% 为异常，3σ 仅检出 0.14%，均不适用。采用基于物理含义的固定阈值：**ratio < 0.5 或 > 2.0**（步长距离不到 0.5m 或超过 2m，物理上不合理）。

### 3.3 总体统计（排除异常后）

![样本量分布](https://blog.sysu-sam.com/images/qifanyu/railway-samples_per_step.png)

*排除异常后，每 1m 步长内实际样本量随里程的分布*

| 指标 | 6车 | 8车 |
|------|:---:|:---:|
| 清洁步长数 | 79,475 | 79,484 |
| 理论样本量范围 | 192 - 251 | 257 - 327 |
| 实际样本量范围 | 106 - 302 | 185 - 526 |
| 均值比 $\bar{r}$ | 1.0000 | 0.9999 |
| 标准差 $\sigma_r$ | 10.9% | 7.5% |
| 全程距离偏差 | 0.17% | 0.05% |

**均值比**：所有步长 ratio 的算术平均。1.000 表示里程系统平均不偏。

**全程距离偏差**：速度积分总距离与里程计总距离的差异（6car: 79634m vs 79500m = 0.17%）。

### 3.4 偏差分布

![比值分布](https://blog.sysu-sam.com/images/qifanyu/railway-ratio_histogram.png)

| 偏差范围 $|r-1|$ | 6车 | 8车 |
|:---:|:---:|:---:|
| ≤ 1% | 39.2% | 8.6% |
| ≤ 2% | 51.0% | 17.1% |
| ≤ 5% | 61.9% | 48.0% |
| ≤ 10% | 66.9% | 86.0% |
| ≤ 20% | 87.6% | 98.9% |

**物理距离偏差**：

| | 6车 | 8车 | 含义 |
|--|:---:|:---:|------|
| 均值 | 0.0 mm | -0.1 mm | 不系统性偏长或偏短 |
| 标准差 | 109 mm | 75 mm | 单步距离偏差的离散程度 |
| \|偏差\| 中位数 | **18 mm** | **52 mm** | 一半的步长偏差小于此值 |
| \|偏差\| 95th | **207 mm** | **146 mm** | 95% 的步长偏差小于此值 |

![距离偏差](https://blog.sysu-sam.com/images/qifanyu/railway-step_distance_deviation.png)

---

## 4. 偏差来源分析

### 4.1 排除速度变化

8car 95.3% 的步长内速度完全恒定（std=0），但 ratio 仍有 7.5% 标准差——速度变化不是偏差来源。

进一步验证：取连续 100 步、速度 std < 0.3 km/h 的极稳定区间与全部数据对比：

![恒速段分析](https://blog.sysu-sam.com/images/qifanyu/railway-steady_speed_analysis.png)

*左列：恒速段样本量序列；中列：恒速段 ratio 直方图；右列：恒速段 std 与全局 std 对比*

| | 恒速段 ratio std | 全部数据 ratio std | 差异 |
|--|:---:|:---:|:---:|
| 6car | 0.1086 | 0.1093 | 0.6% |
| 8car | 0.0720 | 0.0749 | 3.9% |

6car K254 处速度 92.9±0.023 km/h（几乎纹丝不动），样本量仍在 152-234 间波动。**速度变化对偏差的贡献可忽略。**

### 4.2 编码器量化特性

偏差的真正来源是车轮编码器的硬件量化。

**原理**：车轮轴上的编码器每转产生 N 个脉冲，系统设定每累积 M 个脉冲触发 1m 里程递增。若"每米所需脉冲数"不是整数（例如 48.7 脉冲/米），则 M 只能取整（48 或 49），导致每步的实际距离在两个值之间交替：

| 触发脉冲数 | 实际距离 | 出现频率 |
|:---:|:---:|:---:|
| 49 脉冲 | 49/48.7 × 1m = 1006 mm | 70% |
| 48 脉冲 | 48/48.7 × 1m = 986 mm | 30% |

差值 ≈ 20mm → 对应约 4 个采样点的差异（在 88.5 km/h 下）。

余数逐步累积：0.7 → 1.4(溢出) → 0.4 → 1.1(溢出) → ...，形成周期性长-短步交替。

**数据验证（排除回退和冻结后的清洁数据）**：

![编码器量化分析](https://blog.sysu-sam.com/images/qifanyu/railway-encoder_quantization_6car.png)

**左上——样本量直方图**：如果里程系统完美，样本量只受速度影响，应呈平滑单峰分布。实际呈现**多个离散尖峰**（N=196 出现 5306 次，N=155 出现 1210 次，N=233 出现 1234 次），表明样本量只取特定值——编码器脉冲取整的特征。

**右上——K260 附近 30 个连续步长**：速度恒定（92.9 km/h）时理论样本量恒定（~194），但实际样本量在 ~190 和 ~200 之间**规律性交替**（63.7% 的相邻步长符号交替，随机预期 50%）。这是余数累积-溢出的直接表现。

**左下——自相关图**：lag=18 处出现强峰（r=0.49），表示每 18 步样本量模式完整重复一次。随机噪声的自相关在 lag>0 后迅速衰减到 0，不会出现这种周期性。只有固定齿数的机械编码器才能产生精确的 18 步周期。

**右下——机制总结**：三项证据（离散峰 + 交替模式 + 周期性）共同指向车轮编码器的量化取整特性。这是编码器硬件的固有精度极限，不是数据质量问题，不需要也无法消除。

---

## 5. 异常位置与 TII/RCI 超限交叉验证

将所有里程异常位置与 TII/RCI I级超限位置交叉对照：

**所有异常位置 → 无 TII/RCI 超限**

| 异常位置 | 类型 | 回退/冻结程度 | TII/RCI 超限 |
|---------|------|:---:|:---:|
| K235.045 | 回退 6m | ratio 0.01-1.20 | **无** |
| K245.124 | 回退 12m | ratio 0.16-9.0 | **无** |
| K252.957 | 冻结+前跳 | ratio 0.04-7.3 | **无** |
| K296.056 | 回退 13m | ratio 0.19-6.1 | **无** |

**所有 TII/RCI 超限位置 → 步长正常**

| 超限位置 | 指标 | 峰值 | ratio | 偏差 |
|---------|------|:---:|:---:|:---:|
| K243.842 | TII | 7.48 | 1.026 | +2.6% |
| K256.269 | TII | 7.17 | 0.953 | -4.7% |
| K257.952 | RCI | 8.42 | 1.003 | +0.3% |
| K256.294 | TII | 6.74 | 1.007 | +0.7% |

**里程异常与轨道质量超限完全不重叠**——超限结果反映真实轨道缺陷，不受里程系统异常干扰。

---

## 6. 预处理方法与影响

### 6.1 处理对象

等空间重采样（时域→空间域转换）是 STFT 空间域分析的前提。时域 STFT 直接使用原始等时间信号，不涉及里程，不受以下问题影响。

三类问题对空间域 STFT 的影响程度不同：

| 问题 | 影响范围 | 是否需要处理 |
|------|---------|:---:|
| 里程回退 | 0.25% 步长 | 是 |
| 冻结+前跳 | 0.03% 步长 | 是 |
| 编码器量化 | 所有步长 | 不需要（见 6.4） |

### 6.2 异常区域里程与速度对比

方法 C（速度外推）的前提是异常区域速度正常。以下图展示三种异常在同一时间窗口内的里程曲线（上排）和速度曲线（下排）：

![三种异常里程与速度对比](https://blog.sysu-sam.com/images/qifanyu/railway-anomaly_mileage_speed.png)

*上排里程曲线：左=回退（V形下降再恢复），中=冻结（里程长时间不变），右=前跳（里程快速跳变）。下排速度曲线（固定 ±5 km/h 刻度）：三种异常期间速度波动均 < 0.22%，在 ±5 km/h 尺度下几乎为直线*

定量验证（所有异常区域 vs 前后正常区域的速度变化率）：

| 异常类型 | 事件数 | 速度变化率 | 逐样本最大跳变 | 结论 |
|---------|:---:|:---:|:---:|:---:|
| 6car 回退 | 16 | 最大 0.08% | 0.001 km/h | 正常 |
| 6car 冻结+前跳 | 3 组 | 最大 0.14% | 0.001 km/h | 正常 |
| 8car 回退 | 3 | 0.00% | 0.000 km/h | 正常 |
| 8car 冻结+前跳 | 4 组 | 0.00% | 0.000 km/h | 正常 |

**全部异常区域速度变化率 < 0.15%**，方法 C 前提条件满足。

### 6.3 三种异常 x 三种方法（3x3 对比）

三类异常性质不同：回退时里程递减，冻结/前跳时里程仍递增但速率异常。

**能否处理：**

| | 回退 | 冻结 | 前跳 |
|--|:---:|:---:|:---:|
| **方法 A（压平）** | 能 | **不能**（里程递增，压平不触发） | **不能**（里程递增，压平不触发） |
| **方法 B（删除拼接）** | 能 | 能 | 能 |
| **方法 C（速度外推）** | **能** | **能** | **能** |

**处理后对 STFT 的影响：**

| | 回退 | 冻结 | 前跳 |
|--|---|---|---|
| **方法 A** | 信号被跳过，局部能量下降 | 7m 压缩到 1m，**频率放大 7 倍** | 36mm 拉伸到 1m，**频率缩小 28 倍** |
| **方法 B** | 拼接点**宽频脉冲伪影**，TII 假超限高风险 | 同左 | 同左 |
| **方法 C** | **无伪影**，信号完整保留 | 1423 样本正确分配到 7.35m，**频率正确** | 7 样本正确分配到 36mm，**频率正确** |

**缺陷检出能力：**

| | 回退 | 冻结 | 前跳 |
|--|:---:|:---:|:---:|
| **方法 A** | 遗漏 | 频率扭曲，无法识别 | 频率扭曲，无法识别 |
| **方法 B** | 遗漏 | 遗漏 | 遗漏 |
| **方法 C** | **正常检出** | **正常检出** | **正常检出** |

### 6.4 编码器量化不需要处理

编码器量化（±20mm/步，10.9% std）是固有硬件特性，影响所有步长。无需处理的原因：

| 分析维度 | 编码器量化的影响 |
|---------|---------------|
| **时域 STFT** | 完全不受影响（不使用里程） |
| **空间域 STFT** | 步边界位置误差 ±20mm，每米 250 个网格点中仅边界附近 ~5 个受影响（2%） |
| **量化周期性** | 周期 18 步 = 18m → 对应空间频率 0.056 cpm，远低于 RCI 频带下限 3.33 cpm |
| **TII/RCI 指标** | 窗口长度 3-30m，远大于单步误差 ±20mm，窗口平均后抖动被有效抑制 |


### 6.5 方法 A 在各分析阶段的后果总结

当前 TII/RCI 计算使用方法 A（压平）。方法 A 在三个分析阶段对三种异常的后果：

| 分析阶段 | 回退 | 冻结 | 前跳 |
|---------|------|------|------|
| **时域 STFT** | 仅横轴标注压缩，频率正确 | 无影响 | 无影响 |
| **等间距重采样** | 信号丢失（被跳过） | 7m 压缩到 1m，**频率放大 7x** | 36mm 拉伸到 1m，**频率缩小 28x** |
| **空间域 STFT** | 局部能量下降 | **频率严重失真** | **频率严重失真** |

方法 A 对时域 STFT 几乎无害，但对空间域 STFT 中冻结/前跳的处理是错误的——空间频率被严重扭曲（例如真实 100mm 波长在冻结区显示为 13.6mm，在前跳区显示为 2778mm）。这进一步支持采用方法 C（速度外推），在重采样之前修正空间坐标，从根源上避免压缩/拉伸。

当前 TII/RCI 结果仍可信：交叉验证确认所有异常位置均未触发超限，所有超限位置步长 ratio 正常（偏差 <5%）。


---

## 7. 结论

| 层面 | 结论 |
|------|------|
| 全程累积精度 | 极好（速度积分 vs 里程计偏差 < 0.2%） |
| 步长平均精度 | 极好（ratio 均值 = 1.000） |
| 里程异常 | 两类（回退 16+3 处 / 冻结 12+15 步），合计影响 < 0.3% |
| 编码器量化 | std 7.5-10.9%，源于硬件固有精度，不可消除也无需消除 |
| 预处理推荐 | 回退/冻结区采用速度外推（方法 C），编码器量化不处理 |
| 对分析影响 | 异常与 TII/RCI 超限完全不重叠，分析结论可靠 |

---

*分析工具：Python (NumPy, SciPy, Matplotlib) | 平台：WSL2 / RTX 4070S*
*数据：2025-12-27 K225-K305 区段 37.5M 总采样点*
