国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

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

發(fā)布時(shí)間:2015-12-22 10:57    發(fā)布者:eechina
關(guān)鍵詞: 軟件定義無線電 , SDR
第二部分—利用MATLAB和Simulink進(jìn)行S模式檢測(cè)和解碼

作者: Mike Donovan, Andrei Cozma 和 Di Pu

自動(dòng)相關(guān)監(jiān)視廣播波形

能被檢測(cè)和解碼的無線信號(hào)無處不在。利用當(dāng)今的軟件定義無線電 (SDR) 硬件,像ADI公司的集成RF捷變收發(fā)器 AD9361/AD9364 等,很容易接入這些信號(hào)1,2。商業(yè)航空器的自動(dòng)相關(guān)監(jiān)視廣播 (ADS-B) 傳輸提供了一個(gè)現(xiàn)成的無線信號(hào),利用它可演示基于AD9361和Xilinx Zynq-7000 All Programmable SoC快速原型開發(fā)流程。商業(yè)航空器利用ADS-B發(fā)射機(jī)向空中交通管制員報(bào)告其位置、速度、高度和航空器ID3。國際民用航空組織 (ICAO) S模式超長電文規(guī)范定義了飛行數(shù)據(jù)格式4。ADS-B正在向全世界推廣,以便構(gòu)建現(xiàn)代化空中交通管制和避碰系統(tǒng)。它已被歐洲采用,美國正在逐漸引入。

S模式超長電文標(biāo)準(zhǔn)詳細(xì)規(guī)定了RF傳輸格式和編碼數(shù)據(jù)字段。應(yīng)答器傳輸具有如下特性:

    發(fā)射頻率:1090 MHz
    調(diào)制:脈沖位置調(diào)制 (PPM)
    數(shù)據(jù)速率:1 Mbps
    消息長度:56 μs或112 μs
    24位CRC校驗(yàn)和

調(diào)諧頻率和帶寬完全在AD9361 RF收發(fā)器的能力范圍之內(nèi),收到的I/Q樣本可利用多種軟件或嵌入式平臺(tái)選項(xiàng)進(jìn)行檢測(cè)和解碼。

本文將討論如何利用一個(gè)基于AD9361的接收機(jī)平臺(tái)來捕捉這些S模式信號(hào),然后利用MATLAB和Simulink開發(fā)一個(gè)能夠解碼消息的算法。該算法的最終目標(biāo)是將該解決方案部署到Zynq SoC平臺(tái)上,例如Avnet PicoZed™ SDR系統(tǒng)化模塊 (SOM) 。

接收機(jī)設(shè)計(jì)挑戰(zhàn)

S模式消息有短 (56 μs) 和長 (112 μs) 兩種。短消息包含消息類型、航空器識(shí)別號(hào)和循環(huán)冗余校驗(yàn) (CRC) 和。長消息則還包含高度、位置、速度和飛行狀態(tài)信息。無論何種情況,S模式傳輸均從一個(gè)8 μs前同步碼開始。接收機(jī)通過此前同步碼確定一條有效消息正在傳輸,此前同步碼還能幫助接收機(jī)確定消息位從何時(shí)開始。詳情參見圖15。5


圖1. S模式消息結(jié)構(gòu)

S模式波形相當(dāng)簡單,但要成功接收并解碼消息,仍有若干挑戰(zhàn)需要解決。

接收環(huán)境通常是長時(shí)間空閑中穿插著非常短的消息;如果發(fā)射信號(hào)的航空器距離接收機(jī)很遠(yuǎn),收到的信號(hào)可能非常弱。傳統(tǒng)波形也會(huì)以1090 MHz的頻率發(fā)射。接收機(jī)需要利用前同步碼在擁堵的頻段中識(shí)別高和低兩個(gè)幅度的S模式傳輸。

在1 μs位間隔內(nèi),各位的可能模式有兩種。前½ μs為ON且后½ μs為OFF,表示邏輯1。前½ μs為OFF且后½ μs為ON,表示邏輯0。位判定的依據(jù)是基于時(shí)間的模式,因此,接收機(jī)需要利用前同步碼準(zhǔn)確找出消息位開始的I/Q樣本。

