Wavelet Compression of ECG Signals Using SPIHT Algorithm Mohammad Pooyan, Ali Taheri, Morteza Moazami-Goudarzi, Iman Saboori AbstractIn this paper we present a novel approach for wavelet compression of electrocardiogram (ECG) signals based on the set partitioning in hierarchical trees (SPIHT) coding algorithm. SPIHT algorithm has achieved prominent success in image compression. Here we use a modified version of SPIHT for one dimensional signals. We applied wavelet transform with SPIHT coding algorithm on different records of MIT-BIH database. The results show the high efficiency of this method in ECG compression. KeywordsECG compression, wavelet, SPIHT. I. INTRODUCTION LECTROCARDIOGRAM (ECG) signal is a very useful source of information for physicians in diagnosing heart abnormalities. With the increasing use of ECG in heart diagnosis, such as 24 hour monitoring or in ambulatory monitoring systems, the volume of ECG data that should be stored or transmitted, has greatly increased. For example, a 3 channel, 24 hour ambulatory ECG, typically has storage requirement of over 50 MB. Therefore we need to reduce the data volume to decrease storage cost or make ECG signal suitable and ready for transmission through common communication channels such as phone line or mobile channel. So, we need an effective data compression method. The main goal of any compression technique is to achieve maximum data reduction while preserving the significant signal morphology features upon reconstruction. Data compression methods have been mainly divided into two major categories: 1) direct methods, in which actual signal samples are analyzed (time domain), 2) transformational methods, in which first apply a transform to the signal and do spectral and energy distribution analysis of signals. Examples of direct methods are: differential pulse code modulation (DPCM), amplitude zone time epoch coding (A TEC), turning point, coordinate reduction time encoding system (CORTES), Fan algorithm, ASEC. Reference [1] is a good review of some direct compression methods used in ECG compression. Manuscript received January 25, 2004. M. Pooyan is with the Department of Electrical Engineering, Shahed University, Tehran, Iran. (email: m pooyan@shahed.ac.ir). A. Taheri and M. Moazami-Goudarzi are with the Faculty of Biomedical Engineering, Amir Kabir University of Technology, Tehran, Iran (email: ali.taherii@gmail.com, mmoazami@bme.aut.ac.ir). I. Saboori is with the department of electrical Engineering, Amir Kabir University of Technology, Tehran, Iran (email: iman saboori@yahoo.com). Some of the transformations used in transformational compression methods are Fourier transform, discrete cosine transform (DCT), Walsh transform, Karhunen-Loeve transform (KLT), and wavelet transform. The main idea in using transformation in compression methods is to compact the energy of signal in much less samples than in time domain, so we can discard small transform coefficients (set them to zero). From this point of view, we want to use a transformation that more compacts the energy of signal in less samples in transform domain, which are transform coefficients. It has been shown that wavelet transform has a good localization property in time and frequency domain and is exactly in the direction of transform compression idea. Here, for ECG compression, we use wavelet transform with SPIHT coding algorithm, modified for 1-D signals, for coding the wavelet coefficients. II. WAVELET TRANSFORM A. Introduction In wavelet transform, we use wavelets as transform basis. Wavelet functions are functions generated from one single function by scaling and translation: ( , 1 () ab t b t a a = ) (1) The mother wavelet has to be zero integral, () t () 0 t dt = . From (1) we see that high frequency wavelets correspond to or narrow width, while low frequency wavelets correspond to or wider width. 1 a < 1 a > The basic idea of wavelet transform is to represent any function f as a linear superposition of wavelets. Any such superposition decomposes f to different scale levels, where each level can be then further decomposed with a resolution adapted to that level. One general way to do this is writing f as the sum of wavelets over m and n . This leads to discrete wavelet transform (DWT): , () mn t , , () () mn mn ft c = t (2) By introducing the multi-resolution analysis (MRA) idea by Mallat [3], in discrete wavelet transform we really use two functions: wavelet function and scaling function . If we have a scaling function , then the sequence of subspaces spanned by its scalings and translations () t () t 2 () ( ) t L E International Journal of Signal Processing 1;4 © www.waset.org Fall 2005 219