From f0ec8482803ba0493e94643b27ac30caea2c9ffa Mon Sep 17 00:00:00 2001 From: Nixevol Date: Fri, 26 Jun 2026 10:51:14 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E7=A1=AE=E8=AE=A4=20cellinfo=20?= =?UTF-8?q?=E6=97=A0=203DMM=20=E5=AD=97=E6=AE=B5=EF=BC=8C=E6=8C=89?= =?UTF-8?q?=E9=A2=91=E7=82=B9=E5=88=A4=20TDD=20=E5=8D=B3=E6=AD=A3=E7=A1=AE?= =?UTF-8?q?=E5=88=86=E7=B1=BB=EF=BC=88=E5=88=B6=E5=BC=8F=E5=AE=9E=E9=99=85?= =?UTF-8?q?=E2=89=88100%=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/project_context.md | 2 +- docs/sector_inference_research.md | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/project_context.md b/docs/project_context.md index 2575a3a..56b504e 100644 --- a/docs/project_context.md +++ b/docs/project_context.md @@ -975,7 +975,7 @@ CellData 处理日志细化(`app/services/cell_data.py`): ## 2026-06-26:CellData.sql 新增 cellinfo→sector 逆推(特征库 + 补缺不覆盖) - 背景:`celldata.cellinfo`(自动处理、有数据源)→ `celldata.sector`(原人工整理)。新脚本自动逆推 sector 的 扇区/物理站/制式/频段/带宽/站型/网络(区域留空,最终不用)。 -- 特征库 `sector_band_ref`(频点区间+PLMN→制式/频段,10 条):700M/广电同频 763.25 用 PLMN 区分(460-00/460-15);4.9G 用频点≥4000;4G FDD900/1800、TDD F/A/E/D 频按频点分档。**D频与3DMM 同频同PLMN同带宽不可区分**,统一判 D频(3DMM 为天线属性)。 +- 特征库 `sector_band_ref`(频点区间+PLMN→制式/频段,10 条):700M/广电同频 763.25 用 PLMN 区分(460-00/460-15);4.9G 用频点≥4000;4G FDD900/1800、TDD F/A/E/D 频按频点分档。**3DMM 在 cellinfo 无任何字段标注**(cellinfo.制式 仅 700M/TDD/FDD/2.6G,那 1400 个 sector-3DMM 在 cellinfo 全是 TDD/4G);按"3DMM 用 TDD 制式规则",脚本依频点判 TDD/D频 即正确,故制式实际正确率≈100%。 - 逆推 staging `_sector_infer`:预处理小区名(全角括号→半角、【】→()、去空格/制表符)→ 剥设备码正则 `[A-Z0-9]+-Z[A-Z0-9]{2}-[0-9]+$` 得 base;站型(码尾 W=室分 / 名称含"微小"=微站 / 否则宏站);制式频段经特征表 JOIN(未命中回落 cellinfo 制式);物理站(非700M 删全部成对括号+清悬空+回贴(微小X);700M 取"(江门"括号内容否则外层去CBN-);扇区=物理站+扇区号(700M 末位/其余 %100)。 - 落库:`INSERT` 仅补 sector 中缺失 CGI(**不清空、不覆盖**已有行,保人工修正如 3DMM/15M/纠正物理站),末尾 DROP staging;`sector_band_ref` 作为持久特征库保留。 - 准确率(MCP 实测,重叠 66001):网络 100%、制式 97.88%(排除 3DMM 即 100%)、频段 97.6%、带宽 99.75%、站型 99.94%、**物理站 99.59%、扇区 99.20%**;残差为不可还原的人工差异(室分多载波编号、700M 个别人工编号、源数据制表符等)。详见 `docs/sector_inference_research.md`。 diff --git a/docs/sector_inference_research.md b/docs/sector_inference_research.md index c7a78db..09d6c84 100644 --- a/docs/sector_inference_research.md +++ b/docs/sector_inference_research.md @@ -43,7 +43,9 @@ cellinfo.制式 已给出粗类(FDD/TDD/700M/2.6G),频段再按频点细 **关键歧义** 1. **700M vs 广电**:同频点 763.25,由 **PLMN** 区分(460-00=移动 700M,460-15=中国广电)。✅ 可完美区分。 -2. **D频 vs 3DMM**:同频点(2624.6 等)、同 PLMN(460-00)、同带宽(20M)、功率也重叠(18.2 两类都有)。**cellinfo 无法可靠区分**——3DMM 是 3D-MIMO 天线属性,非频点/名称可还原。逆推统一归 `TDD/D频`;现有 sector 中的 3DMM 因「不覆盖已有行」而保留,新增行只能判 D频(已知局限)。 +2. **D频 vs 3DMM**:**cellinfo 完全没有 3DMM 标注**——`cellinfo.制式` 仅 4 值 `700M/TDD/FDD/2.6G`;sector 中标 3DMM 的 1400 个小区在 cellinfo 里**全部是 `TDD`(4G)**。3DMM 是 3D-MIMO 天线属性,人工额外打在 sector 上,源表不可还原。 + - **分类策略(已采纳用户规则)**:3DMM 按频点对应的"非 3DMM 实际制式"分类——这些频点(2624.6 等 2.6GHz)的非 3DMM 小区都是 `TDD/D频`,而 FDD 仅在 900/1800,频点不重叠。故脚本对这 1400 个判 `TDD/D频` 即正确(与"3DMM 用 TDD 制式规则"一致)。 + - 因此"制式 97.88%"是对照 sector 人工 3DMM 标签的数字,**按制式规则 TDD 才是正确分类,制式实际正确率≈100%**。现有 sector 的 3DMM 因「不覆盖已有行」保留不变。 ## 四、站型规则(实测覆盖度)