S模式消息由88個(gè)信息位和24個(gè)校驗(yàn)和位組成。接收機(jī)需要能夠在正確的時(shí)間清除寄存器、作出位判定、計(jì)算校驗(yàn)和并讀取校驗(yàn)和寄存器。為使接收機(jī)正確工作,必須對(duì)時(shí)序進(jìn)行控制。

對(duì)于嵌入式設(shè)計(jì),解碼過程必須逐個(gè)樣本進(jìn)行。存儲(chǔ)大量數(shù)據(jù)再進(jìn)行批處理的接收機(jī)設(shè)計(jì),對(duì)嵌入式系統(tǒng)來說是不現(xiàn)實(shí)的。

AD9361等強(qiáng)大的RF前端與MATLAB®之類的科技計(jì)算語言相結(jié)合,可大大簡化與此類傳輸?shù)臋z測(cè)和解碼相關(guān)的問題。MATLAB和信號(hào)處理工具箱中的函數(shù)可用來識(shí)別同步模式,計(jì)算噪底,作出位判定,以及計(jì)算校驗(yàn)和。MATLAB中的條件和執(zhí)行控制函數(shù)可簡化控制邏輯。利用AD9361 SDR平臺(tái)很容易訪問測(cè)試數(shù)據(jù),無論是從二進(jìn)制或文本文件讀取,還是以流形式直接輸入MATLAB。最后,MATLAB是解釋性語言,因而很容易與數(shù)據(jù)進(jìn)行交互,嘗試不同的方法,以交互方式開發(fā)解決方案。

在MATLAB中建模并驗(yàn)證S模式接收機(jī)算法

對(duì)下述內(nèi)容和MATLAB源代碼感興趣的讀者,可在Analog Devices GitHub庫中找到相關(guān)文件。入門級(jí)函數(shù)為ad9361_ModeS.m,同時(shí)提供了此函數(shù)調(diào)用的 文件.

設(shè)計(jì)接收機(jī)算法的第一步是訪問一些源數(shù)據(jù)。許多航空器現(xiàn)在都配備了S模式應(yīng)答器,因而只需將接收機(jī)調(diào)諧到1090 MHz的廣播頻率便可捕獲本地傳輸。在我們的例子中,可以使用Zynq SDR快速原型開發(fā)平臺(tái)。ADI公司提供了一個(gè)MATLAB系統(tǒng)對(duì)象™,它能通過以太網(wǎng)從FMCOMMS平臺(tái)接收數(shù)據(jù)6。該系統(tǒng)對(duì)象允許用戶選擇調(diào)諧頻率和采樣速率,利用無線電硬件收集接收樣本,以及將接收樣本作為MATLAB變量直接送入MATLAB工作空間。所需代碼非常少,幾行代碼便可設(shè)置MATLAB系統(tǒng)對(duì)象,再用幾行代碼設(shè)置FMCOMMS3,還有幾行代碼用來捕獲I/Q樣本并將其寫入一個(gè)MATLAB變量。代碼示例如圖2、圖3和圖4所示。


圖2. 設(shè)置MATLAB系統(tǒng)對(duì)象的MATLAB代碼示例


圖3. 配置FMCOMMS3板的MATLAB代碼示例


圖4. 捕獲I/Q樣本并將其寫入Rx變量的MATLAB代碼示例

我們使用了一些基于這些命令的代碼,以12.5 MHz的采樣速率捕獲數(shù)個(gè)數(shù)據(jù)集。選擇12.5 MHz速率是為了提供足夠的樣本來使前同步碼與第一個(gè)消息位精密對(duì)齊,并通過求均值方法消除用來作出位判定的樣本中的噪聲。捕捉一百萬樣本的結(jié)果如圖5所示。


圖5. 1090 MHz數(shù)據(jù)捕捉示例

