技术文档

深入了解MRRC的系统架构、DSP处理流程和高级功能实现

🏗️ 系统架构

整体架构图

┌─────────────────────────────────────────────────────────────────────────┐
│                         MRRC 系统架构 V4.9.3                             │
├─────────────────────────────────────────────────────────────────────────┤
│  客户端层                                                                 │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐  ┌──────────┐  │
│  │ 移动端界面    │  │ 桌面端界面    │  │ CW解码页面   │  │ FT8控制台 │  │
│  │ mobile_modern │  │ modern.html  │  │ cw_live.html │  │ ft8_ultron│  │
│  └──────┬───────┘  └──────┬───────┘  └──────┬───────┘  └────┬─────┘  │
│         │                  │                 │                │        │
│         └──────────────────┴─────────────────┴────────────────┘        │
│                                    │                                     │
│                            HTTPS / WebSocket                             │
│                                    ▼                                     │
├─────────────────────────────────────────────────────────────────────────┤
│  服务层                                                                   │
│  ┌──────────────────────────────────────────────────────────────┐      │
│  │                      MRRC 主程序 (Tornado)                     │      │
│  ├──────────────────────────────────────────────────────────────┤      │
│  │  /WSCTRX     - 主控制+音频 (PTT/频率/模式)                      │      │
│  │  /WSATR1000  - 天调功率/SWR实时显示                             │      │
│  │  /WSCW       - CW后端解码 (可选)                                │      │
│  └──────┬─────────────────────────────────────────────┬──────────┘      │
│         │                                             │                  │
│         ▼                                             ▼                  │
│  ┌─────────────────┐                         ┌──────────────────┐     │
│  │  rigctld        │                         │  ATR-1000 代理   │     │
│  │  (Hamlib)       │                         │  atr1000_proxy   │     │
│  └────────┬────────┘                         └────────┬─────────┘     │
│           │                                            │                │
│           ▼                                            ▼                │
│  ┌─────────────────┐                         ┌──────────────────┐     │
│  │   电台设备      │                         │  ATR-1000 天调   │     │
│  │  IC-M710       │                         │  功率计/天调     │     │
│  └─────────────────┘                         └──────────────────┘     │
│                                                                          │
│  ┌──────────────────────────────────────────────────────────────┐      │
│  │                    FT8/ULTRON 集成 (可选)                      │      │
│  ├──────────────────────────────────────────────────────────────┤      │
│  │  ULTRON 自动化工具 → JTDX/WSJT-X → UDP 2237                  │      │
│  │  DXCC 目标追踪、智能通联、自动 CQ                             │      │
│  └──────────────────────────────────────────────────────────────┘      │
└─────────────────────────────────────────────────────────────────────────┘
                

核心组件

组件 文件 功能
主程序 MRRC WebSocket服务器,处理音频流和控制命令
音频接口 audio_interface.py PyAudio封装,支持多格式解码
DSP处理 wdsp_wrapper.py WDSP库封装,NR2降噪/AGC/ANF
电台控制 hamlib_wrapper.py rigctld通信封装
天调代理 atr1000_proxy.py ATR-1000独立代理进程
语音助手 voice_assistant_service.py Whisper ASR + Qwen3-TTS
FT8集成 ft8/ultron.py ULTRON自动化工具,DXCC追踪

🔊 音频处理流程

接收音频链路 (RX)

电台音频 (48kHz Float32)
    │
    ▼
┌─────────────────┐
│ DC去除 + 软削波  │  保护后续处理
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│ Int16 转换      │  48kHz → 16bit
└────────┬────────┘
         │
         ▼  (可选)
┌─────────────────┐
│ WDSP 处理       │  NR2/NB/ANF/AGC
│  - 频谱降噪     │  15-20dB降噪
│  - 噪声抑制     │
│  - 自动陷波     │
│  - AGC增益     │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│ Opus 编码       │  16kHz/20kbps
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│ WebSocket      │  浏览器传输
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│ AudioWorklet   │  低延迟播放
└─────────────────┘
                

发射音频链路 (TX)

麦克风输入 (48kHz)
    │
    ▼
┌─────────────────┐
│ 抗混叠滤波     │  6kHz低通
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│ 降采样         │  48kHz → 16kHz
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│ TX均衡器       │  三段EQ预设
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│ Opus 解码      │  16kHz → 48kHz
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│ WebSocket      │  发送到服务器
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│ 电台输入       │  CAT PTT控制
└─────────────────┘
                

🎛️ WDSP 数字信号处理

