徐望明,廖宇峰,黃倩文,張辰
(武漢科技大學信息科學與工程學院,武漢 430081)
信號處理技術已在通信、電子、自動化等領域得到了廣泛應用,學習信號處理的理論和方法、培養實踐創新能力已經成為信息類專業學生的迫切需要。高等學校信號處理類課程主要包括《信號與系統》、《數字信號處理》、《語音處理》、《數字圖像處理》等,是信息類專業基礎課和專業課的重要組成部分。對于這類課程的學習,實驗教學是不容忽視的重要環節。我校信號處理類課程的實驗主要是以學生進入實驗室使用MATLAB語言進行離線編程驗證為主,這種實驗教學模式下實驗場地、實驗軟件環境、實驗資源及實驗效果均受到一定程度的限制或影響。
針對這個問題,本文探討了利用MATLAB Builder和.NET技術[1-3]搭建網絡虛擬實驗平臺的方法,并給出了具體的實驗項目設計案例,用于輔助實驗教學,使師生不受時空限制,能隨時隨地共享實驗資源,利用網絡方便地進行遠程交互的實驗仿真和學習交流。
如圖1所示,開放式網絡虛擬實驗平臺總體架構基于B/S模型,整個實驗平臺按功能進行劃分主要分為3部分:
第一部分為教學內容與MATLAB的結合,將傳統教學內容通過MATLAB轉化為可視化的教學模型,應用MATLAB豐富的內置函數模擬仿真實際問題并繪圖顯示;
第二部分為MATLAB功能函數與ASP.NET下C#所編寫的網站進行混合編程,以C#語言完成前臺用戶界面的設計,再調用MATLAB函數通過.NET Builder打包生成的.NET應用類進行后臺計算,將結果反饋給用戶;
第三部分為ASP.NET與Access數據庫通過ADO.NET建立鏈接后查詢、獲取用戶信息的過程。

圖1 開放式網絡虛擬實驗平臺總體架構
在實驗項目設計方面,實驗操作界面主要分為先導知識和實驗仿真兩個模塊:
(1)先導知識模塊提供開展實驗的先導知識,包含定理、公理的推導,專業術語、名詞或概念的解釋等。
(2)實驗仿真模塊由參數設置、可視化結果顯示窗口、引導性文字和MATLAB代碼組成。學生按預設導語對參數進行合理設置,觀察實驗結果,理解仿真實驗各項參數與理論知識的內在聯系,同時可以參考給出的MATLAB代碼,思考如何在MATLAB中對各類信號、系統進行仿真、分析,熟悉其編程思路,進一步鞏固所學知識,加深對知識點的理解和掌握。
這里以《信號與系統》課程中的一個典型實驗項目“傅里葉變換實驗”為例進行說明。
信號經傅里葉變換在時域和頻域形成的映射關系一直是該課程的難點之一,課堂學習時僅通過抽象的公式學生很難理解透徹。在虛擬實驗平臺上設計該實驗項目,致力于以可視化圖形的方式為學生直觀呈現信號時域、頻域(乃至復頻域)間的對應關系,以仿真實驗的方式讓學生隨時隨地通過上網學習就可以體驗實驗效果,理解傅里葉變換的相關性質。
該實驗項目中,先導知識主要是課堂上學習過的傅里葉級數,在仿真實驗主頁上用圖模擬了多個正弦波信號疊加成方波信號的過程,并指出任何波形均可以通過正弦波的疊加得到。
在實驗仿真模塊中,首先需要設置一個輸入信號,也就是進行傅里葉變換的被處理信號。本實驗項目中,設置了“正弦信號”和“階躍信號”作為可選項,并可以通過參數設置界面進一步設置信號的幅值、頻率、相位、采樣頻率等參數,如圖2所示。
輸入給定參數后,點擊“傅里葉變換”按鈕,學生就可在結果顯示部分觀察到信號在時域、頻域的波形圖,如圖3所示。該實驗中,還同時設計了“拉普拉斯變換”按鈕,用于學生在學習了復頻域分析法后,完成信號的拉普拉斯變換,比較信號在時域、頻域以及復頻域的對應關系,例如,學生能夠通過顯示實驗結果,自己思考并理解頻域圖實際上是復頻域圖在實部為0處的截面。

圖2 實驗參數設置界面示例

圖3 實驗結果顯示界面示例
為了讓學生了解實驗結果是如何得到的,網頁上會提供MATLAB參考代碼,同時還提供了文本輸入接口,讓學生反饋實驗過程中遇到的問題。
為了有效解決我校信號處理類課程實驗教學資源不足的問題,提出了研究、開發相應的開放式網絡虛擬實驗平臺的方法,并給出了具體的實驗項目設計案例。該虛擬實驗平臺利用MATLAB Builder和.NET技術搭建,采用B/S模式,服務器端接受瀏覽器客戶端發送的實驗請求,并分析和處理實驗參數,經過計算模擬最終將結果返回客戶端。通過該網絡虛擬實驗平臺的建設,可為學生自主研學提供了全面開放的空間和時間,有效實現實驗教學活動的靈活性,有助于推進實驗教學方式改革,提高實驗教學質量。