毫米波生命体征监测系统 (Millimeter-wave Monitoring Device) 是一个新一代的非接触式生理信号监测平台。它利用调频连续波 (FMCW) 雷达技术,通过捕捉人体胸壁微米级的微小位移,实现无感知的 心震图 (SCG)、呼吸波形 以及 心率 监测。
本项目采用前后端分离架构,集成了 Python 后端 用于复杂的数字信号处理(卡尔曼滤波、FFT、峰值检测),以及现代化的 Vue 3 + Electron 前端 用于医疗级的实时数据可视化。该系统非常适合应用于智慧养老、睡眠监测以及临床科研等场景。
- 📡 非接触式感知: 基于毫米波雷达技术,在 0.5m - 2m 范围内无需佩戴任何设备即可监测。
- 💓 SCG 心震图分析: 实时提取并可视化心震图波形,提供更丰富的心脏机械活动信息。
- 🫁 呼吸追踪: 实时监测呼吸波形、呼吸率,并支持呼吸暂停事件检测。
- 📊 高精度心率: 采用 卡尔曼滤波 (Kalman Filter) 算法平滑心率数据,并支持 HRV (SDNN) 分析。
- 🛡️ 智能状态检测:
- 在床/离床检测: 自动识别用户是否在监测范围内。
- 异常报警: 实时检测并标记异常的生命体征数据。
- 🖥️ 交互式仪表盘:
- 灵活布局: 支持
2x2 网格和1+3 聚焦两种视图模式,适应不同监控需求。 - 拖拽交互: 支持卡片拖拽排序,自定义个性化界面。
- 深度分析: 支持波形 Y 轴自动/手动缩放,以及 SCG 信号质量阈值过滤。
- 灵活布局: 支持
本系统采用高性能的模块化架构设计:
graph TD
A[毫米波雷达] -->|UART 串口| B[Python 后端]
subgraph Backend [后端服务]
B --> C{数据处理管线}
C -->|FFT/峰值检测| D[呼吸 & 心率算法]
C -->|信号质量评估| E[SCG 分析模块]
D --> F[SQLite 数据库]
E --> F
end
B -->|IPC Named Pipes| G[Electron 前端]
subgraph Frontend [可视化界面]
G --> H[Vue 3 组件库]
H --> I[ECharts 实时渲染]
H --> J[状态管理]
end
- 硬件: 毫米波雷达开发板。
- 操作系统: Windows 10/11 或 Ubuntu 20.04+
- 运行环境:
- Python 3.8+
- Node.js 16+
-
克隆项目代码
git clone https://github.com/yourusername/mmw-monitoring-device.git cd mmw-monitoring-device -
后端环境配置
# 安装 Python 依赖 pip install -r requirements.txt -
前端环境配置
cd frontend # 安装 Node.js 依赖 npm install
后端服务负责与雷达通信并进行数据处理。
# 在项目根目录下运行
python src/main_process.py前端提供实时数据可视化界面。
- 确保后端服务已启动并正确连接到雷达设备。
- 前端默认连接本地后端服务。
cd frontend
# 开发模式运行 (浏览器访问)
npm run dev
# 或者:作为桌面应用运行
npm run electron:dev- 布局切换: 点击右上角的按钮在 Grid (网格) 和 Focus (聚焦) 视图之间切换。
- 聚焦模式: 点击任意卡片(如 SCG、呼吸、心率),将其放大至主视图区域。
- Y轴控制: 点击卡片上的
Auto按钮开启自动缩放,或手动输入Min/Max值以固定坐标轴范围,便于稳定观察。
.
├── firmware/ # 雷达固件镜像
├── frontend/ # Vue 3 + Electron 前端应用
│ ├── electron/ # Electron 主进程与预加载脚本
│ │ ├── main.js # Electron 入口
│ │ └── preload.js # 预加载脚本 (IPC 安全桥接)
│ └── src/
│ ├── components/ # 可视化组件 (SCGCard, BreathCard 等)
│ ├── utils/ # 前端工具库 (IPC 通信封装)
│ ├── App.vue # 应用根组件
│ └── main.ts # Vue 入口文件
├── hardware/ # 外壳 3D 打印模型与 CAD 文件
├── src/ # Python 后端源代码
│ ├── main_process.py # 程序入口 (多进程管理)
│ ├── config.py # 系统配置文件
│ ├── mmw_radar.py # 雷达串口通信接口
│ ├── mmw_breath.py # 呼吸信号处理算法
│ ├── mmw_heart_rate.py # 心率与 HRV 计算
│ ├── mmw_human_check.py # 人体存在与体动检测
│ ├── mmw_scg_grade.py# SCG 信号评分与分析
│ ├── mmw_database.py # 数据库读写操作封装
│ ├── models.py # SQLite 数据库模型定义
│ ├── ipc_worker.py # 进程间通信 (IPC) 核心逻辑
│ └── utils.py # 通用工具函数
└── requirements.txt # Python 依赖列表
欢迎提交 Issue 或 Pull Request 来改进本项目!
本项目采用 MIT 协议开源。详情请参阅 LICENSE 文件。