莊子源,班 恬
(南京理工大學 電子工程與光電技術學院,南京 210094)
廣播式自動相關監視(Automatic Dependent Surveillance-Broadcast,ADS-B)是一種自動地從相關機載設備和全球導航衛星系統獲取參數,并向地面設備和其他航空器廣播飛機的位置、高度、速度、識別號等信息的監視技術[1]。利用 ADS-B的廣播特性,只要在信號的可接收范圍內就可以使用地面上ADS-B接收設備收到飛機的飛行數據,從而解碼出航跡信息。對于地形復雜、人跡罕至的地區,使用ADS-B可以有效補充航跡盲區,從而保障飛行安全。ADS-B技術于1991年在瑞典Bromma機場首次成功進行演示,經過國際民航組織的大力推廣,該技術已經在澳大利亞和美國有了較為成熟的研究和應用[2]。近年來,我國十分重視ADS-B技術的研究以及應用,我國民航部門根據國際標準制定了適合國情的ADS-B標準,且逐步推廣ADS-B的應用[3]。
目前,傳統的廉價型接收機例如RTL-SDR[4]、ADALM-PLUTO[5]等設備都是基于PC作為基帶信號解調平臺,設備存在便攜性差、實時性差等問題;高性價比接收機[6]通用性好,但是該類接收機沒有針對ADS-B信號進行設計,針對性較差;而高端型接收機例如pingStation等存在成本過高、較難維護升級的問題。為了解決以上問題,本文提出了以軟件無線電技術為基礎、針對ADS-B信號的無線電接收機。
軟件無線電技術是以通用硬件平臺為基礎,以自定義軟件為核心,實現無線通信系統功能的一種技術[7]。軟件無線電的特點是廣泛的適用性,可擴展、升級,使用該技術可以降低前端接收模塊成本,提高研發效率。本文采用ADI公司的AD9361作為前端信號接收芯片,Xilinx公司的Zynq-7000作為信號處理芯片,設計了一種針對ADS-B的軟件無線電接收機。
本系統的硬件結構如圖1所示,AD9361與Zynq-7000通過FMC接口連接,Zynq-7000與USB接口、HDMI接口、網絡接口等連接。

圖1 無線電接發系統硬件結構
天線接收無線電信號至射頻前端芯片AD9361,經過混頻、模擬濾波、模數轉換器(Analogue-to-Digital Conversion,ADC)、數字濾波等過程轉換為基帶信號;再將基帶信號傳至Zynq-7000進行數據處理,根據相應調制方式的解調算法,將基帶信號解調為相應的信息;最后通過與Zynq-7000相連的外設將數據顯示出來。
AD9361與Zynq-7000相連的FMC接口主要由三部分組成:第一部分是控制接口,Zynq-7000通過SPI或者GPIO對AD9361中的寄存器進行配置,從而實現AD9361內部功能;第二部分為數據接口,AD9361與Zynq-7000之間的數據通過并口進行傳輸,可以選擇低電壓差分信號(Low-Voltage Differential Signal,LVDS)或者互補金屬氧化物半導體(Complementary Metal Oxide Semiconductor,CMOS)模式完成數據接收任務;第三部分是時鐘、復位、電源接口,該部分主要功能是傳輸時鐘信號、復位使能信號以及提供AD9361電源。
AD9361接收流程結構如圖2所示[8]。針對ADS-B信號的特征,需要對接收路的本振、模擬濾波器、數字濾波器進行設計。