WDSP (Warren Pratt's Digital Signal Processing) 是 OpenHPSDR 项目开发的高性能DSP库,被广泛应用于专业业余无线电软件。

功能模块

模块 功能 效果
NR2 频谱降噪 15-20dB 降噪深度
NB 脉冲噪声抑制 消除火花/雷电
ANF 自动陷波 消除单频干扰
AGC 自动增益控制 4种模式可选

AGC 模式

  • LONG:长延迟,适合稳定信号
  • SLOW:慢响应,平衡选择
  • MED:中等响应,默认推荐
  • FAST:快速响应,适合快速QSY

📡 CW 解码系统架构

MRRC V4.8 引入了完整的 CW 实时解码系统,采用 Browser-First AI 设计理念。

双模式解码架构

┌─────────────────────────────────────────────────────────────┐
│                     CW 解码双模式架构                          │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  前端模式 (推荐)                                              │
│  ┌──────────────┐    ┌──────────────┐    ┌──────────────┐  │
│  │ 音频流       │───►│ ONNX Runtime │───►│ CTC 解码     │  │
│  │ (16kHz)      │    │ (2MB模型)    │    │              │  │
│  └──────────────┘    └──────────────┘    └──────────────┘  │
│         │                                       │             │
│         │                              ┌────────▼────────┐    │
│         │                              │ QSO 状态机     │    │
│         │                              │ 智能回复建议   │    │
│         │                              └────────────────┘    │
│         │                                                     │
│  延迟: <50ms                                              │
│  依赖: 无 (纯浏览器)                                          │
│                                                              │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  后端模式 (备选)                                              │
│  ┌──────────────┐    ┌──────────────┐    ┌──────────────┐  │
│  │ WebSocket   │───►│ morseangel   │───►│ 文本输出     │  │
│  │ /WSCW       │    │ (PyTorch)    │    │              │  │
│  └──────────────┘    └──────────────┘    └──────────────┘  │
│                                                              │
│  延迟: <100ms                                              │
│  依赖: PyTorch + CUDA                                        │
│                                                              │
└─────────────────────────────────────────────────────────────┘
                

技术规格

指标 前端模式 后端模式
模型大小 2MB (ONNX) 160MB (PyTorch)
推理延迟 <50ms <100ms
字符错误率 <3% <2%
网络依赖

在线体验

📊 ATR-1000 集成

系统架构

┌─────────────────────────────────────────────────────────────┐
│                    ATR-1000 集成架构                          │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  前端 (mobile_modern.js)                                     │
│      │                                                        │
│      │ WebSocket /WSATR1000                                  │
│      ▼                                                        │
│  ┌─────────────────┐                                         │
│  │ UHRR 主程序     │  消息路由 + 批量广播                      │
│  └────────┬────────┘                                         │
│           │                                                  │
│           │ Unix Socket                                      │
│           ▼                                                  │
│  ┌─────────────────┐     WebSocket                          │
│  │ atr1000_proxy  │◄────────────────────────────────┐        │
│  │ 独立进程        │                                  │        │
│  └────────┬────────┘                                  │        │
│           │                                             │        │
│           └──────────────────────┬──────────────────────┘        │
│                                  │                                │
│                                  ▼                                │
│                    ┌──────────────────────┐                      │
│                    │  ATR-1000 设备       │                      │
│                    │  192.168.1.63:60001  │                      │
│                    │  功率/SWR/继电器状态  │                      │
│                    └──────────────────────┘                      │
└─────────────────────────────────────────────────────────────┘
                

智能天调学习

  • 自动学习:每次发射时记录频率与天调参数对应关系
  • 快速调谐:频率变化时自动应用已学习参数
  • 参数持久化:保存到 atr1000_tuner.json

📻 FT8/ULTRON 集成

ULTRON Enhanced 是 MRRC V4.9 新增的 FT8 数字模式自动化工具,支持 JTDX、WSJT-X、MSHV 软件联动。

核心功能

功能 说明
自动 CQ 空闲时自动呼叫 CQ
智能响应 自动应答来电呼叫
DXCC 追踪 目标实体白名单,智能选择
波段策略 不同波段不同目标
日志分析 自动分析已通联实体

运行命令

# 进入 FT8 目录
cd ft8

# 运行 ULTRON (Python 版)
python run_ultron.py

# DXCC 增强模式
python ultron_dxcc.py

# 分析 DXCC 状态
python dxcc_analyzer.py

在线体验

📝 通信协议

WebSocket 命令

命令 格式 说明
设置频率 setFreq:14074000 Hz为单位
设置模式 setMode:USB USB/LSB/CW/FM
PTT控制 setPTT:1 1=发射, 0=接收
音量 setRXA:50 0-100
滤波器 setFilter:2400 Hz为单位
WDSP控制 setWDSP:NR2:1 模块:开关

需要更多帮助?

查看安装指南或加入社区讨论