BD8DQS 简而言之,本人在了解到CP16通信协议后对这种方式产生了一定兴趣。在向CRAC征求意见并获得支持后,本人根据原CP16通信协议的思想和方法重新开发了CP16+。CP16+总体来讲沿用了16*16的点阵显示方法,但增加了机读层以实现自动通联信息记录,自动纠错和参数调节等功能,整体使用体验优于原版CP16。该协议和配套软件搭配后,在-9db、-12db时仍然有较强的可读性。同时,CP16+的软件也采用了更加现代化的实现方法,体积小、速度快、效果好。详细的使用说明请参见github链接。CP16+通信协议及其配套软件都在GITHUB上采用MIT协议开源(https://github.com/hatsunesenya/cp16_plus),欢迎各位爱好者下载、体验、基于此开发新应用,或者对软件提出意见建议。由于软件的开发整体上处于相当早期的阶段,想必会有很多的BUG和可优化之处。如您不能访问github或有任何其他问题,欢迎联系作者bd8dqs@163.com。73!(以下是AI大人撰写的漂亮的md格式的说明)## 和 CP16 是什么关系CP16 是同一思路的早期版本:16 个音、固定的行速、参数在报文头里只传一次。CP16+ 是它的重写,改的是"骨架"而不是"想法":| 项目 | CP16 | CP16+ || --- | --- | --- || 行速 | 固定 | 档位化(`k = Δf · T_row`,M1/M2/M4/M8 四档,另有两种共存布局) || 参数 | 报文头里传一次 | 除报文头外,**每 10 秒**还有一帧同步帧(含字符计数、呼号校验) || 纠错 | 无 | 控制信道用 DQPSK + 卷积码 + CRC-16 || 定时 | 接收端自己找 | 导频定标 + 控制信道锚定,明确"一行 = 5k 个符号" || 字库 | — | CPF1 容器,16×16,覆盖 GB2312 全部 7445 字 |两者**帧结构不同、互不识别**当然,理论上,两者都可以直接在频谱图上读取。## 设计思路1. **人眼优先。** 判定 0/1 的工作交给视网膜而不是 DSP。信号弱时字迹变淡, 而不是"解码失败、一个字符都没有"——可以慢慢抄,抄一半也有收获。2. **机读层只带参数。** 呼号、网格、字符数、档位走控制信道,正文不进机读层。 即使机读层全丢,人眼照样能抄下内容。3. **用时间换可靠。** 单字 0.68–5.44 s 六种节奏,另可把每一行重复 2–3 次"描粗"笔画。 想快用 M1,想远用 M8 加重复。4. **可标定。** 450 Hz 与 1250 Hz 两根导频相隔 32 个音间距, 收发频偏能精确解出;控制信道给出每一行的起点,不靠猜。## 频谱长什么样```text 450 620 800 ─────────── 1175 1250 ●──────────●──────────●─●─●─ … ─●─●─────────● Hz 导频 P1 控制信道 16 个视觉音(25 Hz 间隔) 导频 P2```在瀑布图上:横轴频率、纵轴时间。一个汉字占 16 行(16 个时间片),每一片里亮起的那几个音就是这一行的笔画;每个字开头还有一条更低的短亮线(边距音),用来对齐字头。## 档位| 档位 | 单字时长 | 特点 || --- | --- | --- || M1 | 0.68 s | 最快,要求信号干净 || **M2(默认)** | 1.36 s | 日常通联的平衡点 || M4 | 2.72 s | 弱信号、QRP 常用 || M8 | 5.44 s | 极限条件,配合重复 || 24-M4 | 4.00 s | 24 音清晰档,笔画更细 || 16N-M4 | 3.63 s | 共存布局,整体压到 1 kHz 以下 |注:不建议大家调整档位。除M2以外的档位我还没有实测过。## 配套软件Windows 桌面程序,一页界面加一个独立窗口:- **接收**:选声卡输入,实时瀑布滚起来,肉眼读字;控制信道自动带出呼号与网格; 右侧存档区保留最近若干个 10 秒块,不暂停也能回看前几块。- **发射**:输入报文(ASCII 自动转全角)、选档位,按 UTC 整十秒对齐播出,可中途打断。- **原始瀑布图**:独立窗口,横轴频率、时间自上而下流(SDR 那种流水), 用于检查设备是否正常、以及主界面读不出来时人工判读。- **电台联动**:通过 Hamlib 支持 260 余种型号的 CAT 读写频率与自动 PTT。- **通联日志**:呼号/网格/频率逐条记录,导出标准 ADIF 3.1.4。## 怎么开始1. 下载安装包(`cp16plus-B0.1.1-<日期>-安装包.exe`),装完桌面有快捷方式。2. 电台调到常用频点,音频线(或 USB 声卡)接到电脑,软件里选对输入设备。3. 先用 **M2 + 重复 1** 试水:慢一点更容易读,链路通了再提速。4. 判读困难时:调大主界面"行高",或打开"原始瀑布图"把行高调到 1×/2×; 仍然读不出就换更慢的档位或加大重复。## 版本与许可- 协议 V1(含 v1.1 同步帧),软件 β0.1.1 / B0.1.1- 协议与参考实现采用 **MIT**,可自由修改、再分发;随包的 Hamlib 为 LGPL-2.1 (动态链接,可自行替换)- 规范细节见《CP16+ 协议规范》,操作细节见《CP16+ 软件使用手册》