PLFM_RADAR环境搭建全攻略:从Python 3.12到PyQt6仪表盘的零坑指南
PLFM_RADAR环境搭建全攻略从Python 3.12到PyQt6仪表盘的零坑指南【免费下载链接】PLFM_RADAROpen-source, low-cost 10.5 GHz PLFM phased array RADAR system项目地址: https://gitcode.com/GitHub_Trending/pl/PLFM_RADARPLFM_RADAR 是一套开源、低成本的 10.5 GHz 相控阵雷达系统软件部分为你提供了一整套 Python 可视化工具其中最核心的就是基于 PyQt6 的雷达仪表盘GUI V7。本攻略将带你完成PLFM_RADAR 环境搭建的每一个步骤从准备 Python 3.12 虚拟环境、安装 PyQt6 及全部依赖到成功启动雷达控制界面全程避开新手最常见的坑。即使你手上还没有雷达硬件也能通过内置的 Mock 模拟模式先跑起来看效果。一、搭建前必读PLFM_RADAR 软件版图动手之前先花 1 分钟了解仓库里有什么避免装错依赖。PLFM_RADAR 的软件主要集中在9_Firmware目录9_Firmware/9_3_GUI/Python 图形界面包含 GUI V7PyQt6、V6、V65Tkinter等多个版本当前主力是GUI V79_Firmware/9_2_FPGA/FPGA 信号处理代码Verilog环境搭建阶段基本用不到9_Firmware/9_1_Microcontroller/STM32 固件属于硬件烧录范畴。系统架构图可以帮你理解软件与硬件的关系RADAR_V6_V2.png 展示了 FPGA、STM32、天线阵列与电源管理模块的完整信号流。重要提醒项目的 pyproject.toml 声明requires-python 3.12这是环境搭建的硬性门槛请务必使用 Python 3.12 或更高版本别用 3.10 以下的老版本硬撑否则部分依赖会解析失败。二、环境搭建前的准备工作清单在开始 PLFM_RADAR 环境搭建之前先确认三件事操作系统Windows / Linux / macOS 均可本指南以通用命令演示Windows 用户把python3换成python把source换成虚拟环境激活脚本路径即可Python 版本确认python3 --version输出 3.12 及以上推荐从官网安装最新 3.12.x网络环境安装依赖需要访问 PyPI国内用户建议先配置 pip 国内镜像源例如清华源速度提升明显。三、最快克隆方法一步拿到全部源码打开终端进入你打算存放代码的目录然后克隆仓库git clone https://gitcode.com/GitHub_Trending/pl/PLFM_RADAR cd PLFM_RADAR克隆完成后重点确认9_Firmware/9_3_GUI/目录下存在requirements_v7.txt和GUI_V7_PyQt.py这是 PyQt6 仪表盘的依赖清单和启动入口。四、创建 Python 3.12 虚拟环境最关键的一步直接往系统 Python 里pip install很容易污染环境强烈推荐用虚拟环境隔离。这是 PLFM_RADAR 环境搭建里性价比最高的一步python3 -m venv .venv source .venv/bin/activate看到命令行前面出现(.venv)前缀说明虚拟环境已激活。之后所有安装与启动命令都在这套环境里执行卸载时直接删除.venv文件夹即可零残留。五、安装 PyQt6 雷达仪表盘依赖一条命令搞定激活虚拟环境后安装 GUI V7 的全部依赖pip install -r 9_Firmware/9_3_GUI/requirements_v7.txt该清单requirements_v7.txt包含依赖包作用是否必需PyQt6、PyQt6-WebEngine仪表盘主框架与地图组件必需numpy、matplotlib距离多普勒图绘制必需pyusb、pyftdi与 FPGA 的 USB 通信可选无硬件可跳过scipy、scikit-learn、filterpy信号处理与目标跟踪可选crcmod数据包校验可选依赖是优雅降级设计的没有硬件、没装可选包GUI 也能启动只是部分功能不可用。如果你只是想先看界面也可以只装精简版pip install -r 9_Firmware/9_3_GUI/requirements_pyqt_gui.txt六、PyQt6 安装失败的 3 个常见坑与解法新手在安装 PyQt6 时最容易踩这几个坑逐一拆解坑 1pip 解析超时或下载缓慢。解法使用国内镜像源pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r ...。坑 2PyQt6-WebEngine 安装后导入报错QtWebEngineCore 崩溃。这多发生在 Linux 服务器或精简版系统缺少显卡/浏览器内核依赖时。解法先安装系统级依赖如libxcb-cursor0等 Qt 运行库或改用 Tkinter 版本 GUI_V65_Tk.py 兜底。坑 3找不到PyQt6模块。多半是没激活虚拟环境或装到了别的 Python 上。确认pip list | grep PyQt6输出中包含 PyQt6 6.5 以上版本。七、启动雷达仪表盘见证 PyQt6 界面的那一刻依赖装好后进入 GUI 目录启动cd 9_Firmware/9_3_GUI python GUI_V7_PyQt.py几秒钟后你就会看到雷达仪表盘主窗口对应上图顶部是 Start Radar / Stop Radar 控制按钮中央是 64×32 的距离多普勒图Range-Doppler Map右侧表格实时列出目标的 Track ID、距离、速度与方位角还有地图视图Map View、FPGA 控制FPGA Control、AGC 监控等共六个标签页。界面细节可参考源码注释dashboard.py 是主窗口实现models.py 定义了雷达目标与设置的数据模型。八、没有硬件也能玩Mock 模式与演示模式这是 PLFM_RADAR 最贴心的设计之一——没有雷达硬件依然可以完整体验软件流程Mock 模拟模式GUI V7 内置FT2232HConnection(mockTrue)用软件模拟 FPGA 数据流界面会像接上真机一样刷新距离多普勒图和目标列表独立冒烟测试运行python smoke_test.py脚本会以 Mock 模式执行 FPGA 自检流程BRAM 读写、CIC 运算、FFT 蝶形等返回 PASS/FAIL 结果smoke_test.py历史演示版python GUI_V6_Demo.py可启动带演示数据的旧版界面适合快速截图或熟悉交互。上图是项目仿真结果之一Kaiser 窗加权下的阵列方向图热图副瓣抑制约 -25 dB。仿真脚本位于 5_Simulations/感兴趣的读者环境搭好后可以复现。九、验证环境是否健康跑一遍测试套件环境搭好之后强烈建议用项目自带测试做一次体检cd 9_Firmware/9_3_GUI python test_v7.py该测试会验证 v7 包的核心模块模型、硬件接口、处理管线能否正常导入与工作。此外仓库根目录的 pyproject.toml 还配置了 Ruff 静态检查与 pytest进阶用户可以安装开发依赖做代码规范校验pip install -e .[dev]十、给新手的最终建议与排错速查表先 Mock 后真机先用模拟模式确认软件环境 OK再接 FT2232H 硬件排查问题更高效USB 权限Linux连接真机时若提示找不到设备多半是 udev 权限问题需要为 FT2232H 添加设备规则地图显示空白GUI V7 的地图使用 Leaflet.js 在线瓦片离线环境会显示空白但不影响雷达功能想深入学习硬件资料在 4_Schematics and Boards Layout/文档在 docs/固件在 9_Firmware/。排错速查表症状大概率原因解法pip 找不到 PyQt6Python 版本过低升级到 Python 3.12导入 QtWebEngineCore 报错缺系统 Qt 运行库安装libxcb-cursor0等库启动即闪退未激活虚拟环境检查(.venv)前缀真机模式下无设备USB 权限 / 未装 pyftdi配置 udev 规则并安装可选依赖至此从 Python 3.12 虚拟环境到 PyQt6 雷达仪表盘整套 PLFM_RADAR 环境搭建已经全部完成。这套开源雷达的软件栈足够友好既能用 Mock 模式快速上手也能接入真实 FPGA 做信号处理实验。接下来就可以打开官方文档 docs/ 深入了解雷达原理或者进入 9_Firmware/9_2_FPGA/ 研究 FPGA 处理管线了。祝你在 10.5 GHz 相控阵雷达的世界里玩得开心【免费下载链接】PLFM_RADAROpen-source, low-cost 10.5 GHz PLFM phased array RADAR system项目地址: https://gitcode.com/GitHub_Trending/pl/PLFM_RADAR创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考