You are on page 1of 72

CHAPTER 1

INTRODUCTION
The fundamental idea behind wavelets is to analyze according to scale.
Indeed, some researchers in the wavelet field feel that, by using wavelets, one is
adopting a perspective in processing data. Wavelets are functions that satisfy certain
mathematical requirements and are used in representing data or other functions. This
idea is not new. Approximation using superposition of functions has existed since the
early !""#s, when $oseph %ourier discovered that he could superpose sines and
cosines to represent other functions. &owever, in wavelet analysis, the scale that we
use to loo' at data plays a special role. Wavelet algorithms process data at different
scales or resolutions.
%ourier Transform (%T) with its fast algorithms (%%T) is an important tool for
analysis and processing of many natural signals. %T has certain limitations to
characterize many natural signals, which are non*stationary (e.g. speech). Though a
time varying, overlapping window based %T namely +T%T (+hort Time %T) is well
'nown for speech processing applications, a time*scale based Wavelet Transform is a
powerful mathematical tool for non*stationary signals.
Wavelet Transform uses a set of damped oscillating functions 'nown as
wavelet basis. WT in its continuous (analog) form is represented as ,WT. ,WT with
various deterministic or non*deterministic bases is a more effective representation of
signals for analysis as well as characterization. ,ontinuous wavelet transform is
powerful in singularity detection. A discrete and fast implementation of ,WT
(generally with real valued basis) is 'nown as the standard -WT (-iscrete Wavelet
Transform).With standard -WT, signal has a same data size in transform domain and
therefore it is a non*redundant transform. A very important property was .ulti*
resolution Analysis (./A) allows -WT to view and process.

1.1Types of Transforms
%T (%ourier Transform).
-,T (-iscrete ,osine Transform)
+T%(+hort time %ourier Transform)
WT (Wavelet Transform)
1.1.1FT (Fourier Transform):
%ourier transform is a well*'nown mathematical tool to transform time*
domain signal to frequency*domain for efficient extraction of information and it is
reversible also.
Though %T has a great ability to capture signal0s frequency content as long as
x(t) is composed of few stationary components (e.g. sine waves). &owever, any
abrupt change in time for non*stationary signal x(t) is spread out over the whole
frequency axis in 1(f). &ence the time*domain signal sampled with -irac*delta
function is highly localized in time but spills over entire frequency band and vice
versa. The limitation of %T is that it cannot offer both time and frequency localization
of a signal at the same time.
The %T representation for a finite duration sequence is
(.)

