袁怡圃
(泉州師范學(xué)院 物理與信息工程學(xué)院,福建 泉州 362000)
借助Matlab提升信號處理教學(xué)質(zhì)量
袁怡圃
(泉州師范學(xué)院 物理與信息工程學(xué)院,福建 泉州 362000)
介紹將Matlab應(yīng)用在信號處理的計(jì)算機(jī)輔助教學(xué)中的三種常用方法。借助Matlab的專業(yè)工具箱以及可視化技術(shù),結(jié)合信號處理課程內(nèi)容設(shè)計(jì)出豐富的演示程序,有助于學(xué)生對復(fù)雜抽象的信號處理理論的理解,提升信號處理課程的教學(xué)質(zhì)量。
信號處理;Matlab軟件;圖形用戶界面;教學(xué)質(zhì)量
與信號處理相關(guān)的課程,如《信號與系統(tǒng)》《數(shù)字信號處理》等都是理論性很強(qiáng)的課程,內(nèi)容抽象,數(shù)學(xué)公式占據(jù)了大量的篇幅。傳統(tǒng)的講授方法缺乏直觀性,學(xué)生容易陷入對推導(dǎo)細(xì)節(jié)糾纏不清而忽視結(jié)論的含義,從而難以理解和掌握這些課程的基本理論和分析方法。有研究表明,以Matlab作為輔助教學(xué)工具,對提高學(xué)生的學(xué)習(xí)積極性,幫助學(xué)生理解困難的知識點(diǎn)有實(shí)際的效果[1_2]。
Matlab具有以下特點(diǎn):(1)簡單易用的編程環(huán)境; (2)豐富的數(shù)據(jù)可視化工具;(3)強(qiáng)大的數(shù)值計(jì)算和符號計(jì)算功能;(4)方便的圖形用戶接口;(5)專業(yè)的工具箱。盡管Matlab已經(jīng)提供各種專業(yè)級信號分析和仿真工具,但在實(shí)際教學(xué)中,教師還需要結(jié)合實(shí)際教學(xué)內(nèi)容編寫一些相對簡單、有助于學(xué)生理解相關(guān)知識點(diǎn)的演示性程序。Matlab方便編程的特點(diǎn)可大大減輕教師的編程負(fù)擔(dān),教師可以更好地闡述和展示知識點(diǎn)。
借助Matlab的信號處理工具箱(Signal Processing Toolbox)、系統(tǒng)控制工具箱(Control System Toolbox)、符號數(shù)學(xué)工具箱(Symbolic Math Toolbox)等工具可以很方便地對信號處理課程大部分內(nèi)容進(jìn)行數(shù)值分析、符號計(jì)算和建模仿真。
將Matlab引入信號處理教學(xué)中,可以通過多種形式進(jìn)行,如課堂演示、網(wǎng)絡(luò)展示和遠(yuǎn)程實(shí)驗(yàn)等。在課堂演示的程序形式比較豐富,可以采用數(shù)值結(jié)果、二維圖形、三維圖形和動(dòng)畫來展示計(jì)算結(jié)果,還可以采用圖形用戶界面(Graphic User Interface,GUI)[3_4]提高演示的交互性。除了課堂演示,也可將演示程序提供給學(xué)生。不足之處在于運(yùn)行演示程序的電腦必須安裝Matlab軟件,此外,還采用了圖形用戶界面的程序,會(huì)遇到不同版本(編寫程序所用Matlab版本與運(yùn)行程序的Matlab版本不同)無法運(yùn)行的兼容性問題。
通過Matlab的Publish功能可以快速將Matlab程序發(fā)布為靜態(tài)網(wǎng)頁,而幾乎不涉及網(wǎng)頁制作的知識。網(wǎng)頁內(nèi)容可以包含程序文本和運(yùn)行結(jié)果。但是,運(yùn)行結(jié)果只能以文本或靜態(tài)圖形顯示,無法進(jìn)行動(dòng)態(tài)展示(如三維圖形的旋轉(zhuǎn)、動(dòng)畫等),因此交互性較差,僅適合案例的展示。
借助Matlab Web Server組件搭建Web服務(wù)器[5_7],將遠(yuǎn)程用戶提交的HTML頁面請求轉(zhuǎn)換為Matlab程序所需參數(shù),執(zhí)行相關(guān)Matlab程序后,將計(jì)算結(jié)果通過HTML頁面顯示給用戶。設(shè)計(jì)一個(gè)完整的案例,至少包括一個(gè)用于獲得輸入?yún)?shù)的HTML頁面、一個(gè)顯示計(jì)算結(jié)果的HTML頁面和一個(gè)后臺執(zhí)行的m文件。涉及的技術(shù)包括搭建Web服務(wù)器、網(wǎng)頁制作和Matlab編程,所以開發(fā)制作的復(fù)雜度高于前面兩種。其優(yōu)點(diǎn)是學(xué)生可以通過瀏覽器隨時(shí)隨地遠(yuǎn)程訪問Matlab Web服務(wù)器的網(wǎng)站,進(jìn)行互動(dòng)式的程序執(zhí)行。這種技術(shù)適合開發(fā)遠(yuǎn)程虛擬實(shí)驗(yàn)。同樣的,由于返回的結(jié)果只能以文本或靜態(tài)圖形顯示,也不適合需要?jiǎng)討B(tài)展示的情況。
以下從多個(gè)角度對三種Matlab輔助教學(xué)形式進(jìn)行比較,如表1所示。
表1 三種Matlab輔助教學(xué)形式比較
2.1 圓周共軛對稱性與圓周共軛反對稱性
在離散傅里葉變換中,利用對稱性質(zhì)能夠降低計(jì)算的復(fù)雜度,在數(shù)字信號處理中非常有用。設(shè)有限長實(shí)序列χ(n)的離散傅里葉變換是X(k),則離散頻譜的實(shí)部和模具有圓周共軛對稱性,虛部和相位具有圓周共軛反對稱性,如式(1)~式(5)所示:
其中,<·>N表示模N運(yùn)算。
為了直觀了解圓周共軛對稱性和圓周共軛反對稱性,可編寫程序演示該對稱性。構(gòu)建一個(gè)長度為N的實(shí)數(shù)序列,進(jìn)行離散傅里葉變換,再分別計(jì)算其實(shí)部、虛部、模和相位。將結(jié)果以三維作圖的形式排列在圓周上,就可以直觀地看出對稱性,如圖1所示。
圖1 有限長實(shí)序列離散頻譜的對稱性
2.2 用離散傅里葉變換計(jì)算連續(xù)信號頻譜
在“用離散傅里葉變換計(jì)算連續(xù)信號頻譜”一節(jié)的教學(xué)中,對于“欠采樣會(huì)導(dǎo)致頻譜混疊”“通過補(bǔ)零可以減小柵欄效應(yīng)”“頻率分辨力由信號長度決定”等知識點(diǎn),單純的理論分析難以讓學(xué)生形成直觀的印象,也不容易理解。筆者利用Matlab制作的GUI演示程序界面如圖2所示。通過輸入抽樣間隔d、信號長度T0和離散傅里葉變換的點(diǎn)數(shù)N,計(jì)算并顯示給定信號的振幅頻譜,并且可以放大查看某個(gè)區(qū)域的頻譜細(xì)節(jié)。
圖2 信號頻譜演示界面
給定信號的具體表達(dá)式為:
式中:f1=100 Hz;f2=100.5 Hz;f3=200 Hz。
根據(jù)抽樣定理確定抽樣間隔d≤1/2f3= 1/400 s。對于給定的信號長度T0,離散傅里葉變換能夠分辨兩個(gè)最近的頻譜峰值的能力,即頻譜分辨力為F0=1/T0。在本例中要分辨f1和f2,要求最小信號長度Tmin=1/(f2_f1)=2 s。
通過該程序,可以演示以下幾種情況:(1)欠采樣時(shí)的頻率混疊情況;(2)過采樣時(shí),信號長度T0、離散傅里葉變換點(diǎn)數(shù)N與頻譜分辨力F0的關(guān)系:當(dāng)T0>Tmin,能分辨f1和f2,通過補(bǔ)零可減小柵欄效應(yīng),因此可以看到原來看不到的頻譜分量;當(dāng)T0<Tmin,通過補(bǔ)零可以看到原來看不到的頻譜分量,但無論是否補(bǔ)零都無法分辨f1和f2;當(dāng)T0<Tmin,通過提高時(shí)域抽樣頻率是無法提高頻譜分辨力的。通過演示容易得出結(jié)論:(1)補(bǔ)零能提高頻譜分辨力是錯(cuò)誤的;(2)提高時(shí)域抽樣點(diǎn)數(shù)能提高頻譜分辨力也是錯(cuò)誤的。
通過上述實(shí)例可以看出,將Matlab軟件引入信號處理課程的教學(xué)中,可以解決課程中數(shù)學(xué)推導(dǎo)復(fù)雜、結(jié)果不直觀的問題,有效地提高了教學(xué)質(zhì)量和教學(xué)效果。任課教師也可以利用Matlab軟件制作豐富的教學(xué)課件,將分散的課件集成為一個(gè)教學(xué)演示平臺,還可以增加一些虛擬實(shí)驗(yàn)項(xiàng)目,讓學(xué)生參與,提高學(xué)生的學(xué)習(xí)積極性。
[1]景小榮,李強(qiáng),陳前斌,等.基于Matlab的《信號檢測與估計(jì)》課程教學(xué)改革[J].實(shí)驗(yàn)科學(xué)與技術(shù),2012,10(2):55_57.
[2]王艷芬,張曉光.Matlab實(shí)踐在《數(shù)字信號處理》教學(xué)中的應(yīng)用[J].實(shí)驗(yàn)科學(xué)與技術(shù),2012,10(5):108_110.
[3]王默玉,宗偉,劉春磊,等.基于Matlab的圖形用戶界面的構(gòu)造方式與應(yīng)用[J].現(xiàn)代電力,2002,19(1):76_82.
[4]王巧花,葉平,黃民.基于Matlab的圖形用戶界面(GUI)設(shè)計(jì)[J].煤礦機(jī)械,2005(3):60_62.
[5]高旻,曾一,涂凈光,等.Matlab的Web技術(shù)應(yīng)用與方法探討[J].計(jì)算機(jī)應(yīng)用,2004,24(6):188_190.
[6]張宏立.基于Matlab的Web實(shí)驗(yàn)平臺開發(fā)[J].計(jì)算機(jī)應(yīng)用與軟件,2005,22(2):142_144.
[7]唐春霞,吳曉蓓,徐志良.基于Matlab的Web應(yīng)用[J].控制工程,2005,12(2):159_161.
Im prove the Teaching Quality of Signal Processing by M atlab
YUAN Yipu
(School of Physics and Information Engineering,Quanzhou Normal University,Quanzhou 362000,China)
In this paper,the characteristic and the curriculum content of the digital signal processing teaching were analyzed.The application of Matlab in signal processing of three commonly used methods in the auxiliary teaching was introduced and some demo programs were presented.It can help students understand the complex and abstract theory of signal processing and improve the teaching quality of the course.
signal processing;Matlab software;graphic user interface;teaching quality
TP391;G642.0
A
10.3969/j.issn.1672_4550.2014.01.016
2013_10_08
福建省中青年教師教育科研項(xiàng)目(JA13267);泉州師范學(xué)院教學(xué)改革重點(diǎn)項(xiàng)目(Z15)。
袁怡圃(1979_),男,碩士,講師,主要從事信號處理領(lǐng)域的研究和教學(xué)工作。