劉艷華
(鹽城工學(xué)院<信息工程學(xué)院>,江蘇 鹽城 224051)
信號(hào)與系統(tǒng)課程是一門非常重要的專業(yè)基礎(chǔ)課程,是專業(yè)的標(biāo)志性課程之一,也是信號(hào)與信息處理類專業(yè)研究生入學(xué)考試專業(yè)課程之一,占有非常重要的教學(xué)地位。 其特點(diǎn)是理論性強(qiáng),概念比較抽象,學(xué)生學(xué)習(xí)起來(lái)比較枯燥。 傳統(tǒng)的教學(xué)方式主要是靠課堂講授,課后做大量的習(xí)題來(lái)鞏固教學(xué)內(nèi)容,學(xué)生理解不透徹,會(huì)嚴(yán)重制約學(xué)習(xí)效果。
在現(xiàn)代教育中,若能把應(yīng)用軟件和專業(yè)的理論知識(shí)相結(jié)合,用來(lái)展示講授內(nèi)容,同時(shí)教會(huì)學(xué)生利用軟件來(lái)解決問(wèn)題,將極大提高學(xué)生的學(xué)習(xí)積極性,解決了學(xué)生學(xué)習(xí)了理論知識(shí)覺(jué)得很無(wú)趣的問(wèn)題。
MATLAB 作為一款功能強(qiáng)大的軟件, 在物理、數(shù)學(xué)、信號(hào)處理、自動(dòng)控制、通信、電路分析等諸多學(xué)科中都有重要應(yīng)用,可以說(shuō)是理工類學(xué)生必須掌握的一個(gè)工具。 信號(hào)與系統(tǒng)課程中的很多處理過(guò)程都可以用MATLAB 展示,通過(guò)設(shè)置斷點(diǎn)、觀察變量,使學(xué)生充分理解算法具體的處理過(guò)程, 必要時(shí)還可以通過(guò)動(dòng)畫(huà)、圖形來(lái)展示,使學(xué)生對(duì)知識(shí)點(diǎn)有更直觀的認(rèn)識(shí)。
本文針對(duì)信號(hào)與系統(tǒng)課程的課堂教學(xué)提出一些改進(jìn)措施,將MATLAB 軟件應(yīng)用于課堂教學(xué),使知識(shí)更容易理解,同時(shí)讓學(xué)生學(xué)以致用,極大地提高學(xué)習(xí)興趣,取得較好的學(xué)習(xí)效果。
通過(guò)MATLAB 在信號(hào)與系統(tǒng)課程中比較重要的幾個(gè)處理中的應(yīng)用,來(lái)說(shuō)明MATLAB 給課堂教學(xué)帶來(lái)的方便和好處。
卷積計(jì)算在信號(hào)與系統(tǒng)理論中占有重要地位,包含連續(xù)信號(hào)的卷積積分和離散信號(hào)的卷積和,作為一種全新的運(yùn)算, 為了使學(xué)生更好地理解其求解過(guò)程,通過(guò)MATLAB 編寫程序可以動(dòng)態(tài)展示計(jì)算過(guò)程。
下面以離散序列的卷積和來(lái)舉例,編寫卷積函數(shù)可以動(dòng)態(tài)演示卷積計(jì)算過(guò)程,根據(jù)提示輸入待計(jì)算的兩個(gè)序列:
u=ones(1,10)
h=exp(-0.1*[1:15])
得到卷積計(jì)算的一個(gè)動(dòng)畫(huà),截取其中一個(gè)時(shí)刻的過(guò)程圖如圖1 所示。
圖1 從上到下分別顯示了其中一個(gè)被卷積序列、另一個(gè)被卷積序列翻轉(zhuǎn)后不斷向右平移、一個(gè)序列與另一個(gè)序列翻轉(zhuǎn)平移后的乘積、最后的卷積結(jié)果。 用動(dòng)態(tài)圖很好地展示了卷積的運(yùn)算過(guò)程。
MATLAB 還提供了卷積函數(shù)conv 可以直接調(diào)用,只能顯示卷積結(jié)果。 上面的實(shí)例則可以幫助學(xué)生深入理解卷積,為教師講解卷積過(guò)程提供了動(dòng)態(tài)演示工具。
MATLAB 用于求解LTI 系統(tǒng)的零狀態(tài)響應(yīng)。 假設(shè)一個(gè)二階連續(xù)系統(tǒng),系統(tǒng)特性用微分方程表示:
求解沖擊響應(yīng),給出一個(gè)輸入,求解零狀態(tài)相應(yīng)。
編寫程序并執(zhí)行,根據(jù)提示給出代表系統(tǒng)特征的多項(xiàng)式系數(shù),包含分母系數(shù)和分子系數(shù),給出時(shí)間長(zhǎng)度和步長(zhǎng),給出輸入序列為sin(t)。 得到結(jié)果如圖2 所示。
圖2 系統(tǒng)的沖擊響應(yīng)(上)和零狀態(tài)響應(yīng)(下)
此處直接利用conv 函數(shù)來(lái)計(jì)算卷積,可以很方便來(lái)觀察一個(gè)給定的系統(tǒng),在不同輸入信號(hào)時(shí)的零狀態(tài)相應(yīng)。 或者觀察對(duì)于一個(gè)固定的輸入信號(hào),系統(tǒng)的特征多項(xiàng)式變化對(duì)輸出的影響。
傅里葉變換是信號(hào)處理領(lǐng)域非常重要的一種變換, 是第一次接觸從時(shí)域和頻域兩個(gè)角度來(lái)認(rèn)識(shí)信號(hào),我們可以利用MATLAB 軟件幫助學(xué)生更好的理解傅里葉分析。 一個(gè)周期信號(hào)例如周期性的方波信號(hào),可以分解成傅里葉級(jí)數(shù)的形式,理論上有無(wú)窮多個(gè)諧波分量,可以用MATLAB 來(lái)演示諧波合成的情況。
例如一個(gè)周期為2*pi 的方波,其傅里葉級(jí)數(shù)可以表示為:
通過(guò)編程演示方波分解為正弦波的情況。 實(shí)例中同一個(gè)窗口依次展示基波、疊加9 次諧波、通過(guò)循環(huán)疊加19 次諧波,并畫(huà)出三維網(wǎng)格圖。 此處為了方便對(duì)比展示分別畫(huà)在不同的窗口中如圖3 所示。
圖3 方波分解為正弦波
在教學(xué)中可以使用pause 命令, 依次在同一個(gè)窗口演示不同階的諧波, 讓學(xué)生觀察諧波階次越高,越接近于方波,三維網(wǎng)格圖可以看出增加諧波階次對(duì)方波逼近程度的影響。
本文通過(guò)實(shí)例介紹了MATLAB 在卷積計(jì)算、傅里葉分析以及系統(tǒng)響應(yīng)求解中的應(yīng)用, 用實(shí)踐證明將MATLAB 應(yīng)用于理論教學(xué)的直觀性、 便利性。 將MATLAB 應(yīng)用于課堂教學(xué),不僅使學(xué)生更好地了解和掌握知識(shí)點(diǎn),激發(fā)學(xué)生的學(xué)習(xí)興趣,也讓學(xué)生盡快掌握MATLAB 軟件這一強(qiáng)大工具的使用,有助于后面的工作和學(xué)習(xí)。 同時(shí)引導(dǎo)學(xué)生嘗試去處理信號(hào)與系統(tǒng)課程中其他的一些問(wèn)題, 設(shè)計(jì)一些小實(shí)踐讓學(xué)生完成,極大地提高學(xué)生分析問(wèn)題、解決問(wèn)題的能力。