劉飛
(中國民用航空珠海進近管制中心,廣東珠海,519070)
在導航設備校飛時,地面校飛人員需要與校飛機組通信完成設備調整任務。按照九洲DVOR/DME臺站的校飛程序,機組圍繞導航臺進行基準徑向和圓周檢測,地面校飛人員根據指令配合校飛機組完成設備主備切換、監控器告警參數調整等工作,但地面校飛人員無法準確掌握機組動態。而且在以往的工作中,只利用現有甚高頻設備搭建簡單的平臺與機組建立通信,因天線高度和甚高頻無濾波等影響,難以保證清晰的通信質量,機組校飛指令和機組報告參數時存在一定的識別誤差,也增加了溝通詢問次數。本工具搭建可移動的通信、監視和錄音的最小系統來完成導航設備校飛的輔助工作,增強地面校飛人員的情景意識,提高指令識別準確性和校飛工作效率。
本輔助工具分為三個部分,甚高頻通信,ADS-B信號,人機交互部分。甚高頻通信是利用現有的PAE T6TR收發一體機與機組建立甚高頻通信,T6TR輸出音頻線接入筆記本電腦完成下一步的音頻信號采集和處理。ADS-B信號處理是利用樹莓派卡片微型Linux電腦、USB軟件無線電SDR、Dump1090開源解碼器搭建監視系統來引接ADS-B信號。目前部分校飛機攜帶ADS-B設備,隨著新技術普及發展,ADS-B也會作為校飛機的監視數據源。人機交互部分顯示解碼后的機組航跡及附近區域航跡信息,方便地面校飛人員實時監控導航臺附近機組動態,同時完成機組VHF語音的實時記錄保存和語音回放功能,地面校飛人員可重復識別機組指令和參數報告,減少重復詢問次數,提高校飛工作效率。
硬件方面,按照下圖結構,樹莓派是通過有線網絡,也可無線網絡接入筆記本電腦,SDR與樹莓派是經過USB外設接口進行數據傳遞,T6TR音頻輸出接口通過音頻線接入筆記本電腦的麥克風輸入接口。在現有的甚高頻設備和個人電腦外,只需要廉價小巧的樹莓派卡片電腦和軟件無線電SDR搭建一套ADS-B航跡實時接收設備。筆記本電腦作為人機交互界面完成ADS-B航跡在地圖中實時更新顯示,VHF語音數據采集、處理和存儲。此套設備組成可移動的通信、監視和錄音的最小系統,輔助地面校飛人員完成校飛任務。
軟件方面,本工具運行有兩個核心程序,一是樹莓派的Dump1090解碼器,解碼器依賴于SDR運行庫librtlsdr,完成SDR接收到的1090MHz信號解碼,形成航跡信息,并對外提供HTTP服務;二是筆記本電腦的PCM語音數據處理程序,完成VHF音頻聲音的數據采集,根據條件值檢索有效語音數據,按照格式組裝成WAV文件,并提供錄音文件回放功能。

圖1 連接結構圖

圖2 樹莓派、SDR與天線連接圖
ADS-B(Automatic Dependent Surveillance -Broadcast)是廣播式自動相關監視,以導航設備及其他機載設備產生的信息為數據源,以地空數據鏈1090MHz為通信手段,通過對外自動廣播自身的狀態參數,實現地面對飛機的實時監視。有別于二次雷達,ADS-B無需詢問,地面設備可以依靠1090MHz地空數據鏈自動接收實時、連續的航跡數據。SDR(Software Defined Radio)即軟件無線電,是在通用的硬件平臺上,基于軟件定義的無線通信協議,利用不同軟件模塊來實現不同的無線電業務。
本文根據飛常準提供的預裝Dump1090解碼器鏡像搭建Flightadsb 地面基站[1],當然也可以通過github安裝Dump1090 decoder[2],但需要先安裝SDR運行庫librtlsdr。Dump1090解碼器功能強大,不僅可以完成微弱無線電信號的解碼,還可以嵌入HTTP服務在地圖上實時顯示航跡信息。SDR接收器將1090MHz無線電信號轉換為樹莓派可以識別的信號,樹莓派上的Dump1090解碼器完成SDR接收器的信號分析,并通過樹莓派作為WEB服務器對外提供ADS-B航跡實時顯示功能。在局域網中,IP地址并添加:8080端口號可在瀏覽器實時查看Dump1090解碼器解碼后的下行數據和航跡在地圖中實時跟蹤顯示。
樹莓派命令行終端查看dump1090進程ps-ef|grep dump1090|grep-v grep,整個進程名及附加參數為./dump1090--net--net-sbs-port 30003。為了保證進程的高可用性,在/etc/cron.d中添加定時任務執行root目錄下的腳本task.sh,每隔1秒檢查系統中dump1090進程是否存在,否則通過/etc/init.d/dump start重啟dump服務,dump服務包含dump1090進程的具體信息、start啟動函數、stop停止函數。
如圖3,WEB界面左側實時顯示ADS-B航跡位置,并可對某個航跡進行跟蹤顯示。右上側顯示本地時間和UTC時間,右下側顯示航班列表,包括ICAO24位地址碼、航班號、應答碼、高度、速度、角度、經緯度以及SDR接收到的下行消息總數和實時接收到的消息數,可根據實時接收到的消息數將SDR天線位置調整到合適位置。在九洲導航設備校飛程序中,校飛機組在6000英尺/358度位置飛躍導航臺進行基準徑向檢測,在9000英尺/半徑20海里位置圍繞導航臺進行圓周檢測。在航班列表界面上可以點擊選擇校飛機組,地圖上就以黑色線顯示歷史航跡并實時更新,地面校飛人員可準確掌握高度、速度、角度、位置等機組動態。

