文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2010)12-0045-03
小波變換能夠同時(shí)在時(shí)域和頻域進(jìn)行局部分析,在對時(shí)變信號進(jìn)行分析時(shí)具有明顯的優(yōu)勢。小波算法在進(jìn)行信號處理時(shí),由于具有濾波效果好、信號細(xì)節(jié)損失少的優(yōu)點(diǎn),從而引起了廣泛的關(guān)注和應(yīng)用。目前常用于高速實(shí)時(shí)信號處理的硬件芯片分為兩大類:基于大規(guī)模可編程集成電路FPGA的純硬件實(shí)現(xiàn)方案和基于高速通用DSP的軟件實(shí)現(xiàn)方案。采用FPGA的硬件實(shí)現(xiàn)方案硬件接口設(shè)計(jì)靈活,可以和任意數(shù)字外圍電路直接使用,且其具有高度的集成度和高速的處理速度;而基于高速通用DSP的軟件實(shí)現(xiàn)方案代碼設(shè)計(jì)靈活,可以快速修改和調(diào)試程序[6]。小波算法運(yùn)算量較大,如果采用DSP方案由軟件來實(shí)現(xiàn)該算法就很難滿足系統(tǒng)實(shí)時(shí)性的要求?;谝陨显虮疚奶岢隽瞬捎肍PGA方案實(shí)現(xiàn)小波算法。該方案對一維信號具有良好的去噪效果,同時(shí)也能滿足系統(tǒng)的實(shí)時(shí)性要求。
1 小波去噪的基本原理
對于小波算法,應(yīng)用最廣泛的是信號處理和圖像處理,而在這兩個(gè)領(lǐng)域中應(yīng)用最多的就是信號及圖像的去噪和壓縮。由于在正交小波中,正交基的選取比傳統(tǒng)方法更接近實(shí)際信號本身,所以通過小波變換可以更容易地分離出噪聲,因此,相對于傳統(tǒng)方法,小波分析在去噪和壓縮方面有著無可比擬的優(yōu)勢[5]。
小波分析用于去噪的過程如下:
(1)分解過程:選定一種小波,對含噪信號進(jìn)行N層小波分解,得到各層分解的小波系數(shù)。
(2)閾值處理過程:將通過分解得出的各層高頻小波系數(shù)進(jìn)行閾值處理,在進(jìn)行到最后一層時(shí),要同時(shí)對該層的高、低頻系數(shù)進(jìn)行閾值處理。
(3)重構(gòu)過程:將經(jīng)過閾值處理后的小波系數(shù)通過小波逆變換重構(gòu)出去噪后的信號。
閾值降噪法是一種實(shí)現(xiàn)簡單、效果較好的小波降噪方法。小波變換具有很強(qiáng)的去數(shù)據(jù)相關(guān)性,它能將信號的能量集中在小波域一些大的小波系數(shù)中,而噪聲的能量卻分布于整個(gè)小波域內(nèi),因此經(jīng)小波分解后信號的小波系數(shù)比噪聲的大。于是,采用閾值的辦法可以把信號的小波系數(shù)保留,而使絕大部分噪聲小波系數(shù)置零[2]。目前,常用的閾值函數(shù)有硬閾值函數(shù)和軟閾值函數(shù)。硬閾值法處理的結(jié)果可以很好地保留信號邊緣等局部特征,軟閾值法處理的結(jié)果要相對平滑,但是比較容易造成模糊等失真現(xiàn)象。
2 硬件實(shí)現(xiàn)
系統(tǒng)框圖如圖1所示。根據(jù)相關(guān)分析,設(shè)計(jì)采用了XILINX公司生產(chǎn)的超大規(guī)模 FPGA器件Virtex 5 XC5VSX50T。系統(tǒng)接口采用RS422串口,相對于RS232,通過RS422能夠以更快的波特率來收發(fā)數(shù)據(jù),同時(shí)其通信距離也比RS232更遠(yuǎn)。在進(jìn)行小波變換之前需要預(yù)存一定長度的數(shù)據(jù),因此在接口和小波變換模塊之間需要設(shè)置一個(gè)FIFO。FPGA通過接口模塊將收到的含噪信號數(shù)據(jù)存入FIFO模塊中,預(yù)存32個(gè)數(shù)據(jù)。
為保證一定的濾波效果又不使算法的運(yùn)算量過大,本文將小波變換模塊的分解、重構(gòu)層數(shù)設(shè)為5層。小波變換模塊主要包括前向小波變換模塊、閾值處理和逆向小波變換模塊。前向小波變換模塊完成對含噪信號的多層分解,將含噪信號分解為低頻分量和高頻分量。閾值處理模塊去除經(jīng)過多層小波分解出來的各層高頻噪聲,在前4層閾值處理過程中需將處理后的高頻分量存儲到相應(yīng)的RAM中。逆向小波變換模塊完成信號的多層重構(gòu),得出去噪后的信號。逆向小波變換模塊重構(gòu)信號的順序和前向模塊相反,是按最后一層到第一層的順序重構(gòu)信號,在進(jìn)行到相應(yīng)層次時(shí)將存放在相應(yīng)RAM中經(jīng)閾值處理后的高頻分量取出與該層低頻分量進(jìn)行重構(gòu),完成5層逆向小波變換之后即可得到去噪后的信號。小波變換模塊的FPGA結(jié)構(gòu)圖如圖2所示。
本設(shè)計(jì)選用DB4小波對含噪信號進(jìn)行提升小波變換,DBN系列的小波擴(kuò)張性比較好,可以靈活地權(quán)衡增加支集長度(為了提高能量的集中度)帶來的邊界問題,且DB4小波濾波器長度較短,能夠提高運(yùn)算速度,也能夠滿足一定的濾波效果。
在MATLAB平臺中通過執(zhí)行語句“lsdb4=liftwave('db4');displs(lsdb4);”就能得到db4提升小波的方案信息。其方案信息如下:
lsdb4={ [-0.32227589] [-1.11712361 -0.30014226]
[-0.01880835 0.11764809] [2.13181671 0.63642827]
[-0.46908348 0.14003924 -0.02479124] [0.73412453]
[1.36216672] };
由提升小波算法可知,該算法主要由加、減、乘運(yùn)算組成,對于FPGA實(shí)現(xiàn)來說,加減運(yùn)算可以調(diào)用FPGA的加法器IP核,而浮點(diǎn)系數(shù)的乘運(yùn)算可以通過移位相加來實(shí)現(xiàn)。以浮點(diǎn)系數(shù)-0.32227589為例,-0.32227589=-((1/4)+(1/16)+(1/128)),所以要實(shí)現(xiàn)數(shù)據(jù)與系數(shù)-0.32227589相乘,可以通過右移相加的方法來實(shí)現(xiàn),這樣做可以減少對乘法器的調(diào)用,從而減少了該部分設(shè)計(jì)時(shí)所需的面積,提高了芯片的處理速度。其具體實(shí)現(xiàn)框圖如圖3所示。
3 仿真結(jié)果及分析
本設(shè)計(jì)使用ISE 10.1軟件完成了硬件電路的Verilog設(shè)計(jì)、綜合,使用Modelsim 6.0D完成時(shí)序仿真,F(xiàn)PGA系統(tǒng)時(shí)鐘為39 MHz,輸入的信號采樣率為5 kHz,輸入的采樣信號為某型號光纖陀螺的零漂信號,并添加幅值為1 V的偽隨機(jī)噪聲。
如圖4所示,第二個(gè)信號indata是含噪聲的信號,第三個(gè)信號outdata是經(jīng)過提升小波變換后的去噪信號。由圖4可以看出,光纖陀螺零漂信號已經(jīng)完全淹沒在噪聲之中,在信噪比很低的情況下,經(jīng)過小波去噪之后能夠很好地濾除噪聲信號。由圖5和圖6可以看出,F(xiàn)PGA的小波變換模塊從接收到處理完一個(gè)數(shù)據(jù)點(diǎn)所需的時(shí)間約為6402632628 ps-6388706228 ps=13.93 μs,完全可以滿足一般系統(tǒng)對信號處理實(shí)時(shí)性的要求。
算法用DSP(TI TMS320C6713)實(shí)現(xiàn)時(shí),對C代碼進(jìn)行優(yōu)化,處理一個(gè)數(shù)據(jù)點(diǎn)所需要的時(shí)間約為66μs,采用C和匯編混合編程對關(guān)鍵循環(huán)進(jìn)行進(jìn)行匯編優(yōu)化,處理一個(gè)數(shù)據(jù)點(diǎn)所需要的時(shí)間約為40 μs。從實(shí)時(shí)性的角度來說,用FPGA實(shí)現(xiàn)該算法比用DSP更符合信號處理系統(tǒng)對實(shí)時(shí)性的要求。
本文提出了一套利用FPGA實(shí)現(xiàn)小波變換的方案。同傳統(tǒng)濾波方法相比,小波變換法能更好地濾除噪聲,在選好相應(yīng)的小波后也能滿足實(shí)時(shí)性的要求,是非常理想的信號處理方案。與用DSP處理器的方法相比,采用FPGA實(shí)現(xiàn)小波變換具有速度快、數(shù)據(jù)寬度可任意設(shè)置的特點(diǎn),能更好地滿足信號處理實(shí)時(shí)性的要求,并且Verilog語言具有可移植性的特點(diǎn),具有更強(qiáng)的通用性。該方法可以應(yīng)用在光電跟蹤信號去噪及語音去噪等一維信號實(shí)時(shí)處理系統(tǒng)中,它在較為有效地消除噪聲的同時(shí)又能基本滿足系統(tǒng)的實(shí)時(shí)性。
參考文獻(xiàn)
[1] 夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程[M].北京:北京航空航天大學(xué)出版社,2005.
[2] 孫延奎.小波分析及其應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2004.
[3] SWEDENS W.The lifting scheme: a new philosophy in biorthogonal wavelet constructions[J].Proceedings of SPIE,1995,2569:68-79.
[4] DAUBECHIES I,SWELDENS W.Factoring wavelet transforms into lifting steps[J].Fourier Analysis and Applications,1998,4(3):247-269.
[5] 高成.Matlab小波分析與應(yīng)用[M].北京:國防工業(yè)出版社,2007.
[6] 季云松,郭成志.基于FPGA的小波圖像實(shí)時(shí)處理方法[J].激光與紅外,2009,39(10):1112-1114.