|
|
Line 1: |
Line 1: |
| [[Image:Jpeg2000 2-level wavelet transform-lichtenstein.png|thumb|300px|An example of the 2D discrete wavelet transform that is used in [[JPEG2000]]. The original image is high-pass filtered, yielding the three large images, each describing local changes in brightness (details) in the original image. It is then low-pass filtered and downscaled, yielding an approximation image; this image is high-pass filtered to produce the three smaller detail images, and low-pass filtered to produce the final approximation image in the upper-left.]]
| | Luke Bryan is really a celebrity in the generating as well as vocation development first second [http://www.ffpjp24.org sell tickets online] to his third theatre recording, & , may be the evidence. He broken to the picture in 2010 regarding his funny mixture of lower-home ease of access, video superstar excellent appears [http://lukebryantickets.citizenswebcasting.com justin bieber tickets] and lines, is defined t within a significant way. The newest re in the region chart and #2 on the take maps, generating it the 2nd highest debut during that time of 2007 for a land artist. <br><br>The child of your , is aware of persistence and dedication are key elements when it comes to an effective career- . His initial record, Keep Me, generated the very best strikes “All My Pals Say” and “Country Man,” when his work, Doin’ Factor, identified the vocalist-a few right No. 6 singles: Different Calling Is a Great Factor.”<br><br>During the slip of 2001, Tour: Bryan & that had an impressive listing of , including Metropolitan. “It’s almost like you’re obtaining a acceptance to look to the next level, says individuals artists which were an element of the Concert touraround right into a larger sized degree of performers.” It packaged as among the best trips in its twenty-calendar year historical past.<br><br>Here is my blog :: [http://lukebryantickets.hamedanshahr.com luke bryan vip tickets] |
| In [[numerical analysis]] and [[functional analysis]], a '''discrete wavelet transform''' (DWT) is any [[wavelet transform]] for which the [[wavelet]]s are discretely sampled. As with other wavelet transforms, a key advantage it has over [[Fourier transform]]s is temporal resolution: it captures both frequency ''and'' location information (location in time).
| |
| | |
| == Examples ==
| |
| | |
| === Haar wavelets ===
| |
| {{main|Haar wavelet}}
| |
| The first DWT was invented by the Hungarian mathematician [[Alfréd Haar]]. For an input represented by a list of <math>2^n</math> numbers, the [[Haar wavelet]] transform may be considered to simply pair up input values, storing the difference and passing the sum. This process is repeated recursively, pairing up the sums to provide the next scale: finally resulting in <math>2^n-1</math> differences and one final sum.
| |
| | |
| === Daubechies wavelets ===
| |
| {{main|Daubechies wavelet}}
| |
| The most commonly used set of discrete wavelet transforms was formulated by the Belgian mathematician [[Ingrid Daubechies]] in 1988. This formulation is based on the use of [[recurrence relation]]s to generate progressively finer discrete samplings of an implicit mother wavelet function; each resolution is twice that of the previous scale. In her seminal paper, Daubechies derives a family of [[Daubechies wavelet|wavelets]], the first of which is the Haar wavelet. Interest in this field has exploded since then, and many variations of Daubechies' original wavelets were developed.<ref>Akansu, Ali N.; Haddad, Richard A. (1992), Multiresolution signal decomposition: transforms, subbands, and wavelets, Boston, MA: Academic Press, ISBN 978-0-12-047141-6</ref>
| |
| | |
| === The Dual-Tree Complex Wavelet Transform (ℂWT) ===
| |
| The Dual-Tree Complex Wavelet Transform (ℂWT) is relatively recent enhancement to the discrete wavelet transform (DWT), with important additional properties: It is nearly shift invariant and directionally selective in two and higher dimensions. It achieves this with a redundancy factor of only <math>2^d</math> for d-dimensional signals, which is substantially lower than the undecimated DWT. The multidimensional (M-D) dual-tree ℂWT is nonseparable but is based on a computationally efficient, separable filter bank (FB).<ref>Selesnick, I.W.; Baraniuk, R.G.; Kingsbury, N.C. - 2005 - The dual-tree complex wavelet transform</ref>
| |
| | |
| === Others ===
| |
| Other forms of discrete wavelet transform include the [[Stationary wavelet transform|non- or undecimated wavelet transform]] (where downsampling is omitted), the [[Newland transform]] (where an [[orthonormal]] basis of wavelets is formed from appropriately constructed [[top-hat filter]]s in [[frequency space]]). [[Wavelet packet decomposition|Wavelet packet transform]]s are also related to the discrete wavelet transform. [[Complex wavelet transform]] is another form.
| |
| | |
| == Properties ==
| |
| The Haar DWT illustrates the desirable properties of wavelets in general. First, it can be performed in <math>O(n)</math> operations; second, it captures not only a notion of the frequency content of the input, by examining it at different scales, but also temporal content, i.e. the times at which these frequencies occur. Combined, these two properties make the [[Fast wavelet transform]] (FWT) an alternative to the conventional [[Fast Fourier Transform]] (FFT).
| |
| | |
| === Time Issues ===
| |
| Due to the rate-change operators in the filter bank, the discrete WT is not time-invariant but actually very sensitive to the alignment of the signal in time. To address the time-varying problem of wavelet transforms, Mallat and Zhong proposed a new algorithm for wavelet representation of a signal, which is invariant to time shifts.<ref>S. Mallat, A Wavelet Tour of Signal Processing, 2nd ed. San Diego, CA: Academic, 1999.</ref> According to this algorithm, which is called a TI-DWT, only the scale parameter is sampled along the dyadic sequence 2^j (j∈Z) and the wavelet transform is calculated for each point in time.<ref>S. G. Mallat and S. Zhong, “Characterization of signals from multiscale edges,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 14, no. 7, pp. 710– 732, Jul. 1992.</ref><ref>Ince, Kiranyaz, Gabbouj - 2009 - A generic and robust system for automated patient-specific classification of ECG signals</ref>
| |
| | |
| == Applications ==
| |
| The discrete wavelet transform has a huge number of applications in science, engineering, mathematics and computer science. Most notably, it is used for [[signal coding]], to represent a discrete signal in a more redundant form, often as a preconditioning for [[data compression]]. Practical applications can also be found in signal processing of accelerations for gait analysis,<ref>[http://www.youtube.com/watch?v=DTpEVQSEBBk "Novel method for stride length estimation with body area network accelerometers"], ''IEEE BioWireless 2011'', pp. 79-82</ref> in digital communications and many others.<ref>A.N. Akansu and M.J.T. Smith,
| |
| [http://www.amazon.com/Subband-Wavelet-Transforms-Applications-International/dp/0792396456/ref=sr_1_1?s=books&ie=UTF8&qid=1325018106&sr=1-1 Subband and Wavelet Transforms: Design and Applications], Kluwer Academic Publishers, 1995.</ref>
| |
| <ref>A.N. Akansu and M.J. Medley, [http://www.amazon.com/Transforms-Communications-Multimedia-International-Engineering/dp/1441950869/ref=sr_1_fkmr0_3?s=books&ie=UTF8&qid=1325018358&sr=1-3-fkmr0 Wavelet, Subband and Block Transforms in Communications and Multimedia], Kluwer Academic Publishers, 1999.</ref><ref>A.N. Akansu, P. Duhamel, X. Lin and M. de Courville [http://web.njit.edu/~akansu/PAPERS/AKANSU-ORTHOGONAL-MUX-1998.pdf Orthogonal Transmultiplexers in Communication: A Review], IEEE Trans. On Signal Processing, Special Issue on Theory and Applications of Filter Banks and Wavelets. Vol. 46, No.4, pp. 979-995, April, 1998.</ref>
| |
| | |
| It is shown that discrete wavelet transform (discrete in scale and shift, and continuous in time) is successfully implemented as analog filter bank in biomedical signal processing for design of low-power pacemakers and also in ultra-wideband (UWB) wireless communications.<ref>A.N. Akansu, W.A. Serdijn, and I.W. Selesnick, [http://web.njit.edu/~akansu/PAPERS/ANA-IWS-WAS-ELSEVIER%20PHYSCOM%202010.pdf Wavelet Transforms in Signal Processing: A Review of Emerging Applications], Physical Communication, Elsevier, vol. 3, issue 1, pp. 1-18, March 2010.</ref>
| |
| | |
| == Comparison with Fourier transform ==
| |
| {{see also|Discrete Fourier transform}}
| |
| | |
| To illustrate the differences and similarities between the discrete wavelet transform with the [[discrete Fourier transform]], consider the DWT and DFT of the following sequence: (1,0,0,0), a [[unit impulse]].
| |
| | |
| The DFT has orthogonal basis ([[DFT matrix]]): | |
| | |
| <math>
| |
| \begin{bmatrix}
| |
| 1 & 1 & 1 & 1\\
| |
| 1 & -i & -1 & i\\
| |
| 1 & -1 & 1 & -1\\
| |
| 1 & i & -1 & -i
| |
| \end{bmatrix}
| |
| </math>
| |
| | |
| while the DWT with Haar wavelets for length 4 data has orthogonal basis in the rows of:
| |
| | |
| <math>
| |
| \begin{bmatrix}
| |
| 1 & 1 & 1 & 1\\
| |
| 1 & 1 & -1 & -1\\
| |
| 1 & -1 & 0 & 0\\
| |
| 0 & 0 & 1 & -1
| |
| \end{bmatrix}
| |
| </math>
| |
| | |
| (To simplify notation, whole numbers are used, so the bases are [[orthogonal]] but not [[orthonormal]].)
| |
| | |
| Preliminary observations include:
| |
| * Wavelets have ''location'' – the (1,1,–1,–1) wavelet corresponds to “left side” versus “right side”, while the last two wavelets have support on the left side or the right side, and one is a translation of the other.
| |
| * Sinusoidal waves do not have location – they spread across the whole space – but do have ''phase'' – the second and third waves are translations of each other, corresponding to being 90° out of phase, like cosine and sine, of which these are discrete versions.
| |
| | |
| Decomposing the sequence with respect to these bases yields:
| |
| :<math>\begin{align}
| |
| (1,0,0,0) &= \frac{1}{4}(1,1,1,1) + \frac{1}{4}(1,1,-1,-1) + \frac{1}{2}(1,-1,0,0) \qquad \text{Haar DWT}\\
| |
| (1,0,0,0) &= \frac{1}{4}(1,1,1,1) + \frac{1}{2}(1,0,-1,0) + \frac{1}{4}(1,-1,1,-1) \qquad \text{DFT}
| |
| \end{align}</math>
| |
| The DWT demonstrates the localization: the (1,1,1,1) term gives the average signal value, the (1,1,–1,–1) places the signal in the left side of the domain, and the
| |
| (1,–1,0,0) places it at the left side of the left side, and truncating at any stage yields a downsampled version of the signal:
| |
| :<math>\begin{align}
| |
| &\left(\frac{1}{4},\frac{1}{4},\frac{1}{4},\frac{1}{4}\right)\\
| |
| &\left(\frac{1}{2},\frac{1}{2},0,0\right)\qquad\text{2-term truncation}\\
| |
| &\left(1,0,0,0\right)
| |
| \end{align}</math>
| |
| [[File:Sinc function (normalized).svg|thumb|The [[sinc function]], showing the time domain artifacts ([[undershoot (signal)|undershoot]] and [[ringing (signal)|ringing]]) of truncating a Fourier series.]]
| |
| The DFT, by contrast, expresses the sequence by the interference of waves of various frequencies – thus truncating the series yields a [[low-pass filter]]ed version of the series:
| |
| :<math>\begin{align}
| |
| &\left(\frac{1}{4},\frac{1}{4},\frac{1}{4},\frac{1}{4}\right)\\
| |
| &\left(\frac{3}{4},\frac{1}{4},-\frac{1}{4},\frac{1}{4}\right)\qquad\text{2-term truncation}\\
| |
| &\left(1,0,0,0\right)
| |
| \end{align}</math>
| |
| Notably, the middle approximation (2-term) differs. From the frequency domain perspective, this is a better approximation, but from the time domain perspective it has drawbacks – it exhibits [[undershoot (signal)|undershoot]] – one of the values is negative, though the original series is non-negative everywhere – and [[ringing (signal)|ringing]], where the right side is non-zero, unlike in the wavelet transform. On the other hand, the Fourier approximation correctly shows a peak, and all points are within <math>1/4</math> of their correct value, though all points have error. The wavelet approximation, by contrast, places a peak on the left half, but has no peak at the first point, and while it is exactly correct for half the values (reflecting location), it has an error of <math>1/2</math> for the other values.
| |
| | |
| This illustrates the kinds of trade-offs between these transforms, and how in some respects the DWT provides preferable behavior, particularly for the modeling of transients.
| |
| | |
| == Definition ==
| |
| | |
| === One level of the transform ===
| |
| | |
| The DWT of a signal <math>x</math> is calculated by passing it through a series of filters. First the samples are passed through a [[low pass filter]] with [[impulse response]] <math>g</math> resulting in a [[convolution]] of the two:
| |
| | |
| :<math>y[n] = (x * g)[n] = \sum\limits_{k = - \infty }^\infty {x[k] g[n - k]}. </math>
| |
| | |
| The signal is also decomposed simultaneously using a [[high-pass filter]] <math>h</math>. The outputs giving the detail coefficients (from the high-pass filter) and approximation coefficients (from the low-pass). It is important that the two filters are related to each other and they are known as a [[quadrature mirror filter]].
| |
| | |
| However, since half the frequencies of the signal have now been removed, half the samples can be discarded according to Nyquist’s rule. The filter outputs are then [[subsampling|subsampled]] by 2 (Mallat's and the common notation is the opposite, g- high pass and h- low pass):
| |
| | |
| :<math>y_{\mathrm{low}} [n] = \sum\limits_{k = - \infty }^\infty {x[k] g[2 n - k]} </math>
| |
| :<math>y_{\mathrm{high}} [n] = \sum\limits_{k = - \infty }^\infty {x[k] h[2 n - k]} </math>
| |
| | |
| This decomposition has halved the time resolution since only half of each filter output characterises the signal. However, each output has half the frequency band of the input so the frequency resolution has been doubled.
| |
| | |
| [[Image:Wavelets - DWT.png|frame|none|Block diagram of filter analysis]]
| |
| | |
| With the [[subsampling]] operator <math>\downarrow</math>
| |
| | |
| :<math>(y \downarrow k)[n] = y[k n] </math> | |
| | |
| the above summation can be written more concisely.
| |
| | |
| :<math>y_{\mathrm{low}} = (x*g)\downarrow 2 </math>
| |
| :<math>y_{\mathrm{high}} = (x*h)\downarrow 2 </math>
| |
| | |
| However computing a complete convolution <math>x*g</math> with subsequent downsampling would waste computation time.
| |
| | |
| The [[Lifting scheme]] is an optimization where these two computations are interleaved.
| |
| | |
| === Cascading and Filter banks ===
| |
| | |
| This decomposition is repeated to further increase the frequency resolution and the approximation coefficients decomposed with high and low pass filters and then down-sampled. This is represented as a binary tree with nodes representing a sub-space with a different time-frequency localisation. The tree is known as a [[filter bank]].
| |
| | |
| [[Image:Wavelets - Filter Bank.png|frame|none|A 3 level filter bank]]
| |
| | |
| At each level in the above diagram the signal is decomposed into low and high frequencies. Due to the decomposition process the input signal must be a multiple of <math>2^n</math> where <math>n</math> is the number of levels.
| |
| | |
| For example a signal with 32 samples, frequency range 0 to <math>f_n</math> and 3 levels of decomposition, 4 output scales are produced:
| |
| | |
| {| class="wikitable"
| |
| ! Level
| |
| ! Frequencies
| |
| ! Samples
| |
| |-
| |
| | rowspan="2" | 3
| |
| | <math>0</math> to <math>{{f_n}}/8</math>
| |
| | 4
| |
| |-
| |
| | <math>{{f_n}}/8</math> to <math>{{f_n}}/4</math>
| |
| | 4
| |
| |-
| |
| | 2
| |
| | <math>{{f_n}}/4</math> to <math>{{f_n}}/2</math>
| |
| | 8
| |
| |-
| |
| | 1
| |
| | <math>{{f_n}}/2</math> to <math>f_n</math>
| |
| | 16
| |
| |}
| |
| | |
| [[Image:Wavelets - DWT Freq.png|frame|none|Frequency domain representation of the DWT]]
| |
| | |
| | |
| == Relationship to the Mother Wavelet ==
| |
| | |
| The filterbank implementation of wavelets can be interpreted as computing the wavelet coefficients of a [[Wavelet#Discrete_wavelet_transforms_.28discrete_shift_and_scale_parameters.29| discrete set of child wavelets]] for a given mother wavelet <math>\psi(t)</math>. In the case of the discrete wavelet transform, the mother wavelet is shifted and scaled by powers of two
| |
| | |
| <math> \psi_{j,k}(t)= \frac{1}{\sqrt{2^j}} \psi \left( \frac{t - k 2^j}{2^j} \right) </math>
| |
| | |
| where <math>j</math> is the scale parameter and <math>k</math> is the shift parameter, both which are integers.
| |
| | |
| Recall that the wavelet coefficient <math>\gamma</math> of a signal <math>x(t)</math> is the projection of <math>x(t)</math> onto a wavelet, and let <math>x(t)</math> be a signal of length <math>2^N</math>. In the case of a child wavelet in the discrete family above,
| |
| | |
| <math> \gamma_{jk} = \int_{-\infty}^{\infty} x(t) \frac{1}{\sqrt{2^j}} \psi \left( \frac{t - k 2^j}{2^j} \right) dt </math>
| |
| | |
| Now fix <math>j</math> at a particular scale, so that <math> \gamma_{jk} </math> is a function of <math>k</math> only. In light of the above equation, <math>\gamma_{jk}</math> can be viewed as a [[convolution]] of <math>x(t)</math> with a dilated, reflected, and normalized version of the mother wavelet, <math>h(t) = \frac{1}{\sqrt{2^j}} \psi \left( \frac{-t}{2^j} \right) </math>, sampled at the points <math>1, 2^j, 2^{2j}, ..., 2^{N}</math>. But this is precisely what the detail coefficients give at level <math>j</math> of the discrete wavelet transform. Therefore, for an appropriate choice of <math>h[n]</math> and <math>g[n]</math>, the detail coefficients of the filter bank correspond exactly to a wavelet coefficient of a discrete set of child wavelets for a given mother wavelet <math>\psi(t)</math>.
| |
| | |
| As an example, consider the discrete [[Haar wavelet]], whose mother wavelet is <math>\psi = [1, -1]</math>. Then the dilated, reflected, and normalized version of this wavelet is <math>h[n] = \frac{1}{\sqrt{2}} [-1, 1]</math>, which is, indeed, the highpass decomposition filter for the discrete Haar wavelet transform
| |
| | |
| == Time Complexity ==
| |
| | |
| The filterbank implementation of the Discrete Wavelet Transform takes only [[Big O notation|O(''N'')]] in certain cases, as compared to O(''N'' log ''N'') for the [[fast Fourier transform]].
| |
| | |
| Note that if <math>g[n]</math> and <math>h[n]</math> are both a constant length (i.e. their length is independent of N), then <math>x * h</math> and <math>x * g</math> each take [[Big O notation|O(''N'')]] time. The wavelet filterbank does each of these two [[Big O notation|O(''N'')]] convolutions, then splits the signal into two branches of size N/2. But it only recursively splits the upper branch convolved with <math>g[n]</math> (as contrasted with the FFT, which recursively splits both the upper branch and the lower branch). This leads to the following [[recurrence relation]]
| |
| | |
| | |
| <math>T(N) = 2N + T(N/2)</math>
| |
| | |
| | |
| which leads to an [[Big O notation|O(''N'')]] time for the entire operation, as can be shown by a [[geometric series]] expansion of the above relation.
| |
| | |
| As an example, the Discrete [[Haar Wavelet]] Transform is linear, since in that case <math>h[n]</math> and <math>g[n]</math> are constant length 2.
| |
| | |
| | |
| <math>h[n] = \left[\frac{-\sqrt{2}}{2}, \frac{\sqrt{2}}{2}\right] g[n] = \left[\frac{\sqrt{2}}{2}, \frac{\sqrt{2}}{2}\right]</math>
| |
| | |
| == Other transforms ==
| |
| {{see also|Adam7 algorithm}}
| |
| The [[Adam7 algorithm]], used for [[Interlacing (bitmaps)|interlacing]] in the [[Portable Network Graphics]] (PNG) format, is a multiscale model of the data
| |
| which is similar to a DWT with [[Haar wavelet]]s.
| |
| | |
| Unlike the DWT, it has a specific scale – it starts from an 8×8 block, and it [[downsample]]s the image, rather than [[decimation (signal processing)|decimating]] ([[low-pass filter]]ing, then downsampling). It thus offers worse frequency behavior, showing artifacts ([[pixelation]]) at the early stages, in return for simpler implementation.
| |
| | |
| == Code example ==
| |
| | |
| In its simplest form, the DWT is remarkably easy to compute.
| |
| | |
| The [[Haar wavelet]] in [[Java (programming language)|Java]]:
| |
| <source lang=java> | |
| public static int[] discreteHaarWaveletTransform(int[] input) {
| |
| // This function assumes that input.length=2^n, n>1
| |
| int[] output = new int[input.length];
| |
| | |
| for (int length = input.length >> 1; ; length >>= 1) {
| |
| // length = input.length / 2^n, WITH n INCREASING to log(input.length) / log(2)
| |
| for (int i = 0; i < length; ++i) {
| |
| int sum = input[i * 2] + input[i * 2 + 1];
| |
| int difference = input[i * 2] - input[i * 2 + 1];
| |
| output[i] = sum;
| |
| output[length + i] = difference;
| |
| }
| |
| if (length == 1) {
| |
| return output;
| |
| }
| |
| | |
| //Swap arrays to do next iteration
| |
| System.arraycopy(output, 0, input, 0, length << 1);
| |
| }
| |
| }
| |
| </source>
| |
| Complete Java code for a 1-D and 2-D DWT using [[Haar wavelet|Haar]], [[Daubechies wavelet|Daubechies]], [[Coiflet]], and [[Legendre wavelet|Legendre]] wavelets is available from the open source project: [http://code.google.com/p/jwave/ JWave].
| |
| Furthermore, a fast lifting implementation of the discrete biorthogonal [[Cohen-Daubechies-Feauveau wavelet|CDF]] 9/7 wavelet transform in [[C (programming language)|C]], used in the [[JPEG 2000]] image compression standard can be found [http://web.archive.org/web/20120305164605/http://www.embl.de/~gpau/misc/dwt97.c here] (archived 5th March 2012).
| |
| | |
| === Example of Above Code ===
| |
| [[Image:Haar_DWT_of_the_Sound_Waveform_"I_Love_Wavelets".png|thumb|300px|An example of computing the discrete Haar wavelet coefficients for a sound signal of someone saying "I Love Wavelets." The original waveform is shown in blue in the upper left, and the wavelet coefficients are shown in black in the upper right. Along the bottom is shown three zoomed-in regions of the wavelet coefficients for different ranges. ]]
| |
| | |
| | |
| This figure shows an example of applying the above code to compute the Haar wavelet coefficients on a sound waveform. This example highlights two key properties of the wavelet transform:
| |
| | |
| *Natural signals often have some degree of smootheness, which makes them sparse in the wavelet domain. There are far fewer significant components in the wavelet domain in this example than there are in the time domain, and most of the significant components are towards the coarser coefficients on the left. Hence, natural signals are compressible in the wavelet domain.
| |
| | |
| *The wavelet transform is a multiresolution, bandpass representation of a signal. This can be seen directly from the filterbank definition of the discrete wavelet transform given in this article. For a signal of length <math>2^N</math>, the coefficients in the range <math>[2^{\frac{N}{j+1}}, 2^{\frac{N}{j}}-1]</math> represent a version of the original signal which is in the pass-band <math> \left[ \frac{\pi}{2^j}, \frac{\pi}{2^{j-1}} \right]</math>. This is why zooming in on these ranges of the wavelet coefficients looks so similar in structure to the original signal. Ranges which are closer to the left (larger <math>j</math> in the above notation), are coarser representations of the signal, while ranges to the right represent finer details.
| |
| | |
| | |
| ==See also==
| |
| * [[Wavelet]]
| |
| * [[Wavelet series]]
| |
| * [[Wavelet compression]]
| |
| * [[List of wavelet-related transforms]]
| |
| | |
| ==Notes==
| |
| {{reflist|group=note}}
| |
| | |
| ==References==
| |
| | |
| {{Reflist}}
| |
| | |
| {{DEFAULTSORT:Discrete Wavelet Transform}}
| |
| [[Category:Numerical analysis]]
| |
| [[Category:Digital signal processing]]
| |
| [[Category:Wavelets]]
| |
| [[Category:Articles with example Java code]]
| |
| [[Category:Discrete transforms]]
| |
| | |
| [[de:Wavelet-Transformation#Diskrete Wavelet-Transformation]]
| |
| [[fr:Ondelette#Transformée en ondelettes discrète]]
| |