功能特性详解

当前版本 V6.1.18(文中 V5.x / V6.0.x 为历史版本,保留原样)

深入了解MRRC的每一个核心功能,释放业余无线电的无限可能

⚡ 超低延迟音频传输

<100ms
TX/RX切换延迟
~65ms
TX发射延迟
~51ms
RX接收延迟

技术实现

  • AudioWorklet播放器:使用Web Audio API的AudioWorklet降低主线程抖动,实现低延迟音频播放
  • 区间缓冲:16/32帧配置,平衡延迟与稳定性
  • PTT防抖机制:50ms防抖延迟,防止重复命令
  • 缓冲区清除优化:TX释放时立即清除RX缓冲区
  • Int16编码:相比Float32减少50%带宽

优化对比

指标 传统方案 MRRC优化后
TX→RX切换 2-3秒 <100ms
PTT可靠性 95% 99%+
音频带宽 256kbps 128kbps

🔧 WDSP专业降噪处理

集成Warren Pratt's Digital Signal Processing库,这是OpenHPSDR项目的高性能DSP库,广泛应用于Thetis、piHPSDR等专业业余无线电软件。

核心功能

🔇

NR2 频谱降噪

基于谱减法的降噪算法,15-20dB降噪深度,语音保真度极高,专门针对SSB语音优化

⚡

NB 噪声抑制

消除脉冲干扰,有效抑制电器火花、雷电等突发噪声

🎯

ANF 自动陷波

自动消除单频干扰,适用于CW报音、载波干扰等场景

📊

AGC 自动增益

4种模式可选:LONG/SLOW/MED/FAST,适应不同信号环境

与RNNoise对比

特性 WDSP (NR2) RNNoise
降噪深度 15-20 dB 10-15 dB
语音保真度 ⭐⭐⭐⭐⭐ ⭐⭐⭐
SSB优化 ✅ 专门优化 ❌ 通用语音
延迟 < 20ms 30-50ms

📱 移动端深度优化

触摸优化

  • 大尺寸PTT按钮:底部居中设计,适配拇指操作区域
  • 触摸增强:300ms防误触,长按/短按区分
  • 触觉反馈:PTT按钮震动反馈(iOS/Android支持)
  • 安全区域适配:自动适配刘海屏和底部指示器

PWA支持

  • 添加到主屏幕:支持作为独立应用运行
  • 离线访问:Service Worker缓存关键资源
  • 快速启动:优化的启动流程,秒开应用

设备兼容性

📱 iPhone 15系列 ✓ 完美支持
📱 iPhone 12/13/14 ✓ 完美支持
📱 Android旗舰 ✓ 完美支持
📱 iPad/平板 ✓ 支持

📊 ATR-1000 功率计/天调集成

实时监测

  • 功率显示:0-200W实时前向功率显示
  • SWR监测:1.0-9.99实时驻波比显示
  • 继电器状态:LC/CL网络、电感/电容值显示
  • 显示延迟:<200ms实时更新

智能天调学习

学习条件

  • 按实测前向功率判定发射(≥ 3W)——面板直发/外部软件路径同样可学习(V5.8.5)
  • SWR 在 1.0 ~ 1.8 之间
  • 继电器/调谐稳定后(1s 忽略窗口)连续 4 个稳定样本(SWR 波动 ≤ 0.08)
  • 分级去重:恶化跳过、不变 5s 冷却、改善立即学习

快速调谐

  • 切换频率时自动应用已学习的天调参数
  • ±10kHz容差范围查找
  • 参数持久化到JSON文件

SWR>2 自动完整调谐守卫(V5.8.0)

  • 发射期间 SWR > 2.0 持续 ≥1.5s 自动触发 ATR-1000 完整调谐
  • 30s 冷却 + 同一频率连续 3 次失败保护
  • 调谐后的更优参数自动学习并持久化

协议细节

通信协议:WebSocket + JSON
数据帧格式:FF CMD LEN DATA...
响应示例:ff050701031b1e000e01
  → SW=CL, IND=30(0.3uH), CAP=27(270pF)

🎙️ AI语音助手

语音识别 (ASR)

  • Whisper本地模型:OpenAI Whisper base模型,150MB,完全本地运行
  • 实时识别:电台接收语音实时转文字
  • 多语言支持:中文、英文、日文等
  • 呼号识别:自动识别呼号格式

语音合成 (TTS)

  • Qwen3-TTS集成:阿里巴巴1.7B模型,真正男中音
  • 字母解释法:呼号自动转换为国际字母解释法发音
  • 智能切换:中英文自动选择最佳语音
  • PTT联动:按住发射按钮自动合成并发射

使用场景

接收识别:对方语音 → 文字显示在对话框
回复合成:输入文字 → 合成语音 → 按住PTT发射
呼号优化:"BG1SB" → "BG1SB (Bravo Golf One Sierra Bravo)"

🎚️ RagChew TX 音频处理链

V5.1 引入了完整的基于 Web Audio API 的发射音频处理链 — 为业余无线电打造的录音室级语音优化。

处理链 (V5.1+)

阶段 参数 数值 作用
4段均衡器 低切 / 中切 / 临场 / 高切 150Hz / -2dB@500Hz / +3dB@2.4kHz / 3kHz 塑造 SSB 语音清晰度
动态压缩器 压缩比 / 启动 / 释放 3:1 / 5ms / 50ms 稳定调制电平
噪声门 阈值 -50dB 不说话时静音背景噪声

TX 均衡器预设 (传统三频段)

