业余电台数字语音网络结构对比

发布于 2023-11-30  1195 次阅读


业余无线电中,数字手台相对于模拟手台有着可以通过网络连接进行通话的特点,使得通联的范围不再局限于电波所能触及的位置。但是各自为政的通讯制式和互联网的介入使得这个流程显得十分混乱。在翻阅了许多相关软件的信息(说明书、讨论、wiki之类的)之后,我想它们的工作流程比想象中要更简单,仅仅只是讨论的人更少而已。因此我打算在这里将这些内容整理一遍。不过由于这些软件讨论的人并不多(也许是我没找对地方),所以可能有许多错误的理解,也欢迎指正。

这里先抛开不同数字模式制式的优缺点不谈(毕竟设计理念、推出时间都相差较大),着重看几种模式的联网方式。也不讨论模拟联网,因为模拟联网直接传输音频信号,传输方式多种多样,不与网络绑定。

不联网中继

显而易见,这是最简单的情况,A发出的信号被中继站接收。随后被中继站在另一个频率上发射出去,被B接收,反之亦然。即使是在数字模式中,也是同样的原理。

当然,D-Star的中继具有多频段中继模块,但实际上可以把每个模块看作一台独立中继。

D-Star模式联网

由于D-Star在三种最流行的数字模式中诞生的最早,随后出现的八重洲系统在某种程度上也与D-Star类似。

网关

为什么要联网呢?目的自然是通过网络传输语音数据。既然要通过网络连接,那就需要电脑。因此,D-Star中继站联网需要安装一台电脑作为网关。网关作为服务器,需要使用公网IP地址。此外,网关也需要在注册服务器上进行注册,这个注册类似于DNS系统,可以用来查找网关。

D-Star设备在进行“本地CQ呼叫”时,发出的信号在中继站内部进行中继;在进行“网关CQ呼叫”时,中继站会将语音数据发送到网关,网关会在注册服务器中查找语音数据中所指定的目标中继站所使用的网关。在查找到网关后,网关会直接将数据发送到另一个网关,第二个网关会将收到的信号用中继站发送出去。

例如,1A在设备上设置Form中继站为R1,To中继站为R2。发出的信号会由R1接收,通过网关0.0.0.1传输给网关0.0.0.2,随后在中继站R2中发射。

在使用呼叫单个电台时,也是同样的原理,只不过网关会首先查询目标呼号最后使用的中继站,然后和该中继站进行通讯。

反射器

但仅仅是这样,大家会觉得有些不太够,因为这只是相当于移动到另一个中继站而已。因此,D-Star使用了名为“反射器”的服务器。

反射器也可以在注册服务器中进行注册。网关可以和反射器创建连接。反射器在接收到其中一个网关发来的数据时,会将收到的信号转发给连接在反射器中的其他网关,可以说是中继站之间的中继站。反射器软件有许多不同种类,例如REF,DCS,XRF,以及XLX。这些反射器也可以互相连接,组成更大规模的聊天室。当然,有些反射器也可以一个分成多个来用,来为多个聊天室提供服务。

例如,1A在中继站R1上进行呼叫时,R1的网关会将数据发给反射器,反射器会将数据转送给中继站R2和R3进行发射。

在D-Star设备中,可以操纵中继站所连接的反射器,这样可以加入不同种类的房间。当然,这么做之前请先收听,确保没有其他人在用当前的反射器,或是征求其他正在使用的人的同意。

终端模式/接入点(热点)

但是这样还是不够,如果有人不在中继站的覆盖范围内该怎么办呢?这时就要使用到接入点模式了。

热点模式可以让D-Star设备直接访问D-Star的网关和反射器(有些设备可以直接连接Wi-Fi,而其他一些设备需要借助电脑),并且在这个过程中将网关或者反射器接收到的数据通过射频发射出来。

在图中呼号为0A的设备就位于热点模式下,0B则通过射频连接到0A来访问D-Star网络。

D-Star的这些功能让所有人的需求都得到了满足,但是却有一个显而易见的大问题:IPv4地址不够用了!从上面的介绍中可以看出来,这个系统中每一个联网的设备都是对等的,可以自由的互相连接。因此,这套系统严重依赖公网IP地址,在现在普遍的运营商级NAT之下,热点模式完全无法使用。退后一步中继站的设置者可以选择昂贵的商用网络,反射器可以设置在同样昂贵的云服务器上,但热点模式本就要在远离中继的地方使用,通常也很难得到公网IP地址。

不过有一个功能缓解了这个问题,终端模式内还可以分为内部网关模式和外部网关模式。内部网关模式是指D-Star设备本身作为网关,而外部网关模式是指D-Star设备连接并使用其他的网关。例如PA7LIM开发的Doozy软件正是使用了外部网关模式,将D-Star设备连接到其他的网关中再连接到反射器。此外,Icom官方也推出了一些用于Windows和Android的外部网关连接软件。

