作者:謝宏;劉玉霞;金曼;夏斌
1 引言
腦電信號EEG(Electroencephalograph)是人體一種基本生理信號,具有重要的臨床診斷和醫(yī)療價值。南于腦電信號自身具有非平穩(wěn)性隨機的特點,因此,對其實時濾波具有相當難度。自從Berger 1929年發(fā)現(xiàn)腦電信號以來,人們采用多種數(shù)字信號處理技術處理分析腦電信號,由于傳統(tǒng)的濾波去噪方法所用濾波器一般具有低通特性,因此采用經(jīng)典濾波法對非平穩(wěn)信號去噪,降低噪聲,展寬波形,平滑信號中突變尖峰的成分,但可能損失這些突變點攜帶的重要信息,而傅里葉頻譜分析僅是一種純頻率分析方法,該方法對時變的非平穩(wěn)腦電信號無效。
與傳統(tǒng)的傅里葉變換相比較,小波變換是一種多尺度信號分析方法,具有良好的時頻局部化特性,非常適合分析非平穩(wěn)信號的瞬態(tài)特性和時變特性,這正是分析 EEG所需要的,EEG中許多病變都是以瞬態(tài)形式表現(xiàn)的。只有結(jié)合時間和頻率進行處理,才能取得更好效果。但小波分解每次只分解上次分解的低頻部分,而不分解高頻部分,所以高頻段分辨率較差。而小波包分解是一種從小波分解延伸出的更細致的分解和重構信號的方法,它不但分解低頻部分,而且還能二次分解高頻部分,能夠很好地將頻率分辨率調(diào)整到與腦電節(jié)律特性相一致,因此小波包分解具有更好的濾波特性。若將小波包方法引入腦電信號分析.不僅可以克服傳統(tǒng)腦電分析的不足.還可以改進Mallat算法分析實際腦電中的不足。
腦電信號的數(shù)字處理以往采用通用PC機或單片機實現(xiàn),存在實時性差等缺點。隨之,基于FPGA的小波變換在腦電信號數(shù)字處理中應運而生,其實時性好。 DSP Builder將Matlab/Simulink設計仿真工具的算法開發(fā)、模擬和驗證功能和Quartus II軟件的HDL綜合、模擬和驗證功能相結(jié)合,為小波變換的FPGA提供良好的平臺。
2 一維離散小波(1D-DWT)Mallat改進算法
多分辨率分析是小波分析的核心理論,其Mallat算法是信號小波分解和重構的常用算法。正交小波的分解和重構公式由尺度函數(shù)的尺度方程系數(shù)確定。假設構造正交小波的尺度函數(shù)φ(t)的兩尺度方程為:
由于φ(-t)和φ(t-s)為構造正交小波的多分辨率分析尺度函數(shù),因此上述分解和重構公式中取h(n)為h(-n)或h(n-s)均可。為了討論方便,且不失一般性,可將上述分解公式和重構公式重寫為:
則c0(k)=c0(k-2N-1),式(13)得到的信號是式(12)得到信號的延遲。由于序列h(n)和g(n)為因果序列,所以式(13)對應的濾波器為因果濾波器。采用式(7)和式(8)繼續(xù)分解信號低頻分量或低頻分量與高頻分量.可得多級分解或小波包分解。
3 基于DSP Builder的小波變換設計實現(xiàn)
考慮到瞬態(tài)脈沖信號的短時性,選擇具有緊支集的Daubenchies小波作為分析小波,這樣有利于突出瞬態(tài)信號特征,DB小波函數(shù)具有良好的正交性和緊支撐性,可較好地表現(xiàn)頻域信號的連續(xù)性和突變性,在實際工程應用中效果較好。故這里采用DB小波對腦電信號進行4級分解重構。濾除腦電信號中存在的直流成分或緩慢基線漂移。選取DB2小波,此時M=3,且低通濾波系數(shù)(尺度函數(shù)系數(shù))如下:
由于浮點數(shù)在FPGA中實現(xiàn)比較復雜,為了減少FPGA的運算量和資源,可將濾波計算轉(zhuǎn)換為整數(shù)運算和移位運算,為此首先需將以上濾波器系數(shù)轉(zhuǎn)化為整數(shù),對每個濾波器系數(shù)采用16位字長進行量化,即乘以215后取整數(shù),而對濾波器的輸出信號有移15位即得到實際輸出。
以DSP Builder為平臺,對式(7)、式(8)和式(13)算法進行系統(tǒng)級建模、仿真,再利用Signal Compiler生成HDL文件,然后利用Quartus II進行時序仿真驗證。
3.1 DSP Builder實現(xiàn)lD-DWT分解
分解模塊的結(jié)構如圖1所示。信號并行從4級延遲線輸出,與FIR濾波器系數(shù)進行卷積,然后再偶抽取便可得到近似部分和細節(jié)部分的結(jié)果。二次抽取模塊采用DSP Builder的下采樣模塊,利用Signal Compiler生成HDL文件。
為了減少系統(tǒng)耗用的硬件資源,舍去輸出結(jié)果的低8位,保證分解前后信號保持同樣能量級。從圖1中可知,各個子模塊并行工作,子模塊之間無需任何交叉信號,數(shù)據(jù)從輸入端以流水線的方式向后傳遞,實現(xiàn)實時流水線工作。二級分解模塊的設計原理同一級分解模塊。
3.2 DSP Builder實現(xiàn)1D-DWT重構
由Mallat算法可知重構模塊的結(jié)構如圖2所示。首先對信號二次插值,然后信號并行從四級延遲線輸出,分別與FIR濾波器系數(shù)進行卷積,與分解不同的是重構有兩路信號輸入,經(jīng)過四級延遲后并行分別與FIR濾波器卷積,得到的結(jié)果再疊加便可得到重構信號,接著利用Signal Compiler生成HDL文件,重構模塊也是以流水線方式工作的。二次捕值模塊由DSP Builder的上采樣模塊實現(xiàn)。
4 仿真與設計
選定一組原始數(shù)據(jù)[1,2,3,4,5,6,7,8,9,10,11…],同時作為輸入信號,利用圖1生成的HDL文件,在Quartus II環(huán)境下時序仿真,圖3為一級小波分解時序仿真波形。利用圖2生成的HDL文件,同時把圖3低頻高頻的輸出結(jié)果作為重構輸入數(shù)據(jù),進行一級小波重構仿真,仿真波形如圖4所示。由圖3、圖4可以看出,重建后波形除有延遲外,其重建波形無失真,并能完美重構原信號,即輸入、輸出滿足q(n)=xin(n- k)。
利用小波變換的多尺度分解和重構方法濾除信號的某些成分(高頻或低頻),采用DB2小波對腦電信號進行四級小波包分解,按照小波包分解原理,級聯(lián)一級分解模塊,每經(jīng)一次分解輸入的一串數(shù)據(jù)降為原來的一半.采用分頻模塊控制各級時鐘信號,分頻模塊由VHDL語言編寫生成.同步輸出3個時鐘信號,以此作為后三級分解的時鐘輸入信號。然后對分解后的輸出信號進行四級小波包重構,按同樣方式處理,級聯(lián)一級重構模塊,每重構一次輸出數(shù)據(jù)都增為原來的2倍。嘗試采用鎖相環(huán)控制各級時鐘信號,鎖相環(huán)由Quartus II自帶的功能模塊實現(xiàn),同時輸出3個倍頻時鐘信號,作為后i級重構部分的輸入時鐘信號。
5 結(jié)論
利用信號的小波包分解高分辨率的時頻關系.在濾波部分選取因果濾波器對腦電信號進行實時濾波。在DSP Builder平臺上,結(jié)合Mallat算法和模塊化設計原則,設計出基于FPGA的流水線結(jié)構小波變換系統(tǒng),這種自上而下的高度模塊化設計方法使得系統(tǒng)的升級改動相當方便,將這種基于FPGA的小波變換系統(tǒng)設計應用于腦電信號的實時濾波,是今后的研究方向。
責任編輯:gt
-
dsp
+關注
關注
552文章
7959瀏覽量
347929 -
FPGA
+關注
關注
1625文章
21620瀏覽量
601239 -
單片機
+關注
關注
6030文章
44489瀏覽量
631996
發(fā)布評論請先 登錄
相關推薦
評論