预设 低频 (<100Hz) 中频 (1500Hz) 高频 (>2700Hz) 适用场景
短波语音 -20dB +6dB -20dB 标准 SSB 通信
手机优化 -15dB +8dB -24dB 手机麦克风
弱信号 -20dB +10dB -25dB DX / 竞赛

📶 实时网络监控

V5.3 引入了实时网络带宽与延迟监控,让操作者全面了解连接质量。

  • 带宽显示:实时上下行吞吐量 (kbps)
  • 延迟监控:WebSocket ping-pong 往返时间显示
  • 视觉增强:发光效果、大字号、颜色分级阈值
  • 状态栏精简:移除冗余的 CTL/RX/TX 连接指示器

📈 实时频谱显示

  • WebGL加速:GPU渲染,流畅显示
  • 瀑布图:时间-频率-强度三维显示
  • 可配置参数:采样率、中心频率、增益
  • RTL-SDR支持:支持RTL-SDR设备

📉 NanoVNA矢量网络分析仪

  • Web界面:内置NanoVNA Web控制界面
  • 独立PWA:可添加到主屏幕作为独立应用
  • 实时测量:S11、S21参数实时显示
  • 史密斯圆图:支持史密斯圆图显示

🛡️ PTT 安全防护系统 (V5.6+)

三层 TX 保护架构,专门防止远程电台操控中最危险的故障模式:电台卡在发射状态。每层提供独立保护,并具有冗余回退路径。

第一层:客户端守护 (浏览器)

👆

触屏滑动自动释放

手指滑出发射按钮 → 通过 touchmove/touchcancel 立即停止 PTT

🪟

页面隐藏强制停发

页面进入后台或窗口失焦且 TX 激活中 → 强制释放 PTT,最多防止 30 秒意外发射

⏱️

30 秒看门狗定时器

硬件看门狗:TX 状态激活超过 30 秒且无确认 → 强制释放

🔒

处理锁泄漏检测

处理锁持有超过 3 秒 → 自动释放,防止静默停发失败导致 TX 卡死

第二层:释放 ACK 协议

机制描述
ACK 重试发送 setPTT:false 后,等待最多 1 秒服务端确认。若未确认,最多重传 3 次
冗余音频通路回退每次重试时,同时通过 TX 音频 WebSocket 发送 s: 作为冗余释放路径 — 即使控制 WebSocket 半开也能工作
连接断开触发3 次 ACK 重试失败后,强制通过 onControlConnectionDead() 重建控制通道

第三层:服务端保护

机制描述
120 秒 TOT 硬限制超时定时器:PTTSafetyMonitor 线程强制执行绝对 120 秒最大发射时长
持续重试PTT 释放每 2 秒重试一次,直到硬件确认状态变化
故障广播pttError:release_failed 或 pttError:tot_timeout 广播给所有连接的客户端

准备好开始使用了吗?

按照安装指南,5分钟内即可搭建完整的远程电台控制系统

⬆️ 一键升级(Windows 安装版)

自 V6.1.0 起内建,V6.1.18 真机端到端验证通过。启动器启动时读取 SHA256 固定校验的清单,发现新版本就在后台下载(不打断收听),然后等你触发:

随后:弹一次管理员确认(UAC)→ 静默安装 → 自动重启到新版本。新版启动时自己确认成功, 所以“到底成功没有”是事实而不是猜测;上一版保留在服务器上,【回退到上一版】同样一键。

为什么在 Windows 上不简单

控制台程序没有消息循环(安装器的 RestartManager 关不掉它)、已提权进程再用 runas 启动会在非交互窗口站永久卡住、控制台代码页是 GBK(日志里的 emoji 会杀死转发线程)、 threading.Lock 只在进程内有效(两个启动器实例会抢同一个临时文件)。 这十类陷阱都由真机验收抓出并修复。

🐞 一键诊断包

出问题时用户不必看懂日志:菜单 → 🐞 遇到问题 一键收集维护者真正需要的东西—— 启动器/服务端输出、state.json、安装器日志、音频设备表、性能采样、以及 脱敏后的配置(白名单;密钥替换;证书与用户数据库永不打包), 并附带自动体检摘要(IOLoop 看门狗、发射初始化耗时、音频健康、天调数据新鲜度)。 可一键上传给维护者,也可只保存到本地。

🎛️ 电台机型表与 hamlib 实时对齐

设备配置不再硬编码机型:rig_models.py 运行时枚举本机 hamlib 的 312 个机型,并同时写入协议栈真正读取的两个键 ([HAMLIB] rig_model 与 [INSTANCE_SETTINGS] instance_rigctl_model), 与 rigctld 实报不一致时在界面上给出提示。

🛟 产品支持生命周期

MRRC 是当作产品维护的:发版 → 升级 → 诊断 → AI 分诊 → 答复 形成闭环,最后一步你可以自己看。 完整的五段表(做法 / 判据 / 产物 / 细则链接)见 产品支持生命周期:

发版单测 + 内联脚本语法守卫 + 产物级热修验收 3/3 三道闸门;站点维护 latest.json(升级)与 patch.json(热修);发布字节以服务器侧 SHA256 为准
升级一键(页面按钮或按 U)→ 下载 + 校验 → 一次 UAC → 静默安装 → 自动重启;成功判据 = 新版自证 lastResult = ok
诊断🐞 一键生成脱敏诊断包(含自动体检摘要)
AI 分诊定时任务取出新上报、生成摘要,交由项目 AI 按固定判定纪律分析(材料不足就写“需要补充信息”,绝不下没有证据的结论)
答复结论发布到 公开答复页(按编号/关键词可搜);确认是缺陷时:先给临时规避,再修代码——能热修的重启即生效