Академический Документы
Профессиональный Документы
Культура Документы
CHAPTER 1
INTRODUCTION
1.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 1800's, when Joseph Fourier discovered that he could superpose sines and cosines to represent other functions. However, in wavelet analysis, the scale that we use to look at data plays a special role. Wavelet algorithms process data at different scales or resolutions. Fourier Transform (FT) with its fast algorithms (FFT) is an important tool for analysis and processing of many natural signals. FT has certain limitations to characterize many natural signals, which are non-stationary (e.g. speech). Though a time varying, overlapping window based FT namely STFT (Short Time FT) is well known 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 known as wavelet basis. WT in its continuous (analog) form is represented as CWT. CWT with various deterministic or non-deterministic bases is a more effective representation of signals for analysis as well as characterization. Continuous wavelet transform is powerful in singularity detection. A discrete and fast implementation of CWT (generally with real valued basis) is known as the standard DWT (Discrete Wavelet Transform).With standard DWT, signal has a same data size in transform domain and therefore it is a non-redundant transform. A very important property was Multi-resolution Analysis (MRA) allows DWT to view and process. For many natural signals, the wavelet transform is a more effective tool than the Fourier transform. The wavelet transform provides a multiresolution representation using
Department of ECE,MRITS 1
a set of analysing functions that are dilations and translations of a few functions (wavelets). These web pages describe an implementation in Mat lab of the discrete wavelet transforms (DWT). The programs for 1D, 2D, and 3D signals are described separately, but they all follow the same structure. Examples of how to use the programs for 1D signals, 2D images and 3D video clips are also described. As discrete wavelet transform are based on perfect reconstruction two-channel filter banks, the programs below for the (forward/inverse) DWT call programs for (analysis/synthesis) filter banks. The DWT consists of recursively applying a 2-channel filter bank - the successive decomposition is performed only on the low pass output. In each section below, the 2-channel filter banks are described first. The wavelet transform comes in several forms. The critically-sampled form of the wavelet transform provides the most compact representation; however, it has several limitations. For example, it lacks the shift-invariance property, and in multiple dimensions it does a poor job of distinguishing orientations, which is important in image processing. For these reasons, it turns out that for some applications improvements can be obtained by using an expansive wavelet transform in place of a critically-sampled one. (An expansive transform is one that converts an N-point signal into M coefficients with M > N.) There are several kinds of expansive DWTs; here we describe and provide an implementation of the dual-tree complex discrete wavelet transform. The dual-tree complex wavelet transform overcomes these limitations - it is nearly shift-invariant and is oriented in 2D [Kin-2002]. The 2D dual-tree wavelet transform produces six sub bands at each scale, each of which is strongly oriented at distinct angles. In addition to being spatially oriented, the 3D dual-tree wavelet transform is also motion selective - each sub band is associated with motion in a specific direction. The 3D dualtree isolates in its sub bands motion in distinct directions.
2
Department of ECE,MRITS
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 Fourier analysis.
Though FT has a great ability to capture signals frequency content as long as x(t) is composed of few stationary components (e.g. sine waves). However, any abrupt change in time for non-stationary signal x(t) is spread out over the whole frequency axis in X(f). Hence the time-domain signal sampled with Dirac-delta function is highly localized in time but spills over entire frequency band and vice versa. The limitation of FT is that it cannot offer both time and frequency localization of a signal at the same time.
4
Department of ECE,MRITS
The time-frequency resolution is fixed over the entire time-frequency plane because the same window is used at all frequencies. There is always a trade off between time resolution and frequency resolution in STFT.
1.2, demonstrates the time-frequency resolution for a given signal in various transform domains with their corresponding basis functions.
Figure1.2 Comparative visualizations of time-frequency representation of an arbitrary non-stationary signal in various transform domains
6
Department of ECE,MRITS
Orthogonal wavelets are used to develop the discrete wavelet transform Non-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 nonredundant ones.
The discrete wavelet transform returns a data vector of the same length as the input is. Usually, 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. Such 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. For a 1D data we obtain an image of the time-frequency plane. We can easily see the signal frequencies evolution during the duration of 7
Department of ECE,MRITS
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.
Area of Application
Medical application Signal denoising Data compression Image processing
8
Department of ECE,MRITS
2.1Types of compressions
There are two types of compressions 1. Lossless compression Digitally identical to the original image. Only achieve a modest amount of compression 2. Lossy compression Discards components of the signal that are known to be redundant. Signal is therefore changed from input
9
Department of ECE,MRITS
Lossless compression involves with compressing data, when decompressed data will be an exact replica of the original data. This is the case when binary data such as executable are compressed.
LOSSY
Predictive
Importanc e oriented
Hybrid
DCT
DWT
Mallat
Transversal filter
Coedic
2.2 Reviewed Architectures of Discrete wavelet transforms and inverse discrete wavelet transforms 2.2.1 Discrete Wavelet Transform
The Discrete Wavelet Transform (DWT) is a popular signal processing technique best known for its results in data compression. As hardware designers, we are concerned more with the algorithmic details of the DWT, rather than the mathematical details discussed in the many papers which provide the foundations for wavelets. Algorithmically, the DWT is a recursive filtering process. At each level, the input data is filtered by two related filters to produce two result data-streams. These data-streams are then sub samples by two (or decimated) to reduce the output to the same number of data-words as the original signal. The low-pass filter output of this result is then further processed by the same two filters, and this continues recursively for the desired depth or until no further filtering can occur. This 10
Department of ECE,MRITS
recursive filtering process of the one-dimensional DWT is shown in Figure 1, where z is the input data-stream, a and d are approximation (low-pass filter output) and difference (highpass filter output) data-streams respectively. The subscript values show the level of output.
The filtering steps are multiply and accumulate operations. A filter in the algorithmic, discrete sense is a number of coefficient values. The number of these values is referred to as the filter width and these coefficients are also referred to as taps. At each data-word of the input, the filter spans across that data-word and its neighboring data-words as a window. The values within this window are multiplied by their corresponding filter coefficient and all the results are added together to give the filtered result for this data-word. The filtering operation extracts certain frequency information from the data depending on the characteristics of the filter. This filtering operation can be done with a systolic array. It is simple to implement a systolic array for each level of the DWT, but the arrays are poorly utilized due to the decreasing data-rates of the levels. It is possible, through some complex timing, to use a single array to perform all levels of the DWT.
11
Department of ECE,MRITS
We have previously developed an array for the DWT and are now designing an array for the IDWT. We present a simple discussion of the array with no detailed implementation specifics to allow the reader to understand the issues we are dealing with by the input buffering approach.
12
Department of ECE,MRITS
embedded zero-tree algorithm, a new interleaving scheme that reduces the number of memory accesses has been proposed. Finally, a lifting-based DWT architecture capable of performing filters with one lifting step, i.e., one predict and one update step. The outputs are generated in an interleaved fashion.
Figure 2.4 Lifting Schemes. (a) Scheme 1. (b) Scheme 2. The basic principle of the lifting scheme is to factorize the poly phase matrix of a wavelet filter into a sequence of alternating upper and lower triangular matrices and a diagonal matrix. This leads to the wavelet implementation by means of banded-matrix multiplications. Let and be the low pass and high pass analysis filters, and let and
be the low pass and high pass synthesis filters. The corresponding poly-phase matrices are defined as
If
is a complementary filter pair, then can always be factored into lifting steps as
Where K is a constant. The two types of lifting schemes are shown in Figure 14
Department of ECE,MRITS
Scheme 1
Predict step, where the even samples are multiplied by the time domain equivalent of and are added to the odd samples.
Update step, where updated odd samples are multiplied by the time domain equivalent of and are added to the even samples.
Scaling step, where the even samples are multiplied by 1/k and odd samples by k. The inverse DWT is obtained by traversing in the reverse direction, changing the
factor K to 1/K, K factor to i/K, and reversing the signs of coefficients in Scheme 2 which corresponds to the by traversing in the reverse direction.
and
. In
the first step, and the even samples are calculated in the second step. The inverse is obtained The lifting scheme is a technique for both designing wavelets and performing the discrete wavelet transform. Actually it is worthwhile to merge these steps and design the wavelet filters while performing the wavelet transform. This is then called the second generation wavelet transform. The technique was introduced by Wim Sweldens. The discrete wavelet transform applies several filters separately to the same signal. In contrast to that, for the lifting scheme the signal is divided like a zipper. Then a series of convolution-accumulate operations across the divided signals is applied. The basic idea of lifting is the following: If a pair of filters (h,g) is complementary, that is it allows for perfect reconstruction, then for every filter s the pair (h',g) with allows for perfect reconstruction, too. Of course, this is also true for every pair (h,g') of the form . The converse is
also true: If the filter banks (h,g) and (h',g) allow for perfect reconstruction, then there is a unique filter s with .
Each such transform of the filter bank (or the respective operation in a wavelet transform) is called a lifting step. A sequence of lifting steps consists of alternating lifts, that is, once the low pass is fixed and the high pass is changed and in the next step the high pass is fixed and the low pass is changed. Successive steps of the same direction can be merged.
15
Department of ECE,MRITS
2.3.1 Advantages
1. Lifting schema of DWT has been recognized as a faster approach. 2. No need to divide the input coding into non-overlapping 3-D blocks. It has higher compression ratios avoid blocking artefacts. 3. Allows good localization both in time and spatial frequency domain 4. Better identification of which data is relevant to human perception higher compression ratio 2.3.2 Disadvantages 1. The cost of computing DWT as compared to DCT is higher because the number of logic gates used for DWT is more compared to DCT. 2. The use of larger DWT basis functions or wavelet filters produces blurring and ringing noise near edge regions in the images or video frames.
to compute wavelet transforms compared to traditional approaches. So it comes as no surprise that lifting has been suggested for implementation of the DWT in the upcoming JPEG2000 standard [8]. In a traditional forward DWT using a filter bank, the input signal (x) is filtered separately by a low-pass filter ( h ) and a high-pass filter ( g ) at each/transform level. The two output streams are then subsampled by simply dropping the alternate output samples in each stream to produce the lowpass ( y ~a)nd high-pass ( y ~su) b bands as shown in Figure 4.6. These two filters (k , i j ) form the analysis filter bank. The original signal can be reconstructed by a synthesis filter bank (h,g) starting from y~ and Y H as shown in Figure 4.6. We have adopted the discussion on lifting from the celebrated paper by Daubechies and Sweldens (141. It should also be noted that we adopted the notation (h, g ) for the analysis filter and (h, g ) as the synthes is filter in this section and onward in this chapter. Given a discrete signal x ( n ) , arithmetic computation of above can be expressed as follows:
Where TL arid TH are the lengths of the low-pass (K) and high-pass ( 3 ) filters respectively. During the inverse transform to reconstruct the signal, both y~ and Y H are first up-sampled by inserting zeros between two samples and then they are filtered by low-pass (h) and high-pass (9) filters respectively. These two filtered output streams are added together to obtain the reconstructed signal (2') as shown in Figure 4.6.
Figure 2.5 Signal Analysis and Reconstruction in DWT There are two types of lifting. One is called primal lifting and the other is called dual lifting. We define these two types of lifting based on the mathematical formulations shown in the previous section.
17
Department of ECE,MRITS
18
Department of ECE,MRITS
Chapter 3
Figure 3.1 sub band signal model The Matlab program below, afb.m, implements the analysis filter bank. The program uses the Matlab function upfirdn (in the Signal Processing Toolbox) to implement the filtering and downsampling. The synthesis filter bank combines the two subband signals c(n) and d(n) to obtain a single signal y(n). The synthesis filter bank first up-samples each of the two subband signals. The signals are then filtered using a lowpass and a highpass filter. We denote the lowpass filter by sf1 (synthesis filter 1) and the highpass filter by sf2 (synthesis filter 2). The signals are then added together to obtain the signal y(n). If the four filters are designed so as to guarantee that the output signal y(n) equals the input 19
Department of ECE,MRITS
signal x(n), then the filters are said to satisfy the perfect reconstruction condition. The Matlab program below, sfb.m, implements the synthesis filter bank. There are many sets of filters that satisfy the perfect reconstruction conditions. One set of filters, from [AS-2001], is shown in the Table below. These filters are approximately symmetric. The following code fragment shows an example of how to use the Matlab functions, afb.m and sfb.m. This example verifies the perfect reconstruction property. First, we create a random input signal x of length 64. Then the analysis and synthesis filters are obtained with the Matlab function farras.m. The two subband signals (here called lo and hi) are computed with the function afb.m. The output signal y is then computed using the Matlab function sfb.m. The maximum value of the error x - y is computed, and it is equal to zero (within computer precision). This verifies the perfect reconstruction property. A couple of remarks about the programs afb.m and sfb.m. Suppose the input signal x(n) is of length N. For convenience, we will like the subband signals c(n) and d(n) to each be of length N/2. However, these subband signals will exceed this length by L/2, where L is the length of the analysis filters. To avoid this excessive length, the last L/2 samples of each subband signal is added to the first L/2 samples. This procedure (periodic extension) can create undesirable artifacts at the beginning and end of the subband signals, however, it is the most convenient solution. When the analysis and synthesis filters are exactly symmetric, a different procedure (symmetric extension) can be used, that avoids the artifacts associated with periodic extension. A second detail also arises in the implementation of the perfect reconstruction filter bank. If all four filters are causal, then the output signal y(n) will be a translated (or circularly shifted) version of x(n). To avoid this, we perform a circular shift in both the analysis and synthesis filter banks. The circular shift is implemented with the Matlab function cshift.m.
20
Department of ECE,MRITS
The Matlab function dwt.m below computes the J-scale discrete wavelet transform w of the signal x. We use the cell array data structure of Matlab to store the subband signals. For j = 1..J, w{j} is the high frequency subband signal produced at stage j. w{J+1} is the low frequency subband signal produced at stage J. The inverse DWT is computed with the Matlab function idwt.m. The perfect reconstruction of the DWT is verified in the following example. First we create a random input signal x of length 64. Then the analysis and synthesis filters are obtained with the Matlab function farras.m. The 3-scale DWT is computed with the function dwt.m. The inverse DWT is then computed to get the signal y. As verified below, y = x within computer precision. The wavelet associated with a set of synthesis filters can be computed using the following Matlab code fragment. In this example, we set all of the wavelet coefficients to zero, for the exception of one wavelet coefficient which is set to one. We then take the inverse wavelet transform.
21
Department of ECE,MRITS
22
Department of ECE,MRITS
Figure 3.4 One stage in multi-resolution wavelet decomposition of an image The 2D analysis filter bank is implemented with the Mat lab function afb2D.m. This function calls a sub-function, afb2D_A.m, which applies the 1D analysis filter bank along one dimension only (either along the columns or along the rows). The function afb2D.m returns two variables: lo is the low pass sub band image; hi is a cell array containing the 3 other sub band images. The 2D synthesis filter bank is similarly implemented with the commands sfb2D.m and sfb2D_A.m.
23
Department of ECE,MRITS
There are three wavelets associated with the 2D wavelet transform. The following figure illustrates three wavelets as gravy scale images.
Figure 3.5 gravy scale images Note that the first two wavelets are oriented in the vertical and horizontal directions; however, the third wavelet does not have a dominant orientation. The third wavelet mixes two diagonal orientations, which gives rise to the checkerboard artefact. (The 2D DWT is poor at isolating the two diagonal orientations.) This figure was produced with the following Mat lab code fragment (dwt2D_plots.m).
24
Department of ECE,MRITS
25
Department of ECE,MRITS
Figure 4.1 One dimensional two level wavelet decomposition In reconstruction process, these approximate and detail coefficients are first upsampled and then applied to low-pass and high-pass reconstruction filters. These filtered coefficients are then added to get the reconstructed version of the original image. This process can be extended to multi level reconstruction i.e., the approximate coefficients to this block may have been formed from pairs of approximate and detail coefficients. Shown in Figure 3.2
26
Department of ECE,MRITS
27
Department of ECE,MRITS
Figure 4.4 Two channel filter bank at level 3 Various architectures have been proposed for computation of the DWT. These can be mainly classified as either Convolutional Architectures or Lifting Based Architectures. The number of computations required to find the DWT coefficients by the filter method is large for higher level of decomposition. This leads to the implementation of new technique called lifting scheme for computing DWT coefficients. This scheme reduces the number of computations and also provides in-place computation of DWT coefficients.
28
Department of ECE,MRITS
Figure 4.5 General Implementation Flow Diagram Initially the market research should be carried out which covers the previous version of the design and the current requirements on the design. Based on this survey, the specification and the architecture must be identified. Then the RTL modelling should be carried out in VERILOG HDL with respect to the identified architecture. Once the RTL modelling is done, it should be simulated and verified for all the cases. The functional verification should meet the intended architecture and should pass all the test cases. 29
Department of ECE,MRITS
Once the functional verification is clear, the RTL model will be taken to the synthesis process. Three operations will be carried out in the synthesis process such as Translate Map Place and Route The developed RTL model will be translated to the mathematical equation format which will be in the understandable format of the tool. These translated equations will be then mapped to the library that is, mapped to the hardware. Once the mapping is done, the gates were placed and routed. Before these processes, the constraints can be given in order to optimize the design. Finally the BIT MAP file will be generated that has the design information in the binary format which will be dumped in the FPGA board.
4.5 Implementation
The 3D (5, 3) wavelet transform block and for the recovery stage 3D (5, 3) Inverse wavelet transform were designed.
30
Department of ECE,MRITS
Equation 3.1 and Equation 3.2 shows the lifting steps for the 5/3 le Gall Integer Wavelet Transform. The rational coefficients allow the transform to be invertible with finite precision analysis, hence giving a chance for performing lossless compression. The equations show the lifting steps for (5, 3) le gall Integer Wavelet Transform. The even and odd coefficient equations for (5, 3) Inverse Integer Wavelet Transform are x ( 2n ) + ( 2n + 2 ) y ( 2n + 1) = x( 2n + 1) .. (3.1) 2 y ( 2n ) = x( 2n ) + [ y ( 2n 1) + y ( 2n + 1) ] .. (3.2)
31
Department of ECE,MRITS
Figure 4.6 Computation of Basic (5, 3) DWT Block in which a and b are lifting coefficients (a = -1/2 and b = 1)
The internal operation of the DWT block has been explained above and hence the high pass and low pass coefficients of the taken image were identified and separated. The generated low pass and high pass coefficients are stored in buffers for further calculations.
32
Department of ECE,MRITS
CHAPTER 5
SOFTWARE DISCRIPTION
5.1 Starting the ISE Software To start ISE, double-click the desktop icon, or start ISE from the Start menu by selecting:
Start All Programs -> Xilinx ISE 13.4 -> Project Navigator 5.2 Accessing Help At any time during the tutorial, you can access online help for additional information about the ISE software and related tools. To open Help, do either of the following: Press F1 to view Help for the specific tool or function that you have selected or highlighted. Launch the ISE Help Contents from the Help menu. It contains information about creating and maintaining your complete design flow in ISE.
Table 5.1: ISE Help Topics 5.3 Create a New Project Create a new ISE project which will target the FPGA device on the Spartan-3 Start-up Kit Demo board. 33
Department of ECE,MRITS
To create a new project: 1. Select File New Project The New Project Wizard appears. 2. Type tutorial in the Project Name field. 3. Enter or browse to a location (directory path) for the new project. A tutorial subdirectory is created automatically. 4. Verify that HDL is selected from the Top-Level Source Type list. 5. Click Next to move to the device properties page. 6. Fill in the properties in the table as shown below: Product Category: All Family: Spartan3E Device: XC3S100E Package: CP132 Speed Grade: -5 Top- Level Source Type: HDL Synthesis Tool: XST (VHDL/Verilog) Simulator: ISE Simulator (VHDL/Verilog) Preferred Language: Verilog (or VHDL) Verify that Enable Enhanced Design Summary is selected.
Leave the default values in the remaining fields. When the table is complete, your project properties will look like the following:
34
Department of ECE,MRITS
35
Department of ECE,MRITS
Table 5.3: ISE project navigator 7. Click Next to proceed to the Create New Source window in the New Project Wizard. At the end of the next section, your new project will be complete. 5.4 Creating a Verilog Source Create the top-level Verilog source file for the project as follows: 1. Click New Source in the New Project dialog box. 2. Select Verilog Module as the source type in the New Source dialog box. 3. Type in the file name test_module. 4. Verify that the Add to Project checkbox is selected. 5. Click Next. 36
Department of ECE,MRITS
6. Declare the ports for the counter design by filling in the port information as shown below:
37
Department of ECE,MRITS
Table 5.5: ISE Help Topics 7. Click Next, then Finish in the New Source Information dialog box to complete the new source file template. 8. Click Next, then Next, then Finish. The source file containing the test_ module module displays in the Workspace, and the counter displays in the Sources tab, as shown below:
38
Department of ECE,MRITS
In the above window 1. Hierarchy window 2. Process window 5.5 Checking the Syntax of the new test module Module When the source files are complete, check the syntax of the design to find errors and typos. 1. Verify that Implementation is selected from the drop-down list in the Sources Window. 2. Select the test module design source in the Sources window to display the related Processes in the Processes window. 3. Click the + next to the Synthesize-XST process to expand the process group. 4. Double-click the Check Syntax process. Note: You must correct any errors found in your source files. You can check for errors in the Console tab of the Transcript window. If you continue without valid syntax, you will not be able to Simulate or synthesize your design. 5. Close the HDL file. 5.6 To Synthesize the Code 39
Department of ECE,MRITS
Select the test module in hierarchy window and double click on synthesize in process window. The code will synthesize and show if any errors. We can also see rtl view and technological view after this. 5.7 To implement the design Select test module in hierarchy window & double click on the implement design. Then tool will perform all operations regarding translation, mapping & place and route operations Now you can see the design summery/reports on the window
40
Department of ECE,MRITS
The DWT process and the developed architecture for the required functionality were discussed in the previous chapters. Now this chapter deals with the simulation and synthesis results of the DWT process. Here Modelsim tool is used in order to simulate the design and checks the functionality of the design. Once the functional verification is done, the design will be taken to the Xilinx tool for Synthesis process and the net list generation. The Appropriate test cases have been identified in order to test this modelled DWT process architecture. Based on the identified values, the simulation results which describes the operation of the process has been achieved. This proves that the modelled design works properly as per its functionality.
that the low pass and the high pass again divided into LL, LH and HH, HL. The output is verified in the Modelsim. For this DWT block, the clock and reset were the primary inputs. The pixel values of the image, that is, the input data will be given to this block and hence these values will be split in to even and odd pixel values. In the design, this even and odd were taken as a array which will store its pixel values in it and once all the input pixel values over, then load will be made high which represents that the system is ready for the further process. Once the load signal is set to high, then the each value from the even and odd array will be taken and used for the Low Pass Coefficients generation process. Hence each value will be given to the adder and in turn given to the multiplication process with the filter coefficients. Finally the Low Pass Coefficients will be achieved from the addition process of multiplied output and the odd pixel value. Again this Low Pass Coefficient will be taken and it will be multiplied with the filter coefficients. The resultant will be added with the even pixel value which gives the High Pass Coefficient. Hence all the values from even and odd array will be taken and then above said process will be carried out in order to achieve the High and Low Pass Coefficients of the image. Now these low pass coefficients and the high pass coefficients were taken as the input for the further process. Hence for the DWT-2 process, low pass coefficients will be taken as the inputs and will do the process in order to calculate the low pass and high pass coefficients from the transformed coefficients of DWT-1. In DWT-2, the same process as in DWT-1 will be carried out. Hence the simulated waveform is shown in the figure 4.2.
42
Department of ECE,MRITS
Fig 6.1 Simulation Result of DWT with Both High and Low Pass Coefficients Similarly the high pass coefficients from the DWT-1 block were taken as input to the DWT-3 block and hence further transformed low pass and high pass coefficients will be obtained.
Figure 6.2 Logic Block In technology mapping, the transformation of optimized Boolean expression to FPGA logic blocks, that is said to be as Slices. Here area and delay optimization will be taken place. During placement the algorithms are used to place each block in FPGA array. Assigning the
44
Department of ECE,MRITS
FPGA wire segments, which are programmable, to establish connections among FPGA blocks through routing. The configuration of final chip is made in programming unit.
45
Department of ECE,MRITS
The device utilization summery is shown above in which its gives the details of number of devices used from the available devices and also represented in %. Hence as the result of the synthesis process, the device utilization in the used device and package is shown above.
46
Department of ECE,MRITS
Timing Summary
--------------Speed Grade: -5 Minimum period: 8.123ns (Maximum Frequency: 123.113MHz) Minimum input arrival time before clock: 3.932ns Maximum output required time after clock: 12.204ns Maximum combinational path delay: No path found
47
Department of ECE,MRITS
RTL Schematic
The RTL (Register Transfer Logic) can be viewed as black box after synthesize of design is made. It shows the inputs and outputs of the system. By double-clicking on the diagram we can see gates, flip-flops and MUX.
Figure 6.3 DWT Schematic with Basic Inputs and Output Here in the above schematic, that is, in the top level schematic shows all the inputs and final output of DWT design.
48
Department of ECE,MRITS
49
Department of ECE,MRITS
Figure 6.5 Blocks inside the Developed Top Level DWT Design
The internal blocks available inside the design includes DWT-1, DWT-2 and DWT-3 which were clearly shown in the above schematic level diagram. Inside each block the gate level circuit will be generated with respect to the modelled HDL code.
6.5 Summary
50
Department of ECE,MRITS
The developed DWT are modelled and are simulated using the Modelsim tool. The simulation results are discussed by considering different cases. The RTL model is synthesized using the Xilinx tool in Spartan 3E and their synthesis results were discussed with the help of generated reports.
51
Department of ECE,MRITS
CHAPTER 7
CONCLUSION AND FUTURE WORK 7.1 Conclusion
Basically the medical images need more accuracy without loosing of information. The Discrete Wavelet Transform (DWT) was based on time-scale representation, which provides efficient multi-resolution. The lifting based scheme (5, 3) (The high pass filter has five taps and the low pass filter has three taps) filter give lossless mode of information. A more efficient approach to lossless whose coefficients are exactly represented by finite precision numbers allows for truly lossless encoding. This work ensures that the image pixel values given to the DWT process which gives the high pass and low pass coefficients of the input image. The simulation results of DWT were verified with the appropriate test cases. Once the functional verification is done, discrete wavelet transform is synthesized by using Xilinx tool in Spartan 3E FPGA family. Hence it has been analyzed that the discrete wavelet transform (DWT) operates at a maximum clock frequency of 99.197 MHz respectively.
52
Department of ECE,MRITS