快速通往量產(chǎn)的四個(gè)步驟:利用基于模型的設計開(kāi)發(fā)軟件定義無(wú)線(xiàn)電

發(fā)布時(shí)間:2016-2-29 14:30    發(fā)布者:eechina
第三部分—利用硬件在環(huán)驗證S模式信號解碼算法

作者:Di Pu和Andrei Cozma

簡(jiǎn)介


在MATLAB或Simulink中實(shí)現信號處理算法之后,合乎邏輯的下一步是利用從實(shí)際要使用的SDR硬件平臺獲得的真實(shí)數據驗證算法的功能。首先是利用從系統獲得的不同輸入數據集來(lái)驗證算法。這樣做有助于驗證算法的功能,但不能保證算法在其它環(huán)境條件下也能像預期那樣工作,也不能確定對于SDR系統模擬前端和數字模塊的不同設置,算法的行為和性能會(huì )如何。為了驗證所有這些方面,如果能讓算法在線(xiàn)運行以接收實(shí)時(shí)數據作為輸入,并且調整SDR系統設置以實(shí)現最佳性能,將是非常有好處的。本系列文章的這一部分討論ADI公司提供的軟件工具,其支持MATLAB和Simulink模型與FMCOMMSx SDR平臺直接互動(dòng);此外還會(huì )說(shuō)明如何利用這些工具驗證第二部分所述的ADS-B模型2。2

MATLAB和Simulink IIO系統對象

ADI公司提供了完整的軟件基礎設施來(lái)支持MATLAB和Simulink模型與FMCOMMSx SDR平臺(其連接到運行LinuxFPGA/SoC系統)實(shí)時(shí)互動(dòng)。這之所以可能,有賴(lài)于IIO System Object 3(系統對象),它設計用于通過(guò)TCP/IP與硬件系統交換數據,從而發(fā)送(接收)數據至(自)目標,控制目標的設置,并監測RSSI等不同目標參數。圖1顯示了該軟件基礎設施的基本架構以及系統組件之間的數據流。


圖1. 軟件基礎設施框圖

