1 / 24

Contents

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

saber
Download Presentation

Contents

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Wavelet TransformsCENG 5931 GNU RADIO INSTRUCTOR: Dr GEORGE COLLINS

  2. Introduction Wavelet Transforms wavelet Vs Fourier Transforms GNU Scientific Library Wavelet transform usage in GNU RADIO Functions of wavelet transforms Applications Conclusion Contents

  3. 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.

  4. 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

  5. Types of Wavelet Transforms • Continuous wavelet transform (CWT) • Discrete wavelet transform (DWT) • Fast wavelet transform (FWT) • Wavelet packets • Complex wavelet transform

  6. 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

  7. 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

  8. 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

  9. 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

  10. Collaboration diagram

  11. Wavelet transform usage in GNU RADIOCollaboration diagram for Wavelet Transform:

  12. Classes Used in Wavelet Transforms are 1. gr_wavelet_ff compute wavelet transform using gsl routines Inheritance diagram

  13. Classes Used in Wavelet Transforms are(cntd..) 2. gr_wvps_ff computes the Wavelet Power Spectrum from a set of wavelet coefficients Inheritance diagram

  14. Functions in one dimension The functions used in one dimension wavelet transforms are Function:  intgsl_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.

  15. Functions in one dimension Function:  intgsl_dwt_transform_forward(const gsl_wavelet * w, double * data, size_t stride, size_t n, gsl_wavelet_workspace * work) Function:  intgsl_dwt_transform_inverse (const gsl_wavelet * w, double * data, size_t stride, size_t n, gsl_wavelet_workspace * work)

  16. Functions in two dimensions Function:  int gsl_wavelet2d_transform (const gsl_wavelet * w, double * data, size_ttda, 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.

  17. Functions in two dimensions Function:  int gsl_wavelet2d_transform_forward (const gsl_wavelet * w, double * data, size_ttda, size_t size1, size_t size2, gsl_wavelet_workspace * work) Function:  int gsl_wavelet2d_transform_inverse (const gsl_wavelet * w, double * data, size_ttda, size_t size1, size_t size2, gsl_wavelet_workspace * work)

  18. Two dimensional wavelet in non standrad form Function:  int gsl_wavelet2d_nstransform (const gsl_wavelet * w, double * data, size_ttda, 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_ttda, size_t size1, size_t size2, gsl_wavelet_workspace * work) Function: int gsl_wavelet2d_nstransform_inverse (const gsl_wavelet * w, double * data, size_ttda, size_t size1, size_t size2, gsl_wavelet_workspace * work) These functions compute the two-dimensional wavelet transform in non-standard form.

  19. 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.

  20. 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.

  21. 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

  22. 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.

  23. 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

More Related