破译BPM短波时码格式
罗布Carrot2024/12/11原创 无线电 IP:山东

我偶然发现有时BPM有一些频率(5MHz大概是24小时播发时码)在载波附近大概±100Hz的位置有OOK的信号,在互联网上搜索发现了中国科学院国家授时中心蒙智谋于2014年发表的《BPM短波时码授时发播技术方案》。经过分析,此论文所述125Hz时码格式与接收到的不符。

那就只能自己分析一下了吧?

使用韩国的websdr接收5MHz的BPM,但是使用窄带CW,将通带定位在5000.098KHz上。使用了支持BPC帧的“timecode”时间码模式进行OOK的解调,可以在屏幕上显示出每一码元的长短,并且此模式下BPC时码接收显示区两分钟为一页,20秒为一行,适用于BPM一分钟一帧的定时。

upload_downloader_1733849238837_8690436.png

图1

upload_downloader_1733849286025_22311456.png

图2

图1与图2为2024年10月9日17时,从43分到46分接收到的数据

upload_downloader_1733849264897_22258895.png

图3

图3为2024年10月9日18时,从6分至7分接收到的数据

通过判断图片上信号时间的长短,人肉转化为二进制,这些数据分别为

00000000011111111112222222222333333333344444444445555555555
12345678901234567890123456789012345678901234567890123456789
20241009 1743
00000000211000001020001010002110000001201000000020000000002
20241009 1744
00000000200100001020001010002110000001201000000020000000002
20241009 1745
00000000210100001020001010002110000001201000000020000000002
20241009 1746
00000000201100001020001010002110000001201000000020000000002
20241009 1806
00000000201100000021001010002110000000201000000020000000002
20241009 1807
00000000211100000021001010002110000001201000000020000000002

据此分析,每帧第0位是空缺的,为帧起始标志。有三种符号长度,其中最长的为分隔标志,最短的代表0,中等长度代表1。

第10至13位分别代表权重1 2 4 8,各位数据分别与对应权重相乘后相加即为分钟数的个位,

第15至17位分别代表权重1 2 4,如上处理后得到分钟数的十位。

第20至23位分别代表权重1 2 4 8,处理后得到小时数的个位,

第25至26位分别代表权重1 2,处理后得到小时数的十位,

但此时得到的两位小时数需要减一才是北京时间的小时数,也许BPM时码播发是按照UTC+9来的?

至此基本确定了帧结构是小端序,并且破译出了时间和分钟数,但是日期呢?如果联合我七月份接收的数据

00000000011111111112222222222333333333344444444445555555555
12345678901234567890123456789012345678901234567890123456789
20240719 1356Z 2156
00000000201100101020100001002100000000201000000020000000002
20240719 1357Z 2157
00000000211100101020100001002100000000201000000020000000002
20240719 1358Z 2158
00000000200010101020100001002100000000201000000020000000002
20240719 1359Z 2159
00000000210010101020100001002100000000201000000020000000002
20240719 1400Z 2200
00000000200000000021100001002100000000201000000020000000002
20240719 1401Z 2201
00000000210000000021100001002100000000201000000020000000002
20240719 1428Z 2228
00000000200010010021100001002100000000201000000020000000002
20240719 1429Z 2229
00000000210010010021100001002100000000201000000020000000002
20240719 1430Z 2230
00000000200000110021100001002100000000201000000020000000002
20240719 1431Z 2231
00000000210000110021100001002100000000201000000020000000002
20240720 0955Z 1755
00000000210100101020001010002010000000201000000020000000002
20240720 0956Z 1756
00000000201100101020001010002010000000201000000020000000002
20240720 1159Z 1959
00000000210010101020000001002010000000201000000020000000002
20240720 1200Z 2000
00000000200000000021000001002010000000201000000020000000002

会发现根本无法解码,因为七月份数据里小时数之后的0太多了,仅有一个进位的操作。

然而最近有人告诉我,在北京航空航天大学电子信息工程学院的王雨竹、秦红磊、万国龙发表的论文《陆基无线电授时系统信号分析与解算》中提到了他们破解的BPM时码,经过查看,情况属实…

upload_downloader_1733849605954_1139851.png

图4 论文关于BPM的片段

不过只提到了小时个位是被提前加一的,没提到十位进位的事,而且依然描述在125Hz而不是100Hz,优势在我。

《陆基》一文提到,

第30至33代表一年当中天数的个位,

第35至38位代表天数的十位,

第40至41位代表天数的百位。

使用10月9日接收的数据进行验证,数据吻合;但与7月接收的数据不匹配。

至于到底是不是UTC+9,等我接收到23时的数据再更新这篇博客…

至于7月份数据的日期数据是什么情况,是不是发射机出了问题?尚不知情。