d e j X n X
n j
= ) (
2

) (

N
k

2
=
(.2)
Where x(n) is a finite duration sequence, 1(34) is periodic with period 25.It is
convenient sample 1(34) with a sampling frequency equal an integer multiple of its
period 6m that is ta'ing 7 uniformly spaced samples between " and 25.
8et (.9)
Therefore
(.:)
+ince 1(34) is sampled for one period and there are 7 samples 1(34) can be
expressed as

1.1.Dis!re"e Fourier "ransforms
The %ourier transform#s utility lies in its ability to analyze a signal in the time
domain for its frequency content. The transform wor's by first translating a function
in the time domain into a function in the frequency domain. The signal can then be
analyzed for its frequency content because the %ourier coefficients of the transformed
function represent the contribution of each sine and cosine function at each frequency.
An inverse %ourier transform does 3ust what you would expect, transform data from
the frequency domain into the time domain.
Windowed %ourier transform# If f(t) is a non*periodic signal, the summation of
the periodic functions, sine and cosine, does not accurately represent the signal. ;ou
could artificially extend the signal to ma'e it periodic but it would require additional
continuity at the endpoints. The windowed %ourier transform (W%T) is one solution to
the problem of better representing the non periodic signal. The W%T can be used to
give information about signals simultaneously in the time domain and in the
frequency domain.
With the W%T, the input signal f(t) is chopped up into sections, and each
section is analyzed for its frequency content separately. If the signal has sharp
transitions, window uses input data so that the sections converge to zero at the
endpoint. This windowing is accomplished via a weight function that places less
emphasis near the interval#s endpoints than in the middle. The effect of the window is
to localize the signal in time.
%ast %ourier transform *To approximate a function by samples, and to
approximate the %ourier integral by the discrete %ourier transform, requires applying a
matrix whose order is the number sample points n. +ince multiplying an matrix
by a vector costs on the order of arithmetic operations, the problem gets quic'ly
worse as the number of sample points increases. &owever, if the samples are
uniformly spaced, then the %ourier matrix can be factored into a product of 3ust a few
sparse matrices, and the resulting factors can be applied to a vector in a total of order
arithmetic operations. This is the so*called fast %ourier transform or %%T.
1.1.$ %a&e'e" Transform (%T)
%ixed resolution limitation of +T%T can be resolved by letting the resolution in
time*frequency plane in order to obtain .ulti resolution analysis. The Wavelet
Transform (WT) in its continuous (,WT) form provides a flexible time*frequency,
which narrows when observing high frequency phenomena and widens when
analyzing low frequency behaviour. Thus time resolution becomes arbitrarily good at
high frequencies, while the frequency resolution becomes arbitrarily good at low
frequencies. This 'ind of analysis is suitable for signals composed of high frequency
components with short duration and low frequency components with long duration,
which is often the case in practical situations.
The -iscrete Wavelet Transform (-WT) refers to wavelet transforms for
which the wavelets are discretely sampled. A transform which localizes a function
both in space and scaling and has some desirable properties compared to the %ourier
transform. The transform is based on a wavelet matrix, which can be computed more
quic'ly than the analogous %ourier matrix. .ost notably, the discrete wavelet
transform is used for signal coding, where the properties of the transform are
exploited to represent a discrete signal in a more redundant form, often as a
preconditioning for data compression. The discrete wavelet transform has a huge
number of applications in +cience, <ngineering, .athematics and ,omputer +cience.
Wavelet compression is a form of data compression well suited for image
compression (sometimes also video compression and audio compression). The goal is
to store image data in as little space as possible in a file. A certain loss of quality is
accepted (lossy ,ompression).
=sing a wavelet transform, the wavelet compression methods are better at
representing transients, such as percussion sounds in audio, or high*frequency
components in two*dimensional images, for example an image of stars on a night s'y.
This means that the transient elements of a data.
+ignal can be represented by a smaller amount of information than would be
the case if some other transform, such as the more widespread discrete cosine
transform, had been used.
%irst a wavelet transform is applied. This produces as many coefficients as
there are pixels in the image (i.e.> there is no compression yet since it is only a
transform). These coefficients can then be compressed more easily because the
information is statistically concentrated in 3ust a few coefficients.
1. Compara"i&e (isua'isa"ion
The time*frequency representation problem is illustrated in figure.2. A
comprehensive visualization of various time*frequency representations shown in
figure ., demonstrates the time*frequency resolution for a given signal in various
transform domains with their corresponding basis functions.
%ig. ,omparative visualizations of time*frequency representation of an arbitrary
non*stationary signal in various transform domains
1.) *imi'ari"ies +e",een Fourier an- %a&e'e" Transform
The fast %ourier transform (%%T) and the discrete wavelet transform (-WT)
are both linear operations that generate a data structure that contains log
n
2
segments of
various lengths, usually filling and transforming it into a different data vector of
length 2
n
.
The mathematical properties of the matrices involved in the transforms are
similar as well. The inverse transform matrix for both the %%T and the -WT is the
transpose of the original. As a result, both transforms can be viewed as a rotation in
function space to a different domain. %or the %%T, this new domain contains basis
functions that are sines and cosines. %or the wavelet transform, this new domain
contains more complicated basis functions called wavelets, mother wavelets, or
analyzing wavelets.
?oth transforms have another similarity. The basis functions are localized in
frequency, ma'ing mathematical tools such as power spectra (how much power is
contained in a frequency interval) and scale grams (to be defined later) useful at
pic'ing out frequencies and calculating power distributions.
1.$ Dissimi'ari"ies +e",een Fourier an- %a&e'e" Transform
The most interesting dissimilarity between these two 'inds of transforms is
that individual wavelet functions are localized in space. %ourier sine and cosine
functions are not. This localization feature, along with wavelets# localization of
frequency, ma'es many functions and operators using wavelets @sparse@ when
transformed into the wavelet domain. This sparseness, in turn, results in a number of
useful applications such as data compression, detecting features in images, and
removing noise from time series.
1.. T/esis Or0ani1a"ion
The 2*- discrete wavelet transforms (-WT) have been widely used in many
applications li'e image compression, signal processing, speech compression because
of their multi*resolution of signals with localization both in time and frequency. In the
past, much architecture have been proposed aimed at providing high A speed 2*-
-WT computation with the requirement of utilizing a reasonable amount of hard ware
resources. These architectures can be broadly classified into separable and non
separable architectures. The separable method is the most straight forward
implementation method. In separable method, a 2*- filtering operations, one for
processing the data row*wise and the other column*wise. In this method the
intermediate coefficients stores in a frame memory first. Then it performs *- -WT
in other direction with these intermediate coefficients to complete one*level 2*- -WT
.?ecause the size of this frame memory is usually assumed to off chip. &owever,
the separable method performs *- -WT in both directions simultaneously. Thus in
separable architectures, in which a *- filtering structure is used to perform the 2*-
-WT, have an additional requirement of transposing the intermediate data between
the two *- filtering processes. &ence the separable method does not require a frame
memory to store the intermediate data. Instead, some internal line buffers are used to
store the intermediate data, and the required size is proportional to the image width.
Bishwanath have proposed a low*storage short*latency separable architecture in
which the row wise operations are performed by systolic filters and the column
operations by parallel filters. In non separable architectures the 2*- transforms are
computed directly by using 2*- filters. ,ha'rabarti have proposed two non separable
architectures, one using parallel 2*- filters and the other an +I.- 2*- array, both
based on a modified /CA. In non separable method internal line buffers are use to
store the boundary data among neighbour bloc's such as to 'eep the required external
frame memory bandwidth as low as the separable method. &owever, the external
memory access would consume the most power and become very sensitive in the case
of system on chip. In addition, the required external memory bandwidth of the non*
separable is more than the double of the separable method. The most existing
separable architectures aim at providing fast computation of the -WT by using
pipeline and a large number of parallel filters and systolic filters. &owever these
existing architectures have large latency and memory size increases because of by
providing additional requirement of transposing the intermediate data between the two
*- filtering processes.
+eparable pipeline architecture for fast computation of the 2*- -WT with a
less memory and low latency is proposed. The low latency and less memory is
achieved by proper designing of two *- -WT filtering processes and also efficiently
transferring the data between the two *- -WT filters.
The documentation is organized as follows. In chapter one, the basics of the
transforms is presented. ,hapter two explains about the wavelet transform. ,hapter
three explains about the -iscrete Wavelet Transform and its types, and architecture of
the existing method.
In chapter four a study is conducted to determine the coefficients of 2*- -WT
by using separable 2*- -WT with low latency and less memory.
CHAPTER
%A(E2ET TRAN*FOR3
.1 In"ro-u!"ion
The wavelet transform is computed separately for different segments
of the time*domain signal at different frequencies. .ulti*resolution analysis> analyzes
the signal at different frequencies giving different resolutions. .ulti*resolution
analysis is designed to give good time resolution and poor frequency resolution at
high frequencies and good frequency resolution and poor time resolution at low
frequencies. Dood for signal having high frequency components for short durations
and low frequency components for long duration, e.g. Images and video frames.
The fundamental idea behind wavelets is to analyze according to scale.
Indeed, some researchers in the wavelet field feel that, by using wavelets, one is
adopting a whole new mindset or perspective in processing data.
Wavelets are functions that satisfy certain mathematical requirements and are
used in representing data or other functions. This idea is not new. Approximation
using superposition of functions has existed since the early !""#s, when $oseph
%ourier discovered that he could superpose sines and cosines to represent other
functions. &owever, in wavelet analysis, the scale that we use to loo' at data plays a
special role. Wavelet algorithms process data at different scales or resolutions. If we
loo' at a signal with a large @window,@ we would notice gross features. +imilarly, if
we loo' at a signal with a small @window,@ we would notice small features. The result
in wavelet analysis is to see both the forest and the trees, so to spea'.
This ma'es wavelets interesting and useful. %or many decades, scientists have
wanted more appropriate functions than the sines and cosines which comprise the
bases of %ourier analysis, to approximate choppy signals. ?y their definition, these
functions are non*local (and stretch out to infinity). They therefore do a very poor 3ob
in approximating sharp spi'es. ?ut with wavelet analysis, we can use approximating
functions that are contained neatly in finite domains. Wavelets are well*suited for
approximating data with sharp discontinuities.
The wavelet analysis procedure is to adopt a wavelet prototype function,
called an analyzing wavelet or mother wavelet. Temporal analysis is performed with a
contracted, high*frequency version of the prototype wavelet, while frequency analysis
is performed with a dilated, low*frequency version of the same wavelet. ?ecause the
original signal or function can be represented in terms of a wavelet expansion (using
coefficients in a linear combination of the wavelet functions), data operations can be
performed using 3ust the corresponding wavelet coefficients. And if you further
choose the best wavelets adapted to your data, or truncate the coefficients below a
threshold, your data is sparsely represented. This sparse coding ma'es wavelets an
excellent tool in the field of data compression.
Ether applied fields that are ma'ing use of wavelets include astronomy,
acoustics, nuclear engineering, sub*band coding, signal and image processing,
neurophysiology, music, magnetic resonance imaging, speech discrimination, optics,
fractals, turbulence, earthqua'e*prediction, radar, human vision, and pure
mathematics applications such as solving partial differential equations.
. %a&e'e" Defini"ion
A Fwavelet0 is a small wave which has its energy concentrated in time. It has
an oscillating waveli'e characteristic but also has the ability to allow simultaneous
time and frequency analysis and it is a suitable tool for transient, non*stationary or
time*varying phenomena.

(a) (b)
%ig2. /epresentation of (a) wave (b) wavelet
.) %a&e'e" C/ara!"eris"i!s
The difference between wave (sinusoids) and wavelet is shown in figure ..
Waves are smooth, predictable and everlasting, whereas wavelets are of limited
duration, irregular and may be asymmetric. Waves are used as deterministic basis
functions in %ourier analysis for the expansion of functions (signals), which are time*
invariant, or stationary. The important characteristic of wavelets is that they can serve
as deterministic or non*deterministic basis for generation and analysis of the most
natural signals to provide better time*frequency representation, which is not possible
with waves using conventional %ourier analysis.
.$ %a&e'e" Ana'ysis
The wavelet analysis procedure is to adopt a wavelet prototype function,
called an Fanalyzing wavelet0 or Fmother wavelet0. Temporal analysis is performed
with a contracted, high frequency version of the prototype wavelet, while frequency
analysis is performed with a dilated, low frequency version of the same wavelet.
.athematical formulation of signal expansion using wavelets gives Wavelet
Transform (WT) pair, which is analogous to the %ourier Transform (%T) pair.
-iscrete*time and discrete*parameter version of WT is termed as -iscrete Wavelet
Transform (-WT).
,ompactly supported wavelets are functions defined over a finite interval and
having an average value of zero. The basic idea of the wavelet transform is to
represent any arbitrary function f(x) as an upper position of a set of such wavelets or
basis functions. These basis functions are obtained from a single prototype wavelet
called the mother wavelet G(x), by dilations or scaling and translations. Wavelet bases
are very good at efficiently representing functions that are smooth except for a small
set of discontinuities.
%or each n, ' H, define (x) by
) 2 ( 2
2
,
k x
n
n
k n
=
(2.)
,onstructing the function G(x), on /, such that I (x)Jn,'H is an
orthonormal basis on /. As mentioned before G(x) is a wavelet and the collection I
(x) Jn,'H is a wavelet orthonormal basis on /K this framewor' for constructing
wavelets involves the concept of a multi resolution analysis or ./A.
.ulti resolution analysis is a device for computation of basis coefficients in
(/) >
f 6 k n k n
C
, ,
,
. It is defined as follows,
6 If(x)Lf(x) 6
2
2
n
g(x), g(x) J, (2.2)
Where
f(x) 6 (f, M(N O n))M(x O n) (2.9)
Then a multi resolution analysis on / is a sequence of subspaces I JnH of
functions
on /, satisfying the following properties>
(a) %or all n, ' H, .
(b) If f(x) is on /, then f(x) span0I JnH. That is, given P Q ", there is an
n H and a function g(x) such that LLf A gLL R P.
(c) 6 ".
(d) A function f(x) if and only if f( x) .
(e) There exists a function M(x), on /, called the scaling function such that the
collection M(xO n) is an ortho*normal system of translates and
6 span0IM(x O n)J.
8et I J be an ./A with scaling function M(x) which satisfies scaling filter h('),
where
h(') 6 ( M ( )M ( x*')). Then the wavelet filter g(') is defined by
g(') 6 ( (h( O '))0 (2.:)
and the wavelet by
G(x) 6 g(') M(2x O '). (2.S)
Then I (x)J is a wavelet orthonormal basis on /.
The orthogonal pro3ection of an arbitrary function f onto is given by
k n
z k
k n n
f f P
, ,
) , (

=
(2.T)
As ' varies, the basis functions are shifted in steps of , so f cannot
represent any detail on a scale smaller than that. We say that the functions in have
the resolution or scale . &ere, f is called an approximation to f at resolution
. %or a given function f, an ./A provides a sequence of approximations f of
increasing accuracy.
The difference between the approximations at resolution and is called the
fine detail at resolution which is as follows>
f(x) 6 f(x) O f(x). (2.U)
Er
. ) , (
, , k n k n z k n
f f Q =

(2.!)
is also an orthogonal pro3ection and its range is orthogonal to where the
following holds>
6 IfL f 6 fJ (2.V)
6 IfL f 6 fJ (2.")
+
=
n n n
V W V
(2.)
There are choices of the numbers h and g such that I (x)J is a wavelet
orthonormal basis on /.
" =
n z n
V
(2.2)
and
(2.9)
Then we have I L' HJ 6 6 W . &ence I (x)J is complete if
and only if 6 (/) holds, and this is true.
7ow, as for the orthonormality,
(, )6
) 2 ( 2 ), 2 ( 2 (
2 2
x k x
n
n
n
n
6 () 6 X(' O l). (2.:)
To prove orthonormality between scales, let n, nY H with nY R n, and let ', 'Y H be
arbitrary. +ince G(x) B, (x) B, Then we have . +ince ( ,
) 6 " for all ', l H, it follows that ( , )6 ", for all n, ', l H. Diven
f(x) we 'now that f(x)6 (f, ) (x) &ence for f(x)
( , f) 6 ( (f, ) )
6 (f, )0 ( , ) 6 " (2.S)
+ince, nY R n, and since , n
k n
V
t t

,
also.
&ence ( k n,

, 6"
Therefore z k n k n
x

, ,
)J ( I
is a wavelet orthonormal basis on /.
.. Types of %a&e'e" Transform
The transform of a signal is 3ust another form of representing the signal. It
does not change the information content present in the signal. The Wavelet Transform
provides a time*frequency representation of the signal. It was developed to overcome
the short coming of the +hort Time %ourier Transform (+T%T), which can also be used
to analyze non*stationary signals. While +T%T gives a constant resolution at all
frequencies, the Wavelet Transform uses multi*resolution technique by which
different frequencies are analyzed with different resolutions.
A wave is an oscillating function of time or space and is periodic. In contrast,
wavelets are localized waves. They have their energy concentrated in time or space
and are suited to analysis of transient signals. While %ourier Transform and +T%T use
waves to analyze signals, the Wavelet Transform uses wavelets of finite energy.
...1 Con"inuous %a&e'e" Transform
A continuous wavelet transform is used to divide a continuous*time function
into wavelets. =nli'e %ourier transform, the continuous wavelet transform possesses
the ability to construct a time frequency represented of a signal that offers very good
time and frequency localization.
The mother wavelet used to generate all the basis functions is designed based
on some desired characteristics associated with that function. The translation
parameter Z relates to the location of the wavelet function as it is shifted through the
signal. Thus, it corresponds to the time information in the Wavelet Transform. The
scale parameter s is defined as L[frequencyL and corresponds to frequency
information. +caling either dilates (expands) or compresses a signal. 8arge scales (low
frequencies) dilate the signal and provide detailed information hidden in the signal,
while small scales (high frequencies) compress the signal and provide global
information about the signal. 7otice that the Wavelet Transform merely performs the
convolution operation of the signal and the basis function. The above analysis
becomes very useful as in most practical applications, high frequencies (low scales)
do not last for a long duration, but instead, appear as short bursts, while low
frequencies (high scales) usually last for entire duration of the signal.
The Wavelet +eries is obtained by discretizing ,WT. This aids in computation
of ,WT using computers and is obtained by sampling the time*scale plane. The
sampling rate can be changed accordingly with scale change without violating the
7yquist criterion. 7yquist criterion states that, the minimum sampling rate that allows
reconstruction of the original signal is 24 radians, where 4 is the highest frequency in
the signal. Therefore, as the scale goes higher (lower frequencies), the sampling rate
can be decreased thus reducing the number of computations.
... Fas" %a&e'e" Transform
The %ast Wavelet Transform is a mathematical algorithm designed to turn a
waveform or signal in the time domain into a sequence of coefficients based on an
orthogonal basis of small finite waves, or wavelets. The transform can be easily
extended to multidimensional signals, such as images, where the time domain is
replaced with the space domain.
...) Dis!re"e %a&e'e" Transform
In numerical analysis and functional analysis, a discrete wavelet transform
(-WT) is any wavelet transform for which the wavelets are discretely sampled. As
with other wavelet transforms, a 'ey advantage it has over %ourier transforms is
temporal resolution it captures both frequency and location information.
.4 Differen!e +e",een Con"inuous %a&e'e" Transform an- Dis!re"e
%a&e'e" Transform
Wavelet transforms are classified into discrete wavelet transforms (-WTs) and
continuous wavelet transforms (,WTs). 7ote that both -WT and ,WT are
continuous*time (analog) transforms. They can be used to represent continuous*time
(analog) signals. ,WTs operate over every possible scale and translation whereas
-WTs use a specific subset of scale and translation values or representation grid.
The word wavelet is due to .orlet and Drossmann in the early V!"s. They
used the %rench word ondelette, meaning @small wave@. +oon it was transferred to
<nglish by translating @onde@ into @wave@, giving @wavelet@.
The Wavelet transform is in fact an infinite set of various transforms,
depending on the merit function used for its computation. This is the main reason,
why we can hear the term @wavelet transforms@ in very different situations and
applications.
Erthogonal wavelets are used to develop the discrete wavelet transform
7on*orthogonal wavelets are used to develop the continuous wavelet
transform.
There are more wavelet types and transforms, but those two are most widely
used and can serve as examples of two main types of the wavelet transform>
redundant and non*redundant ones.
The discrete wavelet transform returns a data vector of the same length as the
input is. =sually, even in this vector many data are almost zero. This
corresponds to the fact that it decomposes into a set of wavelets (functions)
that are orthogonal to its translations and scaling. Therefore we decompose
such a signal to a same or lower number of the wavelet coefficient spectrum as
is the number of signal data points. +uch a wavelet spectrum is very good for
signal processing and compression, for example, as we get no redundant
information here.
The continuous wavelet transform in contrary returns an array one dimension
larger than the input data. %or a - data we obtain an image of the time*
frequency plane. We can easily see the signal frequencies evolution during the
duration of the signal and compare the spectrum with other signals spectra. As
here is used the non*orthogonal set of wavelets, data are correlated highly, so
big redundancy is seen here. This helps to see the results in a more humane
form.
.5 Dis!re"e ,a&e'e" "ransform
The -iscrete Wavelet Transforms (-WT) have been widely used in many
applications li'e image compression, signal processing, speech compression because
of their .ulti*resolution of signals with localization both in time and frequency. In the
past, much architecture have been proposed aimed at providing high A speed 2*-
-WT computation with the requirement of utilizing a reasonable amount of hard ware
resources. These architectures can be broadly classified into two types
7on +eparable 2*- -WT
+eparable 2*- -WT
.5.1 Non separa+'e #D D%T
In non separable architectures the 2*- transforms are computed directly by
using 2*- filters. The two non separable architectures, one using parallel 2*- filters
and the other an +I.- 2*- array, both based on a modified /CA. In non separable
method internal line buffers are use to store the boundary data among neighbour
bloc's such as to 'eep the required external frame memory bandwidth as low as the
separable method. &owever, the external memory access would consume the most
power and become very sensitive in the case of system on chip. In addition, the
required external memory bandwidth of the non*separable is more than the double of
the separable method.
The 2*- transforms are computed directly by using 2*- filters. Two non*
separable architectures, one using parallel 2*- filters and the other an +I.- 2*-
array, both based on a modified /CA. In the former architecture, a high degree of
computational parallelism is achieved at the expense of less efficient hardware
utilization, whereas the latter architecture requires a reconfigured organization of
the array as the processing moves on to higher decomposition levels. A number of
parallel %I/ filters with a poly*phase structure are used to improve the processing
speed at the expense of increased hardware. An effort to provide a reduced count
of multipliers and to facilitate the processing of the boundary data, have proposed
architecture that is a pipeline of one stage of parallel multipliers and two stages of
accumulators to perform the accumulation tas's of the filters in each of the two
directions. ?ut the processing speed of this architecture is low in view of the fact
that the same architecture is utilized recursively to perform the tas's of successive
decomposition levels. .arino has proposed a two*stage pipeline architecture in
which the first stage performs the tas' of the first decomposition level and the
second one that of all the remaining levels, and has aimed at providing a short
computation time. As the processing units employed in this architecture differ from
one another, the complexity of the hardware resources is high and the design of
the architecture is complicated. .ost existing non*separable architectures aim at
providing fast computation of the -WT by using pipeline structures and a large
number of parallel filters. &owever, these existing architectures have not exploited
the computational parallelism inherent in the -WT operation to the extent possible
in order to provide a high speed.
%ig.2.2.?loc' diagram of the three*stage architecture
%ig. 2.2 gives the bloc' diagram of the pipeline showing all the components
required by the three stages. 7ote that the data flow shown in this figure comprises
only the 88*sub band data necessary for the operations of the stages. The &&, &8
and 8& sub* band data are outputted directly to an external memory. 7ow, we give
details on the structure of the data scanning unit to scan the 2*- data and establish
four distinct sub*windows, as well as on the distribution of the filtering operations to
the processing units in each stage.
%ig 2.9> ?loc' diagram of a processing unit.
In order to obtain the output sample corresponding to a given sub*window, the
bits of the partial products must be accumulated vertically downward and from right
to left by ta'ing the propagation of the carry bits into consideration. The tas' of
this accumulation can be divided into a sequence of layers. The shortest critical
data path can be achieved by minimizing the number of layers and the delay of
the layers. In each layer, a number of bits consisting of the partial product bits
and[or the carry bits from different rows need to be added. This can be done by
employing in parallel as many bit*wise adders as needed in each layer. The idea
behind using bit*wise adder is to produce to the extent possible the number of
output bits from a layer is smaller than the number of input bits to that layer.
This can be done by using full adders and specifically designed double adders, in
which the full adder consumes 9 bits and produces 2 bits (one sum and one carry
bits) whereas the double adder consumes two pairs of bits from neighbouring
columns and produces 9 bits (one sum and two carry bits[two sum and one carry
bits). The two types of adders have equal delay, and are efficient in generating
carry bits and compressing the number of partial products
CHAPTER )
*EPARA62E D%T
).1In"ro-u!"ion
%or many natural signals, the wavelet transform is a more effective tool than
the %ourier transform. The wavelet transform provides a multi resolution
representation using a set of analyzing functions that are dilations and translations of a
few functions (wavelets).
). *epara+'e #D D%T
The separable method is the most straight forward implementation method. In
separable method, 2*- filtering operations, one for processing the data row*wise and
the other column*wise. In this method the intermediate coefficients stores in a frame
memory first. Then it performs *- -WT in other direction with these intermediate
coefficients to complete one*level 2*- -WT .?ecause the size of this frame memory
is usually assumed to off chip. &owever, the separable method performs *- -WT in
both directions simultaneously. Thus in separable architectures, in which a *-
filtering structure is used to perform the 2*- -WT, have an additional requirement of
transposing the intermediate data between the two *- filtering processes. &ence the
separable method does not require a frame memory to store the intermediate data.
Instead, some internal line buffers are used to store the intermediate data, and the
required size is proportional to the image width. A low*storage short*latency separable
architecture in which the row wise operations are performed by systolic filters and the
column operations by parallel filters. The architecture of2*- -WT is shown in below
figure 9.2.
%ig9.> Architecture of 2*- -WT
%ig9.2> Architecture of *- -WT
The splitter decomposes the input signal into two sub band signals, even and odd.
The even signal represents the high frequency (or coarse) part of input, while the odd
signal represents the low frequency (or detail) part of input. As shown in the figure,
the output of each register is then delayed by one cloc' pulse to obtain the delayed
signal. By using 1-D DWT architecture the input data divided into
even coefcients and odd coefcients.
)..1 A--er
%ig9.9> Adder
The figure 9.9 shows the bloc' diagram of adder. ?y using adder the two V bit input
signals are added.
<xample>
A I, 2, 9, :J ? IS, T, U, !J
Eutput s6 IT, !, ", 2J
).. Re0is"er
- flipflop is used as a register. It is used to provide the delay of signal by one
cloc' cycle. %or every posedge of cloc' cycle if enable is one the input data that is
present in - is transferred to \ else zero is transferred to \.
%ig9.:> - flip flop
).) PIPE2INE FOR THE #D D%T CO3PUTATION
In a pipeline structure for the -WT computation, multiple stages are used to
carry out the computations of the various decomposition levels of the transform ]:^.
The computation corresponding to each decomposition level needs to be mapped to a
stage or stages of the pipeline. In order to design a pipeline structure capable of
performing a fast computation of the -WT with low expense on hardware resources
and low design complexity, an optimal mapping of the overall tas' of the -WT
computation to the various stages of the pipeline needs to be determined. Any
distribution of the overall tas' of the -WT computation to stages must consider the
inherent nature of the sequential computations of the decomposition levels that limit
the computational parallelism of the pipeline stages, and consequently the latency of
the pipeline. %urther, in order to minimise the expense on the hardware resources of
the pipeline, the number of filter units used by each stage ought to be minimum and
proportional to the amount of the tas' assigned to the stage.