在這個(gè)較短的數(shù)據(jù)集中,有14個(gè)信號(hào)從噪底中凸顯出來。在這14個(gè)信號(hào)中,有兩個(gè)是S模式消息。其余是傳統(tǒng)或雜散信號(hào),應(yīng)予以拋棄。放大樣本號(hào)604000附近的區(qū)域,可看到其中一個(gè)有效消息(圖6)。


圖6. 單個(gè)S模式消息

在此圖中,可以清楚看到前同步碼,PPM調(diào)制引起的位躍遷也很明顯。即使面對(duì)如此清晰的信號(hào),通過目視檢查解碼各位也需要很好的視力和極大的耐心。顯然,需要一個(gè)自動(dòng)化程序來解碼這些消息。MATLAB非常適合于開發(fā)這種程序。

用于接收和解碼S模式消息的MATLAB代碼可概述如下:

利用filter () 函數(shù)計(jì)算一個(gè)短時(shí)間窗口上的噪底和前同步碼相關(guān)性。我們的解決方案使用75個(gè)樣本,相當(dāng)于6 μs。

當(dāng)前同步碼相關(guān)性比噪底大一個(gè)相當(dāng)大的倍數(shù)時(shí),啟動(dòng)尋找第一消息位樣本的邏輯。

此閾值可主觀選擇。它應(yīng)足夠小,以便檢測(cè)弱信號(hào),但又應(yīng)足夠大,以防出現(xiàn)大量誤報(bào)。我們選擇比噪底高10倍的值,這是一個(gè)能夠捕捉大多數(shù)可解碼消息的合理閾值。

前同步碼模式產(chǎn)生數(shù)個(gè)峰值。最佳匹配是第一個(gè)6 μs,因此存儲(chǔ)第一峰值,開始尋找第一消息位,并檢查接下來的3 μs是否有一個(gè)更大的峰值。若有,則存儲(chǔ)新峰值,重新開始尋找第一消息位。

找到最大峰值時(shí),于2 μs后開始解碼消息位。

圖7顯示了噪底(綠色)以及將理想前同步碼與輸入數(shù)據(jù)相關(guān)的結(jié)果。噪底上有多個(gè)峰值,但有意義的峰值是幅度最大的峰值。第一消息位樣本出現(xiàn)在該峰值后2 μs處。


圖7. 噪底和前同步碼相關(guān)性的計(jì)算

對(duì)于每一位,將前½ μs和后½ μs的樣本幅度分別求和。哪一個(gè)和較大決定該位是邏輯1還是邏輯0。

一邊作出位判定,一邊計(jì)算校驗(yàn)和。當(dāng)?shù)谝晃坏竭_(dá)時(shí),需要某種控制邏輯來復(fù)位CRC寄存器,計(jì)算88位的校驗(yàn)和,然后在最后的24位期間清空CRC寄存器。若接收位匹配校驗(yàn)和,則ADS-B消息有效。

根據(jù)S模式標(biāo)準(zhǔn)解析消息位(參見圖8)。


圖8. 解碼后的S模式消息

上圖來自MATLAB命令窗口,顯示了從一百萬樣本數(shù)據(jù)集中成功解碼的兩條消息。圖中給出了構(gòu)成88位消息和24位校驗(yàn)和的十六進(jìn)制字符,解碼過程的結(jié)果顯示了航空器ID、消息類型以及航空器速度、高度和位置。

MATLAB提供了功能強(qiáng)大的數(shù)學(xué)和信號(hào)處理語言,使我們能夠相對(duì)輕松地解決此類問題。用于處理數(shù)據(jù)樣本并最終解碼消息的MATLAB代碼很短,只有200行。此外,MATLAB是解釋性語言,因而很容易以交互方式嘗試不同的設(shè)計(jì)思想,快速確定可行的解決方案。我們對(duì)不同數(shù)據(jù)集測(cè)試了多種時(shí)序機(jī)制、閾值和噪聲水平,最終獲得一個(gè)滿意的程序。

該MATLAB代碼已針對(duì)本地空域飛行的航空器發(fā)出的信號(hào)進(jìn)行了測(cè)試,解碼的消息也對(duì)照 airframes.org 和 flightaware.com. 等信息源進(jìn)行了檢查。硬件和代碼表現(xiàn)得非常好,我們已經(jīng)能夠解碼距離50英里的飛機(jī)發(fā)出的信號(hào)。

實(shí)施路徑

對(duì)下述內(nèi)容和Simulink模型感興趣的讀者,可在Analog Devices GitHub庫中找到相關(guān)文件:

https://github.com/analogdevicesinc/MathWorks_tools/tree/master/hil_models/ADSB_Simulink

MATLAB是一個(gè)出色的環(huán)境,可讓用戶在PC上測(cè)試設(shè)計(jì)思想并運(yùn)行算法,但如果最終目標(biāo)是產(chǎn)生要用在嵌入式平臺(tái)(例如Zynq SoC)上的軟件或HDL,那么Simulink是一個(gè)不錯(cuò)的解決方案。Simulink非常適合針對(duì)可編程器件的硬件細(xì)化建模工作。一個(gè)很好的工作流程是先用MATLAB開發(fā)并驗(yàn)證算法,然后將設(shè)計(jì)轉(zhuǎn)換成Simulink,沿著開發(fā)路徑向前推進(jìn),直至獲得最終硬件實(shí)現(xiàn)方案。

幸運(yùn)的是,該算法的MATLAB代碼是逐個(gè)樣本地處理數(shù)據(jù),因此可以相當(dāng)輕松地轉(zhuǎn)換為Simulink。與200行MATLAB代碼相比,Simulink模型很容易顯示和描述(參見圖9)。


圖9. S模式檢測(cè)和解碼算法的Simulink模型

在圖9中,可以看到解碼的第一步是計(jì)算噪底和前同步碼相關(guān)性。這些計(jì)算使用數(shù)字濾波器模塊。時(shí)序控制模塊利用Stateflow®實(shí)現(xiàn),后者是一個(gè)狀態(tài)機(jī)工具,用于為解碼算法的其它部分產(chǎn)生時(shí)序、復(fù)位和控制信號(hào)。對(duì)于想要將控制邏輯與數(shù)據(jù)流分開的模型,Stateflow非常有用。一旦激活時(shí)序和觸發(fā)信號(hào),名為BitProcess的模塊便會(huì)接受I/Q輸入樣本并計(jì)算數(shù)據(jù)位,然后CRC_Check模塊計(jì)算校驗(yàn)和。消息解析仍然發(fā)生在由該Simulink模型驅(qū)動(dòng)的MATLAB腳本中。

深入觀察該模型,可以看到令Simulink適合嵌入式開發(fā)的幾個(gè)特性,尤其是針對(duì)Zynq SoC將設(shè)計(jì)劃分為多個(gè)功能,以及產(chǎn)生HDL代碼和C代碼。

Simulink具有出色的定點(diǎn)支持能力,用戶可以構(gòu)建并測(cè)試設(shè)計(jì)的位真 (bit-true) 版本。各個(gè)模塊允許用戶設(shè)置模型中數(shù)學(xué)運(yùn)算的字長和小數(shù)長度。用于計(jì)算前同步碼相關(guān)性的數(shù)字濾波器模塊就是一個(gè)很好的例子(圖10)。用戶可以設(shè)置計(jì)算的舍入模式和溢出行為(對(duì)于HDL中的數(shù)學(xué)運(yùn)算,F(xiàn)loor和Wrap是最簡單的選擇)。此外,用戶可以為產(chǎn)品和濾波器的累加器操作指定不同的字長和小數(shù)精度(圖11)。用戶可以使用映射到接收機(jī)ADC的字長選擇,并且利用硬件乘法器,例如Zynq SoC的DSP48分片內(nèi)部的18位× 25位乘法器。


圖10. 用于前同步碼相關(guān)性的Simulink數(shù)字濾波器模塊,12位數(shù)據(jù)類型


圖11. 定點(diǎn)數(shù)據(jù)類型設(shè)置

嵌入式設(shè)計(jì)常常具有多種工作模式和條件執(zhí)行算法。Stateflow特別善于管理這些控制信號(hào)。Stateflow以可視化方式呈現(xiàn)S模式消息檢測(cè)和解碼所需的控制邏輯。在下面的圖12中,可以看到邏輯中的如下狀態(tài):
        SyncSearch:尋找捕獲樣本中的前同步碼
        WaitForT0:尋找第一個(gè)消息位的開始
        BitProcess:啟用位處理
        EmptyReg:清空校驗(yàn)和寄存器并將這些位與位處理輸出進(jìn)行比較

當(dāng)檢測(cè)和解碼算法在不同狀態(tài)間流轉(zhuǎn)時(shí),Stateflow模塊產(chǎn)生相關(guān)信號(hào)以啟用位處理,復(fù)位位判定計(jì)數(shù)器和校驗(yàn)和寄存器,以及在S模式消息結(jié)束時(shí)讀出校驗(yàn)和位。


圖12. 解碼S模式消息的Stateflow流程圖

Simulink模塊庫中既有高度概括的模塊,也有非常精細(xì)的模塊,工程師可以根據(jù)需要選擇使用。數(shù)字濾波器、FFT和數(shù)控振蕩器等是高級(jí)模塊,利用這些模塊很容易構(gòu)建信號(hào)處理設(shè)計(jì)。如果需要更精確地控制設(shè)計(jì),例如針對(duì)速度或面積進(jìn)行優(yōu)化,工程師可以使用單位延遲、邏輯運(yùn)算符(如XOR)和開關(guān)等低級(jí)模塊。該模塊中的24位校驗(yàn)和便是利用這些低級(jí)模塊構(gòu)建的反饋移位寄存器(圖13)。


圖13. 用于S模式校驗(yàn)和計(jì)算的反饋移位寄存器

該Simulink模型是用于檢測(cè)和解碼S模式消息的MATLAB算法的硬件化版本。Simulink是一個(gè)很有用的工具,填補(bǔ)了MATLAB中編寫的行為算法與嵌入式硬件的實(shí)現(xiàn)代碼之間的空白。您可以將針對(duì)硬件的細(xì)化工作引入Simulink模型,運(yùn)行模型,驗(yàn)證您所做的變更沒有破壞解碼算法。

結(jié)論

Zynq SDR快速原型開發(fā)平臺(tái)和MathWorks軟件的結(jié)合,為通信工程師提供了一種全新且靈活的方式來將無線接收機(jī)設(shè)計(jì)理念快速變成原型。AD9361/AD9364捷變寬帶RF收發(fā)器的高度可編程能力和性能,加上硬件與MATLAB環(huán)境之間的簡單連接,讓大量不同且有趣的無線信號(hào)可以為工程師所用。使用MATLAB的工程師可以快速嘗試各種設(shè)計(jì)思想并確定有前途的解決方案。如果設(shè)計(jì)的最終目標(biāo)是嵌入式處理器,工程師可以通過Simulink工具利用硬件相關(guān)主意優(yōu)化設(shè)計(jì),最終獲得用于對(duì)處理編程的代碼。這種工作流程可降低無線接收機(jī)設(shè)計(jì)對(duì)工程師技能的要求,縮短從概念到工作原型的開發(fā)周期。

在本系列的下一篇文章中,我們將介紹如何使用硬件在環(huán) (HIL) 仿真來驗(yàn)證接收機(jī)設(shè)計(jì),用目標(biāo)收發(fā)器捕獲信號(hào),同時(shí)在Simulink中的主機(jī)上執(zhí)行該信號(hào)處理系統(tǒng)的一個(gè)模型進(jìn)行驗(yàn)證。

參考文獻(xiàn)
1AD9361.Analog Devices。

2AD9364. Analog Devices。

3960-1164 MHz,美國國家電信和信息管理局。

4S模式服務(wù)和超長電文的技術(shù)規(guī)定,國際民用航空組織。

5監(jiān)視和避碰系統(tǒng),航空電信第IV卷,國際民用航空組織。

6Di Pu,Andrei Cozma和Tom Hill,“快速通往量產(chǎn)的四個(gè)步驟:利用基于模型的設(shè)計(jì)開發(fā)軟件定義無線電”, Analog Dialogue第49卷。

源代碼和模型鏈接
MATLAB S模式解碼算法: https://github.com/analogdevices ... models/ADSB_MATLAB/

Simulink S模式解碼模型: https://github.com/analogdevices ... odels/ADSB_Simulink

致謝

感謝MathWorks公司的Mike Mulligan,他為本文示例提供了一些MATLAB代碼。

作者

Mike Donovan [mike.donovan@mathworks.com] i是MathWorks公司應(yīng)用工程部門經(jīng)理。他擁有巴克內(nèi)爾大學(xué)電氣工程學(xué)士學(xué)位和康涅狄克大學(xué)電氣工程碩士學(xué)位。加入MathWorks之前,Mike開發(fā)過雷達(dá)和衛(wèi)星通信系統(tǒng),并在寬帶電信行業(yè)工作過。

Andrei Cozma [andrei.cozma@analog.com]是ADI公司工程設(shè)計(jì)經(jīng)理,負(fù)責(zé)支持系統(tǒng)級(jí)參考設(shè)計(jì)的設(shè)計(jì)與開發(fā)。他擁有工業(yè)自動(dòng)化與信息技術(shù)學(xué)士學(xué)位及電子與電信博士學(xué)位。他參與過電機(jī)控制、工業(yè)自動(dòng)化、軟件定義無線電和電信等不同行業(yè)領(lǐng)域的項(xiàng)目設(shè)計(jì)與開發(fā)。

Di Pu [di.pu@analog.com]是ADI公司系統(tǒng)建模應(yīng)用工程師,負(fù)責(zé)支持軟件定義無線電平臺(tái)和系統(tǒng)的設(shè)計(jì)與開發(fā)。她與MathWorks密切合作解決雙方共同客戶的難題。加入ADI公司之前,她于2007年獲得南京理工大學(xué) (NJUST) 電氣工程學(xué)士學(xué)位,于2009年和2013年分別獲得伍斯特理工學(xué)院 (WPI) 電氣工程碩士學(xué)位和博士學(xué)位。她是WPI 2013年博士論文Sigma Xi研究獎(jiǎng)獲得者。
本文地址:http://www.qingdxww.cn/thread-159419-1-1.html     【打印本頁】

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

廠商推薦

  • Microchip視頻專區(qū)
  • 了解一下Microchip強(qiáng)大的PIC18-Q24 MCU系列
  • 基于CEC1712實(shí)現(xiàn)的處理器SPI FLASH固件安全彈性方案培訓(xùn)教程
  • 5分鐘詳解定時(shí)器/計(jì)數(shù)器E和波形擴(kuò)展!
  • 無線充電基礎(chǔ)知識(shí)及應(yīng)用培訓(xùn)教程3
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日本五十路息与子交尾视频 | 麻豆精东 | 无圣光私拍一区二区三区 | 亚洲欧美在线精品 | 日本四虎影视 | 亚洲毛片免费看 | 成人四虎影院 | 国产一级做a爰大片免费久久 | 久九九久福利精品视频视频 | 日韩不卡一区 | 国产一区二区视频在线播放 | 青青草原在线新免费 | 亚洲精品麻豆 | 亚洲狠狠婷婷综合久久久图片 | 中文有码| 色综合久久久高清综合久久久 | 欧美性大战 | 日本高清视频色wwwwww色 | 欧美色交| 韩国一级黄色大片 | 成人亚欧网站在线观看 | 欧美日韩一区二区三区免费不卡 | 国产日本在线 | 成人三级网址 | 亚洲欧美日韩国产综合 | 日韩毛片高清在线看 | 日本wwxx| 久久99热成人精品国产 | www.四虎影院.con | 高清性色生活片久久久 | 国产日韩欧美一区二区 | 亚洲一区不卡视频 | 男女视频在线观看免费 | 免费一级毛片能看的 | 最新国产一区二区精品久久 | 欧美日韩黑人 | 色视影院| 免费看三级毛片 | 久久久久成人精品一区二区 | 日本不卡一区二区三区视频 | 久久精品亚洲欧美va |