整体架构
OpenISAC 是一套基于主机实时处理的 OFDM 通感一体化平台。当前系统由一个基站(BS)和一个用户设备(UE)组成,可根据所需的收发通道数量使用一台或多台 USRP。实时通信与感知处理运行在 C++ 后端,实验结果、状态和控制功能则通过 Python 环境呈现。

系统支持的任务
Section titled “系统支持的任务”当前工程同时支持四类数据流:
- 下行通信:BS 向 UE 发送数据,UE 完成同步、信道均衡和 payload 解码。
- 上行通信:UE 对输入 payload 进行编码和 OFDM 调制,BS 接收、均衡并解码 UE→BS 数据。
- BS 多通道单站感知:BS 可并行采集多路目标回波,并输出时间对齐的多通道感知数据;该功能不依赖 UE 在线。
- UE 双站感知:UE 将收到的下行信号同时用于通信接收和双站感知,提取 BS–目标–UE 传播路径中的动态散射信息。
上行可选择 TDD 或 FDD。TDD 在下行载频上预留连续的帧内 OFDM 符号窗口,并用保护符号完成收发切换;FDD 则使用独立上行载频,按完整 OFDM 帧连续发送。上下行采用相同的 OFDM 参数体系,便于在两种双工方式之间保持一致的波形和接收处理。
BS 同时承担下行发射、多通道单站感知和上行接收。下行路径接收待发送 payload,完成信道编码、OFDM 资源映射和波形生成;感知路径通过一个或多个接收通道采集回波,并使用已知发送资源网格形成每路时频信道和时延-多普勒结果;上行路径则接收 UE 波形,完成同步、信道估计、均衡和 payload 解码。
每个感知通道都可独立选择 USRP 设备或通道,并设置增益、天线端口和采样对齐量。后端按照共同的帧起始符号索引配对多路结果,再聚合为一个带通道标识的同步数据流,使前端能够在同一时刻比较或联合处理多个接收通道。
UE 的下行接收、双站感知和上行发射也以并行流水线运行。下行接收建立帧同步并估计载波频偏、采样时钟偏差和信道状态;均衡后的符号一方面进入通信解码,另一方面用于重建发送参考并形成双站感知输入。独立的上行路径接收本地 UDP payload,完成 LDPC 编码和 OFDM 调制后交给 USRP 发射。
由于 BS 与 UE 使用独立的本地时钟,UE 会持续跟踪频率和定时漂移。平台支持纯软件 OTA 同步与感知侧定时补偿,也可结合外部参考时钟或可选的硬件时钟微调,提高长时间通信与双站感知的相干性。
端到端数据流
Section titled “端到端数据流”一次完整的数据流可以概括为:
- 下行 payload 进入 BS,经过编码和 OFDM 调制后发送到 UE。
- BS 的多个感知通道同步采集目标回波;UE 使用下行接收结果同时完成 payload 解码和双站感知。
- 上行 payload 进入 UE,经独立的发射流水线送回 BS,并由 BS 上行接收流水线解码输出。
- BS 将时间对齐的多通道单站感知数据聚合发布,UE 发布双站感知数据;运行状态和可选中间结果一并送往 Python 交互层。
TDD 模式下,上下行在同一帧内按时隙交替;FDD 模式下,两条链路可在不同载频上并行运行。无论使用哪种方式,多通道感知、通信编解码和前端发布都由独立流水线推进,避免某一条处理路径阻塞其他实时任务。BS 与 UE 的具体数据流分别见 BS 运行流水线 和 UE 运行流水线。