Wavelet
A wavelet is a kind of mathematical function used to divide a given function or continuous-time signal into different frequency components and study each component with a resolution that matches its scale.  A wavelet transform is the representation of a function by wavelets.  The wavelets are scaled and translated copies (known as "daughter wavelets") of a finite-length or fast-decaying oscillating waveform (known as the "mother wavelet").  Wavelet transforms have advantages over traditional Fourier transforms for representing functions that have discontinuities and sharp peaks, and for accurately deconstructing and reconstructing finite, non-periodic and/or non-stationary signals.
In formal terms, this representation is a wavelet series representation of a square-integrable function with respect to either a complete, orthonormal set of basis functions, or an overcomplete set of Frame of a vector space (also known as a Riesz basis), for the Hilbert space of square integrable functions.
Wavelet transforms are classified into discrete wavelet transforms (DWTs) and continuous wavelet transforms (CWTs).  Note that both DWT and CWT are of continuous-time (analog) transforms. They can be used to represent continuous-time (analog) signals. CWTs operate over every possible scale and translation whereas DWTs use a specific subset of scale and translation values or representation grid. 
The word wavelet is due to Morlet and Grossmann in the early 1980s. They used the French word ondelette, meaning "small wave". Soon it was transferred to English by translating "onde" into "wave", giving "wavelet".

# Wavelet theory
Wavelet theory is applicable to several subjects. All wavelet transforms may be considered forms of time-frequency representation for continuous-time (analog) signals and so are related to harmonic analysis. Almost all practically useful discrete wavelet transforms use discrete-time filterbanks.  These filter banks are called the wavelet and scaling coefficients in wavelets nomenclature.  These filterbanks may contain either finite impulse response (FIR) or infinite impulse response (IIR) filters. The wavelets forming a CWT are subject to the uncertainty principle of Fourier analysis respective sampling theory: Given a signal with some event in it, one cannot assign simultaneously an exact time and frequency resp. scale to that event. The product of the uncertainties of time and frequency resp. scale has a lower bound. Thus, in the scaleogram of a continuous wavelet transform of this signal, such an event marks an entire region in the time-scale plane, instead of just one point. This is related to Heisenberg's uncertainty principle of quantum physics and has a similar derivation. Also, discrete wavelet bases may be considered in the context of other forms of the uncertainty principle.
Wavelet transforms are broadly divided into three classes: continuous, discretised and multiresolution-based.

## Continuous wavelet transforms (Continuous Shift & Scale Parameters)
In continuous wavelet transforms, a given signal of finite energy is projected on a continuous family of frequency bands (or similar subspaces of the Lp function space L^2(\R)).
For instance the signal may be represented on every frequency band of the form  for all positive frequencies f>0. Then, the original signal can be reconstructed by a suitable integration over all the resulting frequency components.
The frequency bands or subspaces (sub-bands) are scaled versions of a subspace at scale 1. This subspace in turn is in most situations generated by the shifts of one generating function \psi \in L^2(\R), the mother wavelet. For the example of the scale one frequency band  this function is
with the (normalized) sinc function. Other example mother wavelets are:
The subspace of scale a or frequency band  is generated by the functions (sometimes called child wavelets)
where a is positive and defines the scale and b is any real number and defines the shift. The pair (a,b) defines a point in the right halfplane \R_+\times \R.
The projection of a function x onto the subspace of scale a then has the form
with wavelet coefficients
See a list of some Continuous wavelets.
For the analysis of the signal x, one can assemble the wavelet coefficients into a scaleogram of the signal.

## Discrete wavelet transforms (Discrete Shift & Scale parameters)
It is computationally impossible to analyze a signal using all wavelet coefficients, so one may wonder if it is sufficient to pick a discrete subset of the upper halfplane to be able to reconstruct a signal from the corresponding wavelet coefficients. One such system is the affine system for some real parameters a>1, b>0. The corresponding discrete subset of the halfplane consists of all the points (a^m, n\,a^m b) with integers m,n\in\Z. The corresponding baby wavelets are now given as
A sufficient condition for the reconstruction of any signal x of finite energy by the formula
is that the functions \{\psi_{m,n}:m,n\in\Z\} form a tight frame of L^2(\R).