IIO系統對象基于MathWorks系統對象規范4,其公開(kāi)了數據和控制接口,MATLAB/Simulink模型通過(guò)這些接口與基于IIO的系統通信。這些接口在一個(gè)配置文件中指定,配件文件將系統對象接口鏈接到IIO數據通道或IIO屬性。這樣便可實(shí)現通用型IIO系統對象,只需修改配置文件,它便能配合任何IIO平臺工作。ADI GitHub庫5提供了一些平臺的配置文件和示例,包括AD-FMCOMMS2-EBZ/AD-FMCOMMS3-EBZ/AD-FMCOMMS4- EBZ/AD-FMCOMMS5-EBZ SDR板和高速數據采集板AD-FMCDAQ2-EBZ。IIO系統對象與目標之間的通信是通過(guò)libiio服務(wù)器/客戶(hù)端基礎設施來(lái)完成。服務(wù)器運行于Linux下的嵌入式目標上,管理目標與本地/遠程客戶(hù)端之間的實(shí)時(shí)數據交換。libiio庫是硬件低層細節的抽象,提供了簡(jiǎn)單但完整的編程接口,可用于綁定各種語(yǔ)言(C、C++、C#、Python)的高級項目。

本文接下來(lái)將通過(guò)一些實(shí)際例子說(shuō)明如何利用IIO系統對象來(lái)驗證ADS-B MATLAB和Simulink模型。一個(gè)連接到ZedBoard7且運行Analog Devices Linux發(fā)行版的AD-FMCOMMS3-EBZ SDR平臺6用作SDR硬件平臺,以驗證ADS-B信號檢測與解碼算法是否正常工作,如圖2所示。


圖2. ADS-B算法驗證的硬件設置

利用IIO系統對象驗證MATLAB ADS-B算法

為了利用從AD-FMCOMMS3-EBZ SDR平臺獲得的實(shí)時(shí)數據驗證MATLAB ADS-B解碼算法,開(kāi)發(fā)了一個(gè)MATLAB腳本來(lái)執行如下操作:

    根據用戶(hù)輸入計算地球帶
    創(chuàng )建并配置IIO系統對象
    通過(guò)IIO系統對象配置AD-FMCOMMS3-EBZ模擬前端和數字模塊
    利用IIO系統對象從SDR平臺接收數據幀
    檢測并解碼ADS-B數據
    顯示解碼的ADS-B信息

構建IIO系統對象之后,必須利用SDR系統的IP地址、目標設備名稱(chēng)、輸入/輸出通道的大小和數目對其進(jìn)行配置。圖3給出了一個(gè)創(chuàng )建并配置MATLAB IIO系統對象的例子。


圖3. MATLAB IIO系統對象的創(chuàng )建和配置

然后,利用IIO系統對象設置AD9361屬性并接收ADS-B信號。AD9361屬性基于以下考量而設置:


圖4. MATLAB libiio設置AD9361屬性

利用基于A(yíng)D9361的平臺,采樣速率相當容易確定。發(fā)送數據速率一般等于接收數據速率,最終取決于基帶算法。本例中,解碼算法是針對12.5 MSPS的采樣速率而設計,AD9361采樣速率據此設置。這樣,接收到的樣本便可直接應用于解碼算法,無(wú)需其它抽取或插值操作。

RF帶寬控制設置AD9361 RX模擬基帶低通濾波器的帶寬,以提供抗混疊和帶外信號抑制。為了成功解調收到的信號,系統必須最大程度地提高信噪比 (SNR)。因此,在滿(mǎn)足平坦度和帶外抑制要求的同時(shí),RF帶寬必須設置得盡可能窄,以使帶內噪聲和雜散信號電平最小。如果RF帶寬設置得較寬,ADC線(xiàn)性動(dòng)態(tài)范圍就會(huì )因為額外的噪聲而縮小。同樣,ADC無(wú)雜散動(dòng)態(tài)范圍也會(huì )因為較低的帶外信號抑制而縮小,導致接收器的整體動(dòng)態(tài)范圍縮小。因此,將RF帶寬設置為最優(yōu)值對于接收所需的帶內信號并抑制帶外信號非常重要。通過(guò)觀(guān)察接收信號的頻譜,我們發(fā)現4 MHz是一個(gè)合適的RF帶寬值。

除了通過(guò)RF帶寬屬性設置AD9361的模擬濾波器之外,我們還可以通過(guò)IIO系統對象使能AD9361的數字FIR濾波器以改善解碼性能,如圖5所示。根據ADS-B信號的頻譜特性,我們設計一個(gè)數據速率為12.5 MSPS、通帶頻率為3.25 MHz、阻帶頻率為4 MHz的FIR濾波器。這樣,我們就能進(jìn)一步聚焦于目標帶寬。


圖5. 通過(guò)libiio使能AD9361的適當FIR濾波器

Adsb.ftr文件包含FIR濾波器的系數,該FIR濾波器利用ADI公司AD9361濾波器向導MATLAB應用程序設計8。此工具不僅能完成通用低通濾波器設計,還能為信號路徑中的其它級提供幅度和相位均衡。


圖6. 利用MATLAB AD9361濾波器向導設計的用于A(yíng)DS-B信號的FIR濾波器

多功能且高度可配置的AD9361收發(fā)器具有多種增益控制模式,適合很多不同的應用。IIO系統對象的Gain Mode(增益模式)參數選擇可用模式之一:manual、slow_attack、hybrid和fast_attack。最常用的模式是manual、slow_attack和fast_attack。Manual增益控制模式允許基帶處理器 (BBP) 控制增益。Slow_attack模式主要用于慢速變化的信號,fast_attack模式主要用于"突發(fā)"開(kāi)啟和關(guān)閉的波形。增益模式在很大程度上取決于接收信號的強度。如果信號太強或太弱,建議使用manual或slow_attack模式。否則,fast_attack是不錯的選擇。ADS-B信號具有突發(fā)性,因此fast_ attack增益模式可實(shí)現最佳效果。這種波形要求使用fast_attack模式,因為其存在前同步碼,并且AGC需要以足夠快的速度響應以便捕捉第一位。沒(méi)有信號時(shí),啟動(dòng)時(shí)間(增益斜坡下降所需的時(shí)間)與衰減時(shí)間(提高增益所需的時(shí)間)存在差異。目標是快速調低增益,以便能在第一位看到一個(gè)有效的1,但不提高位時(shí)間之間的增益。

最后,根據您對TX_LO_FREQ和RX_LO_FREQ的設置,該模型有兩種使用方式:使用預先捕捉的數據(RF回送)和使用從空中獲得的實(shí)時(shí)數據。

預先捕捉數據

這種情況下,我們利用AD-FMCOMMS3-EBZ發(fā)送和接收預先捕捉到的一些ADS-B信號。這些信號保存在一個(gè)名為"newModeS"的變量中。


圖7. 利用預先捕捉的ADS-B信號定義輸入

這種情況要求TX_LO_FREQ = RX_LO_FREQ,它可以是AD-FMCOMMS3-EBZ支持的任意LO頻率值。預先捕捉的數據中有大量ADS-B有效數據,因此,這是驗證硬件設置是否合適的好方法。

實(shí)時(shí)數據

這種情況下,我們接收空中的實(shí)時(shí)ADS-B信號,而不是AD-FMCOMMS3-EBZ發(fā)送的信號。根據ADS-B規范,它以1090 MHz的中心頻率發(fā)送,因此,這種情況的要求是:

    RX_LO_FREQ=1090 MHz,TX_LO_FREQ遠離1090 MHz,以免產(chǎn)生干擾。

在接收側使用一根適當的天線(xiàn),它能覆蓋1090 MHz頻段,例如ADS-B雙半波移動(dòng)天線(xiàn)9;使用調諧不佳或制作不良的天線(xiàn)會(huì )導致空中雷達探測距離不夠。

一切設置妥當之后,使用如下命令便可運行MATLAB模型:

[rssi1,rssi2]=ad9361_ModeS('ip','data source',channel);

其中,ip為FPGA板的IP地址,data source指定接收信號的數據源。目前,該模型支持"預先捕捉"的數據源和"實(shí)時(shí)"數據源。 Channel指定信號是利用AD-FMCOMMS3-EBZ的通道1還是通道2進(jìn)行接收。

例如,發(fā)出以下命令時(shí),系統將通過(guò)通道2接收預先捕捉的數據:

[rssi1,rssi2]=ad9361_ModeS('192.168.10.2','pre-captured',2);

仿真結束時(shí),您會(huì )得到兩個(gè)通道的RSSI值以及下表所示的結果:


圖8. 仿真結束時(shí)顯示的結果表格

此結果表格顯示了仿真期間出現的航空器信息。借助適當的天線(xiàn),此模型利用AD-FMCOMMS3-EBZ能夠捕捉并解碼80英里范圍內的航空器信號。S模式消息有兩類(lèi)(56 μs和112 μs),因此,某些消息包含的信息比其它消息要多。

利用實(shí)際ADS-B信號測試此模型時(shí),解碼能否成功,信號強度非常重要,務(wù)必把天線(xiàn)放在對準航空器的良好位置上。接收信號強度可通過(guò)查看兩個(gè)通道的RSSI值來(lái)了解。例如,若通過(guò)通道2接收信號,通道2的RSSI應顯著(zhù)高于通道1的RSSI。通過(guò)查看頻譜分析儀,可以判斷是否存在有用數據。

RF信號質(zhì)量


任何RF信號都需要一個(gè)質(zhì)量指標。例如,對于QPSK等信號,我們有誤差矢量幅度 (EVM)。對于A(yíng)DS-B信號,查看分隔器輸出還不足以獲得正確消息,如圖8所示。我們需要一個(gè)指標來(lái)定義ADS-B/脈沖位置調制的質(zhì)量,以便判斷哪種設置更好。

ModeS_BitDecode4.m函數中有一個(gè)變量diffVals,它就可以用作這樣的指標。此變量是一個(gè)112 × 1矢量。對于一條S模式消息中的每個(gè)解碼位,它都會(huì )顯示該位距離閾值有多遠。也就是說(shuō),每個(gè)解碼位相對于正確判斷有多少裕量。顯而易見(jiàn),一個(gè)位的裕量越大,解碼結果的置信度就越高。另一方面,若裕量很小,則意味著(zhù)判斷處于邊緣區,解碼位很有可能是錯誤的。

下面兩幅圖比較了有和沒(méi)有FIR濾波器兩種情況下從ADS-B接收器獲得的diffVals值。注意y軸,我們發(fā)現,使用FIR濾波器時(shí),無(wú)論處于最高點(diǎn)、最低點(diǎn)還是平均值,diffVals都較大。然而,當沒(méi)有FIR濾波器時(shí),幾個(gè)位的diffVals都非常接近0,意味著(zhù)解碼結果可能不正確。因此,我們可以得出結論,使用適當的FIR濾波器可改善解碼的信號質(zhì)量。


圖9. 使用FIR濾波器時(shí)從ADS-B接收器獲得的diffVals值


圖10. 無(wú)FIR濾波器時(shí)從ADS-B接收器獲得的diffVals值

采用IIO系統對象的MATLAB ADS-B算法可從ADI GitHub庫下載10。10

利用IIO系統對象驗證Simulink ADS-B算法

Simulink模型基于本系列文章第二部分介紹的模型2。解碼器和解碼模塊直接來(lái)自該模型,我們增加了Simulink IIO系統對象以開(kāi)展信號接收和硬件在環(huán)仿真。

原始模型以采樣時(shí)間 = 1且幀大小 = 1的設置工作。然而,Simulink IIO系統對象以緩沖模式工作,它會(huì )積累若干樣本,然后進(jìn)行處理。為了讓原始模型配合系統對象工作,我們在其間增加了兩個(gè)模塊:解除緩沖以使幀大小 = 1,轉換速率以使采樣時(shí)間 = 1。這樣,原始模型便可保持不變。


圖11. Simulink模型捕捉和解碼ADS-B信號

Simulink IIO系統對象設置如下。與MATLAB實(shí)例相同,它創(chuàng )建一個(gè)系統對象,然后定義與此系統對象相關(guān)的IP地址、設備名稱(chēng)、輸入/輸出通道數目和大小。


圖12. Simulink IIO系統對象

與IIO系統對象相對應,此Simulink模塊的輸入輸出端口通過(guò)對象模塊的屬性對話(huà)框以及目標ADI SDR平臺特定的配置文件來(lái)定義。輸入和輸出端口按數據和控制端口分類(lèi)。數據端口以幀處理模式發(fā)送(接收)連續數據緩沖至(自)目標系統,而控制端口則用于配置和監控不同的目標系統參數。數據端口的數目和大小通過(guò)該模塊的配置對話(huà)框進(jìn)行配置,而控制端口則在配置文件中定義。AD9361屬性設置所依據的因素與MATLAB模型所述相同。MATLAB模型運用的所有理論和方法在這里都適用。

根據您對TX_LO_FREQ和RX_LO_FREQ的設置,Simulink模型有兩種運行模式:使用預先捕捉的數據"DataIn"和使用實(shí)時(shí)數據。以預先捕捉的數據為例,在仿真結束時(shí),我們可以在命令窗口中看到如下結果:


圖13. 使用預先捕捉數據的仿真結束時(shí)在命令窗口中顯示的結果

這里的結果以文本格式顯示,而不像在MATLAB模型中以表格形式顯示。

采用IIO系統對象的Simulink ADS-B模型可從ADI GitHub庫下載11。11

結論


本文討論了利用ADI公司提供的libiio基礎設施進(jìn)行的硬件在環(huán)仿真。采用這種基礎設施,便可利用實(shí)際信號和硬件驗證MATLAB和Simulink ADS-B信號檢測與解碼算法。屬性設置高度依賴(lài)于應用和波形,適合一個(gè)波形的設置并不一定適合另一個(gè)波形。這是關(guān)鍵的一步,可確保SDR系統的模擬前端和數字模塊針對目標算法和波形調諧妥當,并且算法足夠魯棒,對于不同環(huán)境條件下獲得的實(shí)際數據,它都能像預期的那樣處理。有了經(jīng)過(guò)驗證的算法之后,便可開(kāi)始下一步,即利用MathWorks代碼自動(dòng)生成工具將算法轉換為HDL和C代碼,并將此代碼集成到實(shí)際SDR系統的可編程邏輯和軟件當中。本系列文章的下一部分將說(shuō)明如何生成代碼并將其部署到生產(chǎn)硬件中,還會(huì )談?wù)勗撈脚_在機場(chǎng)利用實(shí)際ADS-B信號運行所獲得的結果。這樣便介紹完了SDR系統從原型開(kāi)發(fā)到生產(chǎn)的所有步驟。