虽然D-Star设备大部分由Icom制造,但是D-Star协议本身是由日本业余无线电协会主导的开放式协议。因此网关、中继站、反射器等都可以由第三方进行开发。目前也有许多第三方开发的类型。

最常见的第三方设备就是热点盒子,他可以充当网关,直接与反射器相连,并且也不需要公网IP地址。热点盒子可以在上图中相当于呼号为0A的设备或网关和中继站的组合,十分方便。

D-Star的特色功能

发起D-Star呼叫需要设置四个配置MYCALL, RPT1, RPT2, URCALL,其作用如下:

MYCALL呼叫发起者
RPT1处理呼叫的中继和模块
RPT2呼叫被转发到的模块
URCALL呼叫接收者

模块A, B, C分别代表23cm, 70cm, 2m频段,模块G代表网关,如果使用联网模式,RPT2内容为中继呼号+空格+G。

通常情况下,URCALL为目的地中继呼号或者反射器编号,但如果在这里直接填入个人呼号的话,则会进行呼号路由。D-Star系统会查找该呼号最后使用的中继并自动配置发起者以及目的地中继的网关连接配置来进行互联并发起呼叫。

由于该功能会自动切换其他中继的连接,如果目标中继正在使用的话可能会打断对方的通话。

需要注意的是,无论是在D-Star呼叫指定呼号,或是其他模式中的类似功能(System Fusion的DP-ID,DMR/P25/NXDN的单呼等等)本质都是一种特殊的静噪功能,而非加密。而且业余无线电中也不允许传输加密内容。因此不要利用这些功能传输隐私数据。

八重洲System Fusion模式联网

八重洲System Fusion是射频通讯协议的名字。而所谓的C4FM则是信号调制方式,在八重洲的System Fusion之前也有其他协议使用C4FM调制(例如P25),以后也说不定会有新协议使用C4FM调制。而八重洲的数字联网系统被称作Wires-X模式。除了八重洲所建立的Wires-X网络以外,也有由爱好者们自行组建的YSF网络。

YSF联网模式

YSF网络和Wires-X最大的区别是YSF网络是由火腿们开发和运行的,而不是由八重洲开发的。实际上,YSF网络其实和D-Star网络结构相同(甚至连名字都没变,仍然叫做反射器之类的),可以直接参照D-Star的图来对照。而且YSF网络和Wires-X网络并不直接相连。

当然,这也意味着YSF网络本身不支持模拟信号。

对于使用热点盒子来说,因为并非八重洲设备,因此无法接入Wires-X网络,所以热点盒子连接的其实是YSF网络。

除了YSF,还有其他类似的网络,不过这些也都是类似D-Star的设计。

理论上来说,八重洲设备也具有热点模式,但截至目前,并没有看到有软件能够将其用于YSF等火腿开发的网络中。还是希望能有这种软件来节省个热点板。

Wires-X联网模式

Wires-X联网模式本质和D-Star类似,区别是Wires-X的系统中都是八重洲的专有设备和软件。

可以看到,主要结构和D-Star类似,主要是名字不同,以及人性化的方便改进。

D-Star/YSFWires-X
网关节点
反射器房间
D-Star和Wires-X名称对照

在Wires-X网络中,节点和网关存在于同一台服务器中。此外,这台服务器还需要连接一个型号为HRI-200的八重洲设备上。每一个服务器除了作为节点,也都可以启用房间功能来成为房间。当然,作为分布式和对等的系统,Wires-X的房间和节点仍然需要公网IP地址来互相访问。

System Fusion的特色功能

对于不是中继或节点的设置者来说,能用到(而且很实用)的特色功能就是可以直接在电台上搜索节点列表了。在设置为节点/中继频率时,可以进入Wires-X界面,在该界面中除了可以设置该节点通过网络连接到的节点或房间,还可以翻阅节点和房间列表并使用关键字搜索。因此即使在没有编号的情况下,仍然可以查找并加入节点或房间。相对的,另外两个模式都需要预先得知反射器或谈话组的编号才能加入。除了这个好处以外,由于热点也支持该功能,所以可以直接在电台上查找并设置热点连接的反射器。

由于中继站对地理位置有所要求,最好的位置不一定能方便的安装网络,因此服务器和HRI-200可以部署在方便联网的地点,连接并控制车载电台来访问和中继站建立连接。虽然HRI-200也可以直接连接并控制中继台,但这种模式下中继台无法开启遥控功能和局域网联网模式。当然,假若装了两个车台,可以为附近的设备提供快速找到中继台的功能,不过这和现在的内容没有多大关系。(而且这仰赖于统一的中继搜索频率,国内目前尚未有该共识频率)

