Files
Inbox/项目交接文档:软件定义雷达前端模拟器 (SDR-FES).md
2025-12-11 07:24:36 +08:00

4.9 KiB
Raw Permalink Blame History

tags, title, date created, date modified
tags title date created date modified
项目交接文档:软件定义雷达前端模拟器 (SDR-FES) 星期六, 十一月 29日 2025, 10:14:41 晚上 星期四, 十二月 4日 2025, 8:30:07 晚上

这份文档经过了严格修订,完全聚焦于 " 雷达前端模拟器 (MockDACS)" 这一工具本身的构建与演进。它强调了工具的通用性、可移植性以及现代软件工程标准

请保存此文档,在新对话开始时直接发送。


项目交接文档:软件定义雷达前端模拟器 (SDR-FES)

Project Handover: Software-Defined Radar Front-End Simulator (MockDACS)

1. 项目目标 (Project Goal)

构建一个高可移植、高性能、容器化的雷达前端模拟工具。

该工具不依赖特定的硬件架构(如飞腾/天数),旨在通过 Docker 容器在任何支持 Linux 的环境x86/ARM中运行。它作为标准的测试信号发生器,用于向后端信号处理系统提供符合 FES-SPS v2.1 协议 的 10Gbps 线速数据流,验证后端系统的协议栈鲁棒性与吞吐能力。

2. 当前进度状态 (Current Status)

  • 工程阶段
    • Phase 1-3 (完成):已实现基础 UDP 收发、多线程并发、CPU 亲和性绑定、自旋锁高精度控速。
    • Phase 4 (进行中):已集成故障注入引擎 (ChaosEngine),正在验证 Docker 环境下的故障注入(丢包/误码/乱序)效果。
  • 部署状态:已完成 Docker 化封装。验证了在容器内通过 cpus: 2.0 限制下,依然能跑满 2000Hz PRF且多站多线程逻辑正常。

3. 技术基线与需求快照 (Technical Baseline & Requirements)

A. 运行环境 (Environment - Portable)

  • 核心理念Docker First。无论是开发本机的 WSL/Mac还是部署端的服务器均通过容器抹平差异。
  • 架构支持linux/amd64 (x86_64) & linux/arm64 (aarch64)。
  • 网络依赖:支持 Host 模式或 Bridge 模式下的 UDP 通信,依赖 Jumbo Frame (MTU 9000) 以实现最高性能。

B. 通信协议 (v2.1 Implementation)

  • 帧结构Magic="RADR" + Big-Endian Header + Little-Endian Payload + CRC32c 校验
  • 时序TAI 时间戳 + 16-bit 对齐载荷。
  • 策略:数据流 Fire-and-Forget控制流 K-Redundancy。

C. 模拟器架构 (Architecture)

  • 核心机制:多线程 (Multi-thread) + 忙等待 (Busy Wait) + 零拷贝 (Zero-Copy)。
  • 设计原则 (新增)
    • 现代化:强制使用 C++17/20 标准。
    • 模块化:发送逻辑、协议封装、物理仿真、配置管理必须解耦。
    • 配置驱动一切可变参数IP/端口/速率/故障率)严禁硬编码。

4. 新对话启动所需资料 (Materials Required)

为了确保新会话能无缝接手代码开发,请提供以下文件内容目录结构

  1. 工程配置文件:
    • CMakeLists.txt (Root)
    • common/CMakeLists.txt
    • simulator/CMakeLists.txt
    • tools/CMakeLists.txt
    • Dockerfile & docker-compose.yml
  2. 核心源码:
    • common/include/protocol.h (v2.1 协议定义)
    • common/include/chaos.h (故障注入引擎)
    • common/include/utils.h (计时与绑核工具)
    • simulator/sender.cpp (当前的发送端实现)
    • tools/receiver.cpp (当前的接收验证端实现)
  3. 参考文档 (可选):
    • [非密]前端感知软件数据表V0.1.docx (原始协议参考)
    • 软件数据表评估报告生成.pdf (协议升级依据)

5. 下一步工作计划 (Next Steps - Simulator Focus)

在接下来的对话中,我们将仅聚焦于模拟器本身的完善与增强

  1. Phase 4 收尾
    • 检查 Docker 下 receiver 的日志确认故障注入DACS-2/3的效果是否符合预期完成鲁棒性验证闭环。
  2. Phase 5配置系统重构 (Configuration System)
    • 引入 yaml-cpp
    • 实现全动态配置:通过 YAML 文件动态调节 PRF速率、目标 IP、波位参数、故障概率无需重新编译。
  3. Phase 6数据回放功能 (Data Replay - 后期)
    • 开发数据库适配层
    • 实现从实际雷达录制的数据库文件(如 HDF5/PCAP/Bin中读取数据并严格按照指定的时间戳间隔Rate Control发送用于算法的高级回放测试。
  4. 架构重构 (Modernization)
    • 应用设计模式(如策略模式 Strategy Pattern 用于切换数据源:SyntheticSource vs ReplaySource)。
    • 确保代码具备极高的可读性与可扩展性。

提示词 (Prompt) 建议:

" 我是之前的用户。我们正在开发一个高可移植的 Docker 化雷达前端模拟器 (MockDACS)。目前已完成 v2.1 协议的基础实现和故障注入功能。请阅读我上传的 ' 交接文档 ' 和源码。接下来的任务是验证故障注入效果,并引入 YAML 配置系统来实现参数的动态调节。"