一種長序列小波變換快速算法的DSP實現(xiàn)
1 引 言
本文引用地址:http://www.ex-cimer.com/article/87788.htm由于小波變換具有良好的時頻分析特性,已經(jīng)廣泛應(yīng)用于各種信號分析領(lǐng)域。由于小波變換算法的復(fù)雜性,如果直接計算小波變換,所需內(nèi)存較大,耗時較長。盡管當(dāng)今處理器芯片運算速度得到了大幅度的提高,但仍然在實時性上不能滿足要求。為了簡化計算過程,人們相繼設(shè)計了一系列的快速算法來計算小波變換,以降低其運算次數(shù)。
小波變換在大多數(shù)具體應(yīng)用中主要是在線信號的實時分析處理,微機和通用的微處理器在運算速度上難以適應(yīng)信號實時、高精度處理的要求。數(shù)字信號處理器(DSP)就是為了適應(yīng)這種需求而開發(fā)的。美國TI公司是全球最大的DSP供應(yīng)商,其生產(chǎn)的TMS320C55x系列16位定點DSP芯片具有低功耗、高性能等特點,具有廣泛的應(yīng)用領(lǐng)域,本文應(yīng)用該系列DSP芯片,將文獻[2]提出的小波變換快速算法用C語言開發(fā)加以實現(xiàn),解決了小波變換實時、高精度處理的要求。
2 小波分解過程的DSP實現(xiàn)
小波分解過程中算法實現(xiàn)的數(shù)據(jù)結(jié)構(gòu)存儲和尋址方式如圖1所示。
小波分解過程中C語言算法實現(xiàn)的偽代碼如下:
下面分別對偽代碼中各個子程序模塊的具體實現(xiàn)進行分析。
2.1 邊界延拓模塊
數(shù)據(jù)邊界延拓程序模塊的實現(xiàn):
定義一個數(shù)據(jù)地址指針pSrc始終指向載人的源數(shù)據(jù)頭地址,即pSrc=Layer1Data+M-1,在源數(shù)據(jù)的首尾各對稱延拓M-1個點。該模塊的C語言實現(xiàn)代碼如下:
2.2 數(shù)據(jù)搬移模塊
從源數(shù)據(jù)區(qū)搬送數(shù)據(jù)到計算區(qū)的程序模塊實現(xiàn):定義一個臨時地址指針pTemp1指向擴展后的數(shù)據(jù)首地址,即:pTemp1=pSrc-M+1,SegNum為長序列分段數(shù),將數(shù)據(jù)從數(shù)據(jù)源區(qū)分段搬送到計算區(qū),并將16 b數(shù)據(jù)擴展為32 b,通過對虛部填零,組成復(fù)數(shù)輸入數(shù)據(jù)數(shù)組signal,該模塊C語言實現(xiàn)代碼如下(i為分段標(biāo)記,N為分段圓周卷積長度):
2.3 基于圓周卷積的線性卷積模塊
用圓周卷積計算signal和分解濾波器組dec_filter的線性卷積out_buffer,該模塊的C語言實現(xiàn)代碼如下:
2.4 結(jié)果保存模塊
將計算區(qū)的結(jié)果保存到目標(biāo)區(qū)的程序模塊實現(xiàn):將out_buffer去掉前面M-1個復(fù)數(shù),后面N-M+1個復(fù)數(shù)只取實部,即只取低頻分量,對取出的實部乘以比例系數(shù),這里采用的是小數(shù)乘法,然后再取前16 b,將結(jié)果存到數(shù)據(jù)存儲目標(biāo)區(qū)Layer2Data2,定義目標(biāo)區(qū)存儲的首地址指針為pDest=Layer2Data+M-1,然后定義臨時數(shù)據(jù)指針pTemp2=pDest,該模塊C語言實現(xiàn)代碼如下:
將保存在目標(biāo)區(qū)內(nèi)的數(shù)據(jù)減采樣一半,仍舊保存在目標(biāo)區(qū)內(nèi),該模塊的C語言代碼如下:
3 小波重構(gòu)過程的DSP實現(xiàn)
首先對數(shù)據(jù)源區(qū)要重構(gòu)的低頻、高頻數(shù)據(jù)分量進行上采樣,將上采樣后的數(shù)據(jù)存到另外一個目標(biāo)數(shù)據(jù)緩沖區(qū),該模塊的C語言程序代碼如下:
交換數(shù)據(jù)指針,將計算結(jié)果存到另一區(qū),對上采樣后的數(shù)據(jù)進行邊界延拓,然后應(yīng)用重疊保留法計算擴展后的數(shù)據(jù)和重構(gòu)濾波器組的線性卷積,這兩個模塊的實現(xiàn)同分解過程。惟一有所區(qū)別的是,在保存數(shù)據(jù)時,每一層重構(gòu)時的第一個分段前面要去掉的個數(shù)要多一點,模塊的C語言代碼如下:
4 結(jié) 語
由于小波變換算法的復(fù)雜性,微機和通用的微處理器在運算速度上難以實現(xiàn)小波變換的實時性要求。定點DSP具有低功耗、高性能的特點,本文結(jié)合TI公司的16位定點DSP說明了小波變換快速算法的具體實現(xiàn),解決了小波變換實時、高精度處理的要求。
評論