如果我早点发现《陆基》一文,就不用那么费劲的接收和破译了T_T


2024年12月10日更新

于本日23时接收到数据

00000000011111111112222222222333333333344444444445555555555
12345678901234567890123456789012345678901234567890123456789
20241210 2307
00000000211100000020000000002011000010211000000020000000002
20241210 2308
00000000200010000020000000002011000010211000000020000000002

根据第20至26位均为0,且天数为346(UTC+8时间应为第345天),联合分析时域信号可以得出结论

BPM时码采用UTC+9,即东九区

BPM时码在5MHz上以调幅下的2ASK(OOK)发送,子载波频率100Hz,

200ms宽脉冲代表0,500ms宽脉冲代表1,800ms宽脉冲为分隔标志。脉冲宽度与《陆基》所述基本相符。

每帧第0位是空缺的,为帧起始标志,此时时号播发频率1800Hz、宽800ms的分钟信号,信号起点应为UTC每分钟第0秒时刻。

注意到有频率为1800Hz、宽5ms的脉冲超前于时码每位起点时刻30ms,且每分钟内第一个此种脉冲滞后于上述时号的分钟信号1秒整,此脉冲应为时号的秒信号。

upload_downloader_1733849726253_43315411.png

图5 分钟信号 秒信号 时码第一位

据《长短波授时时间频率控制与监测》等论文所述,为便于区分不同电台的秒信号,BPM的UTC秒信号脉冲超前于国家授时中心的UTC时刻20ms,未能验证。

第10至13位分别代表权重1 2 4 8,各位数据分别与对应权重相乘后相加即为分钟数的个位,

第15至17位分别代表权重1 2 4,如上处理后得到分钟数的十位。

第20至23位分别代表权重1 2 4 8,处理后得到小时数的个位,

第25至26位分别代表权重1 2,处理后得到小时数的十位。

第30至33代表权重1 2 4 8,处理后得到天数的个位,

第35至38位代表权重1 2 4 8,处理后得到天数的十位,

第40至41位代表权重1 2,处理后得到天数的百位。

由此,BPM时码的帧格式已经被全部破解完毕,可以据此解析BPM时码,得到天数、小时、分钟信息,结合数据位的定时和时号可以得到秒信号,据此确定准确的日期时间。

另外注意到数据中并不包含年份信息,年份需要手动设置以确定平闰年,获得具体的日历信息。

注意到数据中不含有校验或纠错信息,建议至少接收三帧以获得可靠的数据。

感谢BH6ABO在破解BPM时码格式中做出的支持和贡献。

附件

下面给出接收到的BPM(AM)和BPM时码(窄带CW)示例音频(均包含前后分钟的片段)

BPM

BPM.mp3516.14KB立即下载

BPM时码

BPM_timecode.mp3520.22KB立即下载


免责声明

本文所述BPM时码格式的知识产权应当归时码开发者或其所属单位所有。

本文所述BPM时码格式仅供个人学习研究使用,无意侵犯任何个人、单位或企业的任何知识产权。

使用本文所述BPM时码格式所造成的一切后果与本人无关。

参考文献

[1]蒙智谋.BPM短波时码授时发播技术方案[J].时间频率学报,2014,37(03):XXXXXXXXXXI:10.13875/XXXXsn.1674-0637.2014-03-0145-06.

[2]王雨竹,秦红磊,万国龙.陆基无线电授时系统信号分析与解算[J].导航定位与授时,2023,10(05):XXXXXXXXXXI:10.19306/XXXXki.2095-8110.2023.05.012.

[3]车爱霞,魏孝锋,乔建武,等.长短波授时时间频率控制与监测[J].时间频率学报,2022,45(03):XXXXXXXXXXI:10.13875/XXXXsn.1674-0637.2022-03-0194-08.


[修改于 10天23时前 - 2024/12/11 01:04:11]

+0.5  科创币    SparrowHe    2024/12/15 高质量研究
来自:电子信息 / 无线电动手实践:实验报导严肃内容:专著/论述
1
 
13
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
xiashali
6天5时前 IP:浙江
940406

2024 年 10 月 27 日上午 10 时至 2024 年 10 月 31 日上午 11 时,国家授时中心计划在频率为 5MHz 的短波授时信号上间断性开展科学实验,期间可能会影响 5MHz 短波用户的信号接收,2.5MHz、10MHz 和 15MHz 授时信号正常发播,请使用短波授时信号的用户提前做好准备。


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
罗布Carrot
进士 机友 笔友
文章
5
回复
23
学术分
0
2016/07/23注册,5时22分前活动

BI4PYM 业余无线电爱好者

主体类型:个人
所属领域:无
认证方式:身份证号
IP归属地:未同步
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}