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