## Multiresolution-based discrete wavelet transforms
In any discretised wavelet transform, there are only a finite number of wavelet coefficients for each bounded rectangular region in the upper halfplane. Still, each coefficient requires the evaluation of an integral. To avoid this numerical complexity, one needs one auxiliary function, the father wavelet \phi\in L^2(\R). Further, one has to restrict a to be an integer. A typical choice is a=2 and b=1. The most famous pair of father and mother wavelets is the Daubechies 4 tap wavelet.
From the mother and father wavelets one constructs the subspaces
and
From these one requires that the sequence
forms a multiresolution analysis of L^2(\R) and that the subspaces \dots,W_1,W_0,W_{-1},\dots\dots are the orthogonal "differences" of the above sequence, that is,
W_m is the orthogonal complement of V_m inside the subspace V_{m-1}. In analogy to the sampling theorem one may conclude that the space V_m with sampling distance 2^m more or less covers the frequency baseband from 0 to 2^{-m-1}. As orthogonal complement, W_m roughly covers the band .
From those inclusions and orthogonality relations follows the existence of sequences h=\{h_n\}_{n\in\Z} and 
g=\{g_n\}_{n\in\Z} that satisfy the identities
and
The second identity of the first pair is a refinement equation for the father wavelet \phi. 
Both pairs of identities form the basis for the algorithm of the fast wavelet transform.

