起因

玩 SDR/短波接收时,518 kHz 上全天候循环广播着一种“嘟嘟”的电报信号——NAVTEX。它是海上安全信息(MSI)的官方广播业务,信号格式公开、发射时间表固定,是练手解调算法(2FSK + 电传纠错)的绝佳标本。这篇文章把它的业务机制和物理层原理捋一遍。

NAVTEX 是什么(业务层)

NAVTEX是“航行警告电传电报”的英文简称,是采用无线电传直接印字电报 方式进行收发通信的海上专用业务类型。通过该业务,船舶可以从海岸电台的广播中自动接收到诸如搜救信息、航行警告、气象预报等电文,接收机按电文的技术编码自动取舍、打印/存储,无需值守。

它工作在 SITOR-B 电传模式:100 波特、每个字符 7 比特、恒定“4 个传号 + 3 个空号”的编码(4B/3Y)。这种编码本身就是纠错设计——接收端只认符合 4:3 比例的字符,不符就当错码丢弃;每个字符还相隔 280ms 发送两遍(时间分集),两遍取有效者,抗短波信道衰落。海岸电台按协调好的时间表轮流发射(每台每 4 小时占用约 10 分钟),避免同频互相干扰。

工作频率

接收频率:518 kHz ,490 或 4209.5 kHz ;

数据格式: F1B或者J2B

518 kHz 是国际主力频率(英文电文);490 kHz 留给各国本国语言业务;4209.5 kHz 是补充频率。F1B 指直接在射频上做 FSK 的电报;J2B 则是把音频 FSK 送进单边带发射机(SSB 上边带)等效出来的数据传输——SDR 接收时两种最终都落到“解调 2FSK”这一步。

信号的解调

NAVTEX系统采用的是2FSK调制, FSK解调有相干解调和非相干解调, 由于相干解调要求设置与发送设备中的高频载波同频同相的本地参考载波, 使设备复杂, 因此在这里采用了一种新的非相干解调算法: 正交自延时FSK解调算法。

它的原理可以从“频率信息藏在哪”推出来:对正弦信号,相邻两个采样点的相位差恰好等于 2πf·Δt——相位随时间的变化率就是频率。所以把接收信号 x(t) 与它自身延时 τ 的副本相乘(自延时相乘),乘积的相位角就是 2πfτ,频率被“搬”成了相位差;再用正交两路(I/Q)取出这个相角,经低通滤波后过判决门限,就恢复了 0/1。整个过程不需要与载波同频同相的本地参考(非相干),避开了短波信道里载波相位漂移的麻烦——这正是选择它的原因。

2FSK(Frequency Shift Keying)为二进制数字频率调制

2FSK(Frequency Shift Keying)为二进制数字频率调制(二进制频移键控), 用载波的频率来传送数字信息,即用所传送的数字信息控制载波的频率。 2FSK信号便是符号“0”对应于载频 f1,而符号“1”对应于载频 f2(与 f1 不同的另一载频)的已调波形, 而且 f1 与 f2 之间的改变是瞬间的。 传“0”信号时,发送频率为 f1 的载波; 传“1”信号时, 发送频率为 f2的载波。 可见,FSK 是用不同频率的载波来传递数字消息的。

NAVTEX 的具体参数:射频中心 518 kHz、频偏 ±85 Hz(两个音对应 170 Hz 间隔),100 波特——符号速率远低于频移,属于宽带 FSK,对收发两端时钟误差都很宽容。

踩坑记录与注意事项

  • 518 kHz 夜间干扰大:夜间天波传播带来远距离同频电台混叠,接收质量昼夜差异明显,测试算法时别用一晚上的结果下结论;
  • 带通滤波要够窄:518 kHz 附近有其它业务,前端滤波不够窄时强台会把 ADC/前端推饱和,后端再好的算法也救不回来;
  • 别跳过 4B/3Y 校验:直接按 bit 流拼字符会看到大量乱码,先做恒比校验再做时间分集合并,输出才干净;
  • 发射是有时间表的:接收机长时间收不到信号不一定是自己坏了,查一下附近海岸台的广播时刻表再判断;
  • 气象传真机是另一套业务(模拟调幅传真,3 MHz / 5 MHz 等频段),与 NAVTEX 数字电传不同,别把两套解调需求混在一个流程里。