栗學(xué)麗,劉 琚
(山東大學(xué)信息科學(xué)與工程學(xué)院,山東濟(jì)南 250100)
“數(shù)字信號處理”中分段卷積的教學(xué)探討
栗學(xué)麗,劉 琚
(山東大學(xué)信息科學(xué)與工程學(xué)院,山東濟(jì)南 250100)
本文對“數(shù)字信號處理”課程中難以理解的分段卷積進(jìn)行解析,并對使用中常見問題進(jìn)行解答。重疊相加法和重疊保留法是分段卷積的兩種易混淆方法,通過舉例法、質(zhì)疑法和實(shí)踐法等多種教學(xué)方法對它們進(jìn)行分析比較,說明它們的用法,加深概念的理解,以達(dá)到學(xué)以致用的目的。
數(shù)字信號處理;分段卷積;重疊相加法;重疊保留法
分段卷積是“數(shù)字信號處理”課程中重要的應(yīng)用和難點(diǎn)之一,它采用兩種方法實(shí)現(xiàn),即重疊相加法和重疊保留法。教科書中一般都給出這兩種方法的原理和公式,或給出圖示解釋[1]。但是,我們發(fā)現(xiàn),多數(shù)學(xué)生對這兩種方法不能很好地理解,也不會實(shí)際運(yùn)用。本文利用Matlab GUI制作出交互式動畫課件輔助教學(xué),把抽象的概念形象化。
對于很長序列和短序列的卷積,可采用重疊相加法和重疊保留法進(jìn)行快速分段實(shí)現(xiàn)。設(shè)單位沖激響應(yīng)h(n)的點(diǎn)數(shù)為M,輸入信號x(n)為很長的序列。
重疊相加法是將長序列x(n)分解為若干段,每段xi(n)長度為L(L和M為同一數(shù)量級)。將xi(n)和h(n)補(bǔ)零到N點(diǎn)(N≥L+M-1),用圓周卷積得到每段線性卷積的值。由于整個卷積值等于各分段卷積值之和,所以將相鄰兩段輸出序列的重疊區(qū)(M-1點(diǎn))相加就得到正確值。
重疊保留法也是將長序列 x(n)分解為若干段xi(n),但每相鄰段重疊M-1點(diǎn)(對第一段采取前面補(bǔ)M-1個零值),使得每段長度為N點(diǎn),做N點(diǎn)的x i(n)和h(n)圓周卷積。由于每段圓周卷積結(jié)果的前M-1點(diǎn)不等于線性卷積值,故將每段輸出結(jié)果的前M-1點(diǎn)去掉,剩下的點(diǎn)連結(jié)起來就是正確值[1]。
具體的證明公式見參考文獻(xiàn)[1],這里不再贅述?,F(xiàn)就用舉例法、質(zhì)疑法和實(shí)踐法說明它們的用法。
解法2:重疊相加法
已知 M=3,令L=5,將 x(n)分段,得
與直接卷積法結(jié)果比較,會發(fā)現(xiàn)y1尾部和y2頭部的M-1=2點(diǎn)值不對,而將y1尾部和y2頭部值重疊M-1點(diǎn)值相加,得到y(tǒng)(n)={1 2 2 2 2 2 2 2 2 2-9-10}。此值與直接法比較,兩者相等,說明此法正確。
解法3:重疊保留法
由重疊相加法可知,分段卷積結(jié)果每段前M-1點(diǎn)值不等于線性卷積值,所以要去除。同時,為了保證各段卷積濾波結(jié)果的連續(xù)性,每段輸入需要重疊M-1點(diǎn),即為重疊保留法。
已知M=3,將x(n)重疊M-1=2點(diǎn)分段,每段長度為5,得x1(n)={0 0 1 2 3},x2(n)={2 3 4 5 6},x3(n)={5 6 7 8 9},x4(n)={8 9 10 0 0}。
將每段與h(n)做N=5的圓周卷積,得
由于每段圓周卷積結(jié)果的前M-1點(diǎn)不等于線性卷積值,故每段輸出去掉前M-1點(diǎn),將剩下值連接起來,得到y(tǒng)(n)={1 2 2 2 2 2 2 2 2 2-9-10}??梢娕c直接法的結(jié)果相同。
已知x(n)=(n+1),0≤n≤9,h(n)={1,0,-1},分別用直接法、重疊相加法和重疊保留法求解 x(n)*h(n)。
解法1:直接法
通過卷積公式可知
通過這一個簡單的例題,用三種方法求解,比較它們的使用方法,使學(xué)生對這三種方法有了直觀的理解。
質(zhì)疑法是對理論的進(jìn)一步深化,教師提出問題,啟發(fā)學(xué)生思考,加深概念的理解。
疑問1:既然重疊保留法前M-1點(diǎn)不正確而要去除,能否分段時重疊處直接補(bǔ)零,運(yùn)算是否會簡單?
現(xiàn)在我們就如此分段:
下面的求解過程同上,得到結(jié)果為{1 2 2 4 5 2 7 8 2 10 0-10},可見與 x(n)*h(n)值不相等。那為什么必須要保留前段的M-1個數(shù)據(jù),而不能直接補(bǔ)上M-1個零值呢?啟發(fā)學(xué)生考慮因果系統(tǒng)的性質(zhì)。如果因果系統(tǒng)的單位沖激響應(yīng)h(n)是長度為M的序列,則當(dāng)前的輸出不僅取決于當(dāng)前的輸入,而且還取決于以前的M-1個輸入。這樣,在計算n時刻的卷積值時,就不僅與n時刻的輸入樣值有關(guān),而且還與n時刻以前的M-1個樣值有關(guān)。所以,必需將前段輸入序列的后M-1個點(diǎn)保留在本段序列之前,即每段輸入要重疊M-1點(diǎn),方可將前段對本段的影響考慮進(jìn)去,這樣才不會造成輸出信號的遺漏,得出正確值。
疑問2:如果不是進(jìn)行N點(diǎn)的圓周卷積,而是將每段后面補(bǔ)零到2的整數(shù)冪,便于通過 N 2點(diǎn)的FFT實(shí)現(xiàn)。這樣,每段得到N2個點(diǎn)值,是不是僅需要每段去掉前M-1個點(diǎn)就可正確相連呢?
上題令N2=8,利用FFT進(jìn)行圓周卷積,得:
可見,正確的結(jié)果應(yīng)是每段去掉前M-1個點(diǎn),以及后N2-N個點(diǎn),即將中間的第M點(diǎn)到第N點(diǎn)作為正確結(jié)果連接起來。所以嚴(yán)格的說,重疊保留法是將每段輸出結(jié)果第M點(diǎn)到第N點(diǎn)連接起來得到正確值。
疑問3:此處重疊相加法與語音信號處理中講解的重疊相加法OLA(OverLap-Add method)[3]進(jìn)行語音合成是不是同一個概念?
語音信號是長時信號,它表現(xiàn)出短時平穩(wěn)性,所以一般是采用重疊加窗分幀,也就是分段時有重疊,每段信號乘上Hamming窗或Hanning窗,然后分析得到每幀的特征參量,對特征參量進(jìn)行分析、編碼、合成、識別等處理。若需要得到處理后的語音,合成時對每幀信號重疊區(qū)進(jìn)行相加,即重疊相加法實(shí)現(xiàn),有時也翻譯為疊接相加法。
由此可見,語音信號處理中講解的重疊相加法(分段時重疊)與我們數(shù)字信號處理講解的重疊相加法(分段時不重疊)是不同的概念,名稱相同,物理概念不同。數(shù)字信號處理講解的重疊相加法是實(shí)現(xiàn)分段卷積,語音信號處理中講解的重疊相加法是為了合成時去除加窗的影響。學(xué)生一旦理解了物理概念,就不會混淆了,才能正確運(yùn)用。
我們利用Matlab GUI設(shè)計了一個分段卷積的交互式動態(tài)演示系統(tǒng),圖1和圖2分別給出了實(shí)現(xiàn)重疊相加法和重疊保留法的一個動態(tài)演示界面。
我們以圖1為例來解釋該系統(tǒng)的用法。該系統(tǒng)具有交互功能,通過更改界面左側(cè)的輸入信號、單位沖激響應(yīng)和分段的長度,便可觀察到相應(yīng)的圖形變化。界面的中部給出所選方法的圖示。界面的右側(cè)給出五個子圖形,從上到下分別對應(yīng)著輸入信號、單位沖激響應(yīng)、輸入信號的每一子段、相應(yīng)的中間輸出值及最終的輸出結(jié)果的波形。圖中還給出了動態(tài)顯示分段卷積過程的中間輸出值。我們可以選擇輸入信號為實(shí)際的語音信號,單位沖激響應(yīng)選擇低通濾波器,通過選擇不同的實(shí)現(xiàn)方法,以實(shí)時可變的動態(tài)圖形展示給學(xué)生。我們可以看到這三種方法實(shí)現(xiàn)過程不同,所用時間不同,但是濾波的結(jié)果一致的,確實(shí)得到的是低頻信號。使學(xué)生對濾波的概念有更清楚的認(rèn)識。
可見通過操作交互式動態(tài)演示系統(tǒng),既能直觀驗(yàn)證原理方法的正確性,又可加深學(xué)生對所學(xué)知識的理解。此外,我們還給出最新的分段卷積的研究成果鏈接,學(xué)生可以自主學(xué)習(xí),或編程實(shí)現(xiàn)課堂上講授的相關(guān)知識內(nèi)容,從而提高學(xué)生的分析問題能力和實(shí)際動手能力。
圖1 重疊相加法實(shí)現(xiàn)過程圖解
圖2 重疊保留法實(shí)現(xiàn)過程圖解
如何幫助學(xué)生理解與掌握“數(shù)字信號處理”課程中的基本概念、基本原理、基本分析方法以及如何提高其綜合應(yīng)用所學(xué)知識解決實(shí)際問題的能力,是本課程教學(xué)中所要解決的關(guān)鍵問題[5]。
本文通過舉例法和質(zhì)疑法實(shí)例講解分段卷積中重疊相加法和重疊保留法的用法,加上采用Matlab實(shí)踐應(yīng)用,來幫助學(xué)生理解和應(yīng)用。舉例法有利于得到直觀認(rèn)識,質(zhì)疑法有利于激勵創(chuàng)新精神,實(shí)踐法有利于倡導(dǎo)活學(xué)活用。這三種方法雖并非新方法,但是我們將它們有機(jī)的結(jié)合,在講述分段卷積的概念和用法上對教科書給予很好的補(bǔ)充,取得了較好的教學(xué)效果。
[1] 程佩青.數(shù)字信號處理教程[M].北京:清華大學(xué)出版社,2007
[2] V inay K.Ingle,etc.Digital Signal Processing U sing Matlab(影印本)[M].北京:科學(xué)出版社,2003
[3] Thomas F.Quatieri.Discrete-Time Speech Signal Processing:Principlesand Practice[M].New Jersey:Prentice HallPTR,2002
[4] 姚秀芳,崔松菲.基于MA TLAB GUIDE的程序設(shè)計[J].合肥:電腦知識與技術(shù),2009,5(27):7767-7768
[5] 栗學(xué)麗,劉琚.討論“數(shù)字信號處理”教學(xué)中易混淆的問題[J].南京:電氣電子教學(xué)學(xué)報,2009,31(4):39-41
Teaching Methods and Analysis of Block Convolution in Digital Signal Processing
LIXue-li,LIU Ju
(Schoolo f In formation Science and Engineering,Shandong Univ.,Jinan 250100,China)
Block convolution is one of the difficulties in the course of Digital Signal Processing.In this paper,the concep t of b lock convolution is analyzed and some frequently asked questions are interp reted.Through several teachingmethods,i.e.the examp ling method,the questioning method and the practicing method,the con fusab lemeans of the overlap-add method and the overlap-savemethod for the block convolution are analyzed com paratively and explained their usage.It is help ful for the students to understand and app ly.
digital signal p rocessing;b lock convo lution;overlap-add method;overlap-savem ethod
TN911.72;G642
A
1008-0686(2011)02-0102-03
2010-07-01;
2010-12-23 基金項目:山東大學(xué)2009年教學(xué)改革項目(山大教字〔2010〕13號)
栗學(xué)麗(1972-),女,博士,副教授,主要從事數(shù)字信號處理方面的教學(xué)和科研,E-mail:lixueli@sdu.edu.cn
劉 琚(1965-),男,博士,教授,主要從事數(shù)字信號處理和通信方面的教學(xué)和科研。