圖2 AD9361接收機流程結構圖
天線接收無線射頻信號,將信號送至低噪聲放大器(Low Noise Amplifier,LNA)進行放大,再將放大后的信號與本振(Local Oscillator,LO)進行混頻,得到I、Q兩路的視頻信號[8]。由于ADS-B的中心頻率為1 090 MHz,因此設置LO頻率為1 090 MHz,對接收信號進行下變頻至基帶信號。降頻后的基帶電信號再通過兩個模擬低通濾波器進行濾波處理,這兩個濾波器起到降低雜散信號電平作用;之后信號通過ADC進行采樣,AD9361使用的是12位的ADC;經過ADC轉換,接收到的模擬信號轉換為數字信號,為了滿足帶通采樣定理,可設置本系統ADC采樣率為160 MHz;而后再通過三個半帶濾波器以及一個可編程FIR濾波器對其濾波,這些可編程濾波器可以限制帶寬和抑制帶外噪聲,并在數字化后減少雜散信號。為了便于信號解調算法計算,本接收系統設置采樣率為20 MHz。因此,需要通過三個半帶濾波器對采樣后的信號進行8倍抽取。ADI公司在Matlab上開發了AD9361濾波器設計向導程序,利用該程序可以簡化FIR濾波器設置。由于ADS-B的帶寬為2 MHz,為了接收更多的信號,可將FIR濾波器設置為通帶4.5 MHz、阻帶5.5 MHz的低通濾波器,通過濾波器設計向導程序獲得濾波器系數。最后,濾波后的I、Q兩路信號交織為一路信號送給基帶芯片處理。
AD9361由SPI或者GPIO對其寄存器進行配置,一般研發人員使用SPI對其配置。AD9361內部有上千個寄存器,這些寄存器可由SPI進行讀寫,并控制AD9361進行工作。AD9361屬于IIO設備,即工業I/O系統,該系統是專門用于數模轉換器和模數轉換器的子系統。為了簡化開發難度,ADI公司在IIO的基礎上開發了Libiio系統,使用Libiio的庫函數iio_device_reg_write()對其寄存器進行讀取,iio_device_reg_read()對其寄存器進行寫入。
AD9361的內部器可分為四大類:一般設置和數字數據端口配置、發射端配置、接收端配置、模擬端配置。而在本系統中,只涉及信號接收過程,因此只需要對一般設置和數字數據端、接收端、模擬端三類寄存器進行配置即可。寄存器配置決定了軟件無線電接收機的工作模式、采樣速率、濾波器系數等一系列參數,是設計軟件無線電接收機的核心步驟。
2.1.1 一般設置和數字數據端口配置
該組寄存器地址為0x000至0x05F,主要包括芯片級設置、并行端口配置、使能狀態機(Enable State Machine,ENSM)設置、基帶鎖相環(Baseband Phase Locked Loop,BBPLL)設置等。
(1)在芯片級設置中,主要包括SPI設置、Rx使能設置、射頻鎖相環(Radio Frequency Phase Locked Loop,RFPLL)分頻器設置。
SPI設置地址為0x000,設置值為0x00,使得SPI最高有效位,并設置SPI_DI引腳為輸入引腳。Rx使能設置地址為0x003,設置值為0xDD,使能Rx通道,并使能該通道上的三級半帶濾波器。RFPLL分頻器寄存器地址為0x005,其后四位為Rx分頻器的值。AD9361內部壓控振蕩器(Voltage-Controlled Oscillator,VCO)的工作范圍為6~12 GHz,VCO需要通過分頻器獲得Rx本振頻率范圍。寄存器值的設置公式為
Divider Value=2(Rx VCO Divider Register+1)。
(1)
式中:Divider Value是分頻器的值,Rx VCO Divider Register為寄存器0x005后四位的值。本系統所需的本振為頻率為1 090 MHz,因此需要將VCO進行8分頻,計算得該寄存器的值為0x12。
(2)并行端口配置主要對并行數據傳輸端口的速率、模式等進行設置。在本系統中,使用LVDS模式進行數據傳輸,設置寄存器0x012為0x10,使用LVDS差分模式。
(3)ENSM設置主要對AD9361的工作狀態進行設置,AD9361有時分雙工與頻分雙工兩種模式,本系統只使用Rx路信號,因此使用頻分雙工模式即可,設置寄存器0x013的值為0x01置為頻分雙工模式。
(4)BBPLL合成器寄存器,該組寄存器地址為0x03F至0x04E?;鶐фi相環頻率合成器用于生成所有基帶相關時鐘信號,包括ADC采樣時鐘、DATA_CLK時鐘等。寄存器地址0x041后五位至地址0x044存儲基帶鎖相環頻率字,其公式為
(2)
(3)
(4)
式中:BBPLLInteger為基帶鎖相環頻率整數字,floor為向下取整,fBBPLL為基帶所需頻率,fREF為參考時鐘頻率;BBPLLFractional為基帶鎖相環頻率小數字,fOUT為基帶鎖相環真實輸出值。在本系統中,信號采樣頻率設置為20 MHz,參考時鐘頻率為10 MHz。經計算可得,BBPLLInteger=20,BBPLLFractional=0,寄存器0x044的值為0x14,0x041至0x043的值為0x00。
一般設置和數字數據端口配置中還有輔助ADC寄存器設置、溢出設置等其他寄存器,本文不詳細展開介紹。
2.1.2 接收端配置
該組寄存器的地址為0x0F0至0x1FC,主要包括Rx可編程FIR濾波器配置、接收強度信號指示器(Received Strength Signal Indicator,RSSI)測量配置、校準配置等。
(1)Rx可編程FIR濾波寄存器地址為0x0F0至0x0F6。0x0F1和0x0F2寫Rx濾波器系數,將Matlab所得濾波器系數寫入該寄存器進行配置。寄存器0x0F5對濾波器抽頭、信道選擇進行配置,將值設置為0x78,設置抽頭數為64,使能信道Rx1。
(2)RSSI測量配置寄存器地址為0x150至0x15D。該組寄存器為測量信號接收的強度,通過RSSI數據可以判斷是否接收到相應的信號。0x158對RSSI的模式進行設置,設置為0x0C,使能RSSI并初始化RSSI的測量模式。RSSI數據讀取寄存器的地址為0x1A7至0x1AC,該組寄存器為只讀寄存器,讀取Rx鏈路上RSSI的值。
(3)校準寄存器,包括正交校準寄存器、相位校準寄存器、增益校準寄存器等。該部分校準寄存器數量較多,一般使用默認值即可,在此不做詳細說明。
2.1.3 模擬端配置
該組寄存器地址為0x230至0x3F6,主要包括Rx合成器寄存器設置、數字測試寄存器設置等。
(1)Rx合成器寄存器是該組寄存器中最重要的部分,主要包括VCO頻率字設置、VCO校準設置等。
VCO頻率字設置寄存器,該組寄存器地址為0x230至0x235。VCO頻率字設置器用于為RF信號路徑生成需要的LO信號,頻率合成器融入了集成式的VCO和環路濾波器。在寄存器地址0x0231和0x0232地址后三位中VCO字的11位整數字,0x233至0x235存儲23位小數。VCO字的計算公式為
(5)
(6)
式中:NInteger為整數字,floor為向下取整,fRFPLL為所需本振頻率,fREF為參考時鐘頻率10 MHz,NFractional為小數字,Round為取小數。由于ADS-B信號的射頻頻率標準值為1 090 MHz,經計算NInteger為109,NFractional為0,因此寄存器0x231的值為0x6D,寄存器0x232至0x235的值都為0x00。
本系統的信號解調算法如圖3所示。

