施永豪+劉聰
【摘 要】小波分析可以對非平穩信號進行多種類型的分辨率采樣分析。為能夠進行實時處理,本文以SEED-DEC6713V2.1開發板為硬件平臺,用C語言編程實現長序列小波分析的快速分解與重構算法,在CCS3.3仿真環境下實現了某一非平穩信號的小波分析。仿真結果表明C6713芯片配合本文的軟件能夠很好的完成信號實時處理任務。
【關鍵詞】DSP;小波分析快速算法;C語言
傅立葉變換在頻域表現出良好的特性,而在時域無任何定位信息,主要應用是針對平穩信號。而在實際應用中存在大量非平穩信號需要我們分析處理,需要考察時域和頻域的對應關系,對此,傅立葉分析就無能為力。小波變換以其良好的時域和頻域分析性能,可以實現對分析對象的任意細節分析,被譽為“數學顯微鏡”。由于小波變換算法的復雜度較大,如果直接計算小波變換,現階段微處理器芯片運算速度實現實時處理有一定難度。為優化計算流程,出現多種小波變換的快速算法,提高了其應用的可行性,本文是基于某種長序列小波變換快速算法[2]的實現與仿真。
一、小波分析基本原理
小波分析是一種自適應時頻分析法,小波分析能同時實現時頻兩域的信號分析,在計算機上采用多分辨率分析的小波快速算法,使得小波分析有效性得以提高。小波快速算法包括分解和重構兩個過程。分解算法實現原始信號的低頻和高頻分離,之后將得到的低頻成分進一步分解為低頻信號和高頻信號,以此逐步進行,實現原始信號的多層次分解[1],分解公式表述如下:
c是低頻成分,d是高頻成分,h和g分別為低通濾波器系數和高通濾波器系數。
小波重構是將分解得到的各級低頻和高頻成分加權疊加重構為上級的低頻信號成分,進而可以提高非平穩信號的精度,從而減少重構信號與原始信號誤差??焖僦貥嬕罁率龉竭M行:
(2)
小波快速算法為我們采用計算機軟件編程提供了理論依據。本文以合眾達SEED-DEC6713 V2.1開發板為硬件平臺,用C語言編程來實現長序列的小波變換的快速分解與重構。
二、非平穩信號小波分析的DSP仿真
SEED-DEC6713V2.1開發板以TI公司的TMS320C6713芯片為核心,DSP處理器的特殊硬件結構及特有的運算周期適合實現小波分析的快速算法。為使分析與重構算法的有效性和可靠性得以保證,本文在CCS3.3環境下對算法進行仿真,仿真過程中主要建立了以下數據處理單元:仿真文件建立單元、DSP初始化單元、映射存儲器配置單元[3][4]和快速分解和重構單元。其總的軟件流程圖如圖1所示。
快速分解和重構數據處理單元肩負著實現小波快速分解和重構的重任,是軟件核心。在此特給出快速分解數據單元的C語言程序偽代碼:
For(L_ID=1; L_ID<=L_Nuber; L_ID++)
{采樣數據邊界延拓單元; p_Tp=pSr-B+1;
//*應用重疊保留法得到展寬數據和濾波器單元的卷積
for(j=1;j<=S_N;j++)
{ 數據送到計算區處理程序;
卷積計算程序;
計算結果存儲到目的區程序;
p_Tp= P_Tp -B+1;
//指針指向下一分段數據的始點}
ScL=(ScL+B-1)/2;
//下層待分解數據源長度
圖2 原始信號 圖3小波分解的低頻分量
圖4 第二層高頻分量 圖5 第一層高頻分量
/*為下級分解做準備
p_Tp2=p_Sc; p_Sc=p_D;
p_D=p_Tp2; //更換指針
p_Sc_E=p_Sc+SrcL+B-1;
}
快速重構處理程序的實現。首先要對進行重構的低頻和高頻信息進行上采樣,將得到的數據存到新的數據緩沖區,其偽代碼表述為:
p_Tp2=p_D;
//指針指向數據處理去,作為起點
for(i=0; i { *( p_Tp2++)=0; //奇數補0值 *( p_Tp2++)=*(p_Sc+i);} * p_Tp2)=0; //最后一位多補一個0 交換數據指針,將計算結果存放新的數據區,將上采樣得到的數據邊界展寬,采用重疊保留法計算展寬之后數據與重構濾波器單元的卷積,實現過程與分解過程進本一致。區別在于,存儲數據時,每層重構的第一個單元前面去掉的個數多一個數據點,該過程的C語言偽代碼如下: if(k==1) //i為分段標記 S_aB_e=(B-1+T_r)*2; /首個單元需多去掉一些數據 else S_aB_e =(B-1)*2; //其他數據單元去掉的數據數 for(n= S_aB_e;n { …… } 將采集的非穩態數據信號導入到CCS3.3中,調入到仿真程序中,采用十六進制Q15定點格式顯示仿真結果,如圖2-圖5所示。本文對采集的非穩態信號進行二重分解,圖2是采集的原始信號,圖3-圖5依次為分解得到的低頻分量,第二層高頻分量和第一層高頻分量。分解后的低頻分量包含原信號的基本特征,高頻分量包含原信號在傳播過程中所受干擾引起的突變。因此,依據高頻信號分量的特點,能判斷出干擾信號出現的時刻、頻率及原始信號發生畸變的時刻和頻率。 三、結論 本文以合眾達SEED-DEC6713V2.1開發板為硬件平臺,編程實現了長序列信號的小波快速分解和重構,并對算法進行了驗證。通過對采集非穩態信號的實測,驗證了小波快速算法在DSP上實現的有效性和可靠性。結果表明,小波快速分解和重構算法在DSP器件中的實現具有較高的實際應用價值。 參考文獻: [1]程正興.小波分析算法及應用[M].西安:西安交通大學出版社,1998. [2]呂新華.一種長序列小波變換的快速實現方法[J].數據采集與處理,2006,21(1):86-89. [3] TMS320C6713, TMS320C6713B FLOATING-POINT DIGITAL SIGNAL PROCESSORS SPRS186I DECEMBER 2001 REVISED MAY 2004 [4]何正友.小波分析講稿.成都:西南交通大學,2010. [5]于德介,成瓊,程軍圣.基于復解析小波變換的瞬時頻率分析方法[J]. 振動與沖擊, 2004, 23(1): 108-110.