參考文獻

1Andrei Cozma、Di Pu和Tom Hill。"Dialogue/china/archives/49-09/four-step-sdr-01.html" target="_blank">快速通往量產(chǎn)的四個(gè)步驟:利用基于模型的設計開(kāi)發(fā)軟件定義無(wú)線(xiàn)電—第一部分"。模擬對話(huà),第49卷第3期,2015年。      
2Mike Donovan、Andrei Cozma和Di Pu。"快速通往量 產(chǎn)的四個(gè)步驟:利用基于模型的設計開(kāi)發(fā)軟件定義無(wú)線(xiàn)電—第二部分" 模擬對話(huà),第49卷第3期,2015年。
      
3ADI公司。"IIO系統對象"。
      
4MathWorks。"什么是系統對象?"
      
5ADI公司,"Mathworks_tools"。GitHub庫
      
6ADI公司。AD-FMCOMMS3-EBZ用戶(hù)指南。
      
7ZedBoard。
                        

致謝
感謝MathWorks公司的Mike Donovan,他幫助開(kāi)發(fā)了本文所用的MATLAB和Simulink ADS-B信號檢測與解碼算法。

作者

Di Pu [di.pu@analog.com]是ADI公司系統建模應用工程師,負責支持軟件定義無(wú)線(xiàn)電平臺和系統的設計與開(kāi)發(fā)。她與MathWorks密切合作解決雙方共同客戶(hù)的難題。加入ADI公司之前,她于2007年獲得南京理工大學(xué) (NJUST) 電氣工程學(xué)士學(xué)位,于2009年和2013年分別獲得伍斯特理工學(xué)院 (WPI) 電氣工程碩士學(xué)位和博士學(xué)位。她是WPI 2013年博士論文Sigma Xi研究獎獲得者。

Andrei Cozma[andrei.cozma@analog.com]是ADI公司工程設計經(jīng)理,負責支持系統級參考設計的設計與開(kāi)發(fā)。他擁有工業(yè)自動(dòng)化與信息技術(shù)學(xué)士學(xué)位及電子與電信博士學(xué)位。他參與過(guò)電機控制、工業(yè)自動(dòng)化、軟件定義無(wú)線(xiàn)電和電信等不同行業(yè)領(lǐng)域的項目設計與開(kāi)發(fā)。
本文地址:http://selenalain.com/thread-161455-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页