黃婷婷 馮鋒
摘? ?要:文章利用Matlab語言進(jìn)行GUI編程,設(shè)計開發(fā)了數(shù)字信號處理仿真系統(tǒng),將課程內(nèi)容以交互式實時動態(tài)的方式演示。實踐結(jié)果表明:該系統(tǒng)操作簡單、功能全面,具有良好交互性和較強(qiáng)直觀性,學(xué)生可以更直觀、全面地掌握課程內(nèi)容,提高教學(xué)質(zhì)量。
關(guān)鍵詞:Matlab;數(shù)字信號處理;仿真;實驗教學(xué)
通信原理是通信類、電子信息類專業(yè)重要的專業(yè)基礎(chǔ)課,綜合電路、數(shù)學(xué)相關(guān)課程,具有一定難度和深度[1],此課程實用性強(qiáng),理論內(nèi)容豐富,但概念抽象難懂,理論多來源于復(fù)雜的數(shù)學(xué)運算推導(dǎo),黑板教學(xué)易使學(xué)生失去學(xué)習(xí)興趣,單純理論教學(xué)缺乏可視化的直觀表現(xiàn),對學(xué)生直觀理解問題的幫助不大[2-4]。在通信原理課程學(xué)習(xí)過程中,如何利用先進(jìn)管理手段,以可視化方式展現(xiàn)知識點,是一個重要課題。Matlab集成了數(shù)值計算和可視化環(huán)境,非常直觀,而且提供大量函數(shù),可以將一些較難理解的內(nèi)容、抽象概念等準(zhǔn)確、形象、直觀地表現(xiàn)出來。
本文利用Matlab語言進(jìn)行圖形用戶界面(Graphical User Interface,GUI)編程,設(shè)計開發(fā)信號處理仿真系統(tǒng),將通信原理課程中的重要知識點用動態(tài)演示的方式表現(xiàn),為教學(xué)提供操作簡單、功能全面的教學(xué)輔助軟件,幫助學(xué)生更直觀、全面地掌握知識點。
1? ? Matlab仿真應(yīng)用于課程教學(xué)中的優(yōu)勢
Matlab軟件可以進(jìn)行數(shù)值和符號計算,適用于工程應(yīng)用和解決實際問題,編程快捷方便[5]。同時,Matlab具有豐富的圖像處理工具箱,由200種支持圖像處理操作的函數(shù)組成,擁有強(qiáng)大的數(shù)據(jù)處理能力[6]。通信原理課程主要是圍繞對數(shù)字信號的處理展開,將Matlab仿真系統(tǒng)引入該課程,對抽象概念和難以觀察到的現(xiàn)象進(jìn)行準(zhǔn)確、形象、直觀的表現(xiàn),加強(qiáng)學(xué)生的理解,以達(dá)到更好的教學(xué)效果。
2? ? 系統(tǒng)設(shè)計
2.1? 系統(tǒng)整體框架
信號處理仿真系統(tǒng)針對通信原理課程中的主要知識點,以數(shù)字信號處理為落腳點,實現(xiàn)對信號的量化、編碼、解碼、調(diào)制、解調(diào)、誤碼率的分析、窗函數(shù)處理和濾波器處理。通過對信號的一系列處理,更加生動形象地展示系統(tǒng)對信號的處理過程,提高學(xué)生對信號處理的興趣。
該系統(tǒng)主要包括6個模塊:基本流程模塊、誤碼率模塊、序列圖形模塊、頻譜分析模塊、窗函數(shù)模塊和濾波器模塊。每個模塊有對應(yīng)的操作界面,各界面實現(xiàn)各自所需功能。利用Matlab語言進(jìn)行GUI編程,繪制信號處理的相關(guān)圖形,直觀展示信號處理過程中圖形的變化,其整體結(jié)構(gòu)如圖1所示。
基本流程模塊顯示信號的編碼譯碼、調(diào)制解調(diào)等基本處理的操作效果。誤碼率模塊讀取語音信號、計算LDPC碼、Hamming碼和Cyclic碼的誤碼率并畫出誤碼率曲線。序列圖形模塊繪制正弦波、矩形波和白噪聲的相關(guān)圖形,生成高斯序列、衰減正弦序列、三角波序列、反三角波序列。頻譜分析模塊主要有對函數(shù)的加窗和截斷以及相關(guān)圖形的比較。窗函數(shù)模塊主要分為截斷對信號的影響,窗函數(shù)的比較。主要針對以下6個窗函數(shù)進(jìn)行操作:矩形窗、切比雪夫窗、凱瑟窗、漢寧窗、海明窗、布萊克曼窗。濾波器模塊主要對信號特性進(jìn)行圖形繪制,對濾波器進(jìn)行設(shè)計和濾波器使用效果展示。
2.2? 系統(tǒng)界面設(shè)計
主界面較為簡潔,效果如圖2所示,每個按鈕對應(yīng)各子模塊,可以跳轉(zhuǎn)進(jìn)入任意子模塊中,“退出”按鈕可退出系統(tǒng)。
以濾波器模塊演示系統(tǒng)界面為例,每個子界面創(chuàng)建Matlab GUI界面,根據(jù)具體需要,將不同GUI控件放在合適位置,并根據(jù)需要對其屬性進(jìn)行設(shè)置。子界面分為控制區(qū)和繪圖區(qū),控制區(qū)主要進(jìn)行功能選擇、參數(shù)設(shè)置,繪圖區(qū)根據(jù)控制區(qū)設(shè)置的參數(shù)繪制出相應(yīng)的圖形,效果如圖3所示。
3? ? 系統(tǒng)測試
設(shè)計并實現(xiàn)仿真系統(tǒng)界面及功能后,采用大量數(shù)據(jù)對仿真系統(tǒng)進(jìn)行測試,保證其實現(xiàn)預(yù)期功能,是必不可少的環(huán)節(jié)。下文以基本流程模塊為例,對系統(tǒng)測試效果進(jìn)行展示。
基本流程模塊主要實現(xiàn)信號的LDPC編碼譯碼、BPSK調(diào)制解調(diào)。主要目的是在為用戶直觀展示信號編碼譯碼、調(diào)制解調(diào)的流程,如圖4所示。其中,校驗矩陣的行數(shù)、列數(shù)及權(quán)重、LDPC編碼過程中使用的SNR和迭代次數(shù)等參數(shù),均由用戶輸入,以便觀察參數(shù)對圖形的影響,加深其理解。同時,在繪圖區(qū)直觀展示信號處理過程中相應(yīng)圖形及其變化情況,加深用戶對于LDPC編碼譯碼、BPSK調(diào)制解調(diào)整個過程的理解。
4? ? 結(jié)語
基于Matlab GUI的數(shù)字信號處理仿真系統(tǒng)將通信原理課程中的重要知識點通過動態(tài)演示實例分析的方式表現(xiàn)出來,讓學(xué)生更生動形象地理解理論知識。學(xué)生通過操作本系統(tǒng),輸入?yún)?shù),觀察圖形變化,進(jìn)一步理解相關(guān)參數(shù)的作用,更全面地掌握知識點。本系統(tǒng)具備良好的可視化交互功能,穩(wěn)定性和可操作性都有一定保證,對通信原理課程知識點的學(xué)習(xí)有很大幫助,具備成為通信原理課程的教學(xué)輔助軟件的條件。
[參考文獻(xiàn)]
[1]夏江濤,孫冬嬌.Matlab在現(xiàn)代通信原理課程中的應(yīng)用[J].實驗技術(shù)與管理,2014(1):110-113,119.
[2]張鳴.基于Matlab GUI的通信原理演示系統(tǒng)設(shè)計[J].實驗技術(shù)與管理,2013(9):111-113,127.
[3]楊樹偉,陳光軍.Matlab仿真在通信原理教學(xué)中的應(yīng)用與探討[J].濰坊學(xué)院學(xué)報,2016(6):74-77.
[4]于子甲,宋啟祥,董全德.Matlab仿真在通信原理教學(xué)改革中的應(yīng)用[J].鄂州大學(xué)學(xué)報,2014(12):102-103.
[5]張尤賽,馬國軍,黃煒嘉,等.“信號與系統(tǒng)”Matlab實驗仿真教學(xué)系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2010(18):57-59.
[6]柏均,閆紅梅,張鳴.Matlab在“數(shù)字圖像處理”課程教學(xué)中的利弊分析[J].電氣電子教學(xué)學(xué)報,2010(2):82-83,86.
Abstract:This paper uses Matlab language to program GUI, designs and develops a digital signal processing simulation system, and demonstrates the course content in an interactive, real-time and dynamic way. The practical results show that the system has the advantages of simple operation, comprehensive function, good interaction and strong intuition, and students can master the course content more intuitively and comprehensively and improve the teaching quality.
Key words:Matlab; digital signal processing; simulation; experimental teaching