<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于小波變換的ECG信號壓縮及其FPGA實(shí)現

基于小波變換的ECG信號壓縮及其FPGA實(shí)現

作者: 時(shí)間:2017-06-05 來(lái)源:網(wǎng)絡(luò ) 收藏

醫生在判斷心臟方面的疾病時(shí),心電圖ECG(Electrocardiogram)通常是一個(gè)最直接且最有效的判斷依據。心電圖是利用一維波形來(lái)描述心臟搏動(dòng)時(shí)的電位變化。因此,ECG信號在心血管疾病的診斷和研究中具有重要的參考價(jià)值。醫生希望能夠將病人的心電數據全部保存下來(lái),以便對病人不同時(shí)期的心電圖進(jìn)行比較和科學(xué)研究之用。但是心電數據的備份和存儲將占用非常巨大的資源,尤其是在便攜式醫療監護系統中,將直接影響到系統的成本。為此,如何有效地對ECG信號進(jìn)行壓縮和解壓縮,以最大程度地保留原有的信號特征,并達到盡可能大的壓縮效率是目前研究的重點(diǎn)。本文重點(diǎn)研究了基于的ECG信號壓縮算法及其實(shí)現方法,為ECG信號的實(shí)時(shí)壓縮和處理提供一種解決方案。

本文引用地址:http://dyxdggzs.com/article/201706/349202.htm

1 及其提升模式

自1988年起離散DWT逐漸成為信號處理中極為重要且強大的工具,原因是其具有以下幾個(gè)顯著(zhù)的特性:

空間-頻率的位置相似性;能量集中;子頻帶間的相對數值相似性;易于設計反變換。

在數據壓縮領(lǐng)域中,DWT已經(jīng)大量且成功的被應用在一維信號、視頻壓縮中,而且在近幾年被采納為JPEG2000及MPEG4等視頻的世界壓縮標準。

DWT在應用上主要是利用以卷積(Convolution)為基礎的FIR濾波器實(shí)現,包括以一對高通與低通FIR濾波器所構成的小波分解及合成。以FIR濾波器所建構的DWT通常被稱(chēng)為傳統小波轉換,為了讓DWT運算更有效率,仍有許多文獻著(zhù)重于改良其架構,其中由Sweldens在1996年提出的上提式小波轉換是至今較優(yōu)異的一個(gè)。Sweldens已經(jīng)證明了在提升的基礎上可以進(jìn)行整數集到整數集的小波變換, 這是提升小波實(shí)現無(wú)損壓縮的理論基礎。小波提升算法的基本思想是通過(guò)由基本小波逐步構建出一個(gè)具有更加良好性質(zhì)的新小波。該方法視DWT為一個(gè)預測-失真的系統,并分別利用分解、預測及更新三個(gè)部分來(lái)完成:將數據分為偶數序列和奇數序列兩部分;用分解的偶數序列預測奇數序列,得到的預測誤差為變換的高頻分量;由預測誤差來(lái)更新偶數序列,得到變換的低頻分量。提升方案如圖1所示。

相較于傳統的DWT,它具有較低的運算復雜度,因此更有利于硬件實(shí)現。

本文采用的是(5,3)提升小波變換,其算法為:


2 小波變換應用于ECG數據壓縮原理

小波變換的一個(gè)非常吸引人的特征是由粗到精的多分辨分析,即可將信號按不同的分辨率進(jìn)行分解后,再分別進(jìn)行分析處理。將小波變換運用于壓縮,是基于小波多分辨分析技術(shù)的。在壓縮時(shí),ECG在不同的尺度下被分解成不同的信號,然后對這些信號分別進(jìn)行壓縮編碼;恢復時(shí)將這些編碼結果進(jìn)行解碼,進(jìn)行反變換后形成恢復信號。編碼方式有很多種,本文選擇的是基于碼本的編碼方式,通過(guò)從輸入的數據中建立碼書(shū)來(lái)對信號進(jìn)行編碼,為提高壓縮比率,在建立碼書(shū)的過(guò)程中會(huì )引入量化。本文采取的ECG小波變換壓縮原理如圖2所示。


