科创仪表
科创研究院仪表研究所官方网站
文号900803
17466
7
收藏(2)

关于DCS数字亚音分析(解码)的一些知识

连续数字控制静噪系统(Continuous Digital Controlled Squelch System,CDCSS)又称数字亚音(Digital Coded Squelch,DCS),是模拟通信时代常用的一种静噪或选呼方式,早期的方案发表于Mobile Radio Technology,1990。

由于模拟通信已趋近消亡,该系统也算是完成历史使命了。对于一个几十年前业内家喻户晓的东西,本来我是不想再谈的。不过KC908的亚音分析功能提供了DCS解码,而解码的结果和对讲机的设置经常不一样,于是有人抱怨说KC908的解码是错的。显然,客服mm也抱怨为这么一个事挨个解释令人伤心,所以只有捏着鼻子写一篇,便于随时拿出来向用户说明。

为了通俗,下面的说明不一定严谨。

DCS发送的是一串“数字信号”。说是“数字信号”,其实就是在模拟对讲机的发射中调制了一些高低电平信号,调制速率是134.3bps。采用这么低速率是为了让数字方波经低通之后,既能避免码间串扰,又基本位于300Hz以下的频率,免得同话音相互干扰。“亚音”的意思就是频率比话音低。

这串“高低电平”是长度23位的戈雷码。在单片机还很菜的时代,这种方式有利于使用简单的数字逻辑电路进行编解码和纠错。

但是发送DCS的时候,数据是没有头尾的,对讲机会不断的循环发送23位二进制流,在接收时也不知道数据是从什么时候开始的。那么,就有23种开始的可能。为了一定程度解决这个问题,人们在数据中部设置了一个标志位“100”。标志位前的11位为校验位,标志位后面的9位为数据位。接收时不断的循环移位,总能找到这个标志位。

这样的话,总共可能有29=512个DCS码。

然而“100”也可能在其它地方出现,比如在数据位和校验位中都可能出现,并且有许多情况,假设定错了标志,校验和数据依然是完美吻合的。例如对于DCS码023:

11101100011-100-000-010-011 = 023

右移6位,“100”标志出现了

01001111101-100-011-100-000 = 340

再右移10位,“100”标志再次出现

00111000000-100-111-110-110 = 766  

这还没完。在过去,没人知道鉴相器的极性,而各个厂家也没有统一标准,因此并不知道接收到的码的正反极性。也就是说,0可能是1,1页可能是0。

继续以DCS码023举例:

11101100011-100-000-010-011 = 023

如果极性反过来,就变成:

00010011100-011-111-101-100

请注意,原有的100标志位被破坏了,不能解码。但由于不知道数据是什么时候开始的,因此接收机必须不断的移位,直到出现100标志位。

在移位以后,得到了这些结果:

11101100000-100-111-000-111 = 707

10000010011-100-011-111-101 = 375

00011111101-100-000-100-111 = 047

当排除所有这些意外之后,还剩下大约200种DCS码。

然而剩下的码里面仍然有很多是不完美的,例如它可能存在某个谐波分量能够刚好攻破模拟亚音的防线,又比如0或者1过多会带来严重的失真(modem的扰码器就是为了解决这种问题),或者一旦反极性将没有100标志位(意味着如果反了就没有任何办法补救)。当排除掉这些歪瓜裂枣之后,还剩下一百多个可以用的DCS码,通常使用其中83组。

但作为仪器,除个别特例(例如全0或全1),应该对所有可能的码都解码并显示。如果人为过滤,万一哪个系统别出心裁使用一个不常用的码,岂不是不能解码?

因此,KC908会用正极性解出所有可能的码,再切换到负极性,解出另一半可能的码。而将在正极性解码的结果中,位于83组之中的那个码,排在最前面。

现在很多对讲机可以设置DCS的发射极性。但不要高兴得太早,因为对讲机上的这种极性是厂商自己定义的,并不是一个绝对的概念。这个厂商的正极性很可能是那个厂商的负极性。比如日本两家家喻户晓的设备商,极性就正好相反。

为了提高通用性,电台的设置项目中通常还有接收极性设置。业余电台这种可玩性多于严格性的设备,接收极性设置中还有“both”选项,也就是说不论极性正反,只要碰对一个就释放静噪,比如both状态下,023和047都可以打开静噪。

因此,设置为DCS023的对讲机来发射,KC908可能首先显示023,也可能是047。不要认为047是错误的,他就是正确的结果。并且在解码列表中,一定会给出-047或者-023这样的反极性结果。观众自己决定信哪个就好 了。

1643037794236.png

1643037844266.png

[修改于 3 年前 - 2022/01/24 23:42:06]

7
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
nitka
6个月14天前 IP:北京
932863

楼主您好,刚看了您这个对亚音频的介绍感觉很有帮助,最近我在用带扫频功能的对讲机扫描其他机器的频率的时候发现,有的机器可以被扫出形如“D023N”这样的标准格式数字亚音,但有的机器被扫描到的数字亚音是一串任意的六位16进制数字,例如“9f957d”,请问这种是非标准数字亚音吗?感谢!

虎哥作者
6个月14天前 IP:四川
932870

数字亚音没有这么多位,冤有头债有主,建议咨询对讲机厂商。

nitka
6个月5天前 IP:北京
933139

楼主您好,最近我还在思考这个问题,感觉您说“数字亚音没有这么多位”可能是对我的描述有点误解,数字亚音是23位二进制,正好可以对应6位十六进制数字,位数应该是正确的……

虎哥作者
6个月5天前 IP:四川
933140

如果你认为它是原始码流,可以自己解码嘛,9f957d=1001 1111 1001 0101 0111 1101

nitka
6个月5天前 IP:北京
933148

我当时也是这么想的,就找100然后看后面9位对应的数字,甚至还同时尝试了将0-1取反,但凑出来的码都不能和目标对讲机通,我又多搜索了一下,发现wiki上说DCS的码是低位在前,和您文章里的解析方式好像有点冲突……请问我是不是应该把9f957d=1001 1111 1001 0101 0111 1101 取相反顺序得到1011 1110 1010 1001 1111 1001再解析?

image.png

虎哥作者
6个月5天前 IP:四川
933150

所以我让你咨询对讲机厂商,厂商又没给我发工资,为什么要帮你猜。。。

nitka
6个月5天前 IP:北京
933154

因为这还没到厂商那一步呢,现在还没脱离标准DCS定义的范畴不是~

ID: {{user.uid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
回复
设为精选取消精选
评学术分
鼓励
编辑
查看历史
通过审核
移动文章
加入收藏取消收藏
退修或删除
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}
回复
加入收藏取消收藏