圖3 ADS-B航跡顯示界面
PCM(Pulse Code Modulation)脈沖編碼調制是實現模擬信號數字化的一種方式,是將語音等模擬信號每隔一段時間進行取樣離散化,同時將抽樣值按分層單位四舍五入取整量化,最后將抽樣值按一組二進制碼來表示抽樣脈沖的幅值。[3]本文采用NI恩艾儀器的dll動態鏈接庫來完成VHF音頻線模擬音頻的采集和處理,另外音頻數據不需要傳輸,PCM是未經壓縮的16bit的音頻數據裸流。
程序將VHF音頻線的聲音數據存儲為波形數組,數組中的一個波形即代表一個特定的通道,甚高頻輸出語音為單聲道,因此波形數組中只有一個波形。波形是由三個數據組成,dt、t0值和Y數組,dt代表采樣間隔,是采樣率的倒數,t0代表采樣開始時間,Y數組包含的是脈沖編碼調制(PCM)數據,每個Y數組中的元素與聲音信號振幅成正比。語音數據采集過程中,每通道波形數據采集10000個樣本組成脈沖編碼調制(PCM)數據,觸發錄音和停止錄音是采用100個樣本的均方根值(RMS)來判斷,RMS大于0.2開始錄音,RMS小于0.2再錄音五個周期后停止,防止錄音文件組裝過于頻繁。
如圖4,音頻采集和處理程序通過隊列來作為數據緩沖區,多線程完成VHF語音采集和音頻數據處理,同時VHF音頻錄音回放模塊在其他線程響應用戶回放需求,保證采集、處理、回放的并行可靠。此外,在音頻回放時如有實時VHF音頻輸出,為不影響正常的機組通話,根據RMS值觸發停止回放。

圖4 PCM語音數據處理流程
采集和處理過程調用NI平臺lvsound2.dll文件,完成六個方面的功能:
(1)函數SIConfigure配置聲音輸入設備的參數,每通道采樣數10000,采樣率22050(可選),通道數1,每采樣比特數16。
(2)函數SIRead從聲音輸入設備讀取數據,轉換成波形數組給函數SoundWriteFileData。
(3)函數 SoundWriteFileOpen,根據均方根值(RMS)來觸發,按照日期格式命名創建待寫入的新wav文件,并根據RMS來結束寫入。
(4)函數SoundWriteFileData,根據WAV文件格式將波形數組中的PCM數據組裝成獨立的語音指令WAV文件,方便回放、存儲和拷貝。
(5)函 數 SoundReadFileSamplesRead、SoundReadFile Data使WAV文件數據以波形數組形式讀出,并送往函數SOWrite。
(6)函數SOWrite將數據寫入聲音輸出設備進行播放。
在人機界面上,左上側顯示VHF實時音頻信號,只要有音頻數據就顯示波形數據,包括雜音;左下側有三個功能按鍵,ADSB監視是打開瀏覽器定位到樹莓派航跡輸出界面,綜合設置是完成樹莓派IP地址和端口設置、RMS閾值調整,校飛手冊是打開校飛手冊文檔作為參考。右上側列表實時更新顯示RMS檢索出來的有效語音文件,并可響應WAV錄音文件選擇播放;右下側是錄音文件播放波形顯示、播放音量調節、停止錄音文件播放功能。

圖5 VHF語音采集、保存與回放界面
本工具經濟適用,在現有VHF設備和個人電腦上,只需要廉價小巧的樹莓派和SDR即可搭建通信、監視和錄音的最小系統。地面校飛人員可實時掌握校飛機組圍繞導航臺做基準徑向飛行和圓周飛行的動態,增強地面校飛人員的情景意識,同時VHF音頻記錄回放功能可提高指令識別準確性和校飛地面人員的工作效率。在后續的改進中,本系統可直接將VHF電臺的音頻輸出口連接到樹莓派擴展的USB聲卡上,利用樹莓派來采集和處理語音數據,通過同一個WEB界面對外提供ADS-B航跡和錄音文件回放功能,進一步優化校飛輔助的最小系統。