主要内容

利用ADS-B信号进行飞机跟踪

此示例演示如何使用MATLAB®和通信工具箱处理自动相关监视广播(ADS-B)信号来跟踪飞机™. 您可以使用捕获的信号,也可以使用RTL-SDR无线电或ADALM-PLUTO无线电实时接收信号。如果您有映射工具箱,该示例可以在地图上显示跟踪的平面™.

所需的硬件和软件

要使用捕获的信号运行此示例,您需要以下软件:

  • Communications Toolbox™

要实时接收信号,还需要以下SDR设备之一和相应的支持包加载项:万博1manbetx

  • RTL-SDR无线电和用于RTL-SDR无线电软件加载项的相应通信工具箱支持包万博1manbetx

  • ADALM-PLUTO无线电和ADALM-PLUTO无线电软件附加组件的相应通信工具箱支持包万博1manbetx

有关通信工具箱支持的SDR平台的完整列表,请参阅万博1manbetx软件定义无线电(SDR)发现页面.

出身背景

ADS-B是跟踪飞机的合作监控技术。该技术使飞机能够使用模式-S信令方案定期广播其位置信息(高度,GPS坐标,标题等)。

S模式是一种航空转发器询问模式。当飞机收到询问请求时,它会发回转发器的信息Squawk Code.。这称为模式3A。模式-S(选择)是另一种询问模式,旨在帮助避免过于频繁地询问应答器。有关模式-S的更多详细信息,请参阅[1.]。这种模式在欧洲被广泛采用,正在逐步逐步逐步逐步。

S模式信令方案使用喷射消息,喷射消息定义为航空无线电系统中使用的非请求消息。S模式具有以下特性:

  • 发射频率:1090兆赫

  • 调制:脉冲位置调制

  • 数据速率:1 Mbit/s

  • 短脉冲长度:56微秒

  • 扩展的喷射器长度:112微秒

短路询问消息包含以下信息:

  • 下行格式(DF)

  • 能力(CA)

  • 飞机ID(独特的24位序列)

  • CRC校验和

扩展的squitter(ADS-B)消息包含短squitter中的所有信息,其中包括:

  • 海拔高度

  • 位置

  • 标题

  • 水平和垂直速度

模式-S的信号格式具有8微秒的同步脉冲,其次是56或112微秒的数据,如下图所示。

运行示例

类型Adsbexample.在MATLAB命令窗口中或单击链接以运行示例。运行该示例时,您需要输入以下信息:

  1. 接收持续时间(秒),

  2. 信号源(捕获数据或RTL-SDR无线电或ADALM-PLUTO无线电),

  3. 可选输出方法(映射和/或文本文件)。

该示例以表格形式显示了检测到的飞机的信息,如下图所示。

如果您对映射工具箱有效许可,您也可以在地图上观察到的飞机。

接收器结构

下面的方框图总结了接收器代码结构。处理分为四个主要部分:信号源、物理层、消息解析器和数据查看器。

信号源

此示例可以使用三个信号源:

  1. ''捕获的信号'':在2.4 msps的基带文件读取器对象中写入文件的过空中信号

  2. ''RTL-SDR无线电'':RTL-SDR无线电在2.4 MSPS

  3. ''Adalm-Pluto收音机'':12 MSPS的Adalm-Pluto收音机

如果将“RTL-SDR”或“ADALM-PLUTO”指定为信号源,则该示例将在计算机中搜索您指定的无线电,无线电地址为“0”的RTL-SDR无线电或无线电地址为“usb:0”的ADALM-PLUTO无线电,并将其用作信号源。

这里扩展的Quotibter消息是120微秒,因此信号源被配置为处理足够的样本以一次包含180个扩展Quantitter消息,并设置样品架相应的信号属性。其余算法在此数据帧中搜索模式-S数据包,并输出所有正确识别的数据包。这种类型的处理定义为批处理。替代方法是一次处理一个扩展的提示消息。此单个数据包处理方法比批处理的开销引起180倍,而延迟较少180倍。由于ADS-B接收器是延迟耐受的,因此使用批处理。

物理层

物理层(PHY)处理从信号源接收的基带样本,以生成包含PHY层头信息和原始消息位的数据包。下图显示了物理层结构。

