栗學(xué)麗
(山東大學(xué) 微電子學(xué)院, 濟(jì)南 250101)
卷積和相關(guān)是“數(shù)字信號(hào)處理”課程中非常重要但容易混淆的知識(shí)點(diǎn),它們的物理含義截然不同,但由于它們的公式非常接近,造成許多學(xué)生將它們混為一談,不知如何實(shí)際運(yùn)用這兩個(gè)概念[1]。下面設(shè)計(jì)了一個(gè)回聲信號(hào)處理的綜合實(shí)驗(yàn),將卷積和相關(guān)的理論應(yīng)用到實(shí)際,幫助學(xué)生厘清概念并能運(yùn)用理論解決實(shí)際問(wèn)題。
LabVIEW采用圖形化編程,具備強(qiáng)大的信號(hào)處理、數(shù)據(jù)分析等功能,可以方便快捷建立用戶界面,使得學(xué)生將更多的精力放在實(shí)驗(yàn)數(shù)據(jù)的分析上[2-3],所以實(shí)驗(yàn)采用LabVIEW編程實(shí)現(xiàn)。
卷積與相關(guān)都分線性卷積和圓周卷積、線性相關(guān)和圓周相關(guān),圓周操作是對(duì)線性操作進(jìn)行周期延拓求和得到,是線性操作的一種快速求解方法[4],所以只討論它們的線性操作,下文中的卷積和相關(guān)都是指線性卷積和線性相關(guān)。
卷積和相關(guān)有類(lèi)似的數(shù)學(xué)公式[5],設(shè)x(n)、y(n)分別表示兩個(gè)實(shí)數(shù)能量信號(hào),則
(1)
(2)
(3)
式(2)還可寫(xiě)為
(4)
進(jìn)一步若y(n)為實(shí)偶信號(hào),則y(-n)=y(n),這時(shí)相關(guān)與卷積的公式形式上完全一樣,學(xué)生就會(huì)誤認(rèn)為這兩個(gè)概念是一樣的,就連許多深度卷積神經(jīng)網(wǎng)絡(luò)研究人員也對(duì)這兩個(gè)概念一頭霧水。深度卷積神經(jīng)網(wǎng)絡(luò)最初起源于卷積網(wǎng)絡(luò)[6],由于圖像處理中許多核函數(shù)是對(duì)稱(chēng)的,反折后與它本身相同,就省去反折操作,演變成現(xiàn)在的信號(hào)與核函數(shù)的操作形式是求相關(guān),造成初學(xué)者認(rèn)為卷積與相關(guān)是一個(gè)概念。
其實(shí)卷積與相關(guān)的物理概念、實(shí)現(xiàn)方法、性質(zhì)、應(yīng)用都不同。卷積用于已知輸入信號(hào)和系統(tǒng)單位沖激響應(yīng),求系統(tǒng)的輸出信號(hào)。根據(jù)式(4)相關(guān)是第二個(gè)信號(hào)反折后與第一個(gè)信號(hào)求卷積,卷積本身還有一個(gè)求反折的過(guò)程,所以第二個(gè)信號(hào)兩次反折后就是原信號(hào)本身,也就是第二個(gè)信號(hào)直接移位,與第一個(gè)信號(hào)對(duì)應(yīng)項(xiàng)進(jìn)行運(yùn)算,是比較兩個(gè)信號(hào)的相似程度。
回聲是一種常見(jiàn)生活現(xiàn)象,它是原聲音信號(hào)經(jīng)過(guò)一系列反射之后,又被發(fā)音者聽(tīng)到,造成聽(tīng)覺(jué)混淆??梢詫?duì)這一現(xiàn)象運(yùn)用卷積和相關(guān)理論分析和解決問(wèn)題。如果已知原始語(yǔ)音和回聲產(chǎn)生系統(tǒng)的單位沖激響應(yīng),就可以用卷積得到回聲信號(hào)。再如,已知原始語(yǔ)音和回聲信號(hào),可以通過(guò)互相關(guān)它們的相似程度,進(jìn)而推算出原信號(hào)與障礙物之間的距離,這也是聲源定位[7]所依據(jù)的原理。
下面就設(shè)計(jì)了一個(gè)回聲信號(hào)處理的綜合實(shí)驗(yàn),包括回聲產(chǎn)生、回聲特性分析、回聲消除三部分,分別運(yùn)用卷積、自相關(guān)及互相關(guān)、卷積(逆濾波)的理論并用LabVIEW編程實(shí)現(xiàn),通過(guò)實(shí)例將卷積和相關(guān)的理論應(yīng)用到實(shí)際,幫助學(xué)生理解運(yùn)用。
回聲產(chǎn)生的差分方程表示為:
c(n)=x(n)+αx(n-D)+βx(n-2D)+γx(n-3D)+…
(5)
x(n)為原始語(yǔ)音,c(n)為生成的回聲,D為回聲的延遲量,α、β、γ等為多次回聲的衰減系數(shù),一般0<…<γ<β<α<1。令β=γ=…=0,可以得到一次回聲產(chǎn)生的簡(jiǎn)化模型:
c(n)=x(n)+αx(n-D)
(6)
相應(yīng)的系統(tǒng)單位沖激響應(yīng)表示為
h(n)=δ(n)+αδ(n-D)
(7)
故回聲信號(hào)還可表示為原始語(yǔ)音與回聲產(chǎn)生系統(tǒng)單位沖激響應(yīng)的卷積,即
c(n)=x(n)*h(n)
(8)
實(shí)驗(yàn)要求根據(jù)式(8)進(jìn)行LabVIEW編程,產(chǎn)生回聲延遲量和衰減系數(shù)都可調(diào)的回聲信號(hào)并試聽(tīng)效果,得出人耳能聽(tīng)出回聲效果的最小延遲量。原始語(yǔ)音讓學(xué)生錄制自己的聲音,增加趣味性。
實(shí)驗(yàn)用戶交互界面如圖1所示,圖中給出的是原始語(yǔ)音“山東大學(xué)”(采樣頻率為8000 Hz)、回聲(延遲量為1000個(gè)點(diǎn),衰減系數(shù)為0.5)、回聲產(chǎn)生系統(tǒng)單位沖激響應(yīng)的波形圖。卷積通過(guò)調(diào)用LabVIEW的Convolution.vi節(jié)點(diǎn)實(shí)現(xiàn)。
通過(guò)這個(gè)實(shí)驗(yàn),學(xué)生掌握了回聲信號(hào)產(chǎn)生的卷積方法,通過(guò)調(diào)節(jié)回聲延遲量和衰減系數(shù),從視覺(jué)、聽(tīng)覺(jué)感受到卷積帶來(lái)的不同效果,趣味性強(qiáng),學(xué)生印象深刻。
圖1 回聲產(chǎn)生界面
1)基音周期估計(jì)及清濁判斷
語(yǔ)音信號(hào)是短時(shí)平穩(wěn)信號(hào),一般取20 ms左右為一幀信號(hào),分幀處理。根據(jù)發(fā)音時(shí)聲帶是否振動(dòng),相應(yīng)的是否產(chǎn)生準(zhǔn)周期信號(hào),將語(yǔ)音分為清音和濁音。清音沒(méi)有周期性,其周期為0。濁音呈現(xiàn)準(zhǔn)周期性,其周期是語(yǔ)音識(shí)別和合成的重要參數(shù)。自相關(guān)法為清濁音判斷的一種方法[8]。濁音自相關(guān)函數(shù)具有與原信號(hào)相同的準(zhǔn)周期性,且它的準(zhǔn)周期性更明顯、好判斷,故實(shí)驗(yàn)采用自相關(guān)法。
實(shí)驗(yàn)要求學(xué)生給出任意一幀回聲信號(hào)的波形圖、自相關(guān)圖,求出其周期,判斷清濁性。圖2(a)和(b)分別給出起始點(diǎn)在800點(diǎn)的一幀清音信號(hào)、起始點(diǎn)在3000點(diǎn)的一幀濁音信號(hào)以及它們自相關(guān)函數(shù)的圖形。圖3給出一幀信號(hào)清濁判斷的關(guān)鍵程序,自相關(guān)函數(shù)通過(guò)調(diào)用LabVIEW的AutoCorrelation.vi節(jié)點(diǎn)得到,周期值主要通過(guò)Peak Detector.vi節(jié)點(diǎn)運(yùn)算得到,用戶可以在圖形界面上用鼠標(biāo)調(diào)節(jié)藍(lán)線閾值,得到主次極大值的間隔為周期值,根據(jù)周期值范圍判斷清濁性。
通過(guò)這個(gè)實(shí)驗(yàn),學(xué)生知道了自相關(guān)是比較信號(hào)及其延遲信號(hào)的相似性,對(duì)于準(zhǔn)周期信號(hào)還可以用此法求它的周期。
(a)清音
(b)濁音圖2 一幀回聲信號(hào)及其自相關(guān)函數(shù)的波形
圖3 一幀回聲信號(hào)清濁判斷的關(guān)鍵程序框圖
2)延遲量估計(jì)
實(shí)驗(yàn)要求分別用自相關(guān)法和互相關(guān)法求出回聲延遲量,并進(jìn)行比較,理解相關(guān)的性質(zhì)。其一,自相關(guān)法。根據(jù)回聲是原始語(yǔ)音經(jīng)過(guò)一段時(shí)間延遲后疊加得到的,將回聲延遲同樣的時(shí)間求它的自相關(guān)會(huì)出現(xiàn)一個(gè)極大值,從而估計(jì)出回聲的延遲量。實(shí)驗(yàn)結(jié)果如圖4的回聲自相關(guān)圖和延遲量所示,編程方法與圖3相似。
圖4 回聲參量估計(jì)
其二,互相關(guān)法。同樣根據(jù)回聲是原始語(yǔ)音經(jīng)過(guò)一段時(shí)間延遲后疊加得到的,這時(shí)求回聲和原始語(yǔ)音的互相關(guān),在延遲時(shí)刻就會(huì)出現(xiàn)一個(gè)極大值,從而估計(jì)出回聲的延遲量。實(shí)驗(yàn)結(jié)果如圖4回聲、原聲互相關(guān)圖和延遲量2所示,互相關(guān)函數(shù)通過(guò)調(diào)用LabVIEW的CrossCorrelation.vi節(jié)點(diǎn)得到。
通過(guò)這個(gè)實(shí)驗(yàn),學(xué)生就會(huì)發(fā)現(xiàn)自相關(guān)法和互相關(guān)法都能正確求出回聲的延遲量參數(shù),但自相關(guān)圖形是偶對(duì)稱(chēng)的,互相關(guān)不具備對(duì)稱(chēng)性;自相關(guān)法只需要一個(gè)回聲信號(hào),互相關(guān)法除了回聲信號(hào),還需要知道原始信號(hào)。從而學(xué)生能進(jìn)一步理解自相關(guān)和互相關(guān)的性質(zhì)。
3)衰減系數(shù)估計(jì)
實(shí)驗(yàn)要求估計(jì)出回聲的衰減系數(shù),并與真實(shí)值比較,分析誤差原因。
根據(jù)式(3)和式(6)可得
rcc(n)=(1+α2)rxx(n)+αrxx(n-D)+αrxx(n+D)
(9)
考慮到自相關(guān)函數(shù)衰減性,忽略掉rxx(D)和rxx(2D),得
(10)
rcc(0)和rcc(D)可以通過(guò)上述自相關(guān)法得到,則衰減系數(shù)α通過(guò)求解式(10)一元二次方程的根得到,在LabVIEW中調(diào)用Polynomial Roots.vi節(jié)點(diǎn)實(shí)現(xiàn),因?yàn)?<α<1,舍棄不符合此條件的根值,得到衰減系數(shù)估計(jì)值。此實(shí)例α的真實(shí)值為0.5,圖4估計(jì)出的值為0.45,有誤差,是因?yàn)槭?10)是簡(jiǎn)化運(yùn)算得到的。
通過(guò)這個(gè)實(shí)驗(yàn),將理論運(yùn)用到實(shí)際,能鍛煉學(xué)生解決實(shí)際問(wèn)題能力。
回聲消除就是要求從回聲中恢復(fù)出原始信號(hào),盡量減小失真。
由于回聲是由式(8)得到的,所以
x(n)=c(n)*h-1(n)
(11)
h-1(n)是回聲產(chǎn)生的逆系統(tǒng)——回聲消除系統(tǒng)的單位沖激響應(yīng),記g(n)=h-1(n),得
h(n)*g(n)=δ(n)
(12)
進(jìn)行z變換,得
H(z)G(z)=1
(13)
(14)
(15)
在LabVIEW里可以通過(guò)調(diào)用MathScript節(jié)點(diǎn)impzd函數(shù)得到回聲消除系統(tǒng)的單位沖激響應(yīng),再調(diào)用卷積Convolution.vi節(jié)點(diǎn)得到回聲消除后的語(yǔ)音。
通過(guò)這個(gè)實(shí)驗(yàn),學(xué)生再次體會(huì)到卷積的作用,將卷積與相關(guān)徹底分清楚。學(xué)生開(kāi)始做實(shí)驗(yàn)時(shí),用impzd(b,a)求得g(n),b、a分別對(duì)應(yīng)式(14)分子、分母系數(shù)。細(xì)心的學(xué)生發(fā)現(xiàn)消除回聲效果不是太好,是衰減系數(shù)的誤差引起的嗎?將真實(shí)值代入衰減系數(shù),發(fā)現(xiàn)還有個(gè)別音效果不好,這是什么原因呢?觀察回聲消除系統(tǒng)的單位沖激響應(yīng)波形圖,發(fā)現(xiàn)它只給出前兩個(gè)非零值,而由式(15)可知g(n)是無(wú)限長(zhǎng)的,省略后面非零項(xiàng)還是很有影響的。將它改為impzd(b, a, 5*l),l=D+1,求出前5個(gè)非零項(xiàng),僅是對(duì)后面接近零的極小項(xiàng)進(jìn)行舍棄,這時(shí)再聽(tīng)消除效果就很好。
圖5給出回聲消除LabVIEW關(guān)鍵程序框圖。回聲消除后的語(yǔ)音是用式(11)卷積實(shí)現(xiàn)的,理想的回聲消除后的語(yǔ)音是用衰減系數(shù)真實(shí)值,通過(guò)無(wú)限長(zhǎng)沖激響應(yīng)濾波器IIR Filter.vi逆濾波實(shí)現(xiàn)的,以此作為參考。濾波器逆濾波是通過(guò)差分方程遞推計(jì)算實(shí)現(xiàn)的,它避免了卷積無(wú)限長(zhǎng)單位沖激響應(yīng)需要截?cái)嘁鸬恼`差。雖然它也會(huì)有小的累計(jì)誤差,但它運(yùn)算量小,速度快,精度高。
圖5 回聲消除的關(guān)鍵程序框圖
通過(guò)這個(gè)實(shí)驗(yàn),學(xué)生不但更深一步理解了卷積,而且通過(guò)發(fā)現(xiàn)問(wèn)題、解決問(wèn)題,明白濾波也是一種輸入到輸出的操作。輸出可以通過(guò)用輸入卷積系統(tǒng)單位沖激響應(yīng)得到,也可以利用差分方程遞推計(jì)算得到。
實(shí)驗(yàn)最后,要求學(xué)生總結(jié)卷積與相關(guān)的不同,進(jìn)行實(shí)驗(yàn)拓展——如對(duì)于多次回聲,如何實(shí)現(xiàn);對(duì)于回聲參數(shù)估計(jì)、回聲消除,還有何種方法。引導(dǎo)學(xué)生舉一反三進(jìn)行推廣向?qū)W有余力的學(xué)生推薦關(guān)于廣義互相關(guān)、自適應(yīng)回聲消除等方面的文獻(xiàn),拓展學(xué)生的知識(shí)面,提高學(xué)生的創(chuàng)新能力和綜合素質(zhì)。
針對(duì)學(xué)生對(duì)卷積和相關(guān)概念不清的問(wèn)題,結(jié)合生活現(xiàn)象,設(shè)計(jì)了回聲產(chǎn)生、回聲特性分析、回聲消除的綜合實(shí)驗(yàn),將難以理解的卷積、自相關(guān)、互相關(guān)等概念有機(jī)地串在一起。實(shí)驗(yàn)要求設(shè)計(jì)交互性好、便于比較的用戶界面,文中給出LabVIEW實(shí)現(xiàn)的關(guān)鍵程序和界面。實(shí)踐表明,理論和實(shí)驗(yàn)相輔相成,幫助學(xué)生理解和運(yùn)用。學(xué)生在做與生活密切聯(lián)系的實(shí)驗(yàn)時(shí),興趣更高,愿意進(jìn)一步探索,能真正將理論知識(shí)得以內(nèi)化,學(xué)以致用,教學(xué)效果好。
電氣電子教學(xué)學(xué)報(bào)2022年5期