乐于分享
好东西不私藏

【MATLAB源码】5G-A:DCI 1-0 Rel18 解析软件

【MATLAB源码】5G-A:DCI 1-0 Rel18 解析软件

🚀 5G NR DCI 1-0 协议深度可视分析平台

基于 3GPP TS 38.212 的工业级协议解析引擎智能变体识别 (PDCCH Order) + 双向交互映射 (Bi-Mapping) + 完整 RNTI 覆盖


📌 为什么需要 DCI 可视化分析?

在 5G NR 系统调试中,DCI (Downlink Control Information) 的比特级解析是排查调度问题的核心痛点。面对 Format 1-0 复杂的字段复用和变体机制(如 PDCCH Order、Short Message),传统的人工对照标准协议不仅效率低下,且极易出错。本平台提供了一站式的可视化解决方案。

痛点 (传统方式)
本平台解决方案 (DCI 1-0 Analyzer)
🔢 黑盒比特流
✅ 所见即所得:Bit-to-Field 双向高亮,点击比特即知含义
🤯 脑力解算 RIV
✅ 自动解码
🎭 变体难以区分
✅ 智能识别:自动判定 C-RNTI 下是常规调度还是 PDCCH Order (随机接入触发)
📉 配置繁琐
✅ 场景化预设:内置 FR1/FR2、Shared Spectrum 等典型配置模板,一键加载

🎯 核心价值

🔬 科研教学价值

  • 标准可视化:将枯燥的 TS 38.212 文本转化为直观的 GUI 交互,适合快速掌握 DCI 结构。
  • 全场景覆盖:支持 SI/P/RA/TC/C/MsgB 六大 RNTI 场景,完整呈现协议差异。
  • 算法验证:作为 Golden Reference,验证接收机 DCI 解码算法的正确性。

💼 工程应用价值

  • 故障快速定位:通过一致性校验 (Sanity Check) 快速发现 Payload 长度、Padding 等异常。
  • 测试提效:支持 Hex/Binary 多格式输入,内置 LSB/MSB 转换,适配不同厂家日志格式。
  • 报告归档:一键生成 Markdown 格式的详细分析报告,便于问题追踪与分享。

⚡ 技术亮点

🌊 DCI 1-0 深度解析架构

特性
说明
关键实现
智能变体检测
自动区分 PDSCH 调度与特殊指令
dci1_0_parse

 中的逻辑分支判定 (Format ID + Reserved Bits)
PDCCH Order
完美支持随机接入触发指令解析
动态显隐 Tag2Id, PRACH Mask 等专用字段
交互式位图
比特与字段的双向索引
patch

 对象回调 + uitable 联动高亮 (ButtonDownFcn)
端序兼容
支持不同厂商的比特流格式
内置 LMS/MSB 动态切换引擎 (BitCursor优化)

📊 实测解析能力

基于标准测试用例实测结果

场景
RNTI
Payload 长度
关键字段解析
结论
SIB1 调度
SI-RNTI
~43 bits
RIV, MCS, SystemInfoIndicator
✅ 精准广播解析
随机接入
C-RNTI
~45 bits
Preamble Index, SS/PBCH Index
✅ PDCCH Order 识别
寻呼/短消息
P-RNTI
~40 bits
Short Message, Paging Indicator
✅ 多路复用支持

🖥️ 运行环境

  • MATLAB 版本: R2023a 或更高 (推荐 R2024b)
  • 依赖工具箱: 基础 MATLAB (无需 5G Toolbox 即可运行核心解析)

📁 核心功能模块

DCI 1-0/├── src/│   ├── DCI10AnalyzerApp.m       # 🚀 交互式 GUI 核心引擎 (View/Controller)│   ├── dci1_0_parse.m           # 🧠 协议解析算法内核 (Model)│   ├── dci1_0_field_specs.m     # 📏 3GPP 字段定义库 (TS 38.212)│   └── BitCursor.m              # 🔍 通用流式比特读取器├── docs/│   └── GUI_使用手册.md          # 📄 本文档└── tests/                       # ✅ 自动化测试套件

📄 文档体系

本平台提供 “界面+算法” 双重指引:

📘 用户手册

界面操作指引、配置参数说明、结果解读指南。

📒 标准映射

3GPP 协议原文对照,字段长度计算公式,RIV 编码原理。


💻 核心代码展示

🔥 智能字段提取 (src/dci1_0_extract_fields.m)

% 动态解析逻辑:根据 RNTI 与配置动态计算字段结构functiondciInfo = dci1_0_extract_fields(dciInfo, specs, cursor)fori = 1:length(specs)        item = specs(i);        len = item.Length;% 核心:流式读取比特并自动映射        val = cursor.readUInt(len);% 存储元数据用于 GUI 高亮        fieldMeta.Offset = startPos;        fieldMeta.Length = len;        fieldMeta.RawBits = rawBits;        fieldMeta.Value = val;endend

🌟 交互式高亮引擎 (src/DCI10AnalyzerApp.m)

% 反向交互:点击比特块高亮字段表functionbitPatchClicked(app, src, event, bitIdx)% 查找包含该比特的字段    row = findRowByBitIndex(app.FieldTable.Data, bitIdx);if row > 0% 高亮表格行        app.highlightFieldTableRow(row);% 更新详情面板        updateDetailPanel(app, row);endend

🎬 极速上手

>> cd('src');>> app = DCI10AnalyzerApp;

解析三部曲:

  1. 配置:选择 C-RNTI,设置 N_RB_DL (e.g. 273)。
  2. 输入:粘贴 Hex 字符串 0x8ABCD...
  3. 运行:点击 ▶ 解析 DCI,即刻获取专业报告。

🔬 协议深耕 · 💻 交互创新 · 🚀 研发提效

🛒 获取方式

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 【MATLAB源码】5G-A:DCI 1-0 Rel18 解析软件

评论 抢沙发

9 + 2 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