基于模拟反向散射通信与大语言模型推理的近零功耗语义感知系统。
上海交通大学课程设计项目
┌─────────────────┐ 反向散射 ┌──────────────┐ SDR接收 ┌──────────────────────┐
│ 模拟感知前端 │ ──────────→ │ RF 无线信道 │ ────────→ │ 软件接收 & DSP 解调 │
│ (VCO + R/L/C) │ 零功耗传输 │ │ │ (IQ → FM解调 → 音频) │
└─────────────────┘ └──────────────┘ └──────────┬───────────┘
│
▼
┌──────────────────────┐
┌──────────────┐ │ AI 感知层 │
│ Streamlit │ ←──────── │ Whisper ASR + AST │
│ 交互界面 │ │ + LLM Agent 推理 │
└──────────────┘ └──────────────────────┘
LLM_demo/
├── agent/ # LLM Agent 模块
│ ├── prompts/
│ │ └── system.txt # System Prompt
│ └── core.py # Agent 核心逻辑 (Tool Calling + 两轮对话)
├── configs/
│ └── settings.py # 集中配置 (LLM / DSP 参数 / 路径)
├── data/ # 测试数据 (.bin RF信号文件)
├── tools/
│ ├── dsp/
│ │ └── rf_demod.py # DSP 解调 (IQ读取 → FM解调 → 频谱图 → Whisper识别)
│ ├── rag/ # RAG 知识库 (预留)
│ └── registry.py # 工具注册表 (Tool schema 管理)
├── .env # API Key 等敏感配置
├── app.py # Streamlit Web 入口
└── requirements.txt # Python 依赖
conda create -n llm_iot python=3.10
conda activate llm_iot
pip install -r requirements.txt编辑 .env 文件,填入你的 LLM API Key:
LLM_API_KEY=sk-你的密钥
LLM_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
LLM_MODEL=qwen3.5-plusstreamlit run app.py浏览器访问 http://localhost:8501,上传 .bin 格式的 RF 信号文件即可开始分析。
- 上传 — 用户通过 Web 界面上传 SDR 采集的原始 IQ 数据 (
.bin) - DSP 解调 — 移频 → 低通滤波 → FM 鉴频 → 降采样为 32kHz 音频,同时生成频谱图
- AI 感知 — Whisper 进行语音识别 (ASR),提取环境声音事件标签
- LLM 推理 — Agent 调用工具获取多模态数据,生成综合诊断报告
- 展示 — 左栏显示频谱图 + 音频播放器 + 指标卡片,右栏显示 AI 分析报告
| 参数 | 值 | 说明 |
|---|---|---|
| SDR 采样率 | 2 MHz | IQ 采样率 |
| 发射频率 | 920 MHz | 反向散射激励源 |
| 接收频率 | 921 MHz | SDR 接收中心频率 |
| 音频采样率 | 32 kHz | 解调后音频输出 |
| 目标基带频率 | -0.75 MHz | 副载波中心 |
- DSP: NumPy, SciPy (信号处理), Matplotlib (频谱图)
- ASR: OpenAI Whisper (语音识别)
- LLM: Qwen (通义千问) via DashScope API, OpenAI-compatible Tool Calling
- Web: Streamlit