PDRCH(Physical Device-to-Reader Channel)是 3GPP 在 Rel-19 为 Ambient IoT——一类无电池、靠环境供能的极低功耗终端——定义的器件到读写器物理信道。这个项目用 Python 从零实现了它的完整链路级仿真器:从比特到波形再到比特,全部跑在 NumPy 上,用来评估这类"零功耗"设备在真实信道条件下的接收灵敏度。
发送链覆盖 CRC-6/16 校验、Tail-biting TBCC 卷积编译码(循环 Viterbi Method A)、Manchester 编解码、SFS 扩频、M 序列前导/中间码与帧组装;信道建模包含 TR 38.901 InH-Office 路损、平坦衰落、采样频偏(SFO)、CW 载波泄漏的双程链路预算与两步对消、AWGN;接收链则完成帧起始检测、两级 SFO 搜索估计补偿、多前导联合 LS 信道估计与 chip 解调,并支持 FDMA 多用户子载波分配与用户间干扰分析。
验证方式有两层:蒙特卡洛仿真产出 BLER-vs-SNR 灵敏度曲线、CW 对消频谱、FDMA 多用户结果等成品图(见下节);同时配套一个 Flask webapp 把 12 宫格全链路波形可视化,方便逐级对照检查。正确性由 45 个单元测试兜底——覆盖 CRC、TBCC、Manchester、SFS、前导、信道、定时同步、FDMA 与端到端,全部通过。
仿真结果
蒙特卡洛扫描输出的成品图:灵敏度、对消增益与多用户干扰。
可视化工具
Flask webapp 四个页面:链路波形、BLER 曲线、CW 对消与 FDMA 多用户。