RTL-SDR无线电能够使用范围的采样率[200e3,2.8e6] Hz。当RTL-SDR无线电是源时,该示例使用2.4E6 Hz的采样率,并以12E6Hz的实际采样率置换为5倍。

AdAlm-Pluto无线电能够使用范围的采样率[520e3,61.44e6] Hz。当Adalm-Pluto无线电是源时,示例将输入直接在12 MHz时对输入进行采样。

数据速率为1 Mbit / s和12 MHz的实用采样率,每符号有12个样本。接收处理链使用复杂符号的大小。

数据包同步器在相当于两个扩展的间歇数据包的数据子帧上工作,即12 MHz或120微秒的1440个样本。此子帧长度确保整个扩展间歇数据包包含在子帧中。数据包同步器首先将接收到的信号与8微秒的前导相关联,并找到峰值。然后,它通过检查同步点是否与前导序列匹配来验证同步点,[1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0。

S模式PPM调制方案定义了两个符号。每个符号有两个码片,其中一个具有高值,另一个具有低值。如果第一个码片为高后接低码片,则对应于符号为1。或者,如果第一个码片为低后接高码片,则符号为0。位解析器解调接收信号ived芯片并创建一条二进制消息。二进制消息使用CRC检测器进行验证。位解析器的输出是包含以下字段的S模式物理层头数据包向量:

  • 原始比特:原始消息比特

  • CRCError:如果CRC检查为FALSE,如果CRC失败为TRUE

  • 时间:从接收器开始接收的时间(秒)

  • DF:下行链路格式(数据包类型)

  • CA:能力

消息分析器

消息解析器基于[的数据包类型,从原始比特中提取数据,如[2.]。此示例可以解析包含机载速度,识别和空中位置数据的短路拾取数据包和扩展漏斗数据包。

数据阅读器

data viewer在图形用户界面(GUI)上显示接收到的消息。对于每种数据包类型,显示检测到的数据包数量、正确解码的数据包数量和数据包错误率(PER)。捕获数据时,应用程序以表格形式列出从这些消息解码的信息。

示例代码

接收器请求用户输入并初始化变量。然后它在循环中调用信号源、物理层、消息解析器和数据查看器。循环使用帧持续时间跟踪无线电时间。

百分比要更改默认设置,设置| CMDLINEINPUT |到1。cmdlineInput=0;如果cmdlineInput.%请求用户从命令行输入应用程序参数UserInput = helperadsbuserInput;别的装载(“defaultinputsADSB.mat”);终止%根据用户输入计算ADS-B系统参数[adsbParam,sigSrc]=helperAdsbConfig(用户输入);%创建data viewer对象并根据用户输入进行配置查看器= HelperadsBviewer(“日志文件名”,userInput.LogFilename,...“信号源类型”,userInput.SignalSourceType);如果UserInput.Logdata StartDatalog(查看者);终止如果userInput.LaunchMap StartMapPupDate(查看器);终止%创建消息解析器对象msgParser=helperAdsbRxMsgParser(adsbParam);%启动查看器并初始化广播时间开始(查看者)RATIOTIME = 0;%主循环尽管无线电时间<用户输入。持续时间如果adsbparam.issourceradio.如果adsbparam.issourceplutosdr [rcv,〜,lostflag] = sigsrc();别的[rcv,~,lost]=sigSrc();lostFlag=logical(lost);终止别的rcv = sigsrc();lostflag = false;终止%处理物理层信息(物理层)[pkt,pktCnt]=helperAdsbRxPhy(rcv,radioTime,adsbParam);%解析消息位(消息解析器)[msg,msgCnt]=msgParser(pkt,pktCnt);%查看结果数据包内容(Data Viewer)更新(查看者,msg,msgcnt,lostflag);%更新广播时间radioTime=radioTime+adsbParam.FrameDuration;终止%停止查看器并释放信号源停止(查看者)释放(SIGSRC)

进一步探索

您可以使用AdsbexampleApp应用程序进一步探索ADS-B信号。此应用程序允许您选择信号源并更改持续时间。启动应用程序,键入dsbexampleapp.在MATLAB命令窗口中,或单击链接。

有关物理层实现的详细信息,您可以浏览以下帮助器函数:

选定的书目

  1. 国际民用航空组织,附件10,第4卷。监视和防撞系统。

  2. S模式服务和扩展喷射器的技术规定(文件9871)