圖3 報頭檢測流程圖
首先對信號的報頭進行檢測,接收采樣信號,使用公式(7)先對接收數據N求算數平均后計算得噪聲基底,再乘以經驗值λ得到門限值MTL。
(7)
搜索超過門限的第一個采樣點,若下一個超過門限的采樣點與第一個采樣點的距離小于2 μs,則認為這兩個點“連續”。當一段“連續”的采樣點集中,第一個點和最后一個點的距離大于54 μs時,將該組信號送入互相關檢測。將標準報頭序列xn設置為[1 -1 1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 -1 -1 -1],潛在信號段yn與標準報頭序列xn使用公式(8)進行互相關計算,N為序列長度。
(8)
設置門限為比噪底幅度高6 dB的值,當互相關值高于此門限時,搜索第一個滿足門限的峰值,并檢查此處接下來3 μs是否存在更大的峰值,若不存在,則取此處為消息數據起始位;若存在,則取更大峰值處的位置為消息數據起始位。尋找到報頭后,取出潛在信號段,根據所設門限MTL,將潛在信號處理為0-1信號。完成0-1處理后,對潛在信號的報文部分進行循環冗余校驗(Cyclic Redundancy Check,CRC)校驗,若信號通過CRC校驗,則對報文進行翻譯;反之,結束信號解調[9]。
圖4為本系統測試驗證圖,圖4(a)為系統實采運行圖,天線接收信號至系統處理,完成解調后將信息通過HDMI至顯示器顯示;圖4(b)為系統性能測試圖,信號發生器產生不同幅度的射頻信號輸入至系統,使用OscilloScope軟件觀察信號時域、頻域變化,完成對接收機性能測試[10]。

