24
Wavelet Transforms CENG 5931 GNU RADIO

Wavelet Transforms CENG 5931 GNU RADIO INSTRUCTOR: Dr GEORGE COLLINS

Embed Size (px)

Citation preview

Page 1: Wavelet Transforms CENG 5931 GNU RADIO INSTRUCTOR: Dr GEORGE COLLINS

Wavelet Transforms

CENG 5931 GNU RADIO INSTRUCTOR: Dr GEORGE COLLINS

Page 2: Wavelet Transforms CENG 5931 GNU RADIO INSTRUCTOR: Dr GEORGE COLLINS

Introduction

Wavelet Transforms

wavelet Vs Fourier Transforms

GNU Scientific Library

Wavelet transform usage in GNU RADIO

Functions of wavelet transforms

Applications

Conclusion

Contents

Page 3: Wavelet Transforms CENG 5931 GNU RADIO INSTRUCTOR: Dr GEORGE COLLINS

Introduction

GNU RADIO:

Free software development toolkit that provides the signal processing

runtime and processing blocks to implement software radios.

Used in hobbyist, academic and commercial environments to support

wireless communications research.

Applications are written using Python.

Signal processing path is implemented in C++ using processor floating

point extensions.

Page 4: Wavelet Transforms CENG 5931 GNU RADIO INSTRUCTOR: Dr GEORGE COLLINS

Wavelet Transforms

The wavelet transform is a mathematical tool that decomposes a signal into a representation that shows signal details and trends as a function of time.

Basis functions of the wavelet transform are small waves located in different times

Wavelet Transforms is localized in both time and frequency

Page 5: Wavelet Transforms CENG 5931 GNU RADIO INSTRUCTOR: Dr GEORGE COLLINS

Types of Wavelet Transforms

• Continuous wavelet transform (CWT)• Discrete wavelet transform (DWT)• Fast wavelet transform (FWT)• Wavelet packets• Complex wavelet transform

Page 6: Wavelet Transforms CENG 5931 GNU RADIO INSTRUCTOR: Dr GEORGE COLLINS

wavelet Vs Fourier transforms

• If a signal has a discontinuity, FT produces many coefficients with large magnitude (significant coefficients)

• But WT generates a few significant coefficients around the discontinuity

• Nonlinear approximation is a method to benchmark the approximation power of a transform

• In nonlinear approximation we keep only a few significant coefficients of a signal and set the rest to zero

Page 7: Wavelet Transforms CENG 5931 GNU RADIO INSTRUCTOR: Dr GEORGE COLLINS

wavelet Vs Fourier transforms (cntd..)

• Then we reconstruct the signal using the significant coefficients

• WT produces a few significant coefficients for the signals with discontinuities

• Thus, we obtain better results for WT nonlinear approximation when compared with the FT

• WT has better capability for representing speech and natural signals when compared with the FT

Page 8: Wavelet Transforms CENG 5931 GNU RADIO INSTRUCTOR: Dr GEORGE COLLINS

GNU Scientific Library

The GNU Scientific Library (GSL) is a collection of routines for numerical computing. The routines have been written from scratch in C, and present a modern Applications Programming Interface (API) for C programmers, allowing wrappers to be written for very high level languages. The source code is distributed under the GNU General Public License.

Provides a wide range of mathematical routines such as random number generators, special functions and least- squares fitting

Page 9: Wavelet Transforms CENG 5931 GNU RADIO INSTRUCTOR: Dr GEORGE COLLINS

Blocks C++ Signal Processing Blocks: Top Block and Hierarchical Block Base Classes Signal Sources Signal Sinks Filters Mathematics Signal Modulation Signal Demodulation Information Coding and Decoding Synchronization Type Conversions Signal Level Control (AGC) Fourier Transform Wavelet Transform OFDM Blocks Pager Blocks Miscellaneous Blocks Slicing and Dicing Streams Voice Encoders and Decoders Base classes for GR Blocks

Page 10: Wavelet Transforms CENG 5931 GNU RADIO INSTRUCTOR: Dr GEORGE COLLINS

Collaboration diagram

Page 11: Wavelet Transforms CENG 5931 GNU RADIO INSTRUCTOR: Dr GEORGE COLLINS

Wavelet transform usage in GNU RADIO

Collaboration diagram for Wavelet Transform:

Page 12: Wavelet Transforms CENG 5931 GNU RADIO INSTRUCTOR: Dr GEORGE COLLINS

Classes Used in Wavelet Transforms are

1. gr_wavelet_ffcompute wavelet transform using gsl routines

Inheritance diagram

Page 13: Wavelet Transforms CENG 5931 GNU RADIO INSTRUCTOR: Dr GEORGE COLLINS

Classes Used in Wavelet Transforms are(cntd..)

2. gr_wvps_ff computes the Wavelet Power Spectrum from a set of wavelet

coefficients

Inheritance diagram

Page 14: Wavelet Transforms CENG 5931 GNU RADIO INSTRUCTOR: Dr GEORGE COLLINS

Functions in one dimension

The functions used in one dimension wavelet transforms are

Function: 

int gsl_dwt_transform (const gsl_wavelet * w,

double * data,

size_t stride,

size_t n,

gsl_wavelet_direction dir,

gsl_wavelet_workspace * work)

