徐望明,廖宇峰,黃倩文,張辰
(武漢科技大學(xué)信息科學(xué)與工程學(xué)院,武漢 430081)
信號處理技術(shù)已在通信、電子、自動化等領(lǐng)域得到了廣泛應(yīng)用,學(xué)習(xí)信號處理的理論和方法、培養(yǎng)實踐創(chuàng)新能力已經(jīng)成為信息類專業(yè)學(xué)生的迫切需要。高等學(xué)校信號處理類課程主要包括《信號與系統(tǒng)》、《數(shù)字信號處理》、《語音處理》、《數(shù)字圖像處理》等,是信息類專業(yè)基礎(chǔ)課和專業(yè)課的重要組成部分。對于這類課程的學(xué)習(xí),實驗教學(xué)是不容忽視的重要環(huán)節(jié)。我校信號處理類課程的實驗主要是以學(xué)生進入實驗室使用MATLAB語言進行離線編程驗證為主,這種實驗教學(xué)模式下實驗場地、實驗軟件環(huán)境、實驗資源及實驗效果均受到一定程度的限制或影響。
針對這個問題,本文探討了利用MATLAB Builder和.NET技術(shù)[1-3]搭建網(wǎng)絡(luò)虛擬實驗平臺的方法,并給出了具體的實驗項目設(shè)計案例,用于輔助實驗教學(xué),使師生不受時空限制,能隨時隨地共享實驗資源,利用網(wǎng)絡(luò)方便地進行遠程交互的實驗仿真和學(xué)習(xí)交流。
如圖1所示,開放式網(wǎng)絡(luò)虛擬實驗平臺總體架構(gòu)基于B/S模型,整個實驗平臺按功能進行劃分主要分為3部分:
第一部分為教學(xué)內(nèi)容與MATLAB的結(jié)合,將傳統(tǒng)教學(xué)內(nèi)容通過MATLAB轉(zhuǎn)化為可視化的教學(xué)模型,應(yīng)用MATLAB豐富的內(nèi)置函數(shù)模擬仿真實際問題并繪圖顯示;
第二部分為MATLAB功能函數(shù)與ASP.NET下C#所編寫的網(wǎng)站進行混合編程,以C#語言完成前臺用戶界面的設(shè)計,再調(diào)用MATLAB函數(shù)通過.NET Builder打包生成的.NET應(yīng)用類進行后臺計算,將結(jié)果反饋給用戶;
第三部分為ASP.NET與Access數(shù)據(jù)庫通過ADO.NET建立鏈接后查詢、獲取用戶信息的過程。
圖1 開放式網(wǎng)絡(luò)虛擬實驗平臺總體架構(gòu)
在實驗項目設(shè)計方面,實驗操作界面主要分為先導(dǎo)知識和實驗仿真兩個模塊:
(1)先導(dǎo)知識模塊提供開展實驗的先導(dǎo)知識,包含定理、公理的推導(dǎo),專業(yè)術(shù)語、名詞或概念的解釋等。
(2)實驗仿真模塊由參數(shù)設(shè)置、可視化結(jié)果顯示窗口、引導(dǎo)性文字和MATLAB代碼組成。學(xué)生按預(yù)設(shè)導(dǎo)語對參數(shù)進行合理設(shè)置,觀察實驗結(jié)果,理解仿真實驗各項參數(shù)與理論知識的內(nèi)在聯(lián)系,同時可以參考給出的MATLAB代碼,思考如何在MATLAB中對各類信號、系統(tǒng)進行仿真、分析,熟悉其編程思路,進一步鞏固所學(xué)知識,加深對知識點的理解和掌握。
這里以《信號與系統(tǒng)》課程中的一個典型實驗項目“傅里葉變換實驗”為例進行說明。
信號經(jīng)傅里葉變換在時域和頻域形成的映射關(guān)系一直是該課程的難點之一,課堂學(xué)習(xí)時僅通過抽象的公式學(xué)生很難理解透徹。在虛擬實驗平臺上設(shè)計該實驗項目,致力于以可視化圖形的方式為學(xué)生直觀呈現(xiàn)信號時域、頻域(乃至復(fù)頻域)間的對應(yīng)關(guān)系,以仿真實驗的方式讓學(xué)生隨時隨地通過上網(wǎng)學(xué)習(xí)就可以體驗實驗效果,理解傅里葉變換的相關(guān)性質(zhì)。
該實驗項目中,先導(dǎo)知識主要是課堂上學(xué)習(xí)過的傅里葉級數(shù),在仿真實驗主頁上用圖模擬了多個正弦波信號疊加成方波信號的過程,并指出任何波形均可以通過正弦波的疊加得到。
在實驗仿真模塊中,首先需要設(shè)置一個輸入信號,也就是進行傅里葉變換的被處理信號。本實驗項目中,設(shè)置了“正弦信號”和“階躍信號”作為可選項,并可以通過參數(shù)設(shè)置界面進一步設(shè)置信號的幅值、頻率、相位、采樣頻率等參數(shù),如圖2所示。
輸入給定參數(shù)后,點擊“傅里葉變換”按鈕,學(xué)生就可在結(jié)果顯示部分觀察到信號在時域、頻域的波形圖,如圖3所示。該實驗中,還同時設(shè)計了“拉普拉斯變換”按鈕,用于學(xué)生在學(xué)習(xí)了復(fù)頻域分析法后,完成信號的拉普拉斯變換,比較信號在時域、頻域以及復(fù)頻域的對應(yīng)關(guān)系,例如,學(xué)生能夠通過顯示實驗結(jié)果,自己思考并理解頻域圖實際上是復(fù)頻域圖在實部為0處的截面。
圖2 實驗參數(shù)設(shè)置界面示例
圖3 實驗結(jié)果顯示界面示例
為了讓學(xué)生了解實驗結(jié)果是如何得到的,網(wǎng)頁上會提供MATLAB參考代碼,同時還提供了文本輸入接口,讓學(xué)生反饋實驗過程中遇到的問題。
為了有效解決我校信號處理類課程實驗教學(xué)資源不足的問題,提出了研究、開發(fā)相應(yīng)的開放式網(wǎng)絡(luò)虛擬實驗平臺的方法,并給出了具體的實驗項目設(shè)計案例。該虛擬實驗平臺利用MATLAB Builder和.NET技術(shù)搭建,采用B/S模式,服務(wù)器端接受瀏覽器客戶端發(fā)送的實驗請求,并分析和處理實驗參數(shù),經(jīng)過計算模擬最終將結(jié)果返回客戶端。通過該網(wǎng)絡(luò)虛擬實驗平臺的建設(shè),可為學(xué)生自主研學(xué)提供了全面開放的空間和時間,有效實現(xiàn)實驗教學(xué)活動的靈活性,有助于推進實驗教學(xué)方式改革,提高實驗教學(xué)質(zhì)量。