3 實(shí)現

基于診斷上的特殊需求,一個(gè)好的ECG壓縮演算法不僅需具有高壓縮率的特性,且必須盡量在被壓縮后的信號中保存有醫生用來(lái)判別病癥的診斷資訊。此外,為了廣泛的應用需求,所發(fā)展出來(lái)的ECG壓縮演算法應具有即時(shí)壓縮的特性。因此,本設計研究了該壓縮算法的實(shí)現,以使ECG信號能夠得到實(shí)時(shí)的壓縮和處理。

本文研究了提升小波的硬件實(shí)現方法,根據FPGA器件具有快速邏輯處理能力的特點(diǎn),采用流水線(xiàn)的加法及數據移位操作等,設計了一種適合FPGA實(shí)現的快速小波變換硬件結構。采用基于Matlab的設計工具DSP Builder,在A(yíng)ltera CYCLONE器件EP2C35F672C6上實(shí)現5/3小波變換及逆變換的功能,并在Quartus軟件下進(jìn)行綜合、仿真及下載。

Altera DSP Builder是一套完整的基于FPGA的DSP開(kāi)發(fā)工具,在Simulink中作為一個(gè)獨立的Blockse工具箱,包含數學(xué)運算(arithmetic)、存儲單元(storage)及MATLAB文件(mdl)/VHDL文件轉換模塊等功能庫。利用這些功能單元及Simulink中的其他工具箱可以進(jìn)行FPGA的設計、仿真及生成VHDL代碼。

由于原始數據在進(jìn)行了一次運算產(chǎn)生新數據之后不再參與進(jìn)一步的運算,因而新數據可以覆蓋原始數據,不必另開(kāi)存儲單元,節省了資源。該提升算法不需要額外的數據延拓,由于采用的是對稱(chēng)鏡像延拓,在處理邊界問(wèn)題時(shí),只要在適當的位置進(jìn)行兩次操作以保持數據就可以了。從算式可知,提升算法的正變換的每一個(gè)高頻分量都是將其前后連續的數據加權求和得到的,可以通過(guò)流水線(xiàn)式操作實(shí)現,這不僅有利于提升小波變換的速度,更簡(jiǎn)化和節約了硬件資源的使用。這也是本文采用的小波變換算法的硬件實(shí)現原理。圖3為基于DSP Builder的一維小波變換核的FPGA算法實(shí)現。

通過(guò)對輸入ECG信號的仿真分析以及信號在MATLAB中使用wavedec函數進(jìn)行分解得到的結果與基于本設計的變換核的1D-DWT變換的仿真結果的比較(如圖4),可以了解本變換核的性能。由于采用了流水線(xiàn)操作原理以及采用了流水線(xiàn)架構的乘加邏輯,系統的變換速度得到了很大的提高。該變換核在輸入3個(gè)數據后得到第一個(gè)低頻變換系數,在輸入5個(gè)數據后即開(kāi)始得到第二個(gè)低頻變換系數和第一個(gè)高頻變換系數,之后每輸入2個(gè)數據就各得到一個(gè)高頻和低頻分量。通過(guò)控制邏輯將這些分量在適當的時(shí)候輸出并存儲起來(lái)就可以完成本次小波變換。

逆變換的設計方法與正變換的方法相似,根據式(3)和式(4),首先由輸入的高通、低通濾波系數序列計算出偶序列,再根據偶序列的數值計算出奇數列的數值,對于邊界問(wèn)題也采用“補零”的方法。逆變換設計的方法是在圖3中將變換輸入單元改為變換后的序數,通過(guò)逐個(gè)將數據輸入并經(jīng)過(guò)依據式(3)和式(4)重新設置權重,即可實(shí)現該小波的反變換核。同時(shí)通過(guò)計算單元,利用偶序列的計算結果計算出奇序列的數值,最終實(shí)現原始信號的重建過(guò)程。

