莊子源,班 恬
(南京理工大學 電子工程與光電技術(shù)學院,南京 210094)
廣播式自動相關(guān)監(jiān)視(Automatic Dependent Surveillance-Broadcast,ADS-B)是一種自動地從相關(guān)機載設備和全球?qū)Ш叫l(wèi)星系統(tǒng)獲取參數(shù),并向地面設備和其他航空器廣播飛機的位置、高度、速度、識別號等信息的監(jiān)視技術(shù)[1]。利用 ADS-B的廣播特性,只要在信號的可接收范圍內(nèi)就可以使用地面上ADS-B接收設備收到飛機的飛行數(shù)據(jù),從而解碼出航跡信息。對于地形復雜、人跡罕至的地區(qū),使用ADS-B可以有效補充航跡盲區(qū),從而保障飛行安全。ADS-B技術(shù)于1991年在瑞典Bromma機場首次成功進行演示,經(jīng)過國際民航組織的大力推廣,該技術(shù)已經(jīng)在澳大利亞和美國有了較為成熟的研究和應用[2]。近年來,我國十分重視ADS-B技術(shù)的研究以及應用,我國民航部門根據(jù)國際標準制定了適合國情的ADS-B標準,且逐步推廣ADS-B的應用[3]。
目前,傳統(tǒng)的廉價型接收機例如RTL-SDR[4]、ADALM-PLUTO[5]等設備都是基于PC作為基帶信號解調(diào)平臺,設備存在便攜性差、實時性差等問題;高性價比接收機[6]通用性好,但是該類接收機沒有針對ADS-B信號進行設計,針對性較差;而高端型接收機例如pingStation等存在成本過高、較難維護升級的問題。為了解決以上問題,本文提出了以軟件無線電技術(shù)為基礎(chǔ)、針對ADS-B信號的無線電接收機。
軟件無線電技術(shù)是以通用硬件平臺為基礎(chǔ),以自定義軟件為核心,實現(xiàn)無線通信系統(tǒng)功能的一種技術(shù)[7]。軟件無線電的特點是廣泛的適用性,可擴展、升級,使用該技術(shù)可以降低前端接收模塊成本,提高研發(fā)效率。本文采用ADI公司的AD9361作為前端信號接收芯片,Xilinx公司的Zynq-7000作為信號處理芯片,設計了一種針對ADS-B的軟件無線電接收機。
本系統(tǒng)的硬件結(jié)構(gòu)如圖1所示,AD9361與Zynq-7000通過FMC接口連接,Zynq-7000與USB接口、HDMI接口、網(wǎng)絡接口等連接。
圖1 無線電接發(fā)系統(tǒng)硬件結(jié)構(gòu)
天線接收無線電信號至射頻前端芯片AD9361,經(jīng)過混頻、模擬濾波、模數(shù)轉(zhuǎn)換器(Analogue-to-Digital Conversion,ADC)、數(shù)字濾波等過程轉(zhuǎn)換為基帶信號;再將基帶信號傳至Zynq-7000進行數(shù)據(jù)處理,根據(jù)相應調(diào)制方式的解調(diào)算法,將基帶信號解調(diào)為相應的信息;最后通過與Zynq-7000相連的外設將數(shù)據(jù)顯示出來。
AD9361與Zynq-7000相連的FMC接口主要由三部分組成:第一部分是控制接口,Zynq-7000通過SPI或者GPIO對AD9361中的寄存器進行配置,從而實現(xiàn)AD9361內(nèi)部功能;第二部分為數(shù)據(jù)接口,AD9361與Zynq-7000之間的數(shù)據(jù)通過并口進行傳輸,可以選擇低電壓差分信號(Low-Voltage Differential Signal,LVDS)或者互補金屬氧化物半導體(Complementary Metal Oxide Semiconductor,CMOS)模式完成數(shù)據(jù)接收任務;第三部分是時鐘、復位、電源接口,該部分主要功能是傳輸時鐘信號、復位使能信號以及提供AD9361電源。
AD9361接收流程結(jié)構(gòu)如圖2所示[8]。針對ADS-B信號的特征,需要對接收路的本振、模擬濾波器、數(shù)字濾波器進行設計。
圖2 AD9361接收機流程結(jié)構(gòu)圖
天線接收無線射頻信號,將信號送至低噪聲放大器(Low Noise Amplifier,LNA)進行放大,再將放大后的信號與本振(Local Oscillator,LO)進行混頻,得到I、Q兩路的視頻信號[8]。由于ADS-B的中心頻率為1 090 MHz,因此設置LO頻率為1 090 MHz,對接收信號進行下變頻至基帶信號。降頻后的基帶電信號再通過兩個模擬低通濾波器進行濾波處理,這兩個濾波器起到降低雜散信號電平作用;之后信號通過ADC進行采樣,AD9361使用的是12位的ADC;經(jīng)過ADC轉(zhuǎn)換,接收到的模擬信號轉(zhuǎn)換為數(shù)字信號,為了滿足帶通采樣定理,可設置本系統(tǒng)ADC采樣率為160 MHz;而后再通過三個半帶濾波器以及一個可編程FIR濾波器對其濾波,這些可編程濾波器可以限制帶寬和抑制帶外噪聲,并在數(shù)字化后減少雜散信號。為了便于信號解調(diào)算法計算,本接收系統(tǒng)設置采樣率為20 MHz。因此,需要通過三個半帶濾波器對采樣后的信號進行8倍抽取。ADI公司在Matlab上開發(fā)了AD9361濾波器設計向?qū)С绦?,利用該程序可以簡化FIR濾波器設置。由于ADS-B的帶寬為2 MHz,為了接收更多的信號,可將FIR濾波器設置為通帶4.5 MHz、阻帶5.5 MHz的低通濾波器,通過濾波器設計向?qū)С绦颢@得濾波器系數(shù)。最后,濾波后的I、Q兩路信號交織為一路信號送給基帶芯片處理。
AD9361由SPI或者GPIO對其寄存器進行配置,一般研發(fā)人員使用SPI對其配置。AD9361內(nèi)部有上千個寄存器,這些寄存器可由SPI進行讀寫,并控制AD9361進行工作。AD9361屬于IIO設備,即工業(yè)I/O系統(tǒng),該系統(tǒng)是專門用于數(shù)模轉(zhuǎn)換器和模數(shù)轉(zhuǎn)換器的子系統(tǒng)。為了簡化開發(fā)難度,ADI公司在IIO的基礎(chǔ)上開發(fā)了Libiio系統(tǒng),使用Libiio的庫函數(shù)iio_device_reg_write()對其寄存器進行讀取,iio_device_reg_read()對其寄存器進行寫入。
AD9361的內(nèi)部器可分為四大類:一般設置和數(shù)字數(shù)據(jù)端口配置、發(fā)射端配置、接收端配置、模擬端配置。而在本系統(tǒng)中,只涉及信號接收過程,因此只需要對一般設置和數(shù)字數(shù)據(jù)端、接收端、模擬端三類寄存器進行配置即可。寄存器配置決定了軟件無線電接收機的工作模式、采樣速率、濾波器系數(shù)等一系列參數(shù),是設計軟件無線電接收機的核心步驟。
2.1.1 一般設置和數(shù)字數(shù)據(jù)端口配置
該組寄存器地址為0x000至0x05F,主要包括芯片級設置、并行端口配置、使能狀態(tài)機(Enable State Machine,ENSM)設置、基帶鎖相環(huán)(Baseband Phase Locked Loop,BBPLL)設置等。
(1)在芯片級設置中,主要包括SPI設置、Rx使能設置、射頻鎖相環(huán)(Radio Frequency Phase Locked Loop,RFPLL)分頻器設置。
SPI設置地址為0x000,設置值為0x00,使得SPI最高有效位,并設置SPI_DI引腳為輸入引腳。Rx使能設置地址為0x003,設置值為0xDD,使能Rx通道,并使能該通道上的三級半帶濾波器。RFPLL分頻器寄存器地址為0x005,其后四位為Rx分頻器的值。AD9361內(nèi)部壓控振蕩器(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后四位的值。本系統(tǒng)所需的本振為頻率為1 090 MHz,因此需要將VCO進行8分頻,計算得該寄存器的值為0x12。
(2)并行端口配置主要對并行數(shù)據(jù)傳輸端口的速率、模式等進行設置。在本系統(tǒng)中,使用LVDS模式進行數(shù)據(jù)傳輸,設置寄存器0x012為0x10,使用LVDS差分模式。
(3)ENSM設置主要對AD9361的工作狀態(tài)進行設置,AD9361有時分雙工與頻分雙工兩種模式,本系統(tǒng)只使用Rx路信號,因此使用頻分雙工模式即可,設置寄存器0x013的值為0x01置為頻分雙工模式。
(4)BBPLL合成器寄存器,該組寄存器地址為0x03F至0x04E。基帶鎖相環(huán)頻率合成器用于生成所有基帶相關(guān)時鐘信號,包括ADC采樣時鐘、DATA_CLK時鐘等。寄存器地址0x041后五位至地址0x044存儲基帶鎖相環(huán)頻率字,其公式為
(2)
(3)
(4)
式中:BBPLLInteger為基帶鎖相環(huán)頻率整數(shù)字,floor為向下取整,fBBPLL為基帶所需頻率,fREF為參考時鐘頻率;BBPLLFractional為基帶鎖相環(huán)頻率小數(shù)字,fOUT為基帶鎖相環(huán)真實輸出值。在本系統(tǒng)中,信號采樣頻率設置為20 MHz,參考時鐘頻率為10 MHz。經(jīng)計算可得,BBPLLInteger=20,BBPLLFractional=0,寄存器0x044的值為0x14,0x041至0x043的值為0x00。
一般設置和數(shù)字數(shù)據(jù)端口配置中還有輔助ADC寄存器設置、溢出設置等其他寄存器,本文不詳細展開介紹。
2.1.2 接收端配置
該組寄存器的地址為0x0F0至0x1FC,主要包括Rx可編程FIR濾波器配置、接收強度信號指示器(Received Strength Signal Indicator,RSSI)測量配置、校準配置等。
(1)Rx可編程FIR濾波寄存器地址為0x0F0至0x0F6。0x0F1和0x0F2寫Rx濾波器系數(shù),將Matlab所得濾波器系數(shù)寫入該寄存器進行配置。寄存器0x0F5對濾波器抽頭、信道選擇進行配置,將值設置為0x78,設置抽頭數(shù)為64,使能信道Rx1。
(2)RSSI測量配置寄存器地址為0x150至0x15D。該組寄存器為測量信號接收的強度,通過RSSI數(shù)據(jù)可以判斷是否接收到相應的信號。0x158對RSSI的模式進行設置,設置為0x0C,使能RSSI并初始化RSSI的測量模式。RSSI數(shù)據(jù)讀取寄存器的地址為0x1A7至0x1AC,該組寄存器為只讀寄存器,讀取Rx鏈路上RSSI的值。
(3)校準寄存器,包括正交校準寄存器、相位校準寄存器、增益校準寄存器等。該部分校準寄存器數(shù)量較多,一般使用默認值即可,在此不做詳細說明。
2.1.3 模擬端配置
該組寄存器地址為0x230至0x3F6,主要包括Rx合成器寄存器設置、數(shù)字測試寄存器設置等。
(1)Rx合成器寄存器是該組寄存器中最重要的部分,主要包括VCO頻率字設置、VCO校準設置等。
VCO頻率字設置寄存器,該組寄存器地址為0x230至0x235。VCO頻率字設置器用于為RF信號路徑生成需要的LO信號,頻率合成器融入了集成式的VCO和環(huán)路濾波器。在寄存器地址0x0231和0x0232地址后三位中VCO字的11位整數(shù)字,0x233至0x235存儲23位小數(shù)。VCO字的計算公式為
(5)
(6)
式中:NInteger為整數(shù)字,floor為向下取整,fRFPLL為所需本振頻率,fREF為參考時鐘頻率10 MHz,NFractional為小數(shù)字,Round為取小數(shù)。由于ADS-B信號的射頻頻率標準值為1 090 MHz,經(jīng)計算NInteger為109,NFractional為0,因此寄存器0x231的值為0x6D,寄存器0x232至0x235的值都為0x00。
本系統(tǒng)的信號解調(diào)算法如圖3所示。
圖3 報頭檢測流程圖
首先對信號的報頭進行檢測,接收采樣信號,使用公式(7)先對接收數(shù)據(jù)N求算數(shù)平均后計算得噪聲基底,再乘以經(jīng)驗值λ得到門限值MTL。
(7)
搜索超過門限的第一個采樣點,若下一個超過門限的采樣點與第一個采樣點的距離小于2 μs,則認為這兩個點“連續(xù)”。當一段“連續(xù)”的采樣點集中,第一個點和最后一個點的距離大于54 μs時,將該組信號送入互相關(guān)檢測。將標準報頭序列xn設置為[1 -1 1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 -1 -1 -1],潛在信號段yn與標準報頭序列xn使用公式(8)進行互相關(guān)計算,N為序列長度。
(8)
設置門限為比噪底幅度高6 dB的值,當互相關(guān)值高于此門限時,搜索第一個滿足門限的峰值,并檢查此處接下來3 μs是否存在更大的峰值,若不存在,則取此處為消息數(shù)據(jù)起始位;若存在,則取更大峰值處的位置為消息數(shù)據(jù)起始位。尋找到報頭后,取出潛在信號段,根據(jù)所設門限MTL,將潛在信號處理為0-1信號。完成0-1處理后,對潛在信號的報文部分進行循環(huán)冗余校驗(Cyclic Redundancy Check,CRC)校驗,若信號通過CRC校驗,則對報文進行翻譯;反之,結(jié)束信號解調(diào)[9]。
圖4為本系統(tǒng)測試驗證圖,圖4(a)為系統(tǒng)實采運行圖,天線接收信號至系統(tǒng)處理,完成解調(diào)后將信息通過HDMI至顯示器顯示;圖4(b)為系統(tǒng)性能測試圖,信號發(fā)生器產(chǎn)生不同幅度的射頻信號輸入至系統(tǒng),使用OscilloScope軟件觀察信號時域、頻域變化,完成對接收機性能測試[10]。
圖4 無線電系統(tǒng)測試
經(jīng)測試,接收機帶寬(Bandwidth,BW)為4 MHz時,可以接收幅度為-98 dBm的射頻信號,測得接收機靈敏度為-98 dBm。在信噪比(Signal-to-Noise Ratio,SNR)為10 dB時,根據(jù)公式(9),推導系統(tǒng)的噪聲系數(shù)(Noise Figure,NF)約為4 dBm。
Smin=-174+NF+SNR(d)+10×lg(BW)。
(9)
無雜散動態(tài)范圍(Spurious Free Dynamic Range,SFDR)計算公式[10]為
(10)
式中:接收機的輸入三階交調(diào)截點IP3為8.16 dBm[15],靈敏度為-98 dBm,信噪比取10 dB。計算得接收機無雜散動態(tài)范圍約為65 dB。
使用模擬ADS-B信號發(fā)射器發(fā)送不同信噪比的模擬信號至系統(tǒng)解調(diào),得到信噪比與檢測概率如圖5所示。在信噪比為10 dB時,有接近100%的檢測概率;在信噪比為6 dB時,有超過60%的檢測概率。
圖5 模擬ADS-B信號的檢測概率
為了驗證本系統(tǒng)在接收實際信號時的狀況,在北緯32.1°、東經(jīng)118.51°進行信號實采。圖6(a)為一段實際接收的數(shù)據(jù)信號,經(jīng)解調(diào)本段信號中有一組信號為報文段有56位的短報文ADS-B信號,如圖6(b)所示;圖6(c)為經(jīng)算法處理完的0-1格式信號。按照1090ES ADS-B報文標準對其翻譯:報文1~5位下行格式段為01011,表示該組信號為56位短報文信號;6~8位接收機性能段為101,表示該飛機在空中且有通信能力;9~32位為飛機航班的國際民航組織序列號(International Civil Aviation Organization,ICAO),將24位二進制ICAO號轉(zhuǎn)換為6位16進制ICAO號,得到該飛機的ICAO號為780E40,經(jīng)查詢該航班是南方航空公司一班由沈陽飛往南京的飛機;33~56位為CRC校驗段。經(jīng)計算,該段信號的信噪比約為4.4 dB,此結(jié)果表明,本系統(tǒng)可以在實際應用中接收并解調(diào)ADS-B信號。
圖6 ADS-B實采信號
與目前已有的ADS-B接收機相比,本系統(tǒng)在便捷性、可靠性、成本等多方面存在優(yōu)勢。與廉價接收機RTL-SDR相比,本系統(tǒng)無需PC端支持,便攜性更好,靈敏度更高;與高性價比接收機ADALM-PLUTO相比,本系統(tǒng)可以對ADS-B信號進行實時監(jiān)測;與高端產(chǎn)品pingStation相比,本系統(tǒng)在靈敏度、動態(tài)范圍相似的情況下,成本更低,性價比更優(yōu)。
本文提出了一種針對ADS-B信號的軟件無線電接收機的設計方案,詳細闡述了硬件設計和軟件開發(fā)過程,以及AD9361寄存器配置方案。通過測試驗證,系統(tǒng)成功接收解調(diào)信噪比為4.4 dB的ADS-B實采信號。由以上結(jié)論可得,本系統(tǒng)能可靠地應用于實際信號監(jiān)測中。
本系統(tǒng)所采用的算法仍有改進空間,但在以后的研發(fā)中,只需要對系統(tǒng)應用層軟件算法程序稍加修改,即可完成系統(tǒng)的升級工作,這將大大提高研發(fā)效率,降低設備研制的綜合成本。與已有的無線電接收機相比,本系統(tǒng)靈敏度更好,動態(tài)范圍更大,具有ADS-B信號針對性,且易于搭建和升級。綜上,本系統(tǒng)是一款可以面向市場應用的ADS-B信號接收系統(tǒng)。