论坛风格切换切换到宽版
  • 4243阅读
  • 16回复

写了一个用FT8来判断自己天馈接收效果、传播的小脚本 [复制链接]

上一主题 下一主题
在线bg2kaj
 
发帖
1229
只看楼主 倒序阅读 0楼 发表于: 2022-01-01
— 本帖被 BA7IO 执行加亮操作(2022-01-08) —
啊哈哈哈,鸡汤来咯~  
今天更新JLP软件v0.2版本,增加了以Excel XLSX方式输出的结果文件,更加方便输出图表定量分析!详情请各位参看下面的描述!-2022.03.16


更新日志
v0.2 20220316 增加了以Excel xlsx方式输出结果文件的形式 BigCty文件版本20220315
v0.11 20220109 增加了距离计算,简易的命令行界面,配置文件,命令行参数“-nd” BigCty文件版本20220108
v0.1 20220101 初版JLP BigCty文件版本20211210

如果您是一位WSJT-X或JTDX的重度用户,您一定会好奇如何借用FT8模式进行对自己天馈系统的分析,一方面,通过GridTracker等软件和HamSpot等网站可以对您当前的天馈系统的发射性能进行分析,但在接收方面,天馈系统和环境噪音、传播条件、时间和季节等特征一起作用,很难通过单一的指标进行分析。传统的弱信号分析工具如WSPR等在这方面具有一定的优势,然而在FT8大行其道的今天,为何不直接采用FT8的收听信息进行分析呢?

在WSJT-X以及JTDX软件的运行目录下,随着软件的运行会产生诸如202108_ALL.txt的文件,这一文件是我们在正常运行软件时左面解码窗口的内容的复制,因此通过这一文件,可以分析某一月份的所有收听到的信号的情况,从而对于传播,天馈和信号的来源有一个大概的了解。对于像我一样24*7保持软件开启,一直接收信号的人来说,这样的日志文件可以涵盖大部分时间和常用的波段,对于大型竞赛台来说,在空闲时间内准备几台电脑一直对频率进行分析也是对认识传播情况的一个较好补充。

JLP(JTDX Log Parser)就是为了这个目的而写的一个小脚本,它本身运行于python环境下,但为了更多的爱好者使用,我把她打包成exe可执行文件供有兴趣的朋友使用。当前它可以对任意一个日志文件进行分析,按照每一天、每小时进行分类,并对每一小时内的信号来源(暂时精确到大洲)进行分析。在这个软件的输出中,你可以看到每一小时来自各大洲的信号多少,每一日内每个小时接收到的信号多少,以及每月内每一天所接收到的信号多少,以后随着不断地改进,还会增加更多能够分析的项目以及更多种输出的文件格式。

首先给出下载地址,可执行文件、源文件以及运行时需要的数据文件都可以在GitHub上下载:
https://github.com/bg2kaj/JTDXLogParser/releases/tag/JLP12
也可通过百度网盘:
链接: https://pan.baidu.com/s/17qSceg_fuQ_eDYn5Y-LfyQ  
提取码: 5rwe

其中,数据文件(cty.dat)来自于https://www.country-files.com/category/big-cty/ 如有需要请自行更新下载

接下来是软件的使用说明,该软件不需安装,第一次下载时请注意软件包内的cty文件日期。如对分析要求不高,可使用软件自带的cty文件并忽略下列第一步操作。如需要更新,请使用最新下载的cty.dat文件替换掉原有的文件,并执行datparse.exe。

datparse.py
===========
Starting BigCty Database conversion...
Please make sure the BigCty file (cty.dat) is up to date.
Download latest file at https://www.country-files.com/category/big-cty/
This is a part of JTDXLogParser, Make sure run this program first if no cty.json file is present.
Based on cytparser by classabbyamp, 0x5c. Distribute with MIT licence.

Generating cty.json files, Stand by.
cty.json file created. Program now will exit.

当程序如上述输出一样,提示JSON文件建立完成后,可进行下一步操作


使用记事本或其他文本编辑器打开config.dat文件,然后将本地的经纬度填写至对应的等号后。比如长春的经纬度:
local_latitude=43.81
local_longitude=-125.32
填写后,保存并关闭config.dat。如该文件不存在或填写内容错误,软件将以默认北京市的经纬度为标准来计算距离。

将您电脑中的JTDX日志文件复制至软件目录下,如我的目录为C:\Users\Administrator\AppData\Local\JTDX ,在这个文件夹中有许多以年份和月份命名的文件,如202108_ALL.txt。复制此文件至JLP软件目录中,并打开命令提示行,执行下述指令:
D:\JTDXLogParser>JLP.exe 202108_ALL.txt
执行后,如无其他问题,软件会开始分析并生成报告。期间软件会在命令行中输出处理过程如下列输出所示:

=============================
JLP - Now processing...
=============================
Date & Time:20210810_092445
Info: CQ from RA0CCK
Process result: PASS
=============================
90.1 % [==================--]
=============================

结束后,软件会提示并自动退出。此时软件文件夹中会出现一个名为“summary_of_202108_ALL.txt”的文件,此文件即为分析报告。
如果在计算时不需要计算台站距离本地间的距离多少(对该数据没有兴趣或想大大加快软件运算速度),可以使用命令行参数-nd,指令如下所示:
D:\JTDXLogParser>JLP.exe 202108_ALL.txt -nd

下面即是一个部分日志的报告结果。

JTDX Log Parser Summary File
Result for file:202108_Part.txt
Task starts at :Sun Jan  9 21:39:27 2022.

Day 2021-8-1 Hour 0 detailed report:
149 lines input with 0 lines parse failed.
AF: 0 AS: 138 EU: 5 NA: 0 SA: 0 OC: 6
160m: 0 80m: 0 60m: 0 40m: 0 30m: 0 20m: 149 17m: 0 15m: 0 12m: 0 10m: 0 6m: 0
0~1000 KM : 5, 1000~3000 KM:105, 3000~5000 KM:28, 5000~7000KM:8, 7000~10000KM:3, 10000~KM: 0

Day 2021-8-1 Daily detailed report:
[149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

Day 2021 8 10 Hour 9 detailed report:
1300 lines input with 1 lines parse failed.
AF:0 AS:924 EU:43 NA:25 SA:0 OC:307
160m: 0 80m: 0 60m: 0 40m: 0 30m: 0 20m: 1300 17m: 0 15m: 0 12m: 0 10m: 0 6m: 0
0~1000 KM : 15, 1000~3000 KM:635, 3000~5000 KM:279, 5000~7000KM:245, 7000~10000KM:125, 10000~KM: 0
Day 2021 8 10 Hour detailed report:
[0, 0, 0, 0, 0, 0, 0, 0, 0, 1300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

Month 8 Total report:
[149, 0, 0, 0, 0, 0, 0, 0, 0, 1300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
Process took 9 seconds to complete.
In total 1450 lines of record were imported.

在这份报告中,我们可以看到8月1日和8月10日中的两个小时的报告,最下方还有8月份的按日期排序的报告。至于这些数据如何使用,未来还会有怎样的分析结果,将会在以后的软件版本中不断更新。
新增内容:
在v0.2版本中,引入了Excel格式的报告文件,报告文件名与文本文件的文件名相同,打开后,第一个工作簿是简单的说明信息,然后其他以日期命名的工作簿分别记载了各种各样的信息内容,比如下面展示的这个:
Analysereport of 2021-3-28
Sort by continent
TIME/UTCASAFEUNAOCSAOTHER
0120500425600
15580083180
2160001700
311430112300
492001718600
542703070600
6541087004700
75270115209500
81152041808200
9128701115036100
1013410799028200
112475031232490
12321403031040
13253011007271000
142033034016255600
15304077279700
16350004400
171089077304800
18177582002035420
19207801497014000
202666167603200
2133831151605800
22199911243019620
2314540830070
SUM
Sort by distance
TIME/UTC<1k1~3k3~5k5~7k7~10k>10kOTHER
0151046144488420
13451104030170
2061041300
33993135221140
406822171002050
502262002625200
62410641157534200
7010343477546200
83680134518928100
92660868269075700
106673454163344800
1122222027417240500
1223627502382802340
1314121002898046730
14117151839888971620
1515235541659270
16034144000
17088020849033200
182615671091466963100
19301726198112263900
20125068251626910
21199303835454231110
22139158315546299130
23134120511578570
SUM
Sort by band
TIME/UTC160m80m60m40m30m20m17m
00001309000
1000605000
200033000
30001175000
40001025000
5000740000
60001458000
70001776000
80001657000
90002767000
100002425000
110002766000
120003536000
130003419000
140003092000
15000505000
1600079000
170001922000
180004168000
190003751000
200003397000
210003968000
220002451000
230001544000
SUM


本软件是开源软件,由于一开始仅为个人使用,并没有过于考虑到很多问题,因此肯定还有很多的缺点、不足和漏洞,由于精力有限,在使用中如果有什么问题请您见谅并自行尝试解决,本人不负责解决使用该软件过程中出现的问题。是否使用请您自行定夺。本人初识Python,编程水平停留在小学鸡水平,暂不能优化代码,能跑就行,请您理解。最后祝愿您在数据通信中获得快乐。
DE BG2KAJ

[ 此帖被bg2kaj在2022-03-16 21:03重新编辑 ]
=BG2KAJ C类 KG2KAJ Amateur Extra JJ1RRS 二アマ=
=  业  余  无  线  电  考  操  作  证  爱  好  者  =

WAPC&WAJA达成了!奔向JCC和JA FM DX……
我写过的关于业余无线电的文章汇总:bg2kaj.cn
在线bg2kaj
发帖
1229
只看该作者 1楼 发表于: 2022-01-01
附:用该脚本配合Excel实现的简单接收效果分析。
另:Python真是好 从没摸过python也能在一天之内摸出个小玩具来。
=BG2KAJ C类 KG2KAJ Amateur Extra JJ1RRS 二アマ=
=  业  余  无  线  电  考  操  作  证  爱  好  者  =

WAPC&WAJA达成了!奔向JCC和JA FM DX……
我写过的关于业余无线电的文章汇总:bg2kaj.cn
离线bi4sqm
发帖
465
只看该作者 2楼 发表于: 2022-01-02
 帮顶,简单看了一下,太多的elif了,可以适当的使用数组来处理。
离线BG6LH
发帖
454
只看该作者 3楼 发表于: 2022-01-02
无线电走向大数据的第一步
https://radiopi.club 树莓派懒人包
离线bg0avi
发帖
193
只看该作者 4楼 发表于: 2022-01-03
qq:569778771
在线bg2kaj
发帖
1229
只看该作者 5楼 发表于: 2022-01-03
加了接收信号距离统计,运算时间暴涨……
原来8分钟的时间现在要50分钟,之后应该加个开关,如果不想计算距离统计可以大幅度降低运算

不过我还是那个意见,反正这东西一年只运行十二次(),慢点就慢点吧,一年抽不出十二个小时吗(
如果临时统计一天两天的日志,几分钟能跑完,问题不大

个人用的东西,个人感觉好就好(x)
=BG2KAJ C类 KG2KAJ Amateur Extra JJ1RRS 二アマ=
=  业  余  无  线  电  考  操  作  证  爱  好  者  =

WAPC&WAJA达成了!奔向JCC和JA FM DX……
我写过的关于业余无线电的文章汇总:bg2kaj.cn
离线bi3qxj
发帖
203
只看该作者 6楼 发表于: 2022-01-06
这。。。纯用Python?结合下数据库(比如SQLite)会不会对处理效率有帮助?
离线bg7xwf
发帖
474
只看该作者 7楼 发表于: 2022-01-06
支持,稍后研究
业余卫星:自制DK7ZB长主梁八木 + IC910H + YAESU G5500
EME:144 1*9elH+100W / 1296 2.1m抛物面+OK1DFC馈源
50MHz:自制6el DK6ZB YAGI
HF: 自制快装八木们
咸鱼小铺:下午饭的斑鸠天线工坊
在线bg2kaj
发帖
1229
只看该作者 8楼 发表于: 2022-01-09
感谢版主加精,今天更新JLP软件v0.11版本,增加了距离计算、命令行界面等。详情请各位参看1楼的描述!-2022.01.09

另外说一下题外话,之前也在群聊里和其他爱好者讨论过,这个软件最适合的就是像我一样远程计算机24小时开着并收听同一波段的情况,如果你是每周开机几次,开机时间不多,那么其实算出来的结果指导价值也不大。至于精确度这方面,肯定是具有一定的误差,作为简单的定性分析传播情况来说是完全足够了。
还是像之前一样,这个软件仅为满足个人需要和乐趣而编写,不负责售后服务、特定功能修改等。在Github上有源代码,如果您看得过去眼,可以自行修改或者分发等等。
[ 此帖被bg2kaj在2022-01-09 22:01重新编辑 ]
=BG2KAJ C类 KG2KAJ Amateur Extra JJ1RRS 二アマ=
=  业  余  无  线  电  考  操  作  证  爱  好  者  =

WAPC&WAJA达成了!奔向JCC和JA FM DX……
我写过的关于业余无线电的文章汇总:bg2kaj.cn
离线bh3nag
只看该作者 9楼 发表于: 2022-01-15
不错不错,如果很多台站加入分析,是不是能搞出来传播模型呢
离线BG5CHA
发帖
195
只看该作者 10楼 发表于: 2022-01-24
回 bg2kaj 的帖子
bg2kaj:附:用该脚本配合Excel实现的简单接收效果分析。
另:Python真是好 从没摸过python也能在一天之内摸出个小玩具来。 (2022-01-01 23:25) 

处理结果能不能直接输出为Excel格式,这样就更方便了
现使用呼号:BG2ENW
QRZ: img: https://www.qrz.com/db/bg2enw
离线BA4EO
发帖
1874
只看该作者 11楼 发表于: 2022-02-03
不错的思路,值得好好研究研究。赞
BA4EO

CW Forever!

======================
ex: BG4EO, BG4AEO, BD4AEO, BD4EO
======================
B4B 成员
离线bd4acw
发帖
861
只看该作者 12楼 发表于: 2022-02-04
回 BA4EO 的帖子
BA4EO:不错的思路,值得好好研究研究。赞 (2022-02-03 16:05) 

@ba4eo
我们好像认识哦,见过吗?
你的派森丢了?
精心打造:M-120A车载短波自动调谐天线
淘宝:bd4acw.taobao.com/
主页:www.bd4acw.com  自动控制器APP下载
----------------------------------------
不求最好,但求更好!
73! DE BD4ACW
bd4acw@@126.com
上海市虹口区 王 新
在线bg2kaj
发帖
1229
只看该作者 13楼 发表于: 2022-03-16
啊哈哈哈,鸡汤来咯~  
今天更新JLP软件v0.2版本,增加了以Excel XLSX方式输出的结果文件,更加方便输出图表定量分析!详情请各位参看下面的描述!-2022.03.16
=BG2KAJ C类 KG2KAJ Amateur Extra JJ1RRS 二アマ=
=  业  余  无  线  电  考  操  作  证  爱  好  者  =

WAPC&WAJA达成了!奔向JCC和JA FM DX……
我写过的关于业余无线电的文章汇总:bg2kaj.cn
离线赵加栋
发帖
16
只看该作者 14楼 发表于: 2022-04-06
star过了
BD4UMV
离线BH1EWI
发帖
493
只看该作者 15楼 发表于: 2022-04-12
非常好的创意~mark一下~感谢楼主
BH1EWI
——————————————————————
IC-705
IC-7300
——————————
北京市海淀区100038-5分箱,邮政编码100038
离线BG6IJQ
发帖
463
只看该作者 16楼 发表于: 2022-12-03
666,给star~

然,这里有个问题:每时每刻获取的通联数量,与开机通联的人数正相关。
除非大家玩FT8都是24小时开机让电脑自动通联,否则,所获取的信号是与人的使用时段有强耦合关系的。
天选野架人
(释义:上天注定,我除了野架,别的地方包括家里,都正在或即将淹没在噪音大海中无可救药、无济于事、无法自拔)
自用站:http://www.jingjingdeluori.com:12121/    B站:静静的落日