卜朝暉++郭心悅
【摘要】針對目前數(shù)字信號處理教學(xué)中存在的實踐環(huán)節(jié)較抽象,不利于學(xué)生深入理解的問題,進(jìn)行了教學(xué)實踐方法的探索和改革。在教學(xué)實踐環(huán)節(jié)中引入全新的數(shù)字信號處理開發(fā)工具DSP Builder,可以將Matlab中編寫的數(shù)字信號處理算法,直接在FPGA器件中得以實現(xiàn),可以實現(xiàn)信號的實時在線觀測,使得學(xué)生對所學(xué)數(shù)字信號處理的理論知識能有更生動的體會和更深刻的理解,增強(qiáng)學(xué)生的學(xué)習(xí)興趣,提高學(xué)生理論聯(lián)系實踐的能力。
【關(guān)鍵詞】數(shù)字信號處理 ?DSP Builder ?教學(xué)實踐環(huán)節(jié)
【基金項目】論文由“上海理工大學(xué)‘精品本科系列研究項目”專項資助。
【中圖分類號】G642.0 【文獻(xiàn)標(biāo)識碼】A 【文章編號】2095-3089(2016)35-0231-01
數(shù)字信號處理是一門的重要專業(yè)基礎(chǔ)課,由于理論性很強(qiáng)、比較抽象,對于聽課的學(xué)生和授課的教師均是一個難點。為了能讓學(xué)生深入的體會和學(xué)好數(shù)字信號處理的理論知識,教學(xué)實踐環(huán)節(jié)是必不可少的。
1.數(shù)字信號處理教學(xué)實踐環(huán)節(jié)的現(xiàn)狀
目前在數(shù)字信號處理課程的教學(xué)實踐環(huán)節(jié)中,較為普遍的是采用MathWorks公司的數(shù)學(xué)分析軟件Matlab,學(xué)生通過Matlab軟件編程對數(shù)字信號處理的理論知識進(jìn)行仿真和驗證,這種通過純粹軟件編程進(jìn)行仿真驗證的實踐方法仍然是比較抽象的,不利于學(xué)生對所學(xué)知識的深入理解,也不利于理論聯(lián)系實踐。
國內(nèi)一些高校開始采用Matlab編程與可編程邏輯器件相結(jié)合的方法來進(jìn)行該課程的實踐教學(xué),這種將軟、硬件平臺相結(jié)合的方法是一個很好的嘗試,但它需要學(xué)生在熟悉可編程邏輯器件的基礎(chǔ)上,熟練進(jìn)行硬件描述語言(HDL,hardware description language)的編程,這樣就容易使學(xué)生在掌握軟件使用和熟悉硬件平臺等方面花費過多的時間,從而忽視了對數(shù)字信號處理課程本身一些重要理論和概念的理解與掌握,達(dá)不到教學(xué)實踐目的。因此,需要對本課程教學(xué)實踐的方法進(jìn)行探索和改革。
2.教學(xué)實踐方法的改革
2.1教學(xué)實踐方法的思路探索
需要找到一種簡單易行的方法,使得數(shù)字信號處理的理論算法可以在硬件上得以實現(xiàn),并且可以通過嵌入式測量軟件(如:QuartusII中的SignalTapII Logic Analyzer)對信號的處理結(jié)果進(jìn)行實時在線觀測,那么學(xué)生必然會對所學(xué)的理論知識能有更生動的體會和更深刻的理解,增強(qiáng)學(xué)生的學(xué)習(xí)興趣,提高學(xué)生理論聯(lián)系實踐的能力。
鑒于學(xué)生在前期課程中已學(xué)習(xí)過可編程邏輯器件FPGA的相關(guān)知識,而FPGA是一種實現(xiàn)數(shù)字信號處理的通用硬件器件,如果能夠通過一種簡單的操作將數(shù)字信號處理的理論算法在FPGA器件中得以直接實現(xiàn),那么就能起到事半功倍的學(xué)習(xí)效果。
2.2 DSP Builder工具軟件的特點
在數(shù)字信號處理中Matlab是用作算法開發(fā)和仿真的軟件,而DSP Builder通過Matlab中的Simulink模塊將Matlab的算法開發(fā)和仿真與硬件描述語言(HDL)的綜合、仿真和Altera開發(fā)工具整合在一起,實現(xiàn)了這些工具軟件的集成,從而使學(xué)生在進(jìn)行系統(tǒng)級設(shè)計、算法設(shè)計和硬件設(shè)計時共享同一個開發(fā)平臺,并且不需要過多關(guān)注硬件設(shè)計方面的知識和硬件描述語言的編程,同時,DSP Builder是作為Matlab中Simulink模塊的一個工具箱出現(xiàn)[1],使得學(xué)生可以通過Simulink圖形界面調(diào)用DSP Builder工具箱中的提供Altera知識產(chǎn)權(quán)核(IP core, intellectual propert core)MegaCore進(jìn)行DSP系統(tǒng)設(shè)計,因此學(xué)生只需要掌握Simulink的使用即可,并不需要花過多的精力熟悉DSP Builder的使用。
2.3 DSP Builder應(yīng)用于教學(xué)實踐
應(yīng)用DSP Builder在教學(xué)實踐中進(jìn)行基于FPGA的DSP系統(tǒng)開發(fā),整個設(shè)計流程是基于Matlab的Simulink模塊,DSP Builder和QuartusII的,包括從系統(tǒng)描述到硬件實現(xiàn)都可以在一個完整的設(shè)計環(huán)境中完成,構(gòu)成了一個自頂向下的設(shè)計流程。它主要分為以下幾步[2, 3]:
(1)利用Simulink模塊、DSP Builder模塊以及IP核模塊Matlab的Simulink模塊中對DSP系統(tǒng)進(jìn)行建模,只需雙擊系統(tǒng)中的模塊就可以對該模塊進(jìn)行參數(shù)設(shè)置,同時可以基于Simulink平臺仿真驗證所搭建DSP系統(tǒng)的功能。
(2)利用DSP Builder具箱中的Signal Compiler模塊,將Simulink模塊文件(.mdl)轉(zhuǎn)換成RTL級的VHDL硬件描述語言代碼描述以及用于綜合、仿真、編譯的TCL腳本。
(3)在得到VHDL文件后,設(shè)計者仍然可以通過Signal Com?鄄piler自動調(diào)用綜合工具和編譯工具。目前DSP Builder自動流程中支持的綜合器有QuartusII, Synplify和Leonardo Spectrum。綜合后產(chǎn)生的網(wǎng)表文件送到QuartusII中進(jìn)行編譯優(yōu)化,最后生成編程文件和仿真文件,即利用生成的POF和SOF配置文件對目標(biāo)器件進(jìn)行編程配置和硬件實現(xiàn),同時生成可分別用于QuartusII的門級仿真文件和Modelsim的VHDL時序仿真文件以及配套的VHDL仿真激勵文件,可用于實時測試DSP系統(tǒng)的工作性能。另外,設(shè)計者也可以在Simulink外手動調(diào)用其他綜合工具和編譯工具。
(4)針對第二步中生成的VHDL,利用自動生成的Modelsim的TCL腳本和仿真激勵文件所做的仿真為功能仿真,而當(dāng)由QuartusII編譯后生成的VHDL仿真激勵文件和Modelsim的TCL腳本進(jìn)行的仿真為時序仿真。
(5)最后將QuartusII生成的配置文件下載到目標(biāo)器件中,形成DSP硬件系統(tǒng)。
2.4教學(xué)實踐的實施步驟
(1)教授學(xué)生使用DSP Builder進(jìn)行基于FPGA的DSP系統(tǒng)開發(fā)的過程。
(2)設(shè)計出利用DSP Builder進(jìn)行數(shù)字信號處理教學(xué)實踐的典型題目。
(3)讓學(xué)生將Matlab中編寫的數(shù)字信號處理算法,直接在FPGA器件中得以實現(xiàn)。
(4)對信號的處理結(jié)果進(jìn)行實時測試,解決數(shù)字信號處理中的實際問題,切實做到理論聯(lián)系實踐。
3.教學(xué)實踐的效果
在數(shù)字信號處理的教學(xué)實踐中,應(yīng)用DSP Builder在FPGA器件上實現(xiàn)數(shù)字信號處理的算法,使學(xué)生在設(shè)計過程中擺脫了繁瑣的具體硬件設(shè)計,將更多的精力關(guān)注在數(shù)字信號處理算法設(shè)計的實現(xiàn)上,對所學(xué)數(shù)字信號處理的理論知識能有一個更生動的體會和更深刻的理解,增強(qiáng)學(xué)生的學(xué)習(xí)興趣,提高學(xué)生理論聯(lián)系實踐的能力,取得了良好的教學(xué)效果。
參考文獻(xiàn):
[1]楊守良. Matlab/simulink在FPGA設(shè)計中的應(yīng)用[J]. 微計算機(jī)信息,2005(8):[98].
[2]王前,李韜. 基于DSP Builder實《現(xiàn)數(shù)字信號處理》實驗教學(xué)新方法[J].實驗技術(shù)與管理,2005(9):[75].
[3]Altera, Corp. ?Dsp Builder User Guided[S].