为什么需要同时导入 ADIF 和 CBR?
为什么需要同时导入 ADIF 和 CBR?(Why do we need to import both ADIF and CBR?)
能不能干脆跳过 ADIF,只导入 Cabrillo 文件?很遗憾,不行。我们不能为了只用 CBR 而完全跳过 ADIF,原因如下:
要回答这个问题,我们需要了解在日志软件中,比赛记录会用到哪些字段。任何遵循 ADIF 标准存储数据的日志软件(应该所有软件都是如此)在我们的示例比赛(交换序号、DOK 和网格定位)中应使用以下字段:
| 字段名 | 用途 | 示例数据 |
|---|---|---|
| DOK | 通联对方的 DOK | D23 |
| GRIDSQUARE | 通联对方的网格定位 | JO30 |
| SRX | 接收到的序号 | 17 |
| STX | 发送的序号 | 35 |
| SRX_STRING | 接收到的交换信息 | D23 JO30 |
| STX_STRING | 发送的交换信息 | B04 JN49 |
问题在于 N1MM+ 之类的日志软件确实会提供前 4 个字段,但不提供后 2 个。它们的理由是这些属于冗余信息,因为相关信息已在 DOK 和 GRIDSQUARE 中分别提供。但 ADIF 既不会告知我们所提供的字段中哪些属于比赛交换信息,也不会告知其顺序。
这就是 CBR 导入存在的原因——在该格式中,我们会被告知交换信息是什么以及应该按什么顺序排列。因此我们导入 CBR 文件来获取这些信息,为 Wavelog 的显示补全数据。
那么本文开头的问题就是:「为什么我们不干脆跳过 ADIF 导入,只导入 CBR 呢?」
答案很简单。CBR 格式只提供分析一场比赛所需的最少数据,并不「完整」。
来比较一下!这里有 2 个通联,分别以 ADIF 格式(左上和右上)和 CBR 格式(下方,以 "QSO:" 开头)呈现。高亮部分是(几乎)相同的信息——差异我们将在下面讨论。

以下是 ADIF 中存在、但 CBR 中不存在(至少不完全存在)的信息:
- TIME:CBR 中只有小时和分钟,没有秒
- MODE:在 CBR 中,话务/SSB 只有 "PH"。某些日志软件甚至会在 ADIF 中提供 USB 或 LSB(N1MM+ 不提供)
- MODE:CBR 中唯一有效的模式是 PH、FM、CW、RY(用于 RTTY)和 DG(用于其他任何数字模式)。特别是 DG,如果只导入 CBR 文件,我们根本不知道用的是哪种模式
- FREQ:我们会丢失整 kHz 之后的所有信息,因此 "21.21344" 会被缩短为 "21.213"
- FREQ:在 6 米波段及更高的波段上,我们会完全丢失频率,只能得到诸如 6 米波段的 "50" 和 23 厘米 QSO 的 "1.2G" 之类的通用标记,即使我们已正确记录到最后一赫兹
- OPERATOR:CBR 中没有逐条 QSO 的操作员,只有 CBR 头部中的一个操作员总表
- Exchange:虽然在 CBR 中我们能看到交换信息的完整内容及其所有部分(这正是我们想要的),但 CBR 内部并不说明这是什么。因此如果只用 CBR,我们根本不知道例如 "D23" 是一个 DOK。
另外,还有一些信息并不在 ADIF 中,但包含在 CBR 中:
- 发送的交换信息:在 ADIF 中,我们只有发送的序号。我发送的 DOK 和网格交换信息从未被提及。
这就是为什么我们需要两步流程:
首先导入 ADIF,把信息尽可能细粒度地录入日志,然后使用 CBR 获取关于交换内容与顺序的上下文信息,并补全这些缺失的信息。
只有合在一起(ADIF + CBR),我们才能得到整个过程完整无误的全貌。