# Mother wavelet
For practical applications, and for efficiency reasons, one prefers continuously differentiable functions with compact support as mother (prototype) wavelet (functions). However, to satisfy analytical requirements (in the continuous WT) and in general for theoretical reasons, one chooses the wavelet functions from a subspace of the space L^1(\R)\cap L^2(\R). This is the space of measurable functions that are absolutely and square integrable:
Being in this space ensures that one can formulate the conditions of zero mean and square norm one:
For \psi to be a wavelet for the continuous wavelet transform (see there for exact statement), the mother wavelet must satisfy an admissibility criterion (loosely speaking, a kind of half-differentiability) in order to get a stably invertible transform.
For the discrete wavelet transform, one needs at least the condition that the wavelet series is a representation of the identity in the space L^2(\R). Most constructions of discrete
WT make use of the multiresolution analysis, which defines the wavelet by a scaling function. This scaling function itself is solution to a functional equation.
In most situations it is useful to restrict \psi to be a continuous function with a higher number M of vanishing moments, i.e. for all integer m<M
Some example mother wavelets are:
The mother wavelet is scaled (or dilated) by a factor of a and translated (or shifted) by a factor of b to give (under Morlet's original formulation):
For the continuous WT, the pair (a,b) varies over the full half-plane \R_+\times\R; for the discrete WT this pair varies over a discrete subset of it, which is also called affine group.
These functions are often incorrectly referred to as the basis functions of the (continuous) transform. In fact, as in the continuous Fourier transform, there is no basis in the continuous wavelet transform. Time-frequency interpretation uses a subtly different formulation (after Delprat).

# Comparisons with Fourier Transform (Continuous-Time)
The wavelet transform is often compared with the Fourier transform, in which signals are represented as a sum of sinusoids.  The main difference is that wavelets are localized in both time and frequency whereas the standard Fourier transform is only localized in frequency.  The Short-time Fourier transform (STFT) is also time and frequency localized but there are issues with the frequency time resolution and wavelets often give a better signal representation using Multiresolution analysis.
The discrete wavelet transform is also less computationally complex, taking O(N) time as compared to O(N log N) for the fast Fourier transform.  This computational advantage is not inherent to the transform, but reflects the choice of a logarithmic division of frequency, in contrast to the equally spaced frequency divisions of the FFT.

# Definition of a wavelet
There are a number of ways of defining a wavelet (or a wavelet family).

## Scaling filter
The wavelet is entirely defined by the scaling filter - a low-pass finite impulse response (FIR) filter of length 2N and sum 1.  In biorthogonal wavelets, separate decomposition and reconstruction filters are defined.
For analysis the high pass filter is calculated as the quadrature mirror filter of the low pass, and reconstruction filters the time reverse of the decomposition.
Daubechies and Symlet wavelets can be defined by the scaling filter.

## Scaling function
Wavelets are defined by the wavelet function \psi (t) (i.e. the mother wavelet) and scaling function \phi (t) (also called father wavelet) in the time domain.
The wavelet function is in effect a band-pass filter and scaling it for each level halves its bandwidth.  This creates the problem that in order to cover the entire spectrum, an infinite number of levels would be required.  The scaling function filters the lowest level of the transform and ensures all the spectrum is covered.  See  for a detailed explanation.
For a wavelet with compact support, \phi (t) can be considered finite in length and is equivalent to the scaling filter g.
Meyer wavelets can be defined by scaling functions

## Wavelet function
The wavelet only has a time domain representation as the wavelet function \psi (t).
For instance, Mexican hat wavelets can be defined by a wavelet function.
See a list of a few Continuous wavelets.

# Applications of Discrete Wavelet Transform
Generally, an approximation to DWT is used for data compression if signal is already sampled, and the CWT for signal analysis. Thus, DWT approximation is commonly used in engineering and computer science, and the CWT in scientific research.
Wavelet transforms are now being adopted for a vast number of applications, often replacing the conventional Fourier Transform. Many areas of physics have seen this paradigm shift, including molecular dynamics, ab initio calculations, astrophysics, density-matrix localisation, seismic geophysics, optics, turbulence and quantum mechanics.  This change has also occurred in image processing, blood-pressure, heart-rate and ECG analyses, DNA analysis, protein analysis, climatology, general signal processing, speech recognition, computer graphics and multifractal analysis. In computer vision and image processing, the notion of scale-space representation and Gaussian derivative operators is regarded as a canonical multi-scale representation.
One use of wavelet approximation is in data compression. Like some other transforms, wavelet transforms can be used to transform data, then encode the transformed data, resulting in effective compression. For example, JPEG 2000 is an image compression standard that uses biorthogonal wavelets.  This means that although the frame is overcomplete, it is a tight frame (see types of Frame of a vector space), and the same frame functions (except for conjugation in the case of complex wavelets) are used for both analysis and synthesis, i.e., in both the forward and inverse transform. For details see wavelet compression.
A related use is that of smoothing/denoising data based on wavelet coefficient thresholding, also called wavelet shrinkage.  By adaptively thresholding the wavelet coefficients that correspond to undesired frequency components smoothing and/or denoising operations can be performed.

# History
The development of wavelets can be linked to several separate trains of thought, starting with Haar's work in the early 20th century. Notable contributions to wavelet theory can be attributed to Zweigs discovery of the continuous wavelet transform in 1975 (originally called the cochlear transform and discovered while studying the reaction of the ear to sound), Pierre Goupillaud, Grossmann and Morlet's formulation of what is now known as the CWT (1982), Jan-Olov Stromberg's early work on discrete wavelets (1983), Daubechies' orthogonal wavelets with compact support (1988), Mallat's multiresolution framework (1989), Nathalie Delprat's time-frequency interpretation of the CWT (1991), Newland's Harmonic wavelet transform (1993) and many others since.

## Timeline
- First wavelet (Haar wavelet) by Alfred Haar (1909)
- Since the 1950s: George Zweig, Jean Morlet, Alex Grossmann
- Since the 1980s: Yves Meyer, Stephane Mallat, Ingrid Daubechies, Ronald Coifman, Victor Wickerhauser,

# Wavelet Transforms
There are a large number of wavelet transforms each suitable for different applications.  For a full list see list of wavelet-related transforms but the common ones are listed below:
- Continuous wavelet transform (CWT)
- Discrete wavelet transform (DWT)
- Fast wavelet transform (FWT)
- Lifting scheme
- Wavelet packet decomposition (WPD)
- Stationary wavelet transform (SWT)

# Generalized Transforms
There are a number of generalized transforms of which the wavelet transform is a special case.  For example, Joseph Segman introduced scale into the Heisenberg group, giving rise to a continuous transform space that is a function of time, scale, and frequency.  The CWT is a two-dimensional slice through the resulting 3d time-scale-frequency volume.
Another example of a generalized transform is the chirplet transform in which the CWT is also a two dimensional slice through the chirplet transform.
An important application area for generalized transforms involves systems in which high frequency resolution is crucial.  For example, darkfield electron optical transforms intermediate between direct and reciprocal space have been widely used in the harmonic analysis of atom clustering, i.e. in the study of crystals and crystal defects.  Now that transmission electron microscopes are capable of providing digital images with picometer-scale information on atomic periodicity in nanostructure of all sorts, the range of pattern recognition and strain/metrology applications for intermediate transforms with high frequency resolution (like brushlets and ridgelets) is growing rapidly.

# List of wavelets

## Discrete wavelets
- Beylkin (18)
- BNC wavelets
- Coiflet (6, 12, 18, 24, 30)
- Cohen-Daubechies-Feauveau wavelet (Sometimes referred to as CDF N/P or Daubechies biorthogonal wavelets)
- Daubechies wavelet (2, 4, 6, 8, 10, 12, 14, 16, 18, 20)
- Binomial-QMF
- Haar wavelet
- Mathieu wavelet
- Legendre wavelet
- Villasenor wavelet
- Symlet

## Continuous wavelets

### Real valued
- Beta wavelet
- Hermitian wavelet
- Hermitian hat wavelet
- Mexican hat wavelet
- Shannon wavelet

### Complex valued
- Complex mexican hat wavelet
- Morlet wavelet
- Shannon wavelet
- Modified Morlet wavelet