《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于LabVIEW的軟件無線電解調(diào)系統(tǒng)的設(shè)計
基于LabVIEW的軟件無線電解調(diào)系統(tǒng)的設(shè)計
2014年微型機(jī)與應(yīng)用第24期
劉正瓊,,郝曉博
(合肥工業(yè)大學(xué) 計算機(jī)與信息學(xué)院,,安徽 合肥 230009)
摘要: 結(jié)合當(dāng)下流行的數(shù)據(jù)采集和虛擬儀器技術(shù),采用G語言和LabVIEW IDE對通信系統(tǒng)中的解調(diào)系統(tǒng)進(jìn)行了軟件無線電設(shè)計。對本地文件中已有的已調(diào)信號以及外部通用數(shù)據(jù)采集卡采集的調(diào)幅和調(diào)頻信號進(jìn)行解調(diào)和分析,,對調(diào)頻信號的解調(diào)提出了一種軟件脈沖均值標(biāo)記濾波算法,該算法可以很好地實現(xiàn)調(diào)頻波的解調(diào)。本系統(tǒng)還可以對實時信號波形數(shù)據(jù)進(jìn)行保存、打印和對歷史信號的回放,。該系統(tǒng)彰顯了數(shù)據(jù)采集技術(shù)和虛擬儀器技術(shù)在無線電領(lǐng)域的應(yīng)用優(yōu)越性。
Abstract:
Key words :

  摘  要: 結(jié)合當(dāng)下流行的數(shù)據(jù)采集和虛擬儀器技術(shù),,采用G語言和LabVIEW IDE對通信系統(tǒng)中的解調(diào)系統(tǒng)進(jìn)行了軟件無線電設(shè)計,。對本地文件中已有的已調(diào)信號以及外部通用數(shù)據(jù)采集卡采集的調(diào)幅和調(diào)頻信號進(jìn)行解調(diào)和分析,對調(diào)頻信號的解調(diào)提出了一種軟件脈沖均值標(biāo)記濾波算法,,該算法可以很好地實現(xiàn)調(diào)頻波的解調(diào),。本系統(tǒng)還可以對實時信號波形數(shù)據(jù)進(jìn)行保存、打印和對歷史信號的回放,。該系統(tǒng)彰顯了數(shù)據(jù)采集技術(shù)和虛擬儀器技術(shù)在無線電領(lǐng)域的應(yīng)用優(yōu)越性,。

  關(guān)鍵詞: 數(shù)據(jù)采集;軟件無線電,;LabVIEW,;脈沖均值

0 引言

  隨著通信技術(shù)的飛速發(fā)展,以通用硬件和配套軟件為核心的軟件無線電技術(shù)應(yīng)運(yùn)而生,。軟件的靈活性和可移植性大大地減小了通信系統(tǒng)的設(shè)計難度和開發(fā)成本,,從而促使傳統(tǒng)的通信系統(tǒng)逐漸擺脫硬件的束縛,而更多地依靠軟件編程來實現(xiàn)硬件難以實現(xiàn)的功能,。在軟件無線電通信接收系統(tǒng)中,,數(shù)據(jù)的采集和處理是其關(guān)鍵技術(shù)。近些年來隨著計算機(jī)軟硬件的快速發(fā)展,,虛擬儀器技術(shù)具有的精度高,、通用性強(qiáng)、成本低廉等許多優(yōu)點,,使其在儀器控制和數(shù)據(jù)采集,、分析、處理等領(lǐng)域得到了廣泛的應(yīng)用,。虛擬儀器將大部分傳統(tǒng)的處理分析部分從硬件設(shè)計當(dāng)中脫離開來,它的興起可以大大縮短用戶軟件的開發(fā)周期,,增加程序的可復(fù)用性和可完善性[1],。由NI公司開發(fā)的LabVIEW是虛擬儀器領(lǐng)域中最具有代表性的圖形化編程開發(fā)平臺[2],它與傳統(tǒng)文本語言的不同之處在于:傳統(tǒng)編程語言是用文本語言編程,,而LabVIEW是用圖形化語言(G語言)編程[3],。LabVIEW程序主要由前面板、框圖程序,、節(jié)點三部分構(gòu)成,。節(jié)點包括圖標(biāo)、端口和連線,,接線端口用于不同節(jié)點間數(shù)據(jù)傳遞,。LabVIEW中子程序(在LabVIEW中稱為子VI)可以保存起來供其他函數(shù)調(diào)用,,這使LabVIEW得以實現(xiàn)層次化、模塊化編程,。它不僅避免了傳統(tǒng)開發(fā)語言的繁瑣性,,還具有強(qiáng)大的測控功能平臺并可同時保持系統(tǒng)的靈活性[4]。本文結(jié)合當(dāng)下流行的虛擬儀器技術(shù),,提出了一種基于LabVIEW的軟件無線電解調(diào)系統(tǒng)的設(shè)計,,并對其實現(xiàn)的關(guān)鍵技術(shù)進(jìn)行了深入的研究,最后給出了實現(xiàn)的測試系統(tǒng),,并對其進(jìn)行了實驗驗證,。

