黃 同,李娣娜
(延安大學(xué)西安創(chuàng)新學(xué)院,陜西 西安 710100)
MATLAB在獨(dú)立學(xué)院數(shù)字信號處理教學(xué)中的應(yīng)用和實踐
黃 同,李娣娜
(延安大學(xué)西安創(chuàng)新學(xué)院,陜西 西安 710100)
論文根據(jù)當(dāng)前獨(dú)立學(xué)院“數(shù)字信號處理”課程教學(xué)的現(xiàn)狀,通過教學(xué)案例介紹了“數(shù)字信號處理”和“MATLAB課程”深度融合式的教學(xué)模式,豐富了“數(shù)字信號處理”課程的教學(xué)內(nèi)容和教學(xué)手段,增強(qiáng)了學(xué)生對抽象概念的理解,提高了學(xué)生的學(xué)習(xí)效率與學(xué)習(xí)積極性,培養(yǎng)了學(xué)生的實踐和創(chuàng)新能力,受到學(xué)生的廣泛喜愛,取得了很好的效果。
數(shù)字信號處理;MATLAB;獨(dú)立學(xué)院;教學(xué)改革
數(shù)字信號處理技術(shù)在各種工程技術(shù)領(lǐng)域得到廣泛應(yīng)用,“數(shù)字信號處理”作為電子信息類學(xué)科的專業(yè)基礎(chǔ)課,其地位和作用日益凸顯,受到廣泛的重視。在筆者長期擔(dān)任“數(shù)字信號處理”課程的教學(xué)中,深知讓學(xué)生學(xué)懂學(xué)通這門課的理論并能夠付諸實踐非常不易。為此,筆者對該課程的教學(xué)進(jìn)行了大量探索與改革,如教材的選用、教學(xué)內(nèi)容的取舍、教學(xué)方法的改進(jìn)、實踐能力的提升和評價體系的改良等。在這些探索中,發(fā)現(xiàn)將“數(shù)字信號處理”和“MATLAB軟件設(shè)計”兩門課程的教學(xué)有機(jī)結(jié)合起來,同學(xué)期開設(shè),同一個老師講授,相互補(bǔ)充、互動學(xué)習(xí),一方面可以利用MATLAB的強(qiáng)大的工程計算能力和方便易用的繪圖功能將抽象的“數(shù)字信號處理”理論知識以可視化的形式展示給學(xué)生,加深了理論理解,另一方面讓學(xué)生不僅泛泛地學(xué)習(xí)MATLAB軟件,而是真正做到在科學(xué)計算中的應(yīng)用,提高了動手能力,真正達(dá)到了培養(yǎng)應(yīng)用型人才的目標(biāo),取得了良好的效果。
“數(shù)字信號處理”課程是電子信息工程、通信工程等學(xué)科專業(yè)本科生必修的專業(yè)基礎(chǔ)課程。主要講授“數(shù)字信號處理”的基本概念、基本分析方法和處理技術(shù),主要討論離散時間信號和系統(tǒng)的基礎(chǔ)理論、離散傅立葉變換DFT理論及其快速算法FFT、IIR和FIR數(shù)字濾波器的設(shè)計以及有限字長效應(yīng)等內(nèi)容。先修課程有高等數(shù)學(xué)、概率論與數(shù)理統(tǒng)計和信號與系統(tǒng)等,后續(xù)課程有現(xiàn)代信號處理和DSP開發(fā)應(yīng)用等。
獨(dú)立學(xué)院是由教育部負(fù)責(zé)審批的普通本科高校與社會力量合作辦學(xué)的本科層次教育的高等教育機(jī)構(gòu)。獨(dú)立學(xué)院起步較晚,但發(fā)展迅速。獨(dú)立學(xué)院的學(xué)生有很多鮮明的特點,單就學(xué)習(xí)方面來說,突出表現(xiàn)是:思維活躍,數(shù)學(xué)和英語底子薄弱,文化基礎(chǔ)總體較差,且大多沒有養(yǎng)成良好的學(xué)習(xí)習(xí)慣。
“數(shù)字信號處理”課程的特點是:理論性強(qiáng),公式繁多、概念抽象,內(nèi)容多而課時有限,要求學(xué)生有較強(qiáng)的數(shù)學(xué)基礎(chǔ)。由于獨(dú)立學(xué)院學(xué)生在學(xué)習(xí)方面的先天不足,使得大多數(shù)學(xué)生學(xué)習(xí)該課程覺得困難、枯燥、難以理解。特別是在傳統(tǒng)的單向傳授知識的教學(xué)模式下,學(xué)生往往注重公式推導(dǎo)或證明,而不能理解其實質(zhì)和用途,進(jìn)而無法將理論應(yīng)用于實踐。因此,通過加強(qiáng)實踐,提高解決實際問題的能力,輔助和加深學(xué)生掌握基本概念、原理和算法,在我校始終受到特別重視。
“數(shù)字信號處理”理論教學(xué)方面,我校在2006年開始采用多媒體演示和黑板板書推演相結(jié)合的授課方式,取得了良好效果。多媒體演示可以展示“數(shù)字信號處理”課程中有大量繁瑣的公式和各種數(shù)據(jù)、圖片視頻等,充分利用多媒體教學(xué)手段提高教學(xué)效率。但僅采用多媒體讓學(xué)生們進(jìn)行走馬觀花式的快速瀏覽不利于學(xué)生們對這些概念的深入理解和應(yīng)用。黑板板書推演可以邊講述邊板書,學(xué)生相應(yīng)地會根據(jù)板書線索邊聽邊思考,板書過程引導(dǎo)控制著師生的思路,使他們的注意力集中于共同的教學(xué)活動。因此,筆者認(rèn)為在理論教學(xué)中將傳統(tǒng)的黑板板書和多媒體演示相結(jié)合,可以給學(xué)生們留下更深刻的印象,增強(qiáng)理解,又能將復(fù)雜的問題簡單化、抽象的問題形象化,提升學(xué)生學(xué)習(xí)的樂趣和效率。
在“數(shù)字信號處理”實踐教學(xué)方面,各高校普遍采用三種方式,第一種是利用數(shù)字信號處理(DSP)硬件的開發(fā)實現(xiàn)特定算法;第二是利用諸如C、C++、Java等計算機(jī)語言編程來實現(xiàn)特定算法;第三是利用工程計算軟件MATLAB及其專業(yè)工具箱進(jìn)行仿真和設(shè)計實現(xiàn)特定算法。根據(jù)我校在內(nèi)的多數(shù)獨(dú)立學(xué)院實驗室建設(shè)經(jīng)費(fèi)投入的實際情況,利用數(shù)字信號處理(DSP)硬件實驗需要購置許多實驗儀器和設(shè)備,這種形式暫時難以開展。根據(jù)我校學(xué)生的實際情況,大多數(shù)學(xué)生的計算機(jī)語言編程能力并不是很強(qiáng),并且也完全沒有必要要求學(xué)生從零開始編寫最基本的數(shù)字信號處理中的各種算法,因此第二種方式意義不大,同樣不適合我校學(xué)生的實際。而第三種方式只需要在現(xiàn)有的機(jī)房中安裝MATLAB軟件即可進(jìn)行軟件模擬,無需重復(fù)投資建設(shè),完全可以滿足現(xiàn)有“數(shù)字信號處理”課程實踐教學(xué)的需要,因而是我?!皵?shù)字信號處理”課程實踐的主要形式。具體的操作是:“數(shù)字信號處理”和“MATLAB軟件設(shè)計”兩門課程同學(xué)期開設(shè),“MATLAB軟件設(shè)計”在前6-8個教學(xué)周講完數(shù)值計算、符號計算、程序設(shè)計、圖像繪制等基本內(nèi)容,從第8-18周全部進(jìn)行MATLAB下的數(shù)字信號處理的編程實踐和應(yīng)用。
MATLAB是美國Mathworks公司1982開始推出的高性能數(shù)值計算和可視化軟件MATLAB,全稱為MATrix LABoratory,即數(shù)字實驗室。主要用于科學(xué)工程數(shù)值計算和可視化的人機(jī)交互式和基于矩陣的體系,在工程技術(shù)界,MATLAB被用來解決一些實際課題和數(shù)學(xué)模型問題。典型的應(yīng)用包括數(shù)值計算、算法預(yù)設(shè)計與驗證,以及一些特殊的矩陣計算應(yīng)用,如自動控制理論、數(shù)理統(tǒng)計、數(shù)字信號處理、時間序列分析、動態(tài)系統(tǒng)仿真等,集科學(xué)計算、圖像處理、語音處理于一身。MATLAB軟件的誕生,尤其是數(shù)字信號處理工具箱(Signal Processing Toolbox)和濾波器設(shè)計工具箱(Filter Design Toolbox)推出后,使數(shù)字信號處理系統(tǒng)的分析與設(shè)計問題變得簡單了,它為數(shù)字信號處理系統(tǒng)的設(shè)計與仿真提供了一個強(qiáng)有力的工具,使得“數(shù)字信號處理”課程的實踐教學(xué)方法有了很大的進(jìn)步。
我?!皵?shù)字信號處理”和“MATLAB軟件設(shè)計”課程同學(xué)期開始,內(nèi)容穿插融合進(jìn)行。“數(shù)字信號處理”課堂上借助多媒體課件穿插MATLAB編程實例、代碼詳解和仿真;同時,“MATLAB軟件設(shè)計”課程教學(xué)上回顧“數(shù)字信號處理”主要理論并布置大量練習(xí)題要求學(xué)生編程實現(xiàn)。需要特別說明的是,我們的這些練習(xí)除了教材章節(jié)末的程序和習(xí)題外,還精心設(shè)計了其他很多具有啟發(fā)思維的練習(xí)題。所有這些措施受到學(xué)生廣泛歡迎,收到了良好的效果。下面特舉兩個例子加以說明。
(一)教學(xué)案例
1.判斷系統(tǒng)的穩(wěn)定性
收到該題后,很多學(xué)生第一感覺是該系統(tǒng)非常簡單,但是要編程實現(xiàn)好像又有點不好下手。經(jīng)過分析引導(dǎo),學(xué)生回憶系統(tǒng)穩(wěn)定性判別的條件或者方法,無外乎是3種,一種是BIBO條件,也就是有界輸入對應(yīng)有界輸出條件;一種是系統(tǒng)單位沖激響應(yīng)絕對可和條件;一種是系統(tǒng)極點全部位于Z平面的單位圓外的條件。經(jīng)過分析,發(fā)現(xiàn)第一種條件屬概念化的條件難以編程,第二種條件要求計算差分方程對應(yīng)的單位沖激響應(yīng),而在MATLAB的Signal Processing Toolbox工具箱和Filter Design Toolbox工具箱中均為沒有相應(yīng)的函數(shù)實現(xiàn)。最后落腳點選中了第三種方法。而在使用第三種方法時,首先面臨的就是如何求出系統(tǒng)的極點。經(jīng)過分析引導(dǎo),學(xué)生回憶系統(tǒng)極點的定義,即系統(tǒng)函數(shù)分母多項式的根;而要想得到系統(tǒng)函數(shù),引導(dǎo)學(xué)生回憶如何根據(jù)LTI的性質(zhì)從差分方程直接寫出系統(tǒng)函數(shù);再次引導(dǎo)學(xué)生回憶MATLAB下描述系統(tǒng)最常用的三種方法,即傳遞函數(shù)、狀態(tài)空間和零極點描述方法;引導(dǎo)學(xué)生掌握多項式表達(dá)及其求根方法(即roots函數(shù));最后引導(dǎo)學(xué)生在MATLAB的SignalProcessing Toolbox的幫助中查找有沒有更好的方法(即可以直接將系統(tǒng)零極點繪制在Z平面的zplane函數(shù))。
從這個簡單的例子可以看出,未必需要太多復(fù)雜的編程或者巧妙的算法設(shè)計,通過循序善誘和啟發(fā)引導(dǎo),學(xué)生在這個過程中可以很好鞏固掌握各種的理論知識,并和MATLAB融會貫通,最終達(dá)到學(xué)以致用的目的。
2.編程設(shè)計巴特沃斯濾波器并對輸入信號濾波
用雙線性變換法設(shè)計一個巴特沃斯低通濾波器。濾波器的性能指標(biāo)如下:通帶截止頻率;通帶最大衰減;阻帶最小衰減;阻帶截止頻率。輸入信號為混合信號,低頻信號,高頻信號,取樣間隔,要求濾除輸入信號中的高頻信號,保留低頻信號。
該題的初衷和重點并不在設(shè)計巴特沃斯濾波器,而在使用該濾波器身上,因為課堂上已經(jīng)將教材中該部分的理論和源程序進(jìn)行了詳細(xì)講解。我們發(fā)現(xiàn),學(xué)生只要比葫蘆畫瓢,修改幾個基本參數(shù)即可設(shè)計出類似的巴特沃斯濾波器,但是部分學(xué)生居然對如何使用設(shè)計好的濾波器非常迷惑,不知道如何使用。因此,我們專門針對濾波器的使用特別給予講解。MATLAB程序如下:
程序運(yùn)行結(jié)果如圖1和圖2所示。由于該題重點在如何使用設(shè)計好的巴特沃斯濾波器進(jìn)行濾波,此處略去濾波器幅頻響應(yīng)圖和相頻響應(yīng)圖。
圖1 輸入信號波形
圖 2輸出信號波形
(二)教學(xué)效果
我校經(jīng)過近6年“數(shù)字信號處理”和“MATLAB”課程融合式的教學(xué),豐富了“數(shù)字信號處理”課程的教學(xué)內(nèi)容和教學(xué)手段,而且對于促進(jìn)學(xué)生的感性認(rèn)識、鞏固數(shù)字信號處理的理論、培養(yǎng)學(xué)生計算機(jī)應(yīng)用能力和創(chuàng)新能力等方面起到了積極的作用,在很大程度上增強(qiáng)了學(xué)生對課堂抽象概念的理解,取得了很好的效果。
數(shù)字信號處理是為學(xué)生未來從事信號處理工作的而開設(shè)的一門重要的專業(yè)基礎(chǔ)課,基礎(chǔ)理論與工程實踐結(jié)合非常緊密。其課程改革涉及到教材、教學(xué)大綱、教學(xué)內(nèi)容、教學(xué)方法、評價考核體系等方方面面,隨著時代變化,新技術(shù)、新方法的不斷涌現(xiàn),其教學(xué)改革必須與時俱進(jìn)可謂任重而道遠(yuǎn)。我校在將MATLAB應(yīng)用于“數(shù)字信號處理”課程的理論和實踐教學(xué)中,以有效地提高教學(xué)質(zhì)量為宗旨,充分激發(fā)學(xué)生的學(xué)習(xí)興趣和求知欲,提高其分析和解決實際問題的能力,為后續(xù)深入研究學(xué)習(xí)現(xiàn)代信號的分析和處理打下了堅實的基礎(chǔ)。
[1]程佩青.數(shù)字信號處理教程[M].北京:清華大學(xué)出版社,2001.
[2]吳鎮(zhèn)揚(yáng).數(shù)字信號處理[M].北京:高等教育出版社,2004.
[3]陳后金.數(shù)字信號處理(第2版)[M].北京:高等教育出版社,2008.
[4]樊玲.數(shù)字信號處理教學(xué)改革的探討[J].科技創(chuàng)新導(dǎo)報,2012,(4).
[5]余穎,肖靜,劉樹博.數(shù)字信號處理課程教學(xué)改革的探索和實踐[J].東華理工大學(xué)學(xué)報(社會科學(xué)版),2011,(3).
[6]王穎,胡學(xué)友,胡云龍.數(shù)字信號處理教學(xué)改革初探[J]合肥學(xué)院學(xué)報(自然科學(xué)版).2007,(1).
[7]馬月紅,趙威威,王雪飛,馬曉琳.MATLAB在“數(shù)字信號處理”教學(xué)中的應(yīng)用研究[J].中國電力教育,2011,(35).
G642
A
1673-0046(2012)8-0135-03