0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

基于FPGA實現(xiàn)小波變換系統(tǒng)的應用設計

電子設計 ? 來源:電子設計工程 ? 作者:謝宏;劉玉霞;金曼 ? 2021-04-14 15:51 ? 次閱讀

作者:謝宏;劉玉霞;金曼;夏斌

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文件。

o4YBAGB2oByALMWWAAF9cjyjEkY089.png

為了減少系統(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)。

o4YBAGB2oBeASJ5UAAFfi4V47u8539.png

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)。

o4YBAGB2oA2ACDy2AAFyQvIqz98625.png

利用小波變換的多尺度分解和重構方法濾除信號的某些成分(高頻或低頻),采用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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • dsp
    dsp
    +關注

    關注

    552

    文章

    7959

    瀏覽量

    347929
  • FPGA
    +關注

    關注

    1625

    文章

    21620

    瀏覽量

    601239
  • 單片機
    +關注

    關注

    6030

    文章

    44489

    瀏覽量

    631996
收藏 人收藏

    評論

    相關推薦

    FPGA 實現(xiàn)變換

    如何用FPGA實現(xiàn)97整型小變換,各位有相關的資料嗎?
    發(fā)表于 10-15 09:34

    如何通過FPGA 可編程特性實現(xiàn)多種小變換?

    LS 小變換是怎樣進行的?FPGA 及提升核是怎樣實現(xiàn)的?如何實現(xiàn)提升小
    發(fā)表于 04-12 06:27

    怎樣去設計9/7二維離散小變換系統(tǒng)?

    怎樣去設計9/7二維離散小變換系統(tǒng)?如何對9/7二維離散小變換系統(tǒng)進行仿真?
    發(fā)表于 05-07 07:09

    基于DSP Builder的小變換設計實現(xiàn)

    的小波包分解高分辨率的時頻關系.在濾波部分選取因果濾波器對腦電信號進行實時濾波。在DSP Builder平臺上,結(jié)合Mallat算法和模塊化設計原則,設計出基于FPGA的流水線結(jié)構小變換系統(tǒng),這種
    發(fā)表于 05-13 07:00

    基于DSP Builder的小變換設計實現(xiàn)

    的小波包分解高分辨率的時頻關系.在濾波部分選取因果濾波器對腦電信號進行實時濾波。在DSP Builder平臺上,結(jié)合Mallat算法和模塊化設計原則,設計出基于FPGA的流水線結(jié)構小變換系統(tǒng),這種
    發(fā)表于 06-04 07:00

    提升小變換FPGA設計與實現(xiàn)

              根據(jù)1996 年Sweldens 等人提出的提升小變換方法,設計了一種有效的JPEG2000CDF(2,2)整數(shù)小
    發(fā)表于 09-12 11:28 ?30次下載

    視頻圖像實時小變換系統(tǒng)

    視頻圖像實時小變換系統(tǒng)由CCD攝像頭、視頻圖像采集卡和計算機軟件組成,利用數(shù)值方法對視頻圖像進行小變換,并實時顯示變換結(jié)果。實驗表明該
    發(fā)表于 03-02 14:23 ?26次下載

    基于FPGA的快速9/7整形離散小變換系統(tǒng)

    美國空間數(shù)據(jù)系統(tǒng)咨詢委員會(簡稱CCSDS)于2005年推出一套適用于空間領域的圖像壓縮標準,標準使用了離散小變換為核心算法,推薦使用9/7整數(shù)離散小
    發(fā)表于 01-25 21:33 ?1687次閱讀
    基于<b class='flag-5'>FPGA</b>的快速9/7整形離散小<b class='flag-5'>波</b><b class='flag-5'>變換系統(tǒng)</b>

    圖像的二維提升小變換FPGA實現(xiàn)

    本文將實現(xiàn)基于FPGA的圖像二維5/3提升小變換,采用FPGA芯片實現(xiàn)計算量十分復雜的二維提升
    發(fā)表于 06-29 11:59 ?3517次閱讀
    圖像的二維提升小<b class='flag-5'>波</b><b class='flag-5'>變換</b>的<b class='flag-5'>FPGA</b><b class='flag-5'>實現(xiàn)</b>

    基于FPGA的快速9/7整形離散小變換系統(tǒng)的設計過程與仿真

    CCSDS圖像數(shù)據(jù)壓縮標準中采用9/7整形離散小變換為核心算法,該算法結(jié)構簡單,易于硬件設計實現(xiàn)。文中基于FPGA設計實現(xiàn)了9/7整數(shù)離散
    發(fā)表于 11-24 14:26 ?1097次閱讀
    基于<b class='flag-5'>FPGA</b>的快速9/7整形離散小<b class='flag-5'>波</b><b class='flag-5'>變換系統(tǒng)</b>的設計過程與仿真

    基于賽靈思FPGA的快速9/7整形離散小變換系統(tǒng)設計

    CCSDS圖像數(shù)據(jù)壓縮標準中采用9/7整形離散小變換為核心算法,該算法結(jié)構簡單,易于硬件設計實現(xiàn)。文中基于FPGA設計實現(xiàn)了9/7整數(shù)離散
    發(fā)表于 11-25 03:41 ?559次閱讀
    基于賽靈思<b class='flag-5'>FPGA</b>的快速9/7整形離散小<b class='flag-5'>波</b><b class='flag-5'>變換系統(tǒng)</b>設計

    基于FPGA實現(xiàn)多種小變換

    基于提升框架的小變換方法,利用FPGA 可編程特性可實現(xiàn)多種小變換。提升框架(LS :Lif
    發(fā)表于 08-18 09:47 ?2102次閱讀
    基于<b class='flag-5'>FPGA</b><b class='flag-5'>實現(xiàn)</b>多種小<b class='flag-5'>波</b><b class='flag-5'>變換</b>

    如何使用FPGA實現(xiàn)多種小變換

    基于提升框架的小變換方法,利用FPGA 可編程特性可實現(xiàn)多種小變換。提升框架(LS :Lif
    的頭像 發(fā)表于 08-25 11:01 ?6032次閱讀
    如何使用<b class='flag-5'>FPGA</b><b class='flag-5'>實現(xiàn)</b>多種小<b class='flag-5'>波</b><b class='flag-5'>變換</b>

    多級二維整數(shù)小變換FPGA實現(xiàn)資料詳細說明

    (5,3)整數(shù)小變換的算法,接著闡述了一種多級二維(5,3)整數(shù)小變換FPGA實現(xiàn)結(jié)構,最
    發(fā)表于 02-01 11:53 ?9次下載

    基于FPGA提升框架的小變換方法

    基于提升框架的小變換方法,利用FPGA 可編程特性可實現(xiàn)多種小變換。提升框架(LS :Lif
    的頭像 發(fā)表于 05-11 15:33 ?697次閱讀
    基于<b class='flag-5'>FPGA</b>提升框架的小<b class='flag-5'>波</b><b class='flag-5'>變換</b>方法