圖4 無線電系統測試
經測試,接收機帶寬(Bandwidth,BW)為4 MHz時,可以接收幅度為-98 dBm的射頻信號,測得接收機靈敏度為-98 dBm。在信噪比(Signal-to-Noise Ratio,SNR)為10 dB時,根據公式(9),推導系統的噪聲系數(Noise Figure,NF)約為4 dBm。
Smin=-174+NF+SNR(d)+10×lg(BW)。
(9)
無雜散動態范圍(Spurious Free Dynamic Range,SFDR)計算公式[10]為
(10)
式中:接收機的輸入三階交調截點IP3為8.16 dBm[15],靈敏度為-98 dBm,信噪比取10 dB。計算得接收機無雜散動態范圍約為65 dB。
使用模擬ADS-B信號發射器發送不同信噪比的模擬信號至系統解調,得到信噪比與檢測概率如圖5所示。在信噪比為10 dB時,有接近100%的檢測概率;在信噪比為6 dB時,有超過60%的檢測概率。

圖5 模擬ADS-B信號的檢測概率
為了驗證本系統在接收實際信號時的狀況,在北緯32.1°、東經118.51°進行信號實采。圖6(a)為一段實際接收的數據信號,經解調本段信號中有一組信號為報文段有56位的短報文ADS-B信號,如圖6(b)所示;圖6(c)為經算法處理完的0-1格式信號。按照1090ES ADS-B報文標準對其翻譯:報文1~5位下行格式段為01011,表示該組信號為56位短報文信號;6~8位接收機性能段為101,表示該飛機在空中且有通信能力;9~32位為飛機航班的國際民航組織序列號(International Civil Aviation Organization,ICAO),將24位二進制ICAO號轉換為6位16進制ICAO號,得到該飛機的ICAO號為780E40,經查詢該航班是南方航空公司一班由沈陽飛往南京的飛機;33~56位為CRC校驗段。經計算,該段信號的信噪比約為4.4 dB,此結果表明,本系統可以在實際應用中接收并解調ADS-B信號。

圖6 ADS-B實采信號
與目前已有的ADS-B接收機相比,本系統在便捷性、可靠性、成本等多方面存在優勢。與廉價接收機RTL-SDR相比,本系統無需PC端支持,便攜性更好,靈敏度更高;與高性價比接收機ADALM-PLUTO相比,本系統可以對ADS-B信號進行實時監測;與高端產品pingStation相比,本系統在靈敏度、動態范圍相似的情況下,成本更低,性價比更優。
本文提出了一種針對ADS-B信號的軟件無線電接收機的設計方案,詳細闡述了硬件設計和軟件開發過程,以及AD9361寄存器配置方案。通過測試驗證,系統成功接收解調信噪比為4.4 dB的ADS-B實采信號。由以上結論可得,本系統能可靠地應用于實際信號監測中。
本系統所采用的算法仍有改進空間,但在以后的研發中,只需要對系統應用層軟件算法程序稍加修改,即可完成系統的升級工作,這將大大提高研發效率,降低設備研制的綜合成本。與已有的無線電接收機相比,本系統靈敏度更好,動態范圍更大,具有ADS-B信號針對性,且易于搭建和升級。綜上,本系統是一款可以面向市場應用的ADS-B信號接收系統。