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