由于Wires-X是由其模拟联网系统Wires-II网络改进而来。因此除了能传输数字信号,还能传输模拟信号,这样可以让模拟中继也接入Wires-X网络。但需要注意的是节点并不支持AMS功能,这意味着必须要选择接入网络的是模拟信号还是数字信号。对于连接数模一体中继的节点来说,没有被选择的信号类型将无法进入网络。

此外,八重洲除了承担了D-Star中注册服务器的功能,也为没有公网IP地址的热点模式提供了转接。不过对于完全由专有技术组成的系统来说,八重洲来做这种事也是理所应当。当然,这种模式下功能有所限制,只能设置节点,而不能设置房间。另外,由于服务器位于日本,而且转接会将UDP转为TCP,和直接连接相比,延迟也会增加。

DMR模式联网

和前面提到的两者不同,DMR模式是专为商用对讲机开发的,因此和D-Star以及System Fusion不同。并没有诸如显示呼号、切换反射器/房间等功能。DMR模式必须要在网络中预先注册,获得Radio ID并写入设备中才能使用。通常而言,DMR ID由购买和部署DMR系统的组织来分配,而在业余用途中,DMR ID由RadioID.net团队来进行分配,在此之前则是由摩托罗拉业余无线电俱乐部(MARC)来分配。另外,DMR网络不像D-Star、Wires-X和YSF一样是全球性的公开网络,而是由部署者独立设置的网络。在业余用途中,几乎所有人都在BrandMeister网络和DMR-MARC网络中。对于国内而言,绝大部分人都集中在BrandMeister网络中。我猜,这可能是因为MARC网络比较原教旨,抵触热点的原因吧。

可以看到,DMR是集中化结构,所有客户端都连接在BrandMeister的服务器中,这个服务器是由各个国家的志愿者在该国家所部署的,每个服务器都会有一个编号。集中化结构有一个好处,那就是只有服务器才需要公网IP,客户端则不需要。另外,BM服务器之间则使用FastForward协议进行互联,可以将所有的BrandMeister服务器看作一个整体,无论连接到哪一台都是同样的。

在DMR的设计中,并没有其他模式的反射器、网关或者是节点、房间等功能,那BM服务器是如何实现聊天室的呢?答案是利用了DMR的组呼功能。组呼功能本质是在呼叫一个特殊的Radio ID,当用户设备设置在监听该ID时,收到标记为该ID的信号就会放出声音。比如为保安组、司机组设置不同的组呼ID,在呼叫司机组ID时,监听司机组ID的设备播放声音,而保安组的设备虽然收到了信号,但由于并未监听该组,就不会播放声音。

组呼功能是在模拟时代就已经存在的功能。许多模拟电台都可以设置DTMF解码和响应,例如收到指定号码时放出声音,没收到时保持静默等,这就是模拟时代的组呼功能。DMR只是这一套的数字化体现。

在业余使用中,中继站(以及热点,下面的中继站都包含热点)作为客户端连接到DMR服务器。当某个HAM在中继频率上呼叫某个组呼ID时,中继会将其发送到BM服务器,然后转发给其他客户端。此时监听该组的HAM便会收到呼叫。当有HAM回应时,同样呼叫该组呼ID,发起呼叫的HAM如果仍在监听该组呼ID,便会收到呼叫。这就是DMR中聊天室的实现方式。

但这时候有人可能会发现一个问题:就像模拟的组呼一样,某个组在通话时,虽然其他人听不到,但是仍然要占用中继,这岂不是很浪费中继资源?有些对商业DMR系统比较了解的人可能会指出,DMR支持集群模式(即DMR Tire3标准),移动站可以报告给基站自己要加入的组呼,并在通信发生时由基站进行频率调度。不过现状是无论哪个业余DMR网络都没有对集群模式提供支持,只有一些使用SDR的项目对此提供一些Hack支持。为了解决这个问题,BM服务器在中继模式(即DMR Tire2)的基础上提供了一些额外功能。

默认情况下,BM服务器只会向中继站传输该中继最后使用的组呼中的数据。此外,还可以改为使用静态组功能。在一段时间没人使用时,服务器向中继站传输的数据就会变为静态组中设置的组呼。也可以设置多个静态组。让中继站传输多个组的数据,但假如设置的太多,中继站一直处于发射模式,那就没法说话了。

DMR的特色功能

DMR可以使用单呼功能,直接输入对方的Radio ID来呼叫对方。和D-Star的呼号路由类似,会发送到对方最后使用的中继上。不过由于DMR所有中继都连接在单一服务器上,因此并不会出现D-Star一样断开原有服务器的情况。但相应的,由于DMR网络之间互相孤立,无法进行跨网络呼叫。也就是说无法在BrandMeister中呼叫位于DMR-MARC或FreeDMR的用户。

