劉明珠,劉雨晴,喬季軍,劉 曄
(哈爾濱理工大學(xué)測(cè)控技術(shù)與通信工程學(xué)院,黑龍江哈爾濱 150080)
基于LabVlEW的通信原理虛擬實(shí)驗(yàn)平臺(tái)的設(shè)計(jì)
劉明珠,劉雨晴,喬季軍,劉 曄
(哈爾濱理工大學(xué)測(cè)控技術(shù)與通信工程學(xué)院,黑龍江哈爾濱 150080)
針對(duì)“通信原理”課程課堂教學(xué)中實(shí)驗(yàn)教學(xué)不充分、實(shí)踐資源不豐富等問(wèn)題,設(shè)計(jì)了基于Lab VIEW技術(shù)的虛擬實(shí)驗(yàn)平臺(tái)。以FM頻率調(diào)制實(shí)驗(yàn)為例,介紹了該虛擬實(shí)驗(yàn)平臺(tái)的具體設(shè)計(jì)過(guò)程與實(shí)現(xiàn)方法。測(cè)試結(jié)果表明,基于Lab VIEW的通信原理虛擬實(shí)驗(yàn)平臺(tái)能夠準(zhǔn)確、高效地實(shí)現(xiàn)在線通信原理仿真實(shí)驗(yàn),可以增強(qiáng)教學(xué)互動(dòng)性,有利于學(xué)生深入理解理論知識(shí),提高實(shí)驗(yàn)技能并激發(fā)學(xué)生的學(xué)習(xí)興趣。
通信原理;虛擬實(shí)驗(yàn);教學(xué)平臺(tái);Lab VIEW
通信原理課程是電子信息類專業(yè)重要的專業(yè)平臺(tái)課和骨干課程之一,在電子信息類本科和研究生教學(xué)中具有極其重要的地位。長(zhǎng)期以來(lái),通信原理課程教學(xué)方法仍較為傳統(tǒng),在理論教學(xué)、實(shí)踐教學(xué)和工程設(shè)計(jì)相結(jié)合方面比較欠缺,教學(xué)手段也較為單一,易使學(xué)生對(duì)抽象的理論知識(shí)產(chǎn)生畏難心理[1]。筆者將實(shí)踐型教學(xué)理念引入通信原理課程教學(xué)中,設(shè)計(jì)出通信原理虛擬實(shí)驗(yàn)平臺(tái)。該平臺(tái)能很好地解決由于實(shí)驗(yàn)課程的學(xué)時(shí)有限、難以充分利用實(shí)驗(yàn)資源等問(wèn)題,幫助學(xué)生更好地理解知識(shí)。
目前,可用于虛擬平臺(tái)開(kāi)發(fā)的軟件主要有Lab-VIEW、Matlab和System View等[2],其中Lab VIEW以流程圖形式編程,不需要預(yù)先編譯,可進(jìn)行語(yǔ)法檢測(cè),具有豐富的函數(shù)、數(shù)值分析、信號(hào)處理和設(shè)備驅(qū)動(dòng)等功能,并具有擴(kuò)展性強(qiáng)、節(jié)約時(shí)間等特點(diǎn)。Lab-VIEW采用的編程語(yǔ)言——G語(yǔ)言,是一種具有擴(kuò)展函數(shù)庫(kù)的通用編程語(yǔ)言,采用圖形化的編程方式,能夠極大地提高編程效率[3]。本文介紹以Lab VIEW為軟件開(kāi)發(fā)平臺(tái),基于層次化、模塊化的編程方法的通信原理虛擬實(shí)驗(yàn)平臺(tái)的設(shè)計(jì)及實(shí)現(xiàn)。
通信原理虛擬實(shí)驗(yàn)平臺(tái)的設(shè)計(jì)采用模塊化設(shè)計(jì)思想,根據(jù)所設(shè)計(jì)系統(tǒng)的功能劃分出不同功能模塊,然后再對(duì)各個(gè)子模塊進(jìn)行設(shè)計(jì)。正確地劃分程序設(shè)計(jì)模塊,能夠有效地降低系統(tǒng)的復(fù)雜程度。圖1為通信原理實(shí)驗(yàn)平臺(tái)的總體框架。
圖1 通信原理實(shí)驗(yàn)平臺(tái)的總體框架
用戶登錄平臺(tái)的用戶主界面后,可以查看自己以往的實(shí)驗(yàn)成績(jī)、選擇相關(guān)的實(shí)驗(yàn)例程進(jìn)行學(xué)習(xí),或者直接選擇要做的實(shí)驗(yàn),實(shí)驗(yàn)完成后進(jìn)行保存、提交實(shí)驗(yàn)報(bào)告或參與問(wèn)題的討論。用戶可以進(jìn)行相關(guān)資料的下載和上傳,可對(duì)系統(tǒng)提出意見(jiàn)和建議,這些意見(jiàn)和建議將會(huì)上傳到服務(wù)器,系統(tǒng)管理員會(huì)進(jìn)行相應(yīng)的處理。
2.1 虛擬實(shí)驗(yàn)平臺(tái)的設(shè)計(jì)原理
設(shè)計(jì)通信原理虛擬實(shí)驗(yàn)平臺(tái)的目的是在日常教學(xué)過(guò)程中能夠?qū)崿F(xiàn)學(xué)生的自主虛擬仿真實(shí)驗(yàn),并與理論教學(xué)內(nèi)容相結(jié)合,實(shí)現(xiàn)動(dòng)態(tài)、可操作性強(qiáng)、直觀的實(shí)驗(yàn)教學(xué)。圖2為虛擬實(shí)驗(yàn)平臺(tái)模擬和數(shù)字調(diào)制、解調(diào)實(shí)驗(yàn)部分的設(shè)計(jì)方案[4]。
圖2 通信原理虛擬實(shí)驗(yàn)的設(shè)計(jì)方案
該平臺(tái)設(shè)置的虛擬信號(hào)發(fā)生器是輸入信號(hào)的源端;虛擬示波器是信號(hào)顯示的終端。該平臺(tái)是根據(jù)通信原理教學(xué)大綱的要求設(shè)計(jì)的,包括模擬與數(shù)字兩部分實(shí)驗(yàn)內(nèi)容,每個(gè)部分又包含若干個(gè)虛擬實(shí)驗(yàn)。
2.2 通信原理虛擬實(shí)驗(yàn)平臺(tái)設(shè)計(jì)實(shí)例
構(gòu)建完整的Lab VIEW工程需要完成3部分內(nèi)容,即前面板的設(shè)計(jì)、框圖和程序的設(shè)計(jì),以及目標(biāo)和連接器的配置[5]。在編寫程序框圖前,首先要確定編程所需要的各個(gè)函數(shù)功能模塊,然后再編寫程序,最后根據(jù)各個(gè)模塊的功能要求擬定參數(shù)并進(jìn)行調(diào)試和修改。本文以FM調(diào)制實(shí)驗(yàn)為例,給出虛擬實(shí)驗(yàn)系統(tǒng)中實(shí)驗(yàn)設(shè)計(jì)開(kāi)發(fā)的一般過(guò)程。
Lab VIEW的程序代碼以程序框圖表示,需在可執(zhí)行程序框圖中進(jìn)行編程,以操縱和定義在前面板上的輸入和輸出功能模塊[6]。程序框圖包括前面板上控件的連線端子以及函數(shù)、結(jié)構(gòu)、連線等。當(dāng)在后面板程序框圖中設(shè)置顯示和輸入控件時(shí),前面板中會(huì)自動(dòng)顯示出與之對(duì)應(yīng)的輸入窗口和圖形顯示部件[7]。為了實(shí)時(shí)動(dòng)態(tài)地顯示實(shí)驗(yàn)結(jié)果,整個(gè)板的程序都處在一個(gè)while循環(huán)中,現(xiàn)的具體方法為:
(1)啟動(dòng)Lab VIEW,新建一個(gè)空VI(Lab VIEW的程序文件名),在新建的前面板上創(chuàng)建4個(gè)圖形顯示控件-波形圖,分別作為基帶信號(hào)、載波信號(hào)、已調(diào)FM信號(hào)和已調(diào)信號(hào)頻譜的波形顯示圖;
(2)在程序框圖的函數(shù)選板的子選項(xiàng)板上選擇信號(hào)處理選板,生成正弦波形,分別作為基帶信號(hào)和載波信號(hào),并在前面板的控制選板中選擇數(shù)值控件,讓用戶自行設(shè)置各參數(shù),如載波調(diào)制、調(diào)制幅值,頻率偏移等;
(3)在程序框圖的函數(shù)選板中,選擇數(shù)值函數(shù)選板的基本加、乘以及數(shù)學(xué)函數(shù)中特殊函數(shù)三角函數(shù)余弦控件,根據(jù)FM的調(diào)制原理
式中:A為調(diào)頻信號(hào)振幅,ωc為載波頻率,Kf為調(diào)頻靈敏度,m(τ)為調(diào)制信號(hào)。將程序面板中的各個(gè)控件按照上述公式的順序,用工具選板中的工具連接,連接后的程序結(jié)構(gòu)如圖3所示。
(4)每個(gè)實(shí)驗(yàn)的設(shè)計(jì)完成后,將這些VI放到一個(gè)大的主程序VI中進(jìn)行封裝,實(shí)現(xiàn)系統(tǒng)的綜合。
每個(gè)VI通過(guò)對(duì)連接器進(jìn)行設(shè)置來(lái)定義輸入和輸出端口。連接器的設(shè)置分為兩個(gè)步驟:一是要?jiǎng)?chuàng)建連接器端口;二是要定義連接器端口和控件及指示器的關(guān)聯(lián)關(guān)系,包括建立連接和定義接線端類型。具體步驟為:(1)在程序框圖中用定位工具框定需要?jiǎng)?chuàng)建子VI的程序模塊;(2)從編輯選單中選擇創(chuàng)建子VI選項(xiàng),完成后所框定的內(nèi)容成為一個(gè)子VI,被一個(gè)默認(rèn)的圖標(biāo)子VI節(jié)點(diǎn)所替換;(3)運(yùn)行程序,觀察結(jié)果。圖4為FM調(diào)制的運(yùn)行結(jié)果,包括載波信號(hào)、基帶信號(hào)、已調(diào)信號(hào)和調(diào)制信號(hào)的頻譜。
本虛擬實(shí)驗(yàn)平臺(tái)還設(shè)置了頻率調(diào)節(jié)旋鈕,用戶可根據(jù)需要設(shè)置實(shí)驗(yàn)參數(shù)。點(diǎn)擊運(yùn)行按鈕即可得到一組波形。用戶可以像在進(jìn)行硬件電路實(shí)驗(yàn)時(shí)那樣,一邊調(diào)試,一邊觀察運(yùn)行結(jié)果。
2.3 前臺(tái)用戶界面的設(shè)計(jì)
圖3 FM調(diào)制的程序結(jié)構(gòu)原理圖
圖4 FM調(diào)制的運(yùn)行界面
用戶界面是實(shí)驗(yàn)平臺(tái)呈現(xiàn)給用戶的結(jié)構(gòu)和表現(xiàn)形式,設(shè)計(jì)內(nèi)容包括:(1)平臺(tái)結(jié)構(gòu),即如何組織系統(tǒng)模塊;(2)顯示界面,即設(shè)計(jì)用戶界面、顯示形式和風(fēng)格; (3)導(dǎo)航系統(tǒng),即根據(jù)使用習(xí)慣和需求進(jìn)行頁(yè)面導(dǎo)航; (4)幫助系統(tǒng),即提供幫助和提示;(5)異常處理,主要是容錯(cuò)和出錯(cuò)提示等。
編輯完虛擬實(shí)驗(yàn)程序后,還需將程序生成可執(zhí)行文件,或者進(jìn)一步生成安裝文件。Lab VIEW運(yùn)行引擎的安裝程序允許用戶在未安裝Lab VIEW的情況下運(yùn)行應(yīng)用程序或使用共享庫(kù)。Lab VIEW提供了由程序創(chuàng)建軟件產(chǎn)品的功能,可從項(xiàng)目瀏覽器窗口中的“程序生成規(guī)范”節(jié)點(diǎn)上彈出選單,在“新建”中選擇一種編譯輸出類型,通常有應(yīng)用程序、安裝程序、共享庫(kù)、源代碼發(fā)布、Web服務(wù)等選項(xiàng)[6]。
獨(dú)立的應(yīng)用程序可為其他用戶提供VI的可執(zhí)行文件。獨(dú)立的應(yīng)用程序允許用戶運(yùn)行VI,而無(wú)需安裝Lab VIEW開(kāi)發(fā)系統(tǒng)。Windows應(yīng)用程序以.exe為擴(kuò)展名;Mac OS應(yīng)用程序以.app為擴(kuò)展名。Windows安裝程序用于發(fā)布獨(dú)立應(yīng)用程序、共享庫(kù)和通過(guò)應(yīng)用程序生成器創(chuàng)建的源代碼等。
使Lab VIEW實(shí)現(xiàn)網(wǎng)絡(luò)通信的方法有4種:(1)遠(yuǎn)程桌面連接;(2)使用DataSocket技術(shù)的網(wǎng)絡(luò)通信; (3)通過(guò)網(wǎng)頁(yè)實(shí)時(shí)發(fā)布測(cè)控程序并異地使用瀏覽器監(jiān)控;(4)使用TCP、UDP等傳輸控制協(xié)議編程進(jìn)行網(wǎng)絡(luò)通信。其中DataSocket是NI公司推出的一項(xiàng)基于TCP/IP協(xié)議的新技術(shù),面向測(cè)量和網(wǎng)絡(luò)實(shí)時(shí)數(shù)據(jù)交換,在編程時(shí)僅存在URL地址的區(qū)別。DataSocket能夠隱藏網(wǎng)絡(luò)傳輸細(xì)節(jié),方便地實(shí)現(xiàn)測(cè)量和實(shí)時(shí)數(shù)據(jù)交換[7],目前DataSocket在10 Mbit/s網(wǎng)絡(luò)中的傳輸速率可達(dá)到640 kbit/s。鑒于DataSocket以上優(yōu)點(diǎn),本虛擬實(shí)驗(yàn)平臺(tái)用第二種方法,即用DataSocket技術(shù)進(jìn)行網(wǎng)絡(luò)通信。
4.1 C/S組網(wǎng)方式
虛擬實(shí)驗(yàn)平臺(tái)的組網(wǎng)模式采用了C/S模式。C/S模式是應(yīng)用TCP/IP協(xié)議來(lái)構(gòu)建的適合大量數(shù)據(jù)高效、可靠、完整地傳輸和兼容性強(qiáng)的一種組網(wǎng)模式[8],其原理如圖5所示。
整個(gè)系統(tǒng)由網(wǎng)絡(luò)連接的客戶機(jī)(Client)和服務(wù)器(Server)構(gòu)成??蛻舳藶橥ㄐ旁硖摂M實(shí)驗(yàn)平臺(tái),學(xué)生可以憑用戶名和密碼進(jìn)入虛擬實(shí)驗(yàn)平臺(tái)并完成一系列虛擬實(shí)驗(yàn),并將所得的實(shí)驗(yàn)數(shù)據(jù)和實(shí)驗(yàn)進(jìn)度通過(guò)TCP/IP協(xié)議寫入服務(wù)器的數(shù)據(jù)庫(kù)中。C/S模式主要涉及兩個(gè)方面的工作:一是客戶端采集程序和數(shù)據(jù)遠(yuǎn)程發(fā)布程序的設(shè)計(jì),二是服務(wù)器端數(shù)據(jù)接收程序的設(shè)計(jì)。
圖5 C/S組網(wǎng)模式原理圖
4.2 DataSocket網(wǎng)絡(luò)通信的實(shí)現(xiàn)方法
DataSocket包含DataSocket API和DataSocket Server兩部分。
DataSocket API是一個(gè)協(xié)議編程語(yǔ)言,Lab VIEW為每一個(gè)前面板控件都設(shè)定一個(gè)與系統(tǒng)無(wú)關(guān)的應(yīng)用程序接口,通過(guò)ActiveX控件來(lái)實(shí)現(xiàn)并支持多種數(shù)據(jù)類型,數(shù)據(jù)類型包括字符串、標(biāo)量、布爾變量和波形等[9]。它自動(dòng)把用戶測(cè)得的數(shù)據(jù)轉(zhuǎn)化為網(wǎng)絡(luò)上傳輸?shù)淖止?jié)流,適用于一般編程環(huán)境[10]。
DataSocket Server是一個(gè)必須運(yùn)行在服務(wù)器端的程序,負(fù)責(zé)監(jiān)督Manager中所設(shè)定的具有各種權(quán)限的用戶組與客戶服務(wù)器之間的數(shù)據(jù)交換。DataSocket Server通過(guò)內(nèi)部數(shù)據(jù)自描述格式對(duì)TCP/IP進(jìn)行優(yōu)化和管理,簡(jiǎn)化Internet通信方式,提供自由的數(shù)據(jù)傳輸,可以直接傳送虛擬儀器所采集到的布爾型、數(shù)字型、字符串型、數(shù)組型和波形等類型的數(shù)據(jù)。DataSocket Server支持多種數(shù)據(jù)傳輸協(xié)議,VI與DataSocket Server連接,用戶必須為數(shù)據(jù)提供一個(gè)附加到URL的標(biāo)識(shí)Tag,DataSocket利用Tag在DataSocket Server上為數(shù)據(jù)項(xiàng)目指定地址和權(quán)限,負(fù)責(zé)監(jiān)管Manager中所設(shè)定的DataSocket Connection屬性,利用它可以實(shí)現(xiàn)不同計(jì)算機(jī)上相對(duì)應(yīng)的2個(gè)甚至多個(gè)同類型控件之間的通信[11]。通過(guò)規(guī)定URL和控件連接方式,可以在本地和遠(yuǎn)程進(jìn)行實(shí)時(shí)無(wú)誤差的數(shù)據(jù)發(fā)布和讀取。
在Lab VIEW中運(yùn)用DataSocket技術(shù)實(shí)現(xiàn)網(wǎng)絡(luò)通信有2種途徑:(1)前面板控件屬性直接連接;(2)利用DataSocket VI編程。其中控件屬性直接連接使數(shù)據(jù)傳輸無(wú)需編程,簡(jiǎn)單易用,可縮短該軟件平臺(tái)開(kāi)發(fā)的周期,提高平臺(tái)的工作效率。本設(shè)計(jì)采用了屬性控件直接連接的方法來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)通信,程序運(yùn)行后會(huì)自動(dòng)查找計(jì)算機(jī)中的網(wǎng)絡(luò)硬件,局域網(wǎng)上的計(jì)算機(jī)通過(guò)網(wǎng)卡、設(shè)置過(guò)Internet的計(jì)算機(jī)通過(guò)調(diào)制解調(diào)器連接到網(wǎng)絡(luò)服務(wù)器上。圖6為采用此種編程的部分源程序。
圖6 用DataSocket實(shí)現(xiàn)網(wǎng)絡(luò)通信的源程序
4.3 數(shù)據(jù)庫(kù)的訪問(wèn)
在Lab VIEW中可以使用ActiveX功能、調(diào)用Microsoft ADO控件、用SQL語(yǔ)言實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)[11]。SQL語(yǔ)言支持關(guān)系數(shù)據(jù)庫(kù)三級(jí)模式結(jié)構(gòu),其中外模式對(duì)應(yīng)于視圖和部分基本表,模式對(duì)應(yīng)于基本表,內(nèi)模式對(duì)應(yīng)于存儲(chǔ)文件[12]?;颈砗鸵晥D的操作都可以通過(guò)SQL來(lái)實(shí)現(xiàn),可以將學(xué)生的實(shí)驗(yàn)數(shù)據(jù)和實(shí)驗(yàn)進(jìn)度存儲(chǔ)到服務(wù)器的數(shù)據(jù)庫(kù)中,方便管理。
基于Lab VIEW技術(shù)的通信原理虛擬仿真實(shí)驗(yàn)平臺(tái)不但提供了典型的通信原理虛擬實(shí)驗(yàn)內(nèi)容,且實(shí)現(xiàn)了各功能子模塊的可移植性,支持用戶對(duì)各功能子模塊的搭建。同時(shí),該平臺(tái)還可實(shí)現(xiàn)網(wǎng)絡(luò)化功能,適用范圍廣,有利于學(xué)生提高學(xué)習(xí)興趣、增強(qiáng)學(xué)生的實(shí)踐能力,是課堂教學(xué)的重要補(bǔ)充。
References)
[1]孫云山,張立毅,耿艷香,等.通信原理虛擬實(shí)驗(yàn)仿真系統(tǒng)研究[J].實(shí)驗(yàn)室科學(xué),2010,13(6):101-103.
[2]凌霖,蘇胤杰,晉春.軟件仿真在通信原理實(shí)驗(yàn)教學(xué)中的應(yīng)用[J].實(shí)驗(yàn)技術(shù)與管理,2011,28(4):83-85.
[3]張?zhí)m勇.Lab VIEW程序設(shè)計(jì)基礎(chǔ)與提高[M].北京:機(jī)械工業(yè)出版社,2012.
[4]張輝,曹麗娜.現(xiàn)代通信原理與技術(shù)[M].2版.西安:西安電子科技大學(xué)出版社,2008.
[5]任峻,張紅燕.運(yùn)用虛擬仿真實(shí)驗(yàn)改革通信原理實(shí)驗(yàn)教學(xué)[J].實(shí)驗(yàn)技術(shù)與管理,2014,31(3):95-97,104.
[6]林靜,林振宇,鄭福仁.Lab VIEW虛擬儀器程序從入門到精通[M].北京:人民郵電出版社,2010.
[7]孫秋野,柳昂,王云爽.Lab VIEW8.5快速入門與提高[M].西安:西安交通大學(xué)出版社,2009.
[8]張茜,雷勇.基于虛擬儀器技術(shù)的網(wǎng)絡(luò)化遠(yuǎn)程實(shí)驗(yàn)室系統(tǒng)[J].實(shí)驗(yàn)室研究與探索,2013,32(9):90-93.
[9]何玉鈞,高會(huì)生.Lab VIEW虛擬儀器設(shè)計(jì)教程[M].北京:人民郵電出版社,2012.
[10]朱勇,劉慶玲,陳述超.通信原理實(shí)驗(yàn)網(wǎng)絡(luò)教學(xué)研究[J].實(shí)驗(yàn)室研究與探索,2005,24(3):49-51.
[11]唐亞鵬,侯媛斌.基于Lab VIEW的實(shí)踐教學(xué)平臺(tái)與Access數(shù)據(jù)庫(kù)的開(kāi)發(fā)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2011,21(5):220-222.
[12]Morton K,Osborne K,Sands R,et al.Oracle SQL高級(jí)編程[M].朱浩波,譯.北京:人民郵電出版社,2011.
Design on virtual experimental platform for Communication Principle course based on LabVIEW
Liu Mingzhu,Liu Yuqing,Qiao Jijun,Liu Ye
(School of Measurement-Control Technology and Communications Engineering, Harbin University of Science and Technology,Harbin 150080,China)
To solve the problem that the classroom teaching of Communication Principle course has insufficient experiments and inadequate experiment resource,this article has studied the Communication Principle practical teaching method based on the technology of Lab VIEW.The virtual experimental platform of Communication Principle course has been designed and developed,and as an example the experiment of FM frequency modulation has been introduced to illustrate the specific design and realization process of the virtual experimental platform.The experimental results have shown that the virtual experimental platform based on Lab VIEW can realize online simulation experiments of Communication Principle accurately and efficiently.Using this platform can enhance the teaching interaction,help students to understand the theoretical knowledge,enhance their experimental skills and reach to the objective of stimulating students’interest in learning process.
communication principle;virtual experiment;teaching platform;Lab VIEW
G642.0
A
1002-4956(2015)4-0123-04
2014-08-26
哈爾濱理工大學(xué)教育教學(xué)研究專項(xiàng)基金項(xiàng)目(Z201300004);哈爾濱理工大學(xué)創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目
劉明珠(1973—),女,黑龍江哈爾濱,博士,副教授,主要研究方向?yàn)橥ㄐ判盘?hào)處理和認(rèn)知無(wú)線電.
E-mail:lmz@hrbust.edu.cn