%ig9.SCipeline structure with 7 stages
A straight forward of mapping of the overall tas' of the -WT computation to
a pipeline is one*level to one*stage mapping, in which the tas's of $ decomposition
levels are distributed to $ stages of the pipeline. &owever, dividing a stage of the one*
level to one stage pipeline into multiple stages would require a division of the tas'
associated with the corresponding decomposition level into sub*tas's, which in turn,
would call for a solution of even a more complex problem of synchronization of the
sub*tas's associated with divided stages. En the other hand, merging multiple small*
size stages of the pipeline into one stage would not create any additional
synchronization problem. As a matter of fact, such a merger could be used to reduce
the overall number of filter units of the pipeline.
+ynchronization of stages#The stages of pipeline need to be synchronized in
such a way that each stage starts the operation at an earliest possible time when the
required data become available for its operation. Ence the operation of a stage is
started, it must continue until the tas' assigned to it is fully completed.
,onsider the timing diagram given in %ig. 9.T for the operation of the three
stages, where t

, t2

and t
9
are the times ta'en individually by stages , 2 and 9,
respectively, to complete their assigned tas's, and t
a
and t
b
are the times elapsed
between the starting points of the tas's, by stages and 2, and that stages 2 and 9
respectively.
%ig9.T> Timing diagram for the operations of three stages
7ote that the lengths of the times t

