王 永, 許夢(mèng)姣, 張 毅, 蔣 青
(重慶郵電大學(xué) 通信與信息工程學(xué)院, 重慶 400065)
基于Web的通信系統(tǒng)教學(xué)平臺(tái)的構(gòu)建
王 永, 許夢(mèng)姣, 張 毅, 蔣 青
(重慶郵電大學(xué) 通信與信息工程學(xué)院, 重慶 400065)
本文通過(guò)分析通信系統(tǒng)傳統(tǒng)實(shí)踐教學(xué)方式存在的問(wèn)題,構(gòu)建了一套基于Web的遠(yuǎn)程仿真實(shí)驗(yàn)平臺(tái),該平臺(tái)采用Matlab Builder JA、JSP、Servlet和JavaScript技術(shù)開(kāi)發(fā)。運(yùn)行在遠(yuǎn)程服務(wù)器中的Matlab仿真程序通過(guò)Web接受可變的參數(shù),并采用WebFigure技術(shù)直觀的呈現(xiàn)仿真結(jié)果。該平臺(tái)對(duì)客戶端系統(tǒng)的軟件和硬件環(huán)境不做要求,因此學(xué)生可以通過(guò)任何安裝了標(biāo)準(zhǔn)瀏覽器的設(shè)備進(jìn)行訪問(wèn)。
實(shí)踐教學(xué);Matlab Builder JA;遠(yuǎn)程實(shí)驗(yàn)
在通信工程專業(yè)的課程設(shè)置中,實(shí)踐教學(xué)是不可或缺的重要環(huán)節(jié),而對(duì)通信技術(shù)和鏈路進(jìn)行仿真分析則是實(shí)踐環(huán)節(jié)中最為常用的教學(xué)手段[1]。各大高校也通過(guò)開(kāi)設(shè)基于仿真的實(shí)踐課程,通過(guò)Matlab等仿真工具,幫助學(xué)生加深對(duì)通信技術(shù)中基本概念的理解,把握通信鏈路的結(jié)構(gòu),了解有關(guān)通信系統(tǒng)中的技術(shù)指標(biāo)及改善系統(tǒng)性能的基本技術(shù)措施,為學(xué)生全面、系統(tǒng)地了解通信系統(tǒng)提供了重要的渠道。實(shí)踐課程的優(yōu)化,可以增強(qiáng)學(xué)生的感性認(rèn)識(shí),實(shí)現(xiàn)由課本知識(shí)向?qū)嶋H能力的轉(zhuǎn)化,提高實(shí)踐動(dòng)手能力[2]。
在當(dāng)前通信系統(tǒng)實(shí)踐課程中,功能齊全的大型Matlab仿真系統(tǒng)已經(jīng)成為實(shí)踐教學(xué)和訓(xùn)練的有效方法和手段。但由于系統(tǒng)軟件有限的生命周期,硬件成本和維護(hù)成本高、學(xué)習(xí)場(chǎng)地、學(xué)習(xí)時(shí)間無(wú)法靈活制定,以及硬件數(shù)量有限等原因的限制,使得傳統(tǒng)教學(xué)方式存在著下列問(wèn)題[3]:
(1)仿真工具運(yùn)行環(huán)境單一。傳統(tǒng)的課程實(shí)驗(yàn)基于單機(jī),因此必須在所有開(kāi)放實(shí)驗(yàn)室的PC終端上安裝仿真工具,系統(tǒng)維護(hù)工作量大,難以保證環(huán)境一致性。此外,仿真工具支持的軟硬件平臺(tái)相對(duì)單一,僅能在安裝有Windows和Linux等系統(tǒng)的PC上運(yùn)行,無(wú)法支持大量的移動(dòng)掌上終端,不利于學(xué)生隨時(shí)隨地運(yùn)行仿真代碼和查閱仿真數(shù)據(jù)。
(2)實(shí)踐時(shí)間地點(diǎn)固定。多數(shù)高校的實(shí)驗(yàn)室并不能做到全天開(kāi)放,學(xué)生使用相關(guān)設(shè)備需要按照課表安排或者提前預(yù)約。有限的實(shí)驗(yàn)室資源增加了學(xué)生參與實(shí)踐所需花費(fèi)的時(shí)間成本,同時(shí)也難以同學(xué)生自主學(xué)習(xí)的時(shí)間安排保持同步和一致。另外,學(xué)生在認(rèn)識(shí)過(guò)程中,有大量“碎片化”的仿真需求,這些需求往往只需要花少量的時(shí)間,運(yùn)行有限的幾個(gè)仿真流程即可鞏固認(rèn)知,當(dāng)前的實(shí)踐課程模式顯然無(wú)法滿足此類需求[4]。
(3)實(shí)驗(yàn)設(shè)備維護(hù)工作量巨大。當(dāng)前開(kāi)放實(shí)驗(yàn)室機(jī)房存放大量的終端,當(dāng)學(xué)生進(jìn)行課堂實(shí)踐后,需要將終端環(huán)境復(fù)位,以迎接下一批學(xué)生。雖然有相應(yīng)系統(tǒng)軟件的支持,但是在實(shí)際運(yùn)行過(guò)程中,由于系統(tǒng)軟硬件環(huán)境的復(fù)雜性,學(xué)生操作過(guò)程的隨意性和一些誤操作,導(dǎo)致課前、課后,維護(hù)人員都需要花費(fèi)大量人力和時(shí)間來(lái)維護(hù)實(shí)驗(yàn)環(huán)境。
(4)難以進(jìn)行數(shù)據(jù)分析。在當(dāng)前的課堂實(shí)踐課程中,每個(gè)學(xué)生在相對(duì)獨(dú)立的環(huán)境中編寫和調(diào)試代碼,指導(dǎo)教師通過(guò)集中講授和實(shí)時(shí)巡場(chǎng)的方式來(lái)提供指導(dǎo)。這種方式交互性強(qiáng),靈活性高,能提供差異化的教學(xué)服務(wù)。但是,學(xué)生整體在實(shí)踐中的表現(xiàn),普遍存在的難點(diǎn),以及學(xué)生的學(xué)習(xí)熱點(diǎn)等統(tǒng)計(jì)數(shù)據(jù)僅能通過(guò)教師的主觀感受來(lái)獲得,導(dǎo)致數(shù)據(jù)不夠客觀,難以記錄,難以量化,從而無(wú)法進(jìn)行大數(shù)據(jù)統(tǒng)計(jì)分析。
鑒于上述現(xiàn)有的教學(xué)方式存在的諸多弊端,以及當(dāng)前網(wǎng)絡(luò)技術(shù)尤其是移動(dòng)互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,在現(xiàn)有課堂實(shí)踐的基礎(chǔ)上,將仿真實(shí)驗(yàn)虛擬化、網(wǎng)絡(luò)化、Web化成為必然。
使用Matlab Builder JA和基于Java的Web后臺(tái)技術(shù),我們可以將調(diào)制解調(diào)、信源編譯碼、信道編譯碼、加解密編碼、A/D轉(zhuǎn)換等等通信關(guān)鍵技術(shù)移植到網(wǎng)絡(luò)上[5]。學(xué)生在初學(xué)階段,可以暫時(shí)不去考慮繁瑣的代碼細(xì)節(jié),通過(guò)Web頁(yè)面訪問(wèn)預(yù)置的仿真流程,在頁(yè)面上填寫仿真參數(shù),通過(guò)后臺(tái)實(shí)時(shí)運(yùn)行,在瀏覽器中獲取仿真結(jié)果。通過(guò)該平臺(tái),學(xué)生甚至可以在理論課的課堂上,迅速通過(guò)掌上終端運(yùn)行仿真程序,從而在第一時(shí)間獲取對(duì)通信技術(shù)的感性認(rèn)識(shí),消除陌生感和恐懼感。在學(xué)習(xí)的高級(jí)階段,學(xué)生可以通過(guò)平臺(tái)修改仿真代碼,加入自己設(shè)計(jì)的算法,驗(yàn)證理論分析的結(jié)果。從而滿足學(xué)生在不同學(xué)習(xí)階段,隨時(shí)隨地的仿真需求[6]。
2.1平臺(tái)的技術(shù)原理
創(chuàng)建遠(yuǎn)程實(shí)踐平臺(tái)所需要的核心技術(shù)為Matlab Builder JA和Java Web服務(wù)端技術(shù)。Matlab Builder JA技術(shù)允許開(kāi)發(fā)者將Matlab代碼編譯為Java代碼,創(chuàng)建基于Matlab的Java類,部署在服務(wù)器上接受遠(yuǎn)程調(diào)用。這種方式可以充分利用Matlab在數(shù)值計(jì)算和圖像處理等工程技術(shù)領(lǐng)域的強(qiáng)大優(yōu)勢(shì)和廣泛的資源,方便快捷的創(chuàng)建用于通信鏈路仿真的代碼。而編譯后的Java類則可以方便的被Java程序調(diào)用,從而利用Java在Web服務(wù)器端的強(qiáng)大技術(shù)優(yōu)勢(shì)和各種通用框架,快速地構(gòu)建服務(wù)端邏輯,搭建Web服務(wù)器。平臺(tái)的整體結(jié)構(gòu)如圖1所示,Servlet接受用戶的仿真請(qǐng)求,并將請(qǐng)求分派給Matlab服務(wù)器的相應(yīng)模塊;獲得返回值后,通過(guò)JSP頁(yè)面展示給用戶。
圖1 平臺(tái)整體框圖
搭建平臺(tái)的基本步驟如下:
1)創(chuàng)建Matlab代碼
創(chuàng)建用于通信關(guān)鍵技術(shù)仿真的Matlab代碼,對(duì)于已經(jīng)開(kāi)設(shè)仿真實(shí)踐課程的高校,這部分代碼是已有的,僅需將仿真函數(shù)的輸出轉(zhuǎn)化為WebFigure即可;
2)編譯仿真代碼
將仿真代碼通過(guò)Matlab Builder JA工具編譯為Java類,并打包為JAR文件;
3)編寫服務(wù)端Servlet
在Web服務(wù)端編寫Servlet,用于處理遠(yuǎn)程用戶提供的參數(shù),將網(wǎng)頁(yè)格式的參數(shù)轉(zhuǎn)換為符合Matlab函數(shù)調(diào)用要求的格式,并根據(jù)用戶的POST信息,調(diào)用正確的仿真函數(shù)。同時(shí),該Servlet還需要解析Matlab函數(shù)的仿真輸出,將其中的數(shù)據(jù)和圖像通過(guò)表格或者WebFigure的形式投射到輸出頁(yè)面上;
4)編寫輸入端JSP頁(yè)面
提供用戶訪問(wèn)仿真的入口,在此頁(yè)面上還需提供各種參數(shù)的輸入界面[7];
5)編寫輸出JSP端頁(yè)面
編寫輸出頁(yè)面,將Servlet輸出的仿真結(jié)果合理且美觀的呈現(xiàn)給用戶;
6)編寫服務(wù)端高級(jí)調(diào)用接口
在服務(wù)端通過(guò)Java代碼,實(shí)現(xiàn)對(duì)用戶輸入、調(diào)用等行為的數(shù)據(jù)收集、處理并形成報(bào)表。提供用戶替換內(nèi)置仿真程序的接口,讓學(xué)生有機(jī)會(huì)驗(yàn)證自己設(shè)計(jì)的算法并與預(yù)置算法進(jìn)行對(duì)比[8]。
2.2平臺(tái)實(shí)現(xiàn)的功能
該遠(yuǎn)程平臺(tái)可以照顧不同基礎(chǔ)學(xué)生的能力和潛力,既讓所有學(xué)生有信心,又讓學(xué)生感到有挑戰(zhàn)性,并有助于教師掌握學(xué)生的學(xué)習(xí)過(guò)程。平臺(tái)將實(shí)現(xiàn)如下幾個(gè)方面的內(nèi)容:
(1)平臺(tái)將提供模擬調(diào)制系統(tǒng)、信源編碼和信道編碼、數(shù)字信號(hào)基帶和頻帶傳輸、數(shù)字基帶眼圖等一系列經(jīng)典實(shí)驗(yàn)的代碼。對(duì)于初學(xué)者或基礎(chǔ)較薄弱的同學(xué),只需輸入相關(guān)參數(shù),即可得到仿真結(jié)果,無(wú)需輸入冗長(zhǎng)復(fù)雜的實(shí)驗(yàn)代碼。
(2)平臺(tái)同時(shí)提供標(biāo)準(zhǔn)接口,允許學(xué)生自主編寫模塊。在開(kāi)發(fā)模式下,學(xué)生可以自主開(kāi)發(fā)模塊并入平臺(tái)鏈路,觀察運(yùn)行結(jié)果,并與預(yù)置結(jié)果進(jìn)行對(duì)比。鍛煉了學(xué)生自己設(shè)計(jì)和獨(dú)立完成實(shí)驗(yàn)項(xiàng)目的能力,符合現(xiàn)在開(kāi)放性的管理教育模式和創(chuàng)新的新趨勢(shì)。
(3)平臺(tái)將提供學(xué)生實(shí)踐行為的大數(shù)據(jù)分析,通過(guò)搜集學(xué)生在使用平臺(tái)過(guò)程中的行為特征,結(jié)合大數(shù)據(jù)分析算法,平臺(tái)可以向主講教師提供學(xué)生在學(xué)習(xí)過(guò)程中的熱點(diǎn)和難點(diǎn),幫助教師調(diào)整教學(xué)計(jì)劃。
2.3平臺(tái)示例
本節(jié)通過(guò)數(shù)字基帶信號(hào)的眼圖仿真,展示了該系統(tǒng)的使用方法。用戶通過(guò)手機(jī)瀏覽器訪問(wèn)Web服務(wù)器的眼圖仿真模塊,在參數(shù)頁(yè)面填寫仿真參數(shù),包括碼元速率、滾降系數(shù)和信噪比,如圖2所示。用戶提交參數(shù)后,服務(wù)器將在后臺(tái)運(yùn)行仿真,并將仿真結(jié)果返回用戶的瀏覽器,如圖3所示。通過(guò)該示例可見(jiàn),手機(jī)端無(wú)需安裝任何特殊軟件,即可訪問(wèn)仿真平臺(tái)。
圖2 眼圖參數(shù)設(shè)置頁(yè)面截圖
圖3 眼圖仿真輸出頁(yè)面截圖
教學(xué)手段和環(huán)境是教學(xué)過(guò)程中重要的教學(xué)要素之一,為了解決傳統(tǒng)教學(xué)方式存在的問(wèn)題,我們搭建一套基于B/S架構(gòu)的通信鏈路仿真平臺(tái)。該平臺(tái)融合了Web技術(shù)和Matlab仿真技術(shù),旨在為教師和學(xué)生提供一種基于瀏覽器訪問(wèn)的、輕量級(jí)的教學(xué)演示手段和實(shí)驗(yàn)手段。通過(guò)該平臺(tái),理論課教師授課時(shí)可以隨時(shí)通過(guò)瀏覽器運(yùn)行仿真,直觀地展示結(jié)果,增強(qiáng)授課效果;學(xué)生課后可以隨時(shí)登錄平臺(tái)做實(shí)驗(yàn),鞏固知識(shí),驗(yàn)證猜想;實(shí)驗(yàn)、實(shí)踐課上,學(xué)生可以自主編寫模塊來(lái)并入平臺(tái)鏈路,降低其學(xué)習(xí)難度,增強(qiáng)成就感,激發(fā)學(xué)習(xí)動(dòng)力。因此,該平臺(tái)的實(shí)施具有以下好處:
(1)便于進(jìn)行碎片化學(xué)習(xí)。該平臺(tái)對(duì)于用戶的終端軟硬件平臺(tái)沒(méi)有任何限制,只需能運(yùn)行瀏覽器即可,降低了運(yùn)行仿真的門檻和時(shí)間成本,為學(xué)生學(xué)習(xí)提供了極大的便利。學(xué)生甚至可以通過(guò)手機(jī)、平板等掌上設(shè)備來(lái)運(yùn)行仿真,符合移動(dòng)互聯(lián)時(shí)代學(xué)生“碎片化”的學(xué)習(xí)習(xí)慣。移動(dòng)網(wǎng)絡(luò)使隨時(shí)、隨地運(yùn)行仿真成為可能。
(2)提供更簡(jiǎn)便的操作體驗(yàn)。Web化的平臺(tái),將給學(xué)生帶來(lái)更簡(jiǎn)便的操作體驗(yàn),學(xué)生只需進(jìn)行登錄操作,就可以進(jìn)行Matlab代碼的仿真實(shí)驗(yàn),該平臺(tái)會(huì)將服務(wù)器反饋結(jié)果呈現(xiàn)在學(xué)生的操作界面上。
(3)有利于學(xué)生構(gòu)建整體的知識(shí)體系。學(xué)生可以運(yùn)行單模塊的仿真,把握通信系統(tǒng)中的關(guān)鍵技術(shù);也可以運(yùn)行鏈路仿真,構(gòu)造完整的知識(shí)體系,讓學(xué)生很好地建立起對(duì)通信系統(tǒng)整體的概念,有利于學(xué)生從全局角度把握通信系統(tǒng)。
(4)具有極高的開(kāi)放性和交互性。該平臺(tái)對(duì)于進(jìn)入平臺(tái)學(xué)習(xí)的用戶沒(méi)有限制,只需注冊(cè)賬號(hào)或者用學(xué)生賬號(hào)進(jìn)行登錄即可。平臺(tái)根據(jù)用戶的操作進(jìn)行快速的反饋,并搜集學(xué)生的仿真行為進(jìn)行后臺(tái)分析。
(5)支持多用戶。該平臺(tái)可以支持多個(gè)用戶訪問(wèn),同時(shí)運(yùn)行多個(gè)任務(wù)并將不同的結(jié)果呈現(xiàn)給不同的用戶,實(shí)時(shí)性好,靈活性高,功能強(qiáng)大而穩(wěn)定。
(6)實(shí)現(xiàn)遠(yuǎn)程實(shí)驗(yàn)教學(xué)。學(xué)生可以自主開(kāi)發(fā)模塊并入平臺(tái)鏈路,觀察運(yùn)行結(jié)果。通過(guò)不同模式的切換,該平臺(tái)在學(xué)生學(xué)習(xí)的不同階段提供了難度不同的學(xué)習(xí)輔助手段,培養(yǎng)學(xué)習(xí)興趣,增強(qiáng)學(xué)習(xí)效果,也將大大減少了對(duì)教育資源的消耗。
本文介紹的基于Web的虛擬仿真平臺(tái)無(wú)論是在遠(yuǎn)程教學(xué)過(guò)程中,還是在校園數(shù)字化建設(shè)以及課程建設(shè)中,它的重要性都日益突出。虛擬仿真實(shí)踐教學(xué),加深了學(xué)生對(duì)課堂知識(shí)的理解,提高了學(xué)生的專業(yè)興趣和創(chuàng)新思維,有助于培養(yǎng)與加強(qiáng)學(xué)生的工程實(shí)踐能力。在實(shí)驗(yàn)平臺(tái)上學(xué)生可以隨時(shí)隨地進(jìn)行實(shí)踐,而教師則可以便捷的進(jìn)行過(guò)程和行為管理,為教學(xué)相長(zhǎng)提供了理想途徑。 同時(shí)該平臺(tái)也降低了辦學(xué)成本,提高了教學(xué)資源的利用率[9]。
[1] 樊昌信,曹麗娜.通信原理(第六版)[M]. 北京:國(guó)防工業(yè)出版社, 2006年9月.
[2] 劉宏波, 李麗華, 劉琴濤. .Matlab在通信原理課程教學(xué)中應(yīng)用案例[J]. 北京:實(shí)驗(yàn)技術(shù)與管理, 2009,26(10): 87?89.
[3] 鐘麗輝,呂丹桔.基于Matlab的通信原理實(shí)驗(yàn)教學(xué)改革[J]. 西安:電子設(shè)計(jì)工程, 2012(6): 76-78.
[4] 馬冬梅, 朱正偉. 通信原理實(shí)驗(yàn)教學(xué)的改革與探索[J]. 實(shí)驗(yàn)室科學(xué),2010(4): 17-19.
[5] 高博, 楊燕, 胡建軍. 基于Matlab的QPSK系統(tǒng)設(shè)計(jì)仿真[J]. 北京:科學(xué)技術(shù)與工程, 2010, (5): 1124-1127.
[6] 楊達(dá)亮,盧子廣,杭乃善. 電力電子技術(shù)實(shí)驗(yàn)改革與實(shí)踐創(chuàng)新平臺(tái)建設(shè)[J]. 北京:實(shí)驗(yàn)技術(shù)與管理, 2013,30(8):171-174.
[7] David Flanagan. JavaScript權(quán)威指南第6版[M]. 北京:機(jī)械工業(yè)出版社, 2012年10月.
[8] 杭海梅. 基于Web的網(wǎng)絡(luò)化虛擬儀器技術(shù)及應(yīng)用[J]. 蘇州:企業(yè)技術(shù)開(kāi)發(fā), 2010, (11): 10-12.
[9] 田瑩,盧金玉,劉宴濤.基于Matlab/Simulink的通信原理虛擬仿真實(shí)驗(yàn)教學(xué)方法研究[J]. 西安:現(xiàn)代電子技術(shù),2015(14):28-30.
ConstructionofTeachingPlatformofCommunicationSystembasedonWeb
WANGYong,XUMeng-jiao,ZHANGYi,JIANGQing
(SchoolofCommunicationandInformationEngineering,ChongqingUniversityofPostsandTelecommunications,Chongqing400065,China)
Based on the problems existing in the practice teaching of communication system, a Web-based remote simulation system about communication experiment is developed, by using the tools of Matlab Builder JA, JSP, Servlet and JavaScript. By running parameters changeable Matlab program on the remote web server, the experimental result is simulated and displayed in the browser by WebFigure. The client is hardware and software independence, so that the students can visit the remote server by any device with standard web browser.
practice teaching; Matlab Builder JA; remote experiment
2016-10-09;
2017-01-09
基于網(wǎng)絡(luò)的通信原理虛擬實(shí)驗(yàn)仿真平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)(CIE-JG2015-0104)
王 永(1979-),男,碩士,講師,主要從事無(wú)線移動(dòng)通信系統(tǒng)和通信軟件開(kāi)發(fā)的教學(xué)和研究工作,E-mail:wangyong@cqupt.edu.cn
G434
A
1008-0686(2017)05-0142-04