The length of the transform n is restricted to powers of two. For the transform version of the function the argument dir can be either forward (+1) or backward (-1). A workspace work of length n must be provided.

Page 15: Wavelet Transforms CENG 5931 GNU RADIO INSTRUCTOR: Dr GEORGE COLLINS

Functions in one dimension

Function: 

int gsl_dwt_transform_forward (const gsl_wavelet * w, double * data, size_t stride, size_t n, gsl_wavelet_workspace * work)

Function: 

int gsl_dwt_transform_inverse (const gsl_wavelet * w, double * data, size_t stride, size_t n, gsl_wavelet_workspace * work)

Page 16: Wavelet Transforms CENG 5931 GNU RADIO INSTRUCTOR: Dr GEORGE COLLINS

Functions in two dimensions

Function: 

int gsl_wavelet2d_transform (const gsl_wavelet * w,

double * data,

size_t tda,

size_t size1,

size_t size2,

gsl_wavelet_direction dir,

gsl_wavelet_workspace * work)

This functions compute in standard forms on the array data stored in row-major form with dimensions size1 and size2and physical row length tda. The dimensions must be equal (square matrix) and are restricted to powers of two.

Page 17: Wavelet Transforms CENG 5931 GNU RADIO INSTRUCTOR: Dr GEORGE COLLINS

Functions in two dimensions

Function:  int gsl_wavelet2d_transform_forward (const gsl_wavelet * w, double

* data, size_t tda, size_t size1, size_t size2, gsl_wavelet_workspace * work)

Function: 

int gsl_wavelet2d_transform_inverse (const gsl_wavelet * w, double * data, size_t tda, size_t size1, size_t size2, gsl_wavelet_workspace * work)

Page 18: Wavelet Transforms CENG 5931 GNU RADIO INSTRUCTOR: Dr GEORGE COLLINS

Two dimensional wavelet in non standrad form

Function: 

int gsl_wavelet2d_nstransform (const gsl_wavelet * w, double * data, size_t tda, size_t size1, size_t size2, gsl_wavelet_direction dir, gsl_wavelet_workspace * work)

Function: 

int gsl_wavelet2d_nstransform_forward (const gsl_wavelet * w, double * data, size_t tda, size_t size1, size_t size2, gsl_wavelet_workspace * work)

Function: int gsl_wavelet2d_nstransform_inverse (const gsl_wavelet * w, double * data, size_t tda, size_t size1, size_t size2, gsl_wavelet_workspace * work)

These functions compute the two-dimensional wavelet transform in non-standard form.

Page 19: Wavelet Transforms CENG 5931 GNU RADIO INSTRUCTOR: Dr GEORGE COLLINS

Functions for standrad form matrix

Function: 

int gsl_wavelet2d_transform_matrix (const gsl_wavelet * w, gsl_matrix * m, gsl_wavelet_direction dir, gsl_wavelet_workspace * work)

Function: int gsl_wavelet2d_transform_matrix_forward (const gsl_wavelet * w, gsl_matrix * m, gsl_wavelet_workspace * work)

Function: int gsl_wavelet2d_transform_matrix_inverse (const gsl_wavelet * w, gsl_matrix * m, gsl_wavelet_workspace * work)

These functions compute the two-dimensional in-place wavelet transform on a matrix a.

Page 20: Wavelet Transforms CENG 5931 GNU RADIO INSTRUCTOR: Dr GEORGE COLLINS

Functions for non standrad form matrix

Function: int gsl_wavelet2d_nstransform_matrix (const gsl_wavelet * w, gsl_matrix * m, gsl_wavelet_direction dir, gsl_wavelet_workspace * work)

Function: int gsl_wavelet2d_nstransform_matrix_forward (const gsl_wavelet * w, gsl_matrix * m, gsl_wavelet_workspace * work)

Function: int gsl_wavelet2d_nstransform_matrix_inverse (const gsl_wavelet * w, gsl_matrix * m, gsl_wavelet_workspace * work)

These functions compute the non-standard form of the two-dimensional in-place wavelet transform on a matrix a.

Page 21: Wavelet Transforms CENG 5931 GNU RADIO INSTRUCTOR: Dr GEORGE COLLINS

Applications of wavelet transforms

The following are applications of wavelet transforms:

data and image compression partial differential equation solving transient detection pattern recognition texture analysis noise/trend reduction

Page 22: Wavelet Transforms CENG 5931 GNU RADIO INSTRUCTOR: Dr GEORGE COLLINS

Conclusion

In this presentation we had discussed several kind of blocks that are used

in GNU python programming .

We had discussed about the wavelet transforms, their usage in GNU Radio

and the functions that are used to execute them, Also various applications

where these wavelet transforms are used.

Page 23: Wavelet Transforms CENG 5931 GNU RADIO INSTRUCTOR: Dr GEORGE COLLINS

References

http://www.ift.uni.wroc.pl/~zkoza/doc/gsl/gsl-ref_30.html http://gnuradio.org/redmine/wiki/gnuradio http://gnuradio.org/doc/doxygen/group__wavelet__blk.html http://zone.ni.com/devzone/cda/tut/p/id/3887

Page 24: Wavelet Transforms CENG 5931 GNU RADIO INSTRUCTOR: Dr GEORGE COLLINS