摘 要:小波包分析能夠為信號提供一種更加精細(xì)的分析方法,它將頻帶進行多層次劃分,對多分辨分析沒有細(xì)分的高頻部分進一步分解,并能夠根據(jù)被分析信號的特征,自適應(yīng)地選擇相應(yīng)頻帶,使之與信號頻譜相匹配,從而提高時-頻分辨率。為了能在DSP嵌入式設(shè)備中應(yīng)用小波包分析方法進行信號處理,首先討論小波包分解的過程和最優(yōu)基及代價函數(shù)的選擇方法,然后提出一種在DSP上實現(xiàn)香農(nóng)熵代價函數(shù)的小波包分解算法的方法,并在浮點型DSP TMS320C6713B上實現(xiàn)了此算法。最后針對具體的數(shù)字信號進行小波包分解和最優(yōu)基選擇的實驗,實驗結(jié)果證明了該方法的正確性和高效性。
關(guān)鍵詞:小波包;代價函數(shù);最優(yōu)基;DSP
中圖分類號:TP274文獻標(biāo)識碼:B
文章編號:1004-373X(2008)22-161-03
Implementation of Optimized Wavelet Packet Basis Algorithm Based on DSP
WANG Jingyan
(Shanghai Institute of Applied Physics,Chinese Academy of Sciences,Shanghai,201800,China)
Abstract:Wavelet packet analysis is a precies analytical method by which the frequency band is further divided into multiple layers and the high frequency is divided in a more deep-going way.On the basis of characters of the signal,it can select the frequency band so that it can match the signal frequency properly and improve the time frequency resolution.In order to apply wavelet packet analysis in signal processing on DSP embedded equipment,the process of wavelet packet decomposition and the method for choosing the best base and cost function are discussed.Wavelet packet decomposition whose cost function is Shannon entropy is then implemented on floating point DSP TMS320C6713B.Experiment of wavelet packet decomposition and best base choosing is made.Effectiveness of this method is verified by results of the experiment.
Keywords:wavelet packet;cost function;best base;DSP
在小波分析是一維及二維信號數(shù)據(jù)分析與處理的有力工具,其主要優(yōu)點就是提供了時頻局部分析與細(xì)化的能力[1]。它可以對信號進行有效的時頻分解,但在高頻頻段其頻率分辨率較差,而在低頻頻段其時間分辨率較差。
小波包分析能夠為信號提供一種更加精細(xì)的分析方法,它將頻帶進行多層次劃分,對多分辨分析沒有細(xì)分的高頻部分進一步劃分,并能夠根據(jù)被分析信號的特征,選擇相應(yīng)頻帶,使之與信號頻譜相匹配,從而提高了時-頻分辨率。
數(shù)字信號處理器(Digital Signal Processor,DSP) 以其適合信號處理的獨特結(jié)構(gòu)和快速的指令周期,而應(yīng)用于各種實時信號處理的場合。將小波包分析與DSP 相結(jié)合用于實時信號處理
必將產(chǎn)生巨大的實用價值。
1 最優(yōu)基小波包分解
1.1 小波包理論
小波變換的分辨率在時-頻平面中隨頻率不同而變化,子帶的頻率越高,其頻率分辨變換沒有對高頻子帶進行再分解,不利于對高頻子帶的數(shù)據(jù)壓縮。由小波變換發(fā)展而來的小波包技術(shù)彌補了這個缺點,它可根據(jù)信號本身的特點在一定范圍內(nèi)任意選擇分辨率,有利于數(shù)據(jù)的高效壓縮[1]。
對于給定的正交尺度函數(shù)Φ(x)及對應(yīng)的小波函數(shù)Ψ(x),設(shè)μ0(x)=Φ(x),μ1(x)=Ψ(x),由下面的遞推公式定義正交小波包:
μ2n(x)=2∑khkμn(2x-k)
μ2n+1(x)=2∑kgkμn(2x-k)
圖1是三級小波包分解樹的示意圖,左子節(jié)點是父節(jié)點的低頻逼近子圖,右子節(jié)點是父節(jié)點的高頻細(xì)節(jié)子圖,(0,0)節(jié)點表示待分解的原始信號。
1.2 最優(yōu)小波包基的選取
根據(jù)上面的定義可知,小波庫中有很多小波包基,而不同的小波包基一般具有不同的時頻局部化能力,反映不同的信號特性,因此,對于一個給定的信號,希望選擇一個較好的小波包基,用來表達信號的特點。為了選擇一個較好的小波包基,首先給定一個序列的代價函數(shù),然后在所有的小波包基中尋找使代價函數(shù)最小的基。對于一個給定向量,代價最小就是最有效的表示,此基便稱為最佳基[2]。
圖1 三級小波包分解樹示意圖
在一個正交小波包基下,可以把信號f(t)展開,使得f(t)與一個小波包系數(shù)序列x = {xk}對應(yīng)。在序列{xk}上定義一個信息代價函數(shù)M,它滿足如下2個條件:
(1) 可加性條件,即:
M({xk})=∑k∈ZM(xk),M(0)=0
(2) 信息代價函數(shù)M的取值應(yīng)反映系數(shù)的集中程度。
對于一個給定的信息代價函數(shù)M,L2(R)的小波包基B 稱為信號f(t)相對于代價函數(shù)M 的最優(yōu)基,如果在L2(R)的所有小波包基中,f(t)在小波包基B下對應(yīng)的小波包系數(shù)序列具有最小的信息代價函數(shù)值。
采用工程上常用的基于Shannon信息熵的代價函數(shù),即定義序列x = {xk}的熵為:
M(x)=-∑jPjlog Pj
式中Pj=|xj|2‖x‖2,且當(dāng)P=0時,Plog P=0。
由于信息是半可加的,所以引入可加函數(shù):
λ(x)=-∑k|xk|2log|xk|2
則M(x)可以表示為:
M(x)=‖x‖2λ(x)+lg‖x‖2
這樣,當(dāng)λ(x)最小時, M(x)也最小。
有了上面的信息代價函數(shù),就可以求出使信息代價函數(shù)最小的小波包序列,從而求出最優(yōu)基。當(dāng)基庫是一個二叉樹時,可以采用自底向頂?shù)目焖偎阉鞣ㄟx擇最優(yōu)小波包基。
1.3 最優(yōu)基快速搜索算法
有了信息代價函數(shù)之后,采用自底向頂?shù)目焖偎阉魉惴▉韺ふ易顑?yōu)基,所謂最優(yōu)基就是在小波庫的所有小波包基中使代價函數(shù)最小的基。
下面給出此種快速搜索算法[3]。
第一步:根據(jù)上面介紹的代價函數(shù)計算出分解圖中各個結(jié)點的信息代價,并把相應(yīng)的信息代價的數(shù)字寫在樹的結(jié)點里。
第二步:從最低層的所有結(jié)點開始標(biāo)記,將它們的信息代價作為一個初始值。稱上層結(jié)點為父結(jié)點,下層結(jié)點為子結(jié)點。若父結(jié)點的信息代價比子結(jié)點低,那么就標(biāo)記父結(jié)點, 否則不標(biāo)記。如此上推,直到頂層。
第三步: 然后檢查所有結(jié)點,取最上層所標(biāo)記的結(jié)點。當(dāng)高層有結(jié)點被標(biāo)記時, 其相應(yīng)子結(jié)點的標(biāo)記應(yīng)刪除。最后將最優(yōu)基中的系數(shù)抽取出來,以一定的順序輸出。下面就給出最優(yōu)基樹圖(見圖2)。
圖2 最優(yōu)基樹圖
2 最優(yōu)基小波包分解的DSP實現(xiàn)
2.1 浮點型DSP TMS320C6713B
本文選擇TI公司的TMS320C6000 系列的TMS320C6713B (以下簡稱C6713B) 芯片作為算法硬件平臺。
TMS320C6000 系列DSP 是美國TI 公司的新一代高性能的數(shù)字信號處理芯片,具有很高的工作頻率和極強的并行處理能力。片內(nèi)有A,B兩組共8個并行處理單元,每組內(nèi)分為L,M,D,S 四個單元,每組處理單元結(jié)合同側(cè)的寄存器組和數(shù)據(jù)通道,構(gòu)成一個完整的數(shù)據(jù)處理單元。
本文采用以6713B芯片為中心的TDS6713EVM開發(fā)板,此開發(fā)板是聞亭公司最新研制的高速語音信號(采集)處理平臺,可作為專用語音信號編解碼處理測試平臺,也可用于各種對數(shù)據(jù)精度有特殊要求的浮點數(shù)字信號處理場合[4]。TDS6713EVM系統(tǒng)結(jié)構(gòu)圖如圖3所示。
圖3 TDS6713EVM系統(tǒng)結(jié)構(gòu)圖
選擇CCS 2 ('C6000)作為DSP軟件開發(fā)環(huán)境。
2.2 小波包分解算法的程序?qū)崿F(xiàn)
算法實現(xiàn)采用C++語言進行編程,因為C++編譯器能有效地對集合代碼進行優(yōu)化。算法程序的重點是信號的小波包分解與最優(yōu)基選擇程序的實現(xiàn),主程序的流程圖如圖4所示。
其中最優(yōu)基選擇中計算Shannon 信息熵代價的關(guān)鍵代碼如下所示:
temp=data[nlevel][i]*data[nlevel][i];
max-=temp*(float)log(temp);
圖4 主程序流程圖
最優(yōu)基快速搜索算法的關(guān)鍵代碼如下所示:
//若父結(jié)點的信息代價比子結(jié)點低,
//那么就標(biāo)記父結(jié)點, 否則不標(biāo)記。
if(cost[nlevel][nblock]>=(cost[nlevel+1][2*nblock]+cost[nlevel+1][2*nblock+1])){
sig[nlevel][nblock]=0;cost[nlevel][nblock]=cost[nlevel+1][2*nblock]+cost[nlevel+1][2*nblock+1];
}
else{
sig[nlevel][nblock]=1;
//當(dāng)高層有結(jié)點被標(biāo)記時,其相應(yīng)子結(jié)點的標(biāo)記應(yīng)刪除。
int len=2;
int start=nblock<<1;
for(int i_l=nlevel+1;i_l for(int i_b=start;i_b<(start+len);i_b++) sig[i_l][i_b]=0; len=len<<1; start=start<<1; } } 在CCS 2 (′C6000)編譯環(huán)境下編程,程序編譯優(yōu)化后,加載到DSP工作平臺上。由于本算法使用的存儲空間較多,程序中大量使用了堆空間,默認(rèn)的存儲分配方式無法滿足要求,所以重新編寫cmd文件分配堆棧空間大小如下: -stack 0xf00 -heap 0x20000 3 實驗結(jié)果以及分析 輸入信號對本文DSP程序進行測試,信號長度為1 024點,波形如圖5所示。 使用db5小波對信號進行3層小波包分解, 選擇Shannon 信息熵作為代價,得到最優(yōu)小波包基節(jié)點為:(2,2) (3,0) (3,1) (3,2) (3,3) (3,4) (3,7),由此得到最小代價為-90 002.773 438。最優(yōu)基小波包分解結(jié)果波形如圖6所示。 對最優(yōu)基小波包分解結(jié)果進行小波包合成,得到重建信號波形如圖7所示。 圖5 1 024點原始信號波形圖 圖6 最優(yōu)基小波包分解的結(jié)果波形圖 圖7 小波包重建波形圖 可以看到重構(gòu)后的波形無明顯失真,這說明本程序的正確性。利用CCS的Profiler提供的程序運行時鐘統(tǒng)計功能,得到小波包分解所用的時鐘數(shù)為8 266 039,最優(yōu)基選擇所用的時鐘數(shù)為4 716 800。 4 結(jié) 語 該文中討論了小波包分解的過程和最優(yōu)基及代價函數(shù)的選擇方法,在浮點型DSP TMS320C6713B上實現(xiàn)了香農(nóng)熵代價函數(shù)的小波包分解算法。小波包在信號分析方面的明顯優(yōu)勢與DSP在實時信號處理上的廣泛應(yīng)用使得本文的實現(xiàn)方法有著重要的應(yīng)用價值。 參考文獻 [1]楊永明,路陳紅.小波包分析在一維及二維信號去噪中的應(yīng)用[J].西安建筑科技大學(xué)學(xué)報:自然科學(xué)版,2004,36(3):364-367,159. [2]史賢俊,林颯,李瑞亮.基于最優(yōu)小波包基的信號去噪算法及其應(yīng)用[J].海軍航空工程學(xué)院學(xué)報,2006,21(5):506-509. [3]王淑艷,李昌青.基于小波包最優(yōu)基的心電圖壓縮 [J].生物醫(yī)學(xué)工程學(xué)雜志,2002,19(2):256-258. [4]聞亭數(shù)字系統(tǒng)(北京)有限公司.TDS6713EVM用戶手冊[Z].北京:聞亭數(shù)字系統(tǒng)(北京)有限公司,2006. [5]胡廣書.現(xiàn)代信號處理教程[M].北京:清華大學(xué)出版社,2005. [6]Yang Yongming,Xu Chao.A Wavelet Packet-based Block-partitioning Image Coding Algorithm with Rate-distortion Optimization [J].Image Processing,2005,3(11):201-204. [7]Carnero B,Drygajlo A.Perceptual Speech Coding and Enhancement Using Frame-synchronized Fast Wavelet Packet Transform Algorithms [J].Signal Processing,1999,47(6):1 622-1 635. [8]Philippe,P,de Saint-Martin F M,Lever M.Wavelet Packet Filter Banks for Low Time Delay Audio Coding [J].Speech and Audio Processing,1999,7(3):310-322. [9]Cristan A C,Walden A T.Multitaper Power Spectrum Estimation and Thresholding:Wavelet Packets Versus Wavelets [J].Signal Processing,2002,50(12):2 976-2 986. [10]Sun Fang,Liu Yibing,Li Ming,et al..Gear Faults Diagnosis Based on Wavelet Packet and Fuzzy Pattern Recognition [J].Control Conference,2000,52(12):1 267-1 270. [11]Laine A,F(xiàn)an J.Texture Classification by Wavelet Packet Signatures [J].Pattern Analysis and Machine Intelligence,1993,15(11):1 186-1 191. 作者簡介 王靖琰 男,1985年出生,碩士研究生。主要從事生物特征識別(Biometrics)、圖像及語音信號處理與識別研究。