,t
2
and t
9
to complete the tas's by
individual stages are approximately the same, since the ratios of the tas's assigned
and the resources made available to the three stages are the same. The average times
to compute one output sample by stages ,2 and 9 are in the ratio >:>!. In %ig. 2 the
relative widths of the slots in the three stages are shown to reflect this ratio. Eur
ob3ective is to minimise the total computation time t
a
_t
b
_t
9
by minimizing t,t and t
individually.
).$ AD(ANTA7E* AND APP2ICATION*
).$.1A-&an"a0es
%or many natural signals, the wavelet transform is a more effective tool than the
%ourier transform. The wavelet transform provides a multiresolution representation
using a set of analyzing functions that are dilations and translations of a few functions
(wavelets).
7o need to divide the input coding into non*overlapping 2*- bloc's, it has
higher compression ratios avoid bloc'ing artefacts.
Allows good localization both in time and spatial frequency domain.
Transformation of the whole image *Q introduces inherent scaling.
?etter identification of which data is relevant to human perception *Q higher
compression ratio.
).$. App'i!a"ions
Denerally, an approximation to -WT is used for data compression if signal is
already sampled, and the ,WT for signal analysis. Thus, -WT approximation is
commonly used in engineering and computer science, and the ,WT in scientific
research.
Ene use of wavelet approximation is in data compression. 8i'e some other
transforms, wavelet transforms can be used to transform data and then encode the
transformed data, resulting in effective compression. %or example, $C<D 2""" is an
image compression standard that uses biorthogonal wavelets. A related use is that of
smoothing[denoising data based on wavelet coefficient thresholding, also called
wavelet shrin'age. ?y adaptively thresholding the wavelet coefficients that
correspond to undesired frequency components smoothing and[or denoising
operations can be performed. Ether applied fields that are ma'ing use of wavelets
include astronomy, acoustics, nuclear engineering, sub*band coding, signal and image
processing, neurophysiology, music, magnetic resonance imaging, speech
discrimination, optics, fractals, turbulence, earthqua'e*prediction, radar, human
vision, and pure mathematics applications such as solving partial differential
equations.
).$.) %a&e'e"s for ima0e !ompression
Wavelet transform exploits both the spatial and frequency correlation of data
by dilations (or contractions) and translations of mother wavelet on the input data. It
supports the multi*resolution analysis of data i.e. it can be applied to different scales
according to the details required, which allows progressive transmission and zooming
of the image without the need of extra storage. Another encouraging feature of
wavelet transform is its symmetric nature that is both the forward and the inverse
transform has the same complexity, building fast compression and decompression
routines. Its characteristics well suited for image compression include the ability to
ta'e into account of &uman Bisual +ystem0s (&B+) characteristics, very good energy
compaction capabilities, robustness under transmission, high compression ratio etc.
Wavelet transform divides the information of an image into approximation and
detail sub*signals. The approximation sub*signal shows the general trend of pixel
values and other three detail sub*signals show the vertical, horizontal and diagonal
details or changes in the images. If these details are very small (threshold) then they
can be set to zero without significantly changing the image. The greater the number of
zeros the greater the compression ratio. If the energy retained (amount of information
retained by an image after compression and decompression) is ""` then the
compression is lossless as the image can be reconstructed exactly. This occurs when
the threshold value is set to zero, meaning that the details have not been changed.
Area of app'i!a"ion>
.edical application.
+ignal denoising.
-ata compression.
CHAPTER $
*OFT%ARE AND 2AN7UA7E U*ED
$.1(ERI2O7 HD2
Berilog &-8 is a hardware description language that can be used to model a
digital system at many levels of abstraction ranging from the algorithmic*level to the
gate*level to the switch*level. The complexity of the digital system being modeled
could vary from that of a simple gate to a complete electronic digital system, or
anything in between. The digital system can be described hierarchically and timing
can be explicitly modeled within the same description.
The Berilog &-8 language includes capabilities to describe the behavior*al
nature of a design, the dataflow nature of a design, a design#s structural composition,
delays and a waveform generation mechanism including aspects of response
monitoring and verification, all modeled using one single language. In addition, the
language provides a programming language interface through which the internals of a
design can be accessed during simulation including the control of a simulation run.
The language not only defines the syntax but also defines very clear simulation
semantics for each language construct. Therefore, models written in this language
can be verified using a Berilog simulator. The language inherits many of its
operator symbols and constructs from the , programming language. Berilog &-8
provides an extensive range of modeling capabilities, some of which are quite difficult
to comprehend initially. &owever, a core subset of the language is quite easy to leam
and use. This is sufficient to model most applications.
A mapping mechanism or a construction mechanism has to be provided that
translates the Berilog &-8 elements into their corresponding hardware elements as
shown in figure :.
<dit model
7o
.atcha
;es
-oneb
Berified and
Eptimized netlist
%ig:.>Typical design process
$. *OFT%ARE U*ED
$..18I2IN8
1ilinx software is used by the B&-8[B</I8ED designers for performing
+ynthesis operation. Any simulated code can be synthesized and configured on
%CDA. +ynthesis is the transformation of B&-8 code into gate level net list. It is an
integral part of current design flow.
Algorithm
Start the ISE Software by clicking the XILINX ISE icon.
,reate a 7ew Cro3ect and find the following properties displayed.
Write verilog &-8 model
,ompile model
Berify design
+ynthesize design
Berify design
,reate a B&-8 +ource formatting all inputs, outputs and buffers if required. which
provides a window to write the B&-8 code, to be synthesized.
,hec' +yntax after finally editing the B&-8 source for any errors.
After that perform the /T8 and T<,&7E8ED; schematic for verifying synthesis.
$..3ODE2*I3
It is software used to simulate and verify the functionality of a
B&-8[B</I8ED code. In our pro3ect, we use this software for the same purpose.
%or each module, the input values are given and the results are observed accordingly.
%ollowing steps have to be followed to simulate a design in .odelsim>
. Invo'e modelsim by double clic'ing the icon. Then a window appears
containing menu for various commands, wor' space and library space. ,reate
a directory where the simulation files have to be saved.
2. ,reate a new file[Add existing file in cAdd items to the Cro3ectd window and
c,reate a new filed window.
9. Then, on the wor' space of the main window, you find your file in which the code
can be written when double*clic'ed.
:. After the code is written, it is saved and then compiled for syntax errors. If no
syntax errors, a cDreen Tic'd mar' will be seen in the wor' space, else a c/ed
,rossd. A red message indicates that there is an error in our code. To correct any
errors, 3ust double*clic' on the <rror message and the error is highlighted in the
source window.
S. +imulate the compiled code, by clic'ing (_) sign of wor' in 8ibrary tab. ,lic'ing
that file will directly open a +ignals window in which all the signals(internal[external)
used in the module are ready for simulation.
T. The appropriate signals are selected and added to the wave window by clic'ing
cAdd to waved in the tool bar. &ence the obtained signals are assigned with required
values to provide desired outputs.
U. There are different options available in the waveform window to view the output
values in various representations such as ?inary, &exadecimal, +ymbolic, Ectal,
A+,II, -ecimal and =nsigned representations.
!. The .odelsim can be exited by selecting F%ile *Q quit0 from menu.
V. In this way the .odelsim software is used for functional verification or +imulation
of the user0s code.
CHAPTER .
CODE
99CODE for D%T 3o-u'e
module dwt(input cl',rst,input ]V>"^ dataein,output reg start9,start,output signed
]V>"^mSeoddeoutetop,m"eeveneoutedown)K

reg ]V>"^ even ]">U^K
reg ]V>"^ odd ]">U^K
reg ]V>"^tempeeven,tempeoddK
reg s,loadK
reg ]9>"^ c,cK
wire signed ]V>"^ m2eout,m2etempK
wire signed ]V>"^ m9ein,m9einetempK
wire signed ]V>"^ m:eoutK
wire signed ]V>"^ mSeoutK
wire signed ]V>"^ mUeoutK
wire signed ]V>"^ m!einK
wire signed ]V>"^ mVeoutK
always f(posedge cl')
if(rst)
begin
c6"K
s6K
load6"K
end
else if(cR6U)
begin
if(s)
begin
even]c^6dataeinK
s6gsK

end
else
begin
odd]c^6dataeinK

s6gsK
c6c_K
end
end
else
load6K
always f(posedge cl')
if (bload)
begin
tempeeven 6 "K
tempeodd 6 "K
c6"K
end
else if (c R6 U)
begin
tempeeven 6 even]c^K
tempeodd 6 odd]c^K
c 6 c _ K
end

always f(negedge cl')
if (bload)
begin
start 6 K
start9 6 K
end
else if (c 66 2)
begin
start 6 "K
end
else if (c 66 9)
begin
start9 6 "K
end

registers r (.,loc'(cl'), .-(tempeeven), .en(load),.\(m2eout))K
registers r2 (.,loc'(cl'), .-(m2eout), .en(load),.\(m2etemp))K
addereTbit m9 (.in(m2eout),.in2(tempeeven),.out(m9ein))K

assign m9einetemp 6 Im9ein]V^, m9ein]V>^JK
assign m:eout 6 gm9einetemp _ #bK

registers r9 (.,loc'(cl'), .-(tempeodd), .en(load),.\(mSeout))K
addereTbit mS (.in(m:eout),.in2(mSeout),.out(mSeoddeoutetop))K

registers r: (.,loc'(cl'), .-(mSeoddeoutetop), .en(load),.\(mUeout))K
addereTbit m! (.in(mUeout),.in2(mSeoddeoutetop),.out(m!ein))K

assign mVeout 6 m!einK
addereTbit m" (.in(m2etemp),.in2(mVeout),.out(m"eeveneoutedown))K

endmodule
99CODE for TOP#IN 3o-u'e
module topein(input cl',rst,
output signed ]V>"^ mSeoddeoddeoutetop, mSeoddeeveneoutetop,
mSeeveneoddeoutetop, mSeeveneeveneoutetop)K

wire ]V>"^dataK
inp in(.cl'(cl'),.rst(rst),.data(data))K

topedwt top
(.cl'(cl'),.rst(rst),.dataein(data),.mSeoddeoddeoutetop(mSeoddeoddeoutetop),.mS
eoddeeveneoutetop(mSeoddeeveneoutetop),.mSeeveneoddeoutetop(mSeeveneod
deoutetop),.mSeeveneeveneoutetop(mSeeveneeveneoutetop))K
endmodule
99 CODE for TOP#D%T mo-u'e
module topedwt(input cl',rst, input signed ]V>"^dataein,
output signed ]V>"^ mSeoddeoddeoutetop, mSeoddeeveneoutetop,
mSeeveneoddeoutetop, mSeeveneeveneoutetop)K

wire signed ]V>"^m"eeveneoutedown,mSeoddeoutetopK
wire start9,startK

dwt e
(.cl'(cl'),.rst(rst),.dataein(dataein),.start(start),.start9(start9),.mSeoddeoutetop(mS
eoddeoutetop),.m"eeveneoutedown(m"eeveneoutedown))K
dwt2 e2
(.cl'(cl'),.start(start),.dataein(mSeoddeoutetop),.mSeoddeoddeoutetop(mSeoddeo
ddeoutetop),.mSeoddeeveneoutetop(mSeoddeeveneoutetop))K
dwt9 e9
(.cl'(cl'),.start9(start9),.dataein(m"eeveneoutedown),.mSeeveneoddeoutetop(
mSeeveneoddeoutetop),.mSeeveneeveneoutetop(mSeeveneeveneoutetop))K

endmodule
CHAPTER 4
RE*U2T*
..1 %a&e forms
..1.1 Inpu" -a"a
%igS. >Input data
The above figure shows the input data and the input data is in the form of numerical
values.
..1. *imu'a"ion resu'" of 1#D D%T:
%igS.2> +imulation /esult of -WT* ?loc'
The above figure shows the output of *- -iscrete Wavelet Transform. The *- -WT
contains the low pass coefficients and high pass coefficients.
..1.) *imu'a"ion resu'" of #D D%T
%igS.9> +imulation /esult of -WT*2 ?loc'
The above waveform shows the result of 2*- -iscrete Wavelet Transform. The
2*- -WT contains even*even, even*odd, odd*odd, odd*even coefficients. A *-
filtering structure is used to perform the 2*- -WT, have an additional requirement of
transposing the intermediate data between the two *- filtering processes.
..1.$ *imu'a"ion resu'" of Top#D%T mo-u'e
%igS.:> +imulation /esult of Top*-WT ?loc'
The above waveform shows the result of Top -iscrete Wavelet Transform. The
Top -WT contains even*even, even*odd, odd*odd, odd*even coefficients. A *-
filtering structure is used to perform the 2*- -WT, have an additional requirement of
transposing the intermediate data between the two *- filtering processes to get the
Top module of -iscrete Wavelet Transform.
..1.$ *imu'a"ion resu'" of Top#D%T mo-u'e
%igS.S> +imulation /esult of Top*in ?loc'
The above waveform shows the result of Top input waveform. The Top input
also contains even*even, even*odd, odd*odd, odd*even coefficients. A *- filtering
structure is used to perform the -WT operation, have an additional requirement of
transposing the intermediate data between the two *- filtering processes to get the
Top module of -iscrete Wavelet Transform.
4. De&i!e u"i'i1a"ion summary
De&i!e U"i'i1a"ion *ummary (es"ima"e- &a'ues)
2o0i! U"i'i1a"ion Use- A&ai'a+'e U"i'i1a"ion
7umber of +lices 2"2 :TST :`
7umber of +lice %lip %lops 2S V92 2`
7umber of : input 8=Ts 9SS V92 9`
7umber of bonded IE?s !2 292 9S`
7umber of D,8hs 2: :`
TableT.> -evice =tilization summary for the device xc9sS""e*:fg 92"
..) RT2 s!/ema"i! of #D D%T
%igS.:> /T8 +chematic
The purpose of /T+ module builder is to build, or acquire from a library of
predefined components, each of the required /T8 bloc's in the user*specified target
technology. The above figure shows the /T8 schematic of 2*- -WT.
..$ RT2 s!/ema"i! of Top# D%T
%igS.:> /T8 +chematic for Top*-W8 module
The purpose of /T+ module builder is to build, or acquire from a library of
predefined components, each of the required /T8 bloc's in the user*specified target
technology. The above figure shows the /T8 schematic of Top*-WT module.
... RT2 s!/ema"i! of Top# in mo-u'e
%igS.S> /T8 +chematic for Top*in module
The purpose of /T8 module builder is to build, or acquire from a library of
predefined components, each of the required /T8 bloc's in the user*specified target
technology. The above figure shows the /T8 schematic of Top input .odule.
4.$ *yn"/esis Repor"
/elease !.2i * xst I.9
,opyright (c) VVS*2""T 1ilinx, Inc. All rights reserved.
**Q Carameter T.C-I/ set to .[xst[pro3nav.tmp
,C= > "."" [ ".22 s L <lapsed > "."" [ "."" s
**Q Carameter xsthdpdir set to .[xst
,C= > "."" [ ".22 s L <lapsed > "."" [ "."" s
**Q /eading design> topein.pr3
TA?8< E% ,E7T<7T+
) +ynthesis Eptions +ummary
2) &-8 ,ompilation
9) -esign &ierarchy Analysis
:) &-8 Analysis
S) &-8 +ynthesis
S.) &-8 +ynthesis /eport
T) Advanced &-8 +ynthesis
T.) Advanced &-8 +ynthesis /eport
U) 8ow 8evel +ynthesis
!) Cartition /eport
V) %inal /eport
V.) -evice utilization summary
V.2) TI.I7D /<CE/T
i +ynthesis Eptions +ummary i
**** +ource Carameters
Input %ile 7ame > @topein.pr3@
Input %ormat > mixed
Ignore +ynthesis ,onstraint %ile > 7E
**** Target Carameters
Eutput %ile 7ame > @topein@
Eutput %ormat > 7D,
Target -evice > xc9s2""*:*ft2ST
**** +ource Eptions
Top .odule 7ame > topein
Automatic %+. <xtraction > ;<+
%+. <ncoding Algorithm > Auto
%+. +tyle > lut
/A. <xtraction > ;es
/A. +tyle > Auto
/E. <xtraction > ;es
.ux +tyle > Auto
-ecoder <xtraction > ;<+
Criority <ncoder <xtraction > ;<+
+hift /egister <xtraction > ;<+
8ogical +hifter <xtraction > ;<+
1E/ ,ollapsing > ;<+
/E. +tyle > Auto
.ux <xtraction > ;<+
/esource +haring > ;<+
.ultiplier +tyle > auto
Automatic /egister ?alancing > 7o
**** Target Eptions
Add IE ?uffers > ;<+
Dlobal .aximum %anout > S""
Add Deneric ,loc' ?uffer(?=%D) > !
/egister -uplication > ;<+
+lice Cac'ing > ;<+
Cac' IE /egisters into IE?s > auto
<quivalent register /emoval > ;<+
**** Deneral Eptions
Eptimization Doal > +peed
Eptimization <ffort >
heep &ierarchy > 7E
/T8 Eutput > ;es
Dlobal Eptimization > All,loc'7ets
Write Timing ,onstraints > 7E
&ierarchy +eparator >
?us -elimiter > RQ
,ase +pecifier > maintain
+lice =tilization /atio > ""
+lice =tilization /atio -elta > S
**** Ether Eptions
lso > topein.lso
/ead ,ores > ;<+
crossecloc'eanalysis > 7E
verilog2"" > ;<+
safeeimplementation > 7o
Eptimize Instantiated Crimitives > 7E
useecloc'eenable > ;es
useesynceset > ;es
useesyncereset > ;es
i &-8 ,ompilation i
,ompiling verilog file @addereTbit.v@ in library wor' ,ompiling verilog file @-ff.v@
in library wor'
.odule RaddereTbitQ compiled
,ompiling verilog file @dwt9.v@ in library wor'
.odule RregistersQ compiled
,ompiling verilog file @dwt2.v@ in library wor'
.odule Rdwt9Q compiled
,ompiling verilog file @dwt.v@ in library wor'
.odule Rdwt2Q compiled
,ompiling verilog file @top.v@ in library wor'
.odule RdwtQ compiled
,ompiling verilog file @inputs.v@ in library wor'
.odule RtopedwtQ compiled
,ompiling verilog file @topein.v@ in library wor'
.odule RinpQ compiled
.odule RtopeinQ compiled
7o errors in compilation
Analysis of file R@topein.pr3@Q succeeded.
i -esign &ierarchy Analysis i
Analyzing hierarchy for module RtopeinQ in library Rwor'Q.
Analyzing hierarchy for module RinpQ in library Rwor'Q.
Analyzing hierarchy for module RtopedwtQ in library Rwor'Q.
Analyzing hierarchy for module RdwtQ in library Rwor'Q.
Analyzing hierarchy for module Rdwt2Q in library Rwor'Q.
Analyzing hierarchy for module Rdwt9Q in library Rwor'Q.
Analyzing hierarchy for module RregistersQ in library Rwor'Q.
Analyzing hierarchy for module RaddereTbitQ in library Rwor'Q.
?uilding hierarchy successfully finished.
i &-8 Analysis i
Analyzing top module RtopeinQ.
.odule RtopeinQ is correct for synthesis.
Analyzing module RinpQ in library Rwor'Q.
.odule RinpQ is correct for synthesis.
Analyzing module RtopedwtQ in library Rwor'Q.
.odule RtopedwtQ is correct for synthesis.
Analyzing module RdwtQ in library Rwor'Q.
I7%E>1st>:99 * ,ontents of array RevenQ may be accessed with an index that
exceeds the array size. This could cause simulation mismatch.
i &-8 +ynthesis i
Cerforming bidirectional port resolution...
+ynthesizing =nit RinpQ.
/elated source file is @inputs.v@.
%ound Tx2"*bit /E. for signal Rjmux"""Q.
%ound 2"*bit register for signal RdataQ.
%ound 92*bit up counter for signal RiQ.
+ummary>
inferred /E.(s).
inferred ,ounter(s).
inferred 2" -*type flip*flop(s).
=nit RinpQ synthesized.
+ynthesizing =nit RregistersQ.
/elated source file is @-ff.v@.
%ound 2"*bit register for signal R\Q.
+ummary>
inferred 2" -*type flip*flop(s).
=nit RregistersQ synthesized.
+ynthesizing =nit RaddereTbitQ.
/elated source file is @addereTbit.v@.
%ound 2"*bit adder for signal RoutQ.
&-8 +ynthesis /eport
.acro +tatistics
k /A.s > T
:x2"*bit dual*port distributed /A. > :
!x2"*bit dual*port distributed /A. > 2
k /E.s >
Tx2"*bit /E. >
k Adders[+ubtractors > S
2"*bit adder > S
k ,ounters > U
9*bit up counter > :
92*bit up counter >
:*bit up counter > 2
k /egisters > 2U
*bit register > !
2"*bit register > V
k ,omparators > V
9*bit comparator greater > 2
9*bit comparator lessequal > :
:*bit comparator greater >
:*bit comparator lessequal > 2
6666666666666666666666666666666666666666666666666666666666666
i Advanced &-8 +ynthesis i
6666666666666666666666666666666666666666666666666666666666666
8oading device for application /fe-evice from file #9s2"".nph# in environment
,>l1ilinx.
6666666666666666666666666666666666666666666666666666666666666
Advanced &-8 +ynthesis /eport
.acro +tatistics
k /A.s > T
:x2"*bit dual*port distributed /A. > :
!x2"*bit dual*port distributed /A. > 2
k /E.s >
Tx2"*bit /E. >
k Adders[+ubtractors > S
2"*bit adder > S
k ,ounters > U
9*bit up counter > :
92*bit up counter >
:*bit up counter > 2
k /egisters > T!
%lip*%lops > T!
k ,omparators > V
9*bit comparator greater > 2
9*bit comparator lessequal > :
:*bit comparator greater >
:*bit comparator lessequal > 2
%ound area constraint ratio of "" (_ S) on bloc' topein, actual ratio is T.
%inal .acro Crocessing ..
%inal /egister /eport
.acro +tatistics
k /egisters > 9U9
%lip*%lops > 9U9
%inal /esults
/T8 Top 8evel Eutput %ile 7ame > topein.ngr
Top 8evel Eutput %ile 7ame > topein
Eutput %ormat > 7D,
Eptimization Doal > +peed
heep &ierarchy > 7E
-esign +tatistics
k IEs > !2
,ell =sage >
k ?<8+ > VS:
k D7- >
k I7B > UU
k 8=T > 9:
k 8=T2 > 92
k 8=T9 > V"
k 8=T: > !U
k .=1,; > 2TT
k .=1%S > :
k B,, >
k 1E/,; > 2T2
k %lip%lops[8atches > 9U9
k %-/ > 2"U
k %-/e > 9T
k %-/< > 2
k %-/+e > :
k %-+< > 9
k %-+<e > 2
k /A.+ > V!
k /A.T1- > V!
k ,loc' ?uffers >
k ?=%DC >
k IE ?uffers > !
k I?=% >
k E?=% > !"
6666666666666666666666666666666666666666666666666666666666666
-evice utilization summary>
+elected -evice > 9s2""ft2ST*:
7umber of +lices> 92 out of V2" T`
7umber of +lice %lip %lops> 9U9 out of 9!:" V`
7umber of : input 8=Ts> TT out of 9!:" T`
7umber used as logic> :2"
7umber used as /A.s> VT
7umber of IEs> !2
7umber of bonded IE?s> !2 out of U9 :U`
7umber of D,8hs> out of ! 2`
6666666666666666666666666666666666666666666666666666666666666
TI.I7D /<CE/T
7ET<> T&<+< TI.I7D 7=.?</+ A/< E78; A +;7T&<+I+ <+TI.AT<.
%E/ A,,=/AT< TI.I7D I7%E/.ATIE7 C8<A+< /<%</ TE T&< T/A,<
/<CE/T
D<7</AT<- A%T</ C8A,<*and*/E=T<.
,loc' Information
,loc' +ignal L ,loc' buffer(%% name) L 8oad L
cl' L ?=%DC L :U L
Asynchronous ,ontrol +ignals Information
7o asynchronous control signals found in this design
Timing +ummary>
+peed Drade > *:
.inimum period > :.!S"ns (.aximum %requency> TU.9:".&z)
.inimum input arrival time before cloc'> :.!UVns
.aximum output required time after cloc'> 22.:T:ns
.aximum combinational path delay> 7o path found
Timing -etail
All values displayed in nanoseconds (ns)
6666666666666666666666666666666666666666666666666666666666666
Timing constraint> -efault period analysis for ,loc' #cl'#
,loc' period> :.!S"ns (frequency> TU.9:".&z)
Total number of paths [ destination ports> S:9VT [ ::U
-elay> :.!S"ns (8evels of 8ogic 6 2U)
+ource> top[e[r[\e" (%%)
-estination> top[e9[inste.ramememV (/A.)
+ource ,loc'> cl' rising
-estination ,loc'> cl' rising
-ata Cath> top[e[r[\e" to top[e9[inste.ramememV
Date 7et
,ell>in*Qout fanout -elay -elay 8ogical 7ame (7et 7ame)
%-/>,*Q\ 2 ".U2" .2T top[e[r[\e" (top[e[r[\e")
8=T2>I"*QE ".SS ".""" top[e[m9[.addeoutelutR"Q (top[e[72U)
.=1,;>+*QE ".S"" ".""" top[e[m9[.addeoutecyR"Q
(top[e[m9[.addeoutecyR"Q)
1E/,;>,I*QE 2 ".V": .2T top[e[m9[.addeoutexorRQ
(top[e[m9einRQ)
8=T>I"*QE ".SS ".""" top[e[m9einRQert
(top[e[m9einRQert)
.=1,;>+*QE ".S"" ".""" top[e[.addem:eoutecyR"Q
(top[e[.addem:eoutecyR"Q)
.=1,;>,I*QE "."T: ".""" top[e[.addem:eoutecyRQ
(top[e[.addem:eoutecyRQ)
.=1,;>,I*QE "."T: ".""" top[e[.addem:eoutecyR2Q
(top[e[.addem:eoutecyR2Q)
.=1,;>,I*QE "."T: ".""" top[e[.addem:eoutecyR9Q
(top[e[.addem:eoutecyR9Q)
.=1,;>,I*QE "."T: ".""" top[e[.addem:eoutecyR:Q
(top[e[.addem:eoutecyR:Q)
.=1,;>,I*QE "."T: ".""" top[e[.addem:eoutecyRSQ
(top[e[.addem:eoutecyRSQ)
.=1,;>,I*QE "."T: ".""" top[e[.addem:eoutecyRTQ
(top[e[.addem:eoutecyRTQ)
.=1,;>,I*QE "."T: ".""" top[e[.addem:eoutecyRUQ
(top[e[.addem:eoutecyRUQ)
.=1,;>,I*QE "."T: ".""" top[e[.addem:eoutecyR!Q
(top[e[.addem:eoutecyR!Q)
.=1,;>,I*QE "."T: ".""" top[e[.addem:eoutecyRVQ
(top[e[.addem:eoutecyRVQ)
.=1,;>,I*QE "."T: ".""" top[e[.addem:eoutecyR"Q
(top[e[.addem:eoutecyR"Q)
.=1,;>,I*QE "."T: ".""" top[e[.addem:eoutecyRQ
(top[e[.addem:eoutecyRQ)
.=1,;>,I*QE "."T: ".""" top[e[.addem:eoutecyR2Q
(top[e[.addem:eoutecyR2Q)
.=1,;>,I*QE "."T: ".""" top[e[.addem:eoutecyR9Q
(top[e[.addem:eoutecyR9Q)
.=1,;>,I*QE "."T: ".""" top[e[.addem:eoutecyR:Q
(top[e[.addem:eoutecyR:Q)
.=1,;>,I*QE "."T: ".""" top[e[.addem:eoutecyRSQ
(top[e[.addem:eoutecyRSQ)
1E/,;>,I*QE ".V": ".VVT top[e[.addem:eoutexorRTQ
(top[e[m:eoutRTQ)
8=T2>I*QE ".SS ".""" top[e[mS[.addeoutelutRTQ
(top[e[729)
.=1,;>+*QE ".S"" ".""" top[e[mS[.addeoutecyRTQ
(top[e[mS[.addeoutecyRTQ)
1E/,;>,I*QE T ".V": ."U top[e[mS[.addeoutexorRUQ
(top[mSeoddeoutetopRUQ)
8=T9>I2*QE " ".SS ".""" top[e[m"[.addeout,T
(top[e[m"[.addeout,T)
.=1,;>-I*QE " ".!!V ".""" top[e[m"[.addeoute.addecyR!Q
(top[e[m"[.addeoute.addecyR!Q)
1E/,;>,I*QE 2 ".V": ".""" top[e[m"[.addeoute.addexorRVQ
(top[m"eeveneoutedownRVQ)
/A.T1->- ".:T2 top[e9[inste.ramemem9V
Total :.!S"ns (".9Sns logic, :.:VVns route)
(TV.U` logic, 9".9` route)
6666666666666666666666666666666666666666666666666666666666666
Timing constraint> -efault E%%+<T I7 ?<%E/< for ,loc' #cl'#
Total number of paths [ destination ports> T: [ T:
Effset> :.!UVns (8evels of 8ogic 6 2)
+ource> rst (CA-)
-estination> top[e[inste.ramemem2" (/A.)
-estination ,loc'> cl' rising
-ata Cath> rst to top[e[inste.ramemem2"
Date 7et
,ell>in*Qout fanout -elay -elay 8ogical 7ame (7et 7ame)
I?=%>I*QE :! ".!2 2."9 rsteI?=% (rsteI?=%)
8=T9>I2*QE V ".SS .2: top[e[eand"""" (top[e[eand"""")
/A.T1->W< ".9U" top[e[inste.ramemem9"
Total :.!UVns (.U:2ns logic, 9.9Uns route)
(9S.U` logic, T:.9` route)
Timing constraint> -efault E%%+<T E=T A%T</ for ,loc' #cl'#
Total number of paths [ destination ports> 9UTVT2 [ !"
Effset> 22.:T:ns (8evels of 8ogic 6 2V)
+ource> top[e9[r9[\e" (%%)
-estination> mSeeveneeveneoutetopRVQ (CA-)
+ource ,loc'> cl' rising
-ata Cath> top[e9[r9[\e" to mSeeveneeveneoutetopRVQ
Date 7et
,ell>in*Qout fanout -elay -elay 8ogical 7ame (7et 7ame)
%-/>,*Q\ 2 ".U2" .2T top[e9[r9[\e" (top[e9[r9[\e")
8=T2>I"*QE ".SS ".""" top[e9[m2[.addeoutelutR"Q (top[e9[72!)
.=1,;>+*QE ".S"" ".""" top[e9[m2[.addeoutecyR"Q
(top[e9[m2[.addeoutecyR"Q)
1E/,;>,I*QE 2 ".V": .2T top[e9[m2[.addeoutexorRQ
(top[e9[m9einRQ)
8=T>I"*QE ".SS ".""" top[e9[m9einRQert (top[e9[m9einRQert)
.=1,;>+*QE ".S"" ".""" top[e9[.addem:eoutecyR"Q
(top[e9[.addem:eoutecyR"Q)
.=1,;>,I*QE "."T: ".""" top[e9[.addem:eoutecyRQ
(top[e9[.addem:eoutecyRQ)
.=1,;>,I*QE "."T: ".""" top[e9[.addem:eoutecyR2Q
(top[e9[.addem:eoutecyR2Q)
.=1,;>,I*QE "."T: ".""" top[e9[.addem:eoutecyR9Q
(top[e9[.addem:eoutecyR9Q)
.=1,;>,I*QE "."T: ".""" top[e9[.addem:eoutecyR:Q
(top[e9[.addem:eoutecyR:Q)
.=1,;>,I*QE "."T: ".""" top[e9[.addem:eoutecyRSQ
(top[e9[.addem:eoutecyRSQ)
.=1,;>,I*QE "."T: ".""" top[e9[.addem:eoutecyRTQ
(top[e9[.addem:eoutecyRTQ)
.=1,;>,I*QE "."T: ".""" top[e9[.addem:eoutecyRUQ
(top[e9[.addem:eoutecyRUQ)
.=1,;>,I*QE "."T: ".""" top[e9[.addem:eoutecyR!Q
(top[e9[.addem:eoutecyR!Q)
.=1,;>,I*QE "."T: ".""" top[e9[.addem:eoutecyRVQ
(top[e9[.addem:eoutecyRVQ)
.=1,;>,I*QE "."T: ".""" top[e9[.addem:eoutecyR"Q
(top[e9[.addem:eoutecyR"Q)
.=1,;>,I*QE "."T: ".""" top[e9[.addem:eoutecyRQ
(top[e9[.addem:eoutecyRQ)
.=1,;>,I*QE "."T: ".""" top[e9[.addem:eoutecyR2Q
(top[e9[.addem:eoutecyR2Q)
.=1,;>,I*QE "."T: ".""" top[e9[.addem:eoutecyR9Q
(top[e9[.addem:eoutecyR9Q)
.=1,;>,I*QE "."T: ".""" top[e9[.addem:eoutecyR:Q
(top[e9[.addem:eoutecyR:Q)
.=1,;>,I*QE "."T: ".""" top[e9[.addem:eoutecyRSQ
(top[e9[.addem:eoutecyRSQ)
1E/,;>,I*QE ".V": .:" top[e9[.addem:eoutexorRTQ
(top[e9[m:eoutRTQ)
8=T2>I"*QE ".SS ".""" top[e9[m29[.addeoutelutRTQ (top[e9[72:)
.=1,;>+*QE ".S"" ".""" top[e9[m29[.addeoutecyRTQ
(top[e9[m29[.addeoutecyRTQ)
1E/,;>,I*QE : ".V": .2ST top[e9[m29[.addeoutexorRUQ
(mSeeveneoddeoutetopeUeE?=%)
8=T9>I"*QE ".SS .:" top[e9[m2U[.addeout,T
(top[e9[m2U[.addeout,T)
8=T:>I"*QE ".SS ".""" top[e9[m2U[.addeoute.addelutR!Q
(top[e9[7TS)
.=1,;>+*QE " ".S"" ".""" top[e9[m2U[.addeoute.addecyR!Q
(top[e9[m2U[.addeoute.addecyR!Q)
1E/,;>,I*QE ".V": ".!" top[e9[m2U[.addeoute.addexorRVQ
(mSeeveneeveneoutetopeVeE?=%)
E?=%>I*QE S.T:: mSeeveneeveneoutetopeVeE?=%
(mSeeveneeveneoutetopRVQ)
Total 22.:T:ns (S.TVSns logic, T.UTVns route)
(TV.V` logic, 9".` route)
6666666666666666666666666666666666666666666666666666666666666
,C= > U.U [ U.:: s L <lapsed > U."" [ U."" s
Total memory usage is U9TT" 'ilobytes
7umber of errors > " ( " filtered)
4..CO3PARI*ION 6ET%EEN PRAPO*ED 3ETHOD AND E8I*TIN7
3ETHOD:
De&i!e U"i'i1a"ion *ummary (es"ima"e- &a'ues)
2o0i! U"i'i1a"ion Use- A&ai'a+'e U"i'i1a"ion
7umber of +lices 2"2 :TST :`
7umber of +lice %lip %lops 2S V92 2`
7umber of : input 8=Ts 9SS V92 9`
7umber of bonded IE?s !2 292 9S`
7umber of D,8hs 2: :`
TableT.> device utilization summary
TableT.2> device utilisation summary of proposed method
TableT.9> Timing summary of proposed method
CHAPTER 4
CONC2U*ION AND FUTURE *COPE
4.1 CONC2U*ION AND FUTURE *COPE
-iscrete wavelet transforms a mathematical procedure in numerical analysis
and functional analysis. In -WT, the most prominent information in the signal
appears in high amplitudes and the less prominent information appears in very low
amplitudes. The -iscrete Wavelet Transform (-WT) is a linear transformation that
operates on a data vector whose length is an integer power of two, transforming it into
a numerically different vector of the same length. It is a tool that separates data into
different frequency components.
Wavelets find application in speech compression, which reduces transmission
time in mobile applications. They are used in denoising, edge detection, feature
extraction, speech recognition, echo cancellation and others. They are very promising
for real time audio and video compression applications. Wavelets also have numerous
applications in digital communications. Erthogonal %requency -ivision .ultiplexing
(E%-.) is one of them. Wavelets are used in biomedical imaging. %or example, the
<,D signals, measured from the heart, are analyzed using wavelets or compressed for
storage. The popularity of Wavelet Transform is growing because of its ability to
reduce distortion in the reconstructed signal while retaining all the significant features
present in the signal.
-ata compression can be achieved by discarding these low amplitudes. In
order to achieve better compression first identification of decomposed signals is
required which should be done in the presented thesis. This wor' presents how signal
decomposition is happen through separable -WT architecture. In this wor', separable
pipeline architecture for fast computation of the 2*- -WT with a less memory and
low latency is presented. The low latency and less memory is achieved by proper
designing of two *- -WT filtering processes and also efficiently transferring the
data between the two *- -WT architectures. This architecture is simulated,
synthesized and implemented by B</I8ED language using 1I8I71 I+< Tool. In
future it can be applied to frames also.
REFERENCE*
]^ ;ao Tian/en. .odern digital signal processing. &uazhong =niversity of science
and technology press.VVT.
]2^ &e 1iaohai.Image communication. 1idian university press.2""S.
]9^ B. 7. hopen'ov and B. B. .yasni'ov, c%ast Algorithms of a 8ocal -iscrete
Transform with &aar ?asis,d in Croceedings of +cientimc and Technical ,oncern
with International Carticipation, 2""T.
]:^. C. 7. Cod'ur, cEn ,onstructing +ome Types of Wavelets with the +caling
,oefficient 7d <lectronic +cientific $.c+delano v /ossii,d 2""T, <lectronic
+cientific $. c.ade in /ussia,d 2""T.
]S^ ,astleman, c-igital Image Crocessingd, Cearson <ducation India, 2""U.
]T^ hian hee Teoh, Ibrahim &, ?e3o +.h, cInvestigation on several basic
interpolation methods for the use in remote sensing applicationd, I<<< paper on
Innovative Technologies in Intelligent +ystems and Industrial Applications,
2""!.
]U^ 8emieux A and hnoll <, c-igital Image /esolutiond, I<<< International
Croceedings on ,ommunication, VVV.
]!^ Dribbon h.T, ?ailey, -.D. cA /eal* Time ?ilinear Interpolationd, I<<<
International Wor'shop on <lectronic -esign Test and Applications, 2"":.
]V^ Donzalez, /ichard <. Woods, c-igital Image Crocessingd, +econd <dition.
]"^ /alf +teinmetz and hlara .ahrstedt, c.ultimedia ,omputing, ,ommunication
and Applicationsd, 2"".
]^ Dalli A.W, D.T &eydt and C.% /ibeiro, c<xploring the Cower of Wavelet
Analysisd, I<<< ,omputer Application in Cower, VVT.

You might also like