由于本設計旨在使用DWT變換實(shí)現對ECG信號的壓縮,因此,采用了5級小波變換的措施以減小數據量,實(shí)現最大程度的低失真壓縮,其原理圖如圖5所示。

該模塊首先將ECG信號分成1 024點(diǎn)的幀,然后逐個(gè)送入5級小波變換模塊。在該模塊中的控制將選通輸入信號為外部送入的ECG信號作為輸入1D-DWT的變換對象,變換后的對象存儲在C5、D5、D4、D3、D2、D1中。D1的大小為512 B,存放的是第一次變換后的高頻分量,低頻分量依次存儲于C5D5D4D3D2。接著(zhù)控制邏輯將選通低頻分量C5D5D4D3D2作為1D-DWT的變換對象,變換后的高頻分量存儲于D2,低頻分量存儲于C5D5D4D3,即實(shí)現了對于ECG信號的2-level DWT變換。這樣經(jīng)過(guò)5次變換后得到的變換結果為C5:32 B、D5:32 B、D4:64 B、D3:128 B、D2:256 B、D1:512 B。通過(guò)設定閾值可以實(shí)現噪聲可控的量化,并建立段數據的碼書(shū),以實(shí)現數據與編碼之間的對應。對于ECG信號的重建,可以理解為小波分解壓縮的逆過(guò)程。首先將壓縮后的信號解碼后按序送入C5D5D4D3D2D1,控制邏輯電路將逐層對信號進(jìn)行反變換,從而得到重建后的信號。當閾值設置大于零時(shí),重建的信號將會(huì )存在一些失真,即為有損壓縮,若要實(shí)現無(wú)損壓縮,則只需將閾值設為零即可,但壓縮率會(huì )有所降低。

4 實(shí)驗數據及結果

本設計的5級小波變換模塊在quatus中采用EP2C35F672C6編譯后占用的資源及性能情況如表1所示。

利用該模塊分別對采集的不同ECG信號和經(jīng)過(guò)放大和取整處理之后的MIT的ECG信號進(jìn)行壓縮實(shí)驗,使用兩個(gè)指標來(lái)衡量本壓縮算法的性能。一個(gè)是壓縮比CR(Compression ratio),另一個(gè)是均方根誤差PRD(percent root mean square difference)。具體的計算公式為:

其中Xo(i)、Xr(i)分別代表原始心電信號數據和重建后的心電信號數據。得到的壓縮率與閾值及信號的對應數據如表2所示。

從表中可以看出,本算法能在一定的PRD范圍內獲得較大的壓縮比,在閾值D等于零時(shí),依靠碼本編碼算法依然獲得了一定得壓縮比,但由于小波變換核在運算過(guò)程中具有右移位操作,還是造成了很小的失真,即在D=0時(shí)僅能做到準無(wú)損壓縮。圖6為閾值等于5時(shí),對MIT-100.dat信號重建的結果。

通過(guò)對5/3小波變換的研究,設計實(shí)現了5層小波變換及其反變換的FPGA硬件實(shí)現,并對結果進(jìn)行了仿真及實(shí)例驗證,得到了很好的效果。采用Altera的DSP Builder進(jìn)行開(kāi)發(fā),具有使用靈活、開(kāi)發(fā)周期短的特點(diǎn)。采用 FPGA實(shí)現小波變換與用 DSP處理器的方法相比,具有速度快、數據寬度可任意設置的特點(diǎn),并且硬件語(yǔ)言具有可移植性的特點(diǎn),具有更強的通用性。由于在現代信號處理中的大量應用,可以將小波變換核設計成可重用的IP。

在完成小波變換的FPGA實(shí)現后,本文將其應用于ECG信號的壓縮,通過(guò)多層小波變換與編碼的結合,實(shí)現了ECG信號實(shí)時(shí)有效的壓縮和重建。



關(guān)鍵詞: ECG信號處理 小波變換 FPGA

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>