張廣順 蓋琦 蔡鋒濤 楊迎接
(天津理工大學(xué)中環(huán)信息學(xué)院,天津 300380)
卷積運(yùn)算是信號(hào)處理與系統(tǒng)分析課程中極為重要的一種數(shù)學(xué)運(yùn)算,對(duì)于連續(xù)信號(hào),需要求積分,也稱(chēng)卷積積分;對(duì)于離散信號(hào),需要求和,也稱(chēng)卷積和[1]。但由于教材中對(duì)于卷積的定義通常拘泥于形式,使學(xué)生感覺(jué)難以理解,學(xué)習(xí)起來(lái)比較困難,影響了學(xué)習(xí)效果。事實(shí)上,卷積也可稱(chēng)之為“加權(quán)平均積”,卷積的離散形式便是人人會(huì)用的加權(quán)平均,而連續(xù)形式則可考慮為對(duì)連續(xù)函數(shù)的加權(quán)平均。卷積定理表明,對(duì)信號(hào)在時(shí)間域做卷積運(yùn)算,相當(dāng)于在頻率域做濾波處理。M A T L A B 是目前廣泛使用的科學(xué)計(jì)算軟件,應(yīng)用M A T L A B 軟件編程實(shí)現(xiàn)卷積的計(jì)算過(guò)程,可以幫助學(xué)生更好的理解卷積的意義和計(jì)算過(guò)程,激發(fā)學(xué)生的興趣,提高學(xué)習(xí)質(zhì)量[2]。
設(shè) f1(t) 和 f2( t) 為定義在 ( -∞, +∞) 區(qū)間上的兩個(gè)一維連續(xù)時(shí)間信號(hào),定義積分運(yùn)算如式(1)所示:
稱(chēng) f ( t) 為 f1(t) 和 f2(t) 的卷積積分,簡(jiǎn)稱(chēng)卷積,用*代表卷積運(yùn)算,表示為[1]。
設(shè) f1(n) 和 f2(n) 為定義在 ( -∞, +∞) 區(qū)間上的兩個(gè)一維離散時(shí)間信號(hào),定義求和運(yùn)算如式(2)所示:
稱(chēng) f (n) 為 f1(n) 和 f2(n) 的卷積和,簡(jiǎn)稱(chēng)卷積,用*代表卷積運(yùn)算,表示為
根據(jù)卷積的定義,計(jì)算過(guò)程可分為四步[3]:(1)換元;(2)反轉(zhuǎn)、平移;(3)相乘;(4)求積分(或求和)。由于卷積的結(jié)果是關(guān)于t(或n)的函數(shù),所以當(dāng)t(或n)取不同值時(shí),卷積結(jié)果是不同的,而t(或n)代表的是平移的量。
卷積的物理意義是,任何信號(hào)都可以表示成信號(hào)本身和單位沖激信號(hào)的卷積,不同的信號(hào)都可以分解成相同的形式,在分析線(xiàn)性時(shí)不變系統(tǒng)時(shí),可以應(yīng)用卷積運(yùn)算來(lái)求解系統(tǒng)的零狀態(tài)響應(yīng)。
下面以連續(xù)信號(hào)為例,編寫(xiě)MA TLA B代碼,計(jì)算兩個(gè)信號(hào)的卷積。設(shè),要求畫(huà)出 f ( t )的波形圖[4]。
根據(jù)卷積積分的計(jì)算過(guò)程,卷積的結(jié)果實(shí)際上是讓一個(gè)信號(hào) f1(τ) 保持不變,另外一個(gè)信號(hào) f2(τ) 先做反轉(zhuǎn)得到f2(-τ) ,然后讓 f2(-τ) 在時(shí)間軸上做平移,從左往右穿過(guò)第一個(gè)信號(hào) f1(τ) 所覆蓋的區(qū)域,平移的量記為t,則卷積的結(jié)果就是兩個(gè)信號(hào)重合部分的面積,是關(guān)于t的函數(shù)。為了能夠清楚的表示兩個(gè)信號(hào)之間的相對(duì)位置及計(jì)算結(jié)果,編寫(xiě)MATLAB代碼,把兩個(gè)原始信號(hào)的波形及計(jì)算過(guò)程中兩信號(hào)的相對(duì)位置的變化用動(dòng)畫(huà)的形式演示出來(lái),結(jié)果如圖1所示,其中(a)~(f)分別表示平移t取不同值時(shí),兩信號(hào)的相對(duì)位置。
圖1 卷積過(guò)程演示Fig.1 The convolution process
圖2 f (t)波形圖Fig.2 f1(t) waveform
圖3 f 2(t)波形圖Fig.3 f2(t)waveform
圖4 f (t)波形圖Fig.4 f3(t) waveform
同時(shí),把三個(gè)信號(hào)的波形圖分別顯示,結(jié)果如圖2~圖4所示。
對(duì)于離散信號(hào),在MATLAB 中提供了計(jì)算卷積和的函數(shù)conv,此函數(shù)可用于計(jì)算兩個(gè)起始位置在原點(diǎn)的信號(hào)的卷積和[5]。
下面以聲音信號(hào)為例,編寫(xiě)MA TLA B代碼,通過(guò)對(duì)純凈的語(yǔ)音信號(hào)加噪聲,再做卷積運(yùn)算實(shí)現(xiàn)去噪[6]。
調(diào)用函數(shù)audioread讀入一純凈語(yǔ)音信號(hào),語(yǔ)音內(nèi)容為古詩(shī)“人閑桂花落”,記為 x ( n) ;噪聲選擇為一單頻正弦波,將語(yǔ)音信號(hào)與噪聲信號(hào)疊加,得到,畫(huà)圖觀察波形圖的變化,如圖5所示,并調(diào)用sound函數(shù),播放聲音,體會(huì)加噪前和加噪后兩段聲音的區(qū)別,可以聽(tīng)到加噪后的聲音信號(hào)中有明顯的干擾音。
為了實(shí)現(xiàn)去噪,我們選擇了兩種方法:(1)調(diào)用conv函數(shù),選擇信號(hào),計(jì)算;(2)調(diào)用filter函數(shù),用 h( n) 作為濾波器,對(duì) x '( n) 做濾波處理。
經(jīng)過(guò)兩種方法處理后,分別畫(huà)出處理后信號(hào)的波形圖,并播放處理后的聲音信號(hào),結(jié)果如圖6所示。
圖5 原始信號(hào)與含噪信號(hào)Fig.5 Original signal and noisy signal
從波形圖上看,兩種方法都能很好的濾除噪聲,從播放的聲音效果上,可以聽(tīng)到去噪效果基本相同。通過(guò)具體的實(shí)例,驗(yàn)證了卷積運(yùn)算可以實(shí)現(xiàn)濾波的效果,所以頻域?yàn)V波可以通過(guò)時(shí)域卷積來(lái)實(shí)現(xiàn),也驗(yàn)證了卷積定理的內(nèi)容。
通過(guò)上述的例子,我們能夠更清晰的了解卷積的意義與計(jì)算過(guò)程,并體會(huì)到卷積運(yùn)算在實(shí)際工作和生活中的具體應(yīng)用,為學(xué)好后續(xù)知識(shí)打下堅(jiān)實(shí)的基礎(chǔ),同時(shí)應(yīng)用M A T L A B 軟件編程實(shí)現(xiàn)對(duì)信號(hào)的處理過(guò)程,也鍛煉了學(xué)生的編程能力,調(diào)動(dòng)了學(xué)習(xí)的積極性,提高了學(xué)習(xí)效率。
圖6 兩種方法去噪后的信號(hào)Fig.6 Signal denoised by two methods