1640 IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, VOL. 56, NO. 5, OCTOBER 2007
Discrete Wavelet Transform Signal Analyzer
Pedro Henrique Cox and Aparecido Augusto de Carvalho
Abstract—This paper addresses the problem of processing bi-
ological data, such as cardiac beats in the audio and ultrasonic
range, and on calculating wavelet coefficients in real time, with
the processor clock running at a frequency of present applica-
tion-specified integrated circuits and field programmable gate
array. The parallel filter architecture for discrete wavelet trans-
form (DWT) has been improved, calculating the wavelet coeffi-
cients in real time with hardware reduced up to 60%. The new
architecture, which also processes inverse DWT, is implemented
with the Radix-2 or the Booth–Wallace constant multipliers. One
integrated circuit signal analyzer in the ultrasonic range, including
series memory register banks, is presented.
Index Terms—Asynchronous logic circuits, digital filters, digital
signal processors, last in last out memory, logic design, sequential
machines, signal analysis and synthesis.
I. I NTRODUCTION
T
HE DISCRETE wavelet transform (DWT) algorithm [1],
[2], [5] provides efficient multiresolution subband coding
representation in the time-scale plane. In each step, the signal
is high-pass and low-pass filtered (Fig. 1). An algorithm for
the calculation of 1-D DWT is proposed [1]. In this algorithm,
DWT coefficients in one level are calculated with DWT co-
efficients of the previous level. The input data sequence l
0
has N
0
= p2
J
samples, where p is an integer, and J is the
number of levels of the transform. Each decomposition level
j , 1 ≤ j ≤ J can be seen as the further decomposition of the
sequence l
j-1
, which has N
j-1
samples, into two subbands l
j
and h
j
, both with N
j
= N
j-1
/2 samples.
Such a decomposition is produced by two convolutions,
followed by a decimation by two.
In (1), a
i
and c
i
denote coefficients on low-pass L
j
and high-
pass H
j
(Fig. 1), M tap filters, l
j
n
=0 for n< 0 and n ≥ J
l
j
n
=
M-1
i=0
a
i
· l
j-1
2n-i
, 0 ≤ n ≤ N
j
- 1 (1a)
h
j
n
=
M-1
i=0
c
i
· l
j-1
2n-i
, 0 ≤ n ≤ N
j
- 1. (1b)
For computing the DWT coefficients of the input discrete-
time data, it is assumed that the input data represent the
Manuscript received February 15, 2006; revised August 31, 2006.
P. H. Cox is with DEL CCET UFMS—Departamento de Engenharia Elétrica,
Universidade Federal de Mato Grosso do Sul, Cidade Universitária, 79070-900
Campo Grande, Brazil (e-mail: phcox@del.ufms.br).
A. A. de Carvalho is with the DEE FEIS UNESP—Departamento de
Engenharia Elétrica, Universidade do Estado de São Paulo, Faculdade
de Engenharia de Ilha Solteira, 15385-000 Ilha Solteira, Brazil (e-mail:
aac@dee.feis.unesp.br).
Digital Object Identifier 10.1109/TIM.2007.894797
Fig. 1. Signal analysis and synthesis for a J -level DWT/IDWT.
DWT coefficients of a higher resolution level. Coefficients of
subsequent levels are obtained from (1). Hence, DWT extracts
information from the signal at different scales. The first level of
wavelet decomposition extracts the high-frequency components
of the signal, while the second and all subsequent wavelet
decompositions extract, progressively, lower frequency compo-
nents. A few levels are enough to have a good approximation of
the signal with discrete wavelet coefficients. The four-level 1-D
DWT with low-pass eight-order filter wavelet coefficients are
presented in (2). Numerical equations for high-pass direct and
1-D inverse discrete wavelet transform (IDWT) filters are
obtained from (1b) and (3a) and (3b), which follow
later.
l
1
(0) = a
0
l
0
(0) + a
1
l
0
(-1) + a
2
l
0
(-2)
+ a
3
l
0
(-3) + a
4
l
0
(-4) + a
5
l
0
(-5)
+ a
6
l
0
(-6) + a
7
l
0
(-7) (2a)
l
1
(2) = a
0
l
0
(2) + a
1
l
0
(1) + a
2
l
0
(0)
+ a
3
l
0
(-1) + a
4
l
0
(-2) + a
5
l
0
(-3)
+ a
6
l
0
(-4) + a
7
l
0
(-5) (2b)
l
1
(4) = a
0
l
0
(4) + a
1
l
0
(3) + a
2
l
0
(2)
+ a
3
l
0
(1) + a
4
l
0
(0) + a
5
l
0
(-1)
+ a
6
l
0
(-2) + a
7
l
0
(-3) (2c)
l
1
(6) = a
0
l
0
(6) + a
1
l
0
(5) + a
2
l
0
(4)
+ a
3
l
0
(3) + a
4
l
0
(2) + a
5
l
0
(1)
+ a
6
l
0
(0) + a
7
l
0
(-1) (2d)
l
1
(8) = a
0
l
0
(8) + a
1
l
0
(7) + a
2
l
0
(6)
+ a
3
l
0
(5) + a
4
l
0
(4) + a
5
l
0
(3)
+ a
6
l
0
(2) + a
7
l
0
(1) (2e)
l
1
(10) = a
0
l
0
(10) + a
1
l
0
(9) + a
2
l
0
(8)
+ a
3
l
0
(7) + a
4
l
0
(6) + a
5
l
0
(5)
+ a
6
l
0
(4) + a
7
l
0
(3) (2f)
0018-9456/$25.00 © 2007 IEEE