另一个是DMR中继可以为DMR信号划分时隙,因此DMR可以在一个中继内传输两组信号。在使用双工热点时也可以使用热点划分时隙,把一个热点当两个来使用。

网络间连接

以上是三种常用数字模式的网络结构,三种模式一共有四种各自为政的网络,这使得大家都无法进行互联互通。这时候就需要一些方式来连接不同的网络。

网络间连接并不能让网络整体相连,而是只能让特定的服务器之间相连。

三种数字模式都使用了Digital Voice System 公司生产的AMBE系列音频编解码器来将声音转换为数字信号,但D-Star由于推出的最早,使用的版本和后面推出的DMR以及System Fusion不同。所以DMR和System Fusion之间互联时可以保持原有的语音信号不变,只改动其他数据。而D-Star在连接到另外两个系统时则需要进行转码。由于AMBE系列声码器是专有技术,因此想要合法的转码必须要在安装AMBE芯片的设备上进行。

不过由于System Fusion的语音有DN和VW两种模式,只有音质较差的DN模式才使用和DMR模式相同的AMBE+2声码器。音质更好的VW模式由于使用的IMBE声码器,只能直接转换到P25模式。

BrandMeister服务器接入Wires-X网络

BM服务器本身可以将自身伪装成Wires-X软件来接入Wires-X网络,这么做需要首先在八重洲注册Wires-X申请得到节点ID和房间ID。注册完成后,在BM服务器的配置中添加注册使用的设备编号以及节点ID和房间ID,即可让BM服务器伪装为Wires-X软件来接入到Wires-X网络。但需要注意的是,设备-节点-房间的组合同时只能使用在一个地方,也就是说只能给一台BM服务器使用,同时这套设备也不能用来接入到Wires-X网络。

由于BrandMeister服务器是闭源软件,这是如何做到以及是否合法尚且未知。考虑到BrandMeister和摩托罗拉的关系比较密切(有开发人员提到BrandMeister使用了摩托罗拉内部的私有代码,受限于NDA无法开源),也许是大公司之间的秘密交易。

YSF服务器接入BrandMeister服务器

一些YSF网关具有接入到BrandMeister的功能。这个功能使用YSF Direct协议来与BrandMeister服务器连接,不同类型的网关会有不同的工作方式,可以查看具体的说明。

热点提供的YSF2DMR功能

严格来说,这并不是连接两个网络的功能,由于YSF和DMR使用了相同的音频编码格式,因此热点在接收到System Fusion信号后,可以在保持音频部分不变的情况下拆除System Fusion的数据,然后重新包装为DMR数据并直接发送到DMR网络。YSF2DMR在配置中需要填写Radio ID,在使用时会将呼号改写为对应的Radio ID,并且输入的房间/节点编号也会被改写为对应的组呼ID。

BrandMeister服务器连接D-Star网络

BrandMeister服务器支持了一些D-Star反射器所使用的协议,因此可以以反射器的身份加入到D-Star网络中。不过这个过程中需要使用转码设备来转换两种不同的AMBE语音数据。

XLX多模式反射器

XLX前身是开源D-Star反射器XRF,现在XLX除了支持D-Star以外,还可以处理System Fusion和DMR,因此可以作为DMR服务器和YSF服务器。也因此,XLX反射器并没有使用D-Star的注册服务器,而是设计了叫做活动列表的注册系统。

在DMR中,中继站可以将一个频率分成两份,也就是时隙1和时隙2,所以可以选择将其中一个时隙接入BM服务器,另一个则接入作为DMR服务器的XLX软件。

同时,XLX也可以作为YSF和D-Star反射器,不使用声码器时,可以将C4FM中继站与DMR中继站连接。而如果安装AMBE声码器时,XLX也可以将D-Star加入到其中,组成多种模式的互通聊天室。

此外XLX反射器也可以接入到BM网络中,实现其他模式与BM网络的互通。

Wires-X热点连接

Wires-X最大的特色就是他的服务器并不是直接连接到中继站,而是通过电波来连接。这就意味着将热点的频率调整到Wires-X服务器的频率,就可以将任何能通过热点发出System Fusion信号聊天室都可以接入到Wires-X房间中。

推广一下,使用多个热点盒子也可以通过类似的行为将多个房间互相连接。不过有条件的话,还是尽可能在网络中直接连接来避免误码率和延迟的增加。

最后,由于各种讨论/文档等东西比较繁杂,可能会有许多错误和遗漏。尤其是网络间互联的部分更为匮乏。还请在评论中指出。

参考

How to set up a Yaesu System Fusion reflector (YSFReflector)

How to create an XLX D-Star or DMR or YSF Reflector

D-Star 第一課

国内首套全球网关 D-Star Network BR2SY 业余中继台

BrandMeister wiki