宋杰 王國慶 劉寧波
摘 要:為了加強(qiáng)數(shù)字信號處理實踐教學(xué),將FPGA(現(xiàn)場可編程門陣列)引入到“數(shù)字信號處理課程設(shè)計”課程中,以自研的Xilinx公司的基于Spartan3系列的FPGA多功能實驗箱為硬件平臺,進(jìn)行從基礎(chǔ)實驗、典型應(yīng)用到綜合設(shè)計的一系列教學(xué)實驗。實踐教學(xué)表明,這種實驗教學(xué)模式能夠培養(yǎng)學(xué)員綜合數(shù)字信號處理方面的理論知識,解決模/數(shù)轉(zhuǎn)換、數(shù)/模轉(zhuǎn)換、數(shù)字信號處理、系統(tǒng)分析與綜合方面常見實際問題的能力。
關(guān)鍵詞: 數(shù)字信號處理;課程設(shè)計;FPGA
中圖分類號:G434 文獻(xiàn)標(biāo)志碼:A 文章編號:1673-8454(2017)24-0034-03
一、引言
數(shù)字信號處理課程是電子技術(shù)類、通信類專業(yè)的一門重要的專業(yè)基礎(chǔ)課。目前我們對本科生開設(shè)的《數(shù)字信號處理》課程大多側(cè)重在理論技術(shù)方面,注重理論推導(dǎo)而忽略具體實現(xiàn)技術(shù)的介紹。結(jié)果導(dǎo)致學(xué)生在學(xué)習(xí)了數(shù)字信號處理課程之后并不能把所學(xué)的理論知識與實際的工程應(yīng)用聯(lián)系起來。如果將現(xiàn)有的《數(shù)字信號處理》課程與FPGA技術(shù)相結(jié)合,以已有的理論為基礎(chǔ),重點介紹數(shù)字信號處理實現(xiàn)平臺和一些具體可用的實現(xiàn)算法,可促進(jìn)教員教學(xué)水平的提高及學(xué)員動手能力的加強(qiáng)和創(chuàng)新意識的養(yǎng)成[1-5]。
我校已設(shè)立了《數(shù)字信號處理課程設(shè)計》課程,為進(jìn)一步培養(yǎng)學(xué)生的創(chuàng)新實踐能力,我們將FPGA引入到數(shù)字信號處理課程設(shè)計的實驗教學(xué)中,精選和優(yōu)化課程設(shè)計內(nèi)容,使數(shù)字信號處理課程設(shè)計更具科學(xué)性和實踐性。以Xilinx公司提供的集成開發(fā)工具ISE軟件和實驗室自研的基于Spartan3系列的FPGA多功能實驗箱,作為“數(shù)字信號處理課程設(shè)計”的軟、硬件平臺。在此平臺上,學(xué)生最終能完成從基礎(chǔ)實驗、典型應(yīng)用到綜合設(shè)計的一系列教學(xué)實驗。通過近三屆學(xué)生的教學(xué)實踐,收到了良好的教學(xué)效果。
二、課程設(shè)計的目的與要求
本課程設(shè)計是《數(shù)字信號處理》課程的具體應(yīng)用和實踐,是《數(shù)字信號處理》課程理論知識的綜合運用,其基本任務(wù)是著重提高學(xué)員在模/數(shù)轉(zhuǎn)換、數(shù)/模轉(zhuǎn)換、數(shù)字信號處理、系統(tǒng)分析與綜合方面的實踐技能和科學(xué)作風(fēng),培養(yǎng)學(xué)員綜合利用理論知識解決實際問題的能力。
要求學(xué)員根據(jù)所學(xué)數(shù)字信號處理知識獨立設(shè)計完成基本任務(wù),熟悉、掌握、熟練使用FPGA開發(fā)軟件,掌握模擬信號的數(shù)字化采集與產(chǎn)生、數(shù)字濾波和頻譜分析的基本原理,運用FPGA技術(shù)對數(shù)字信號處理系統(tǒng)進(jìn)行系統(tǒng)分析和綜合設(shè)計。
三、課程設(shè)計的內(nèi)容安排
本課程的教學(xué)內(nèi)容包括FPGA設(shè)計基礎(chǔ)、FPGA典型應(yīng)用案例、綜合課程設(shè)計實驗三大部分內(nèi)容。
1.FPGA設(shè)計基礎(chǔ)
第一部分FPGA設(shè)計基礎(chǔ)介紹了可編程邏輯器件的編程器件工作原理、基本結(jié)構(gòu)和電路表示方法,現(xiàn)代數(shù)字系統(tǒng)的設(shè)計方法,可編程邏輯器件的一般設(shè)計流程;FPGA的典型應(yīng)用場合;主流的FPGA芯片廠家(如Xilinx和Altera等)及其市面代表產(chǎn)品;硬件描述語言基礎(chǔ) (VHDL和Verilog); Xilinx的可編程邏輯器件設(shè)計工具ISE軟件,以及基于ISE的開發(fā)設(shè)計流程。
2.FPGA典型應(yīng)用案例
選擇合適的典型應(yīng)用案例是做好數(shù)字信號處理課程設(shè)計的關(guān)鍵所在。通過實際教學(xué)實踐,使學(xué)生利用FPGA工具開發(fā)軟件來掌握信號處理系統(tǒng)基本原理,以及數(shù)字信號處理的設(shè)計方法。同時利用配套的儀器和設(shè)備,在FPGA多功能實驗箱上完成數(shù)字信號處理的算法驗證與調(diào)試。
本實驗箱充分采用了模塊化設(shè)計思想,具有良好的擴(kuò)展性和移植性。實驗箱由底板、FPGA核心板、雙路A/D模塊、雙路D/A模塊、IO模塊、面包括展板等組成。其中,F(xiàn)PGA核心板采用Xilinx公司的Spartan3系列FPGA芯片XC3S400-PQ208,門數(shù)容量為40萬門;A/D模塊搭載雙通道65MHz高速12位ADC,滿足高速高精度數(shù)據(jù)采集需求;D/A模塊搭載雙通道125MHz高速14位DAC,滿足高速高精度波形輸出需求;I/O模塊板配備了豐富的I/O設(shè)備,其中有 12個LED燈 、4*4矩陣鍵盤、撥碼開關(guān)、四位七段數(shù)碼管、液晶模塊(1602和12864)和蜂鳴器。
根據(jù)課程設(shè)計的目的與要求,在對多年教學(xué)實踐分析的基礎(chǔ)上,為學(xué)生提供了下列5個FPGA典型應(yīng)用案例:①正弦信號發(fā)生器設(shè)計;②數(shù)字電壓表設(shè)計;③數(shù)字頻率計設(shè)計;④FIR濾波器設(shè)計;⑤簡易數(shù)字頻譜儀設(shè)計。這一部分內(nèi)容是本門課程設(shè)計的重點,是在課堂上教師重點講授的內(nèi)容。首先對工作原理進(jìn)行分析,然后在FPGA多功能實驗箱上演示實驗結(jié)果,再打開ISE實驗例程進(jìn)行程序講解,最后安排學(xué)生自己實做練習(xí),復(fù)現(xiàn)實驗結(jié)果。
在以上典型應(yīng)用案例中,不僅注重數(shù)字信號處理基本知識的理解和應(yīng)用,而且強(qiáng)調(diào)知識的融匯貫通,重點加強(qiáng)學(xué)生對課程知識的綜合應(yīng)用和實踐能力的培養(yǎng)。例如,正弦信號發(fā)生器設(shè)計實驗,注重運用直接數(shù)字頻率合成(DDS)和數(shù)/模轉(zhuǎn)換(D/A)的實現(xiàn)方法;數(shù)字電壓表和數(shù)字頻率計設(shè)計實驗,注重運用模/數(shù)轉(zhuǎn)換(A/D)和數(shù)字化測量幅度、頻率的實現(xiàn)方法;FIR濾波器和簡易數(shù)字頻譜儀設(shè)計試驗,注重運用FIR數(shù)字濾波和FFT進(jìn)行實際信號頻譜分析的實現(xiàn)方法。
3.綜合課程設(shè)計實驗
綜合課程設(shè)計實驗要求學(xué)生運用FPGA技術(shù)對數(shù)字信號處理系統(tǒng)進(jìn)行系統(tǒng)分析和綜合設(shè)計,完成數(shù)字信號處理課程設(shè)計報告總結(jié),以及課程設(shè)計過程中的學(xué)習(xí)體會與收獲、對FPGA開發(fā)設(shè)計經(jīng)驗總結(jié)、本次課程設(shè)計的認(rèn)識與建議。
具體實施時,教師布置4個可選的綜合設(shè)計實驗:①數(shù)字儲存示波器、②邏輯信號分析儀、③程控濾波器、④簡易數(shù)字信號傳輸性能分析儀。學(xué)生可以任選其中一題作為綜合課程設(shè)計實驗題目,要求學(xué)生運用FPGA技術(shù)對數(shù)字信號處理系統(tǒng)進(jìn)行系統(tǒng)分析和綜合設(shè)計,并在FPGA多功能實驗箱上完成整個系統(tǒng)的設(shè)計與實現(xiàn)。endprint
下面是一組學(xué)生選擇第3題(程控濾波器)進(jìn)行綜合課程設(shè)計的部分實驗結(jié)果。其中設(shè)計了一個截止頻率為10KHz高通濾波器,先用Matalb fdatool濾波器設(shè)計軟件進(jìn)行FIR線性濾波器的系數(shù)設(shè)計[6-7](如圖1所示),然后導(dǎo)入到MATLAB工作空間進(jìn)行相應(yīng)的操作,并保存為FPGA IP核所需的.coe文件,再在ISE工程中將.coe文件導(dǎo)入到FIR IP核中,并編譯下載至FPGA多功能實驗箱上觀察輸出結(jié)果。截止頻率10KHz高通濾波器輸出結(jié)果(10KHz輸入)如圖2所示,截止頻率10KHz高通濾波器輸出結(jié)果(8KHz輸入)如圖3所示。
四、教學(xué)模式和方法的選擇
1.以學(xué)生為主體, 采用啟發(fā)式教學(xué)
“數(shù)字信號處理課程設(shè)計”教學(xué)的基本模式是采用多媒體課件進(jìn)行部分精講,伴以大量的自學(xué)、討論和實踐。在以啟發(fā)式為基本方法的前提下,針對本課程的特點,采用了以下三種方法。一是對比分析法。不同F(xiàn)PGA在芯片結(jié)構(gòu)、外圍接口、程序開發(fā)以及功能上都有可比之處,通過對比教學(xué),可以加深印象提高教學(xué)效果,讓學(xué)員更好的理解所講述的內(nèi)容。二是系統(tǒng)分析法。一個完整的FPGA系統(tǒng)是一個完備的系統(tǒng)。在介紹各種不同系統(tǒng)結(jié)構(gòu)的設(shè)計時,還必須從硬件和軟件兩個角度統(tǒng)一闡述,使學(xué)員明白為什么采用該型號芯片、為什么采用該軟件結(jié)構(gòu)等,從而更深入的理解數(shù)字信號處理的硬件實現(xiàn)的本質(zhì)。三是典型分析法。FPGA系統(tǒng)多種多樣,適當(dāng)?shù)倪x取幾種典型的系統(tǒng)進(jìn)行詳細(xì)分析,由淺入深,由表及里,使學(xué)員不但能熟練的掌握和分析各種FPGA系統(tǒng),還能學(xué)會自己設(shè)計或構(gòu)造具有特定意義的數(shù)字信號處理系統(tǒng)。
2.豐富的多媒體教學(xué)手段
針對數(shù)字信號處理課程設(shè)計中一些內(nèi)容比較抽象難以理解,教師用傳統(tǒng)的教學(xué)手段很難講解清楚,某些規(guī)律學(xué)習(xí)者難以捕捉,同時有許多設(shè)計的概念需要通過實驗驗證來加以闡述,例如,在講解濾波器設(shè)計過程時,雖然在理論上說明了設(shè)計過程的步驟和方法,但是,實際濾波的應(yīng)用具體是怎樣,需要通過實驗來加以驗證。因此在教學(xué)中,可發(fā)揮多媒體的強(qiáng)大的輔助教學(xué)功能,使得抽象的或難以進(jìn)行傳統(tǒng)教學(xué)的內(nèi)容能形象直觀生動地再現(xiàn)出來,實現(xiàn)教學(xué)由難化易,由繁化簡,激發(fā)學(xué)生學(xué)習(xí)興趣。
在課堂教學(xué)中可以引入Matlab仿真和FPGA技術(shù)演示,可以加深學(xué)生對基本概念、理論的理解,可以使抽象的內(nèi)容生動、直觀,從而提高學(xué)生的學(xué)習(xí)興趣,事半功倍;同時將視頻、動畫制作在課堂講解中,利用動畫與視頻產(chǎn)生的動態(tài)效應(yīng),將深奧難懂的理論問題轉(zhuǎn)換成直觀、動態(tài)的視頻或動畫,這樣不但增加了知識的趣味性,而且增加了知識的連貫性。對教師來說,能夠通過動畫與視頻將知識點更好、更直觀的表現(xiàn)出來,學(xué)生也可以在學(xué)習(xí)過程中對自己的抽象思維進(jìn)行驗證。
3.分組協(xié)作共同完成
具體實現(xiàn)來說,可以將學(xué)生分組(3~4人一組),每組重點準(zhǔn)備一個可選的綜合設(shè)計實驗。教師引領(lǐng)學(xué)生對項目進(jìn)行任務(wù)分解、剖析與本課程設(shè)計相關(guān)的內(nèi)容。學(xué)生按照實驗小組討論方案設(shè)計、任務(wù)分解、搜集資料、項目制作、調(diào)試測試、撰寫報告的一般項目研發(fā)過程進(jìn)行綜合性實驗。整個綜合性實驗以一個項目研發(fā)的形式進(jìn)行組織,不但能加深學(xué)生對理論知識的理解,而且能夠極大提高學(xué)生的科研素質(zhì)。全組同學(xué)既要獨立思考又要集體討論,鼓勵學(xué)生設(shè)計出不同的方案。采用這種方式,可以極大調(diào)動學(xué)生的積極性,同時增強(qiáng)同學(xué)之間的團(tuán)隊合作。
4.課程設(shè)計考核方式
建立完善合理的考核制度無疑可以有效的對學(xué)生形成正確的引導(dǎo),考核方式應(yīng)該以考核學(xué)員能力為主要目的。數(shù)字信號處理課程設(shè)計考核成績根據(jù)學(xué)生的實驗報告和實際操作情況進(jìn)行綜合評分??己藘?nèi)容包括:設(shè)計方案是否合理,編程、調(diào)試和測試數(shù)據(jù)是否正確,設(shè)計指標(biāo)是否完成,撰寫報告是否格式規(guī)范和條理清楚等方面。按100分考核,最后評定為優(yōu)秀、良好、中等、及格、不及格五個等級。
五、結(jié)束語
通過《數(shù)字信號處理課程設(shè)計》課程的學(xué)習(xí),培養(yǎng)學(xué)員綜合數(shù)字信號處理方面的理論知識,解決模/數(shù)轉(zhuǎn)換、數(shù)/模轉(zhuǎn)換、數(shù)字信號處理、系統(tǒng)分析與綜合方面常見實際問題的能力?;贔PGA硬件實驗平臺,學(xué)生通過查閱參考資料、設(shè)計實驗方案,分組討論、分析解決問題,最終完成設(shè)計課題,初步掌握工程設(shè)計方法和組織實踐的基本技能,逐漸熟悉開展科學(xué)實踐的程序和辦法,為將來從事和逐步適應(yīng)日新月異發(fā)展的系統(tǒng)科學(xué)提供一定的適應(yīng)能力與基礎(chǔ)。
參考文獻(xiàn):
[1]李永全.數(shù)字信號處理課程設(shè)計的改革與探索[J].實驗科學(xué)與技術(shù),2008,6(3):101-103.
[2]羅倩.數(shù)字信號處理課程設(shè)計中創(chuàng)新性實踐探索[J].教育教學(xué)論壇,2016,6(11):145-146.
[3]劉翠響,王寶珠,王霞.信號處理綜合課程設(shè)計的教學(xué)改革與嘗試[J].中國電力教育,2009,32(8):140-141.
[4]朱金秀,張卓,朱昌平.《數(shù)字信號處理》課程實驗教學(xué)研究與實踐[J].實驗室研究與探索, 2008,27(5):96-97.
[5]楊莉,施國勇.基于FPGA的數(shù)字信號處理課程設(shè)計[J].電氣電子教學(xué)學(xué)報,2010,32(4):77-78.
[6]蔣小燕.《VHDL語言及FPGA設(shè)計》與《數(shù)字信號處理》課程實驗教學(xué)融合研究[J].軟件導(dǎo)刊, 2015,14(7): 215-216.
[7]蔣小燕,孫曉薇,胡恒陽,等.基于FPGA的FIR數(shù)字濾波器的設(shè)計與實現(xiàn)[J].常州工學(xué)院學(xué)報,2011,24(2):13-16.
(編輯:郭桂真)endprint