Biomedical Engineering Reference
In-Depth Information
Raw ECG
data
(single lead )
I. Pre - processing
(Data smoothing)
II. Difference array
Generation and normalization
III. Grouping and sign byte
generation
IV. Nibble to byte combination
V. Zero element compression
VI. Integer to 8-bit ASCII conversion
Compressed data
file
Fig. 5.2
Stages of compression
The elements from the beginning of array y[] up to index h are discarded. The
normalized first difference array is formed in a new array b[] in the following way:
b ð i Þ¼ k x ð i Þ
for
i ¼ 1 ; 1000 ; 2000
ð 5 : 11 Þ
b ð i Þ¼ round ½ k y ð i Þ
for
k ¼ 1 999 ; 1001 1999
ð 5 : 12 Þ
where the 'round' operator converts to the nearest integer.
This rounding operation results in a quantization error. During the recon-
struction process, while the first difference elements are cumulatively added with
the first element to generate the original samples, this quantization error can
become significant after few thousand samples along the array. To minimize this,
the original normalized sample is incorporated after a fixed interval (here, 1,000
first difference elements). Again, the magnitude of elements 1, 1,000, 2,000, etc.,
may be much greater than 99. So, each of these elements are split into 3 parts, each
of which can have maximum value of 99. The splitting is performed as follows:
Considering b(1) = 205.32 (normalized original sample)
The split bytes b 11 , b 12 , and b 13 from the original byte b(1) are generated as:
b 11 ¼ fix ½ b ð 1 Þ= 100 ¼ 02
b 12 ¼ fix ½ b ð 1 Þ b 11 100 ¼ 05
b 13 ¼ fix ½f b ð 1 Þ b 11 100 b 12 g 100 ¼ 32
The elements b 11 , b 12 , and b 13 are placed as first three elements c 1 , c 2 , and c 3 of a
new array c[]. The following 999 elements c(4) to c(1002) are the elements b(2) to
b(999). So, each block of 1,000 elements from array b generates 1,002 elements in
Search WWH ::




Custom Search