1 系統(tǒng)的總體方案


001.jpg

  完整的軟件無線電解調(diào)系統(tǒng)由硬件和軟件兩部分構(gòu)成,系統(tǒng)總體框圖如圖1所示,。外部設(shè)備用于提供需要處理的信號,,采集卡主要完成外部信號的采集,驅(qū)動通信程序主要實現(xiàn)采集卡的識別以及與LabVIEW之間的通信,。虛擬儀器軟件平臺主要實現(xiàn)以下功能:(1)參數(shù)設(shè)置,,參數(shù)包括采樣頻率、采樣點數(shù),、放大倍數(shù),,需要解調(diào)的已調(diào)波的類型、已調(diào)波的來源,,采用的濾波器的階數(shù),、類型等;(2)解調(diào)處理完成已調(diào)波的解調(diào),,并顯示解調(diào)前后的波形,;(3)對解調(diào)前后的波形進(jìn)行頻譜分析;(4)對已采集到的數(shù)據(jù)和處理后的數(shù)據(jù)進(jìn)行保存,;(5)允許用戶通過TDMS查看器進(jìn)行對歷史記錄文件的查看,;(6)通過LabVIEW的報表工具包來完成相關(guān)數(shù)據(jù)的打印。

2 實現(xiàn)的關(guān)鍵技術(shù)

  2.1 采集卡與LabVIEW通信

  LabVIEW提供了大量的數(shù)據(jù)采集子程序,,但是這些子程序只支持NI公司提供的數(shù)據(jù)采集卡(DAQ),,此類采集卡雖然性能優(yōu)良,但價格昂貴[5],。本文舍棄了NI公司的采集卡,,選取小型、功能相對齊全完善,、能滿足系統(tǒng)設(shè)計需求的USB集成普通采集卡,。對于非NI公司的數(shù)據(jù)采集卡,要完成與LabVIEW的數(shù)據(jù)通信,可以通過調(diào)用動態(tài)鏈接庫程序(DLL)來實現(xiàn),。動態(tài)鏈接庫是在運(yùn)行時鏈接可執(zhí)行代碼和數(shù)據(jù)模塊,,為進(jìn)程提供數(shù)據(jù)、代碼和資源,,任何用到采集卡的程序均可共享使用該動態(tài)鏈接庫的函數(shù)[6],。在LabVIEW中有自動批量導(dǎo)入共享庫的工具,在“工具”—“導(dǎo)入”—“共享庫dll”中,,開發(fā)人員可根據(jù)具體需要選擇要導(dǎo)入和封裝的函數(shù),,LabVIEW自動封裝工具會自動將庫中函數(shù)的參數(shù)數(shù)據(jù)類型映射成LabVIEW的數(shù)據(jù)類型,但是在LabVIEW中是不支持指針類型的,,LabVIEW自動封裝工具會將庫中出現(xiàn)的指針封裝成雙精度的浮點型,,這是錯誤的。此時需手動更改相關(guān)設(shè)置,,本文以庫中的int AD_continu(int chan,,int Num_Sample,int Rate_Sample,,float*databuf)函數(shù)為例,,它的返回參數(shù)數(shù)據(jù)類型為單精度浮點型數(shù)組指針,它指向了存放采集到的信號數(shù)據(jù)的內(nèi)存地址,。在“控件類型”中可選擇其映射LabVIEW前面板的控件,;“輸入輸出方式”中可配置其輸入輸出的許可性;“傳遞類型”中默認(rèn)的為指針傳遞,,這里需要將其改成數(shù)組傳遞,,這是非常重要的一個設(shè)置,這直接關(guān)系到能否成功地從采集卡中讀到數(shù)據(jù),。庫中函數(shù)封裝好以后,,可以在函數(shù)選板的用戶中查看到,如圖2所示,。

002.jpg

  2.2 軟件的設(shè)計思想

  本系統(tǒng)主要實現(xiàn)采集和處理分析兩大功能,。如果采取單一的順序結(jié)構(gòu),就必須等數(shù)據(jù)采集完成后才能進(jìn)行處理和分析,,等處理分析完成后才能進(jìn)行下次采集,,影響系統(tǒng)的實時性,降低了系統(tǒng)的執(zhí)行效率,,因此本系統(tǒng)采用了生產(chǎn)者-消費(fèi)者的模式。本系統(tǒng)中,,生產(chǎn)者是采集,,消費(fèi)者是處理和分析,在LabVIEW中通過采用隊列操作來完成這一模式。在生產(chǎn)者循環(huán)I中,,不管通過什么渠道,,每次循環(huán)采集到的數(shù)據(jù)都通過“入隊列”操作進(jìn)入隊列;在消費(fèi)者循環(huán)J中,,從同一隊列中通過“出隊列”操作取出采集數(shù)據(jù)進(jìn)行各種處理,。該模型如圖3所示。

003.jpg

  但是生產(chǎn)者的生產(chǎn)速度和消費(fèi)者的消費(fèi)速度是不相同的,,如果在消費(fèi)者模塊中發(fā)現(xiàn)隊列中沒有可用數(shù)據(jù),,有些VI就會報錯,如果將超時或者錯誤輸出連線至消費(fèi)者循環(huán)的停止條件端子上,,那么很可能消費(fèi)者循環(huán)就此徹底停止“消費(fèi)”,。最壞的一種情況是,程序先執(zhí)行消費(fèi)者,,后執(zhí)行生產(chǎn)者,,那么一開始消費(fèi)者因為隊列沒有可用數(shù)據(jù)而徹底跳出循環(huán),而后生產(chǎn)者采集到的數(shù)據(jù)一次也不會被處理和分析,,甚至到最后,,隊列中積壓了大量的數(shù)據(jù)而沒有被“消費(fèi)銷毀”釋放內(nèi)存,而造成系統(tǒng)內(nèi)存崩潰,。所以協(xié)調(diào)兩個循環(huán)間數(shù)據(jù)的共享顯得非常重要,,尤其是在消費(fèi)者分支當(dāng)中。本文通過在消費(fèi)者分支當(dāng)中采用獲取“隊列狀態(tài)”來控制這一問題,,如果隊列中沒有元素則不執(zhí)行任何程序但不允許結(jié)束“消費(fèi)”循環(huán),,當(dāng)隊列不為空時才進(jìn)行相應(yīng)的處理。采集和處理的流程圖如圖4所示,。

004.jpg

  2.3 解調(diào)算法的實現(xiàn)

  2.3.1 調(diào)頻波的解調(diào)算法

  對于調(diào)頻信號,,分為寬帶調(diào)頻(WBFM)和窄帶調(diào)頻(NBFM)兩大類,由于WBFM信號不像NBFM能分解成同相分量與正交分量之和,,因此對于寬帶信號只能采用非相干解調(diào)方法,,非相干解調(diào)方法不需要本地提供與發(fā)送端同頻同相的載波,這是它的優(yōu)點[7],。傳統(tǒng)的非相干解調(diào)硬件實現(xiàn)過程需要通過限幅放大,、微分、半波整流,、單穩(wěn)電路及低通濾波才可以實現(xiàn),,可見電路比較復(fù)雜[8]。本文提出采用脈沖均值濾波法來實現(xiàn),,該方法不需要經(jīng)過傳統(tǒng)的繁瑣步驟,,只需要判斷FM信號當(dāng)前采樣點數(shù)據(jù)x(n)是不是滿足下面兩個條件即可快速地提取出脈沖序列,,這兩個條件是:x(n)為正數(shù)和x(n-1)是負(fù)數(shù),這里需用到上次的采樣值x(n-1),。在LabVIEW的循環(huán)中通過開啟“移位寄存器”實現(xiàn)記錄x(n-1),,如果兩個條件均滿足則此時刻標(biāo)記一個脈沖,否則不標(biāo)記,。其框圖程序如圖5所示,。循環(huán)邊框上的三角圖標(biāo)為“移位寄存器”,用來存儲上次循環(huán)的數(shù)據(jù)供下次循環(huán)使用,?!耙莆患拇嫫鳌鼻昂筮B接的輸入輸出數(shù)據(jù)將會被LabVIEW自動編譯為同址操作,即占用同一塊內(nèi)存,。當(dāng)循環(huán)結(jié)束,,輸入端數(shù)據(jù)的內(nèi)存會被自動釋放并被輸出端數(shù)據(jù)占用。通過這樣的方式可顯式地告訴LabVIEW同址操作,,以節(jié)省內(nèi)存,。

005.jpg

  2.3.2 調(diào)幅波的解調(diào)算法

  調(diào)幅信號不論是DSB還是SSB,信號都可以用相干解調(diào)的方法來解調(diào),。接收到的調(diào)幅波與本地載波相乘后,,在經(jīng)過低通濾波后即可得到原調(diào)制信號。調(diào)幅解調(diào)的VI如圖6所示,。

006.jpg

3 系統(tǒng)的測試


007.jpg


  整個系統(tǒng)的主界面如圖7所示,,包括參數(shù)設(shè)置、解調(diào)處理,、解調(diào)分析,、保存、查看歷史,、打印6個選項卡,,需要解調(diào)的信號既可以來自采集卡,又可以來自系統(tǒng)已有的信號,,既可以進(jìn)行實現(xiàn)調(diào)頻波的解調(diào),,又可以實現(xiàn)調(diào)幅波的解調(diào)。從采集卡采集過來的調(diào)頻波經(jīng)過解調(diào)后的波形和頻譜分析如圖8和9所示,,來自本地已有的DSB信號經(jīng)過解調(diào)后的波形如圖10所示,。從測試的結(jié)果可以看出該系統(tǒng)可以很好地實現(xiàn)軟件無線電的功能。

4 結(jié)論

  本文研究了虛擬儀器技術(shù)在軟件無線電領(lǐng)域的應(yīng)用,,采用LabVIEW圖形化語言的軟件開發(fā)平臺,,開發(fā)了一套軟件無線電解調(diào)系統(tǒng)。該系統(tǒng)不僅可以對本地文件中已有的已調(diào)信號和外部采集卡采集的已調(diào)信號進(jìn)行處理和分析,,還可以對實時信號波形數(shù)據(jù)進(jìn)行保存,、打印和對歷史信號的回放,。實際測試彰顯了數(shù)據(jù)采集技術(shù)和虛擬儀器技術(shù)在軟件無線電領(lǐng)域的應(yīng)用優(yōu)越性,為軟件無線電的研究奠定了一定的基礎(chǔ),。

參考文獻(xiàn)

  [1] 向科峰.基于LabVIEW的數(shù)據(jù)采集系統(tǒng)設(shè)計與實現(xiàn)[J].機(jī)械管理開發(fā),2011,,8(4):191-192.

  [2] 榮鑫.基于虛擬儀器的數(shù)據(jù)采集與處理系統(tǒng)設(shè)計[D].太原:中北大學(xué),,2011.

  [3] 劉其和,李云明.LabVIEW虛擬儀器程序設(shè)計與應(yīng)用[M].北京:化學(xué)工業(yè)出版社,,2011.

  [4] 袁媛,,李紹穩(wěn),汪偉偉,,等.基于LabVIEW的虛擬儀器技術(shù)研究與應(yīng)用[J].農(nóng)業(yè)網(wǎng)絡(luò)信息,,2005(4):6-9.

  [5] 姚麗,劉東東.基于LabVIEW的數(shù)據(jù)采集與信號處理系統(tǒng)設(shè)計[J].電子科技,,2012,,25(5):79-80.

  [6] 陳樹學(xué),劉萱.LabVIEW寶典[M].北京:電子工業(yè)出版社,,2011.

  [7] 樊昌信,,曹麗娜.通信原理[M].北京:國防工業(yè)出版社,2010.

  [8] 陽昌漢,,謝紅,,宮芳.高頻電子線路[M].哈爾濱:哈爾濱工程大學(xué)出版社,2011.


此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。