目录
ADS-B是广播式自动相关监视,即无需人工操作或者询问,可以自动地从相关机载设备获取参数向其他飞机或地面站广播飞机的位置、高度、速度、航向、识别号等信息,以供管制员对飞机状态进行监控。我国民航飞机的通讯频率为1090MHz,航空CNS标准是公开的(脉冲位置,相对幅度等)。而且通过明文传输信息(112个未加密的脉冲字),因此编制解调软件(SDR)可以正确解调信号。在这次实验中通过使用MATLAB和其中的通信工具箱处理ADS-B信号来跟踪飞机。使用RTL-SDR实时接收信号。并在地图上显示被跟踪的飞机。
1. 准备工作
1.1 用Zadig软件安装RTL-SDR的驱动
安装驱动前,需要将RTL插在电脑的USB口。然后打开Zadig,在Options下点击List All Devices,并且不勾选上Ignore Hubs or Composite parents。接下来在下面点击Reinstall Driver,等待安装即可。
1.2 下载MATLAB RTL-SDR硬件支持包
安装好RTL的驱动后,在这里需要先去MathWorks官网注册一个账号。matlab的附加功能-获取硬件支持包显示不可用,我们去官网上下载硬件支持包和可选功能。
选择电脑中MATLAB的版本并进行下一步。
最后勾选并下载RTL的支持包Communications Toolbox Support Package for RTL-SDR Radio。
1.3 安装MATLAB 硬件支持包
在Windows开始窗口键入cmd,弹出命令提示符窗口。
输入dir可查看当前文件夹内的所有文件目录
还可将文件按大小或时间顺序排序显示
找到install_supportsoftware.exe文件所在的文件夹位置,复制文件夹地址
首先将文件夹从C盘转到D盘,输入cd +上面复制的文件夹地址,转到该文件夹目录下
下载相应版本的安装支持包
安装
可以等待识别成功后,在matlab的workspace输入sdrinfo(),观察是否能够正常识别到RTL设备。
2.使用ADS-B信号追踪飞机
可通过帮助文件打开Airplane Tracking Using ADS-B Signals,或通过MATLAB主菜单的simulink打开,点击右侧的打开模型。
弹出ADSB simulink example窗口后
- 将接收持续时间(秒)改为inf,即为持续接收ADS-B信号;
- 将Signal Source Selector信号源选择器选至中间的RTL-SDR Receiver;
- 将LauchMap和LogData按钮均打开,即可同时输出地图和文本文件。
点击运行按钮,即可通过RTL-SDR监测到附近的飞机信号,以表格和地图的形式显示检测到的飞机信息,如下图所示。
用鼠标点击地图上的飞机图标,即可显示飞机高度、速度、航向、识别号信息,通过飞机的型号信息,我们可以去飞机航线查询网站验证相应的航班信息。
在FlightAware官网,我们同样可以查询到该CKK212飞机的航线轨迹以及位置信息。
在下拉菜单可知该辆飞机是由德国法兰克福起飞的。并可在下拉页面查询到该飞机的所有详细信息。
同理可查询另一架飞机OTC7251的飞机信息如下:
在FlightAware官网,我们可以查询到该OTC7251飞机是由湖南长沙飞往江苏无锡的。并可在下拉页面查询到该飞机的所有详细信息。