头顶上的航班:用RTL-SDR接收ADS-B信号

Posted by 橙叶 on Fri, Jul 31, 2020

RTL-SDR

SDR是软件定义无线电的简称,这个设备可以接收无线电信号,在电脑或者手机上使用软件解码信号,相当于一个模拟了收音机。但是相比于一般的收音机,SDR可以实现全频段的接收。

因为依靠软件解码,无论接收到的无线电信号使用何种制式,只要有相应的解码软件,都可以达到硬件设备的效果。比如收听广播、收看电视,以及本文的ADS-B。

相对于专业无线电的设备,RTL-SDR的成本很低(参考某宝);只有接收功能,法律上也很宽松。

ADS-B

ADS-B系统即广播式自动相关监视系统,由多地面站和机载站构成,以网状、多点对多点方式完成数据双向通信。它主要实施空对空监视。(百度百科)

民航飞机上搭载了ADS-B out,也就是发射器,向周围广播自己的飞行信息(速度、高度、航向、位置……),ADS-B是世界通行的标准,我们可以自己接收飞机发射的ADS-B信号。

和ATC通话一样,未经授权发射ADS-B信号当然是违法的,接收信号则没有限制。国内没有禁止接收ADS-B信号,但是明确禁止将数据上传到境外。个人玩一玩是没有问题的,不要将数据分享上传。(所以事实上Flightradar24是违法的,类似的服务比如OpenSky的中国内地空域是空白的)。

ADS-B信号还是比较容易接收的,我用的一根小小的UV天线最远可以收到100km~150km。

首先需要准备设备。RTL-SDR设备某宝上就可以买到,差别不大

进阶一些可以搭配1090mhz带通滤波器和专用天线

有条件的话,天线四周尽可能开阔。

需要的软件:

  • RTL1090,下载“RTL1090 - IMU”
  • adsbSCOPE,一些工具,其中包括了adsbscope

RTL1090将接收到的信号进行解码,adsbSCOPE负责在地图上将飞机显示出来。

下载RTL1090后,遵照指示安装即可,安装过程中程序会需要下载zadig,国内的话可能下载较慢,可以到官网Zadig上直接下载。

在RTL1090的安装程序中会给出细致的zadig使用步骤,参考它的步骤即可,此处不再赘述。

adsbSCOPE可以直接打开使用。

配置

启动RTL1090(可能要到安装目录下去找),

点击“START”开始,稍后就能看到接收结果

点击“Table”,可以看到搜索到的飞机,包括航班号、速度、高度等信息

打开adsbscope,找到other->Network->Network setup。在raw-data-client中,点击“local”和“presets”中的“RTL1090”,然后关闭即可。

完成后,如图所示,点击右侧按钮(start raw data client),按钮亮起即开始接收来自RTL1090的数据。

同时RTL1090下方的“TCP”也亮起。

稍后,便可以在adsbSCOPE上的地图中看到飞机(需要手动把地图拖到自己所在的地区,也可以找到Navigation->goto Town or Airport,找到你所在的城市或者附近的机场,即可将地图调到相应的位置,然后Navigation->set receiver location,在地图上记录你的位置)。

飞机较多的时候的接收效果:



comments powered by Disqus