represents the Meyer wavelet of order 3.
MeyerWavelet[n]
represents the Meyer wavelet of order n evaluated on the equally spaced interval {-10,10}.
MeyerWavelet[n,lim]
represents the Meyer wavelet of order n evaluated on the equally spaced interval {-lim,lim}.
MeyerWavelet
represents the Meyer wavelet of order 3.
MeyerWavelet[n]
represents the Meyer wavelet of order n evaluated on the equally spaced interval {-10,10}.
MeyerWavelet[n,lim]
represents the Meyer wavelet of order n evaluated on the equally spaced interval {-lim,lim}.
Details
- MeyerWavelet defines a family of orthonormal wavelets.
- MeyerWavelet[n] is equivalent to MeyerWavelet[n,8].
- MeyerWavelet[n,lim] is defined for any positive integer n and real limit lim.
- The scaling function (
) and wavelet function (
) have infinite support. The functions are symmetric. - The scaling function (
) is given by its Fourier transform as
. » - The wavelet function (
) is given by its Fourier transform as
. - The polynomial
is a polynomial of the form
, where
is the order of the Meyer wavelet. - MeyerWavelet can be used with such functions as DiscreteWaveletTransform and WaveletPhi, etc.
Examples
open all close allBasic Examples (3)
Plot[Evaluate[WaveletPhi[MeyerWavelet[3], x]], {x, -8, 8}, PlotRange -> All]WaveletPhi[MeyerWavelet[3], x]Plot[Evaluate[WaveletPsi[MeyerWavelet[3], x]], {x, -8, 8}, PlotRange -> All]WaveletPsi[MeyerWavelet[3], x]WaveletFilterCoefficients[MeyerWavelet[3, 5], {"PrimalLowpass", "PrimalHighpass"}]Scope (9)
Basic Uses (4)
Compute primal lowpass filter coefficients:
WaveletFilterCoefficients[MeyerWavelet[3], "PrimalLowpass"]Primal highpass filter coefficients:
WaveletFilterCoefficients[MeyerWavelet[3], "PrimalHighpass"]Meyer scaling function of order 3:
Plot[Evaluate[WaveletPhi[MeyerWavelet[3], x]], {x, -10, 10}, PlotRange -> All]Meyer scaling function of order 10:
Plot[Evaluate[WaveletPhi[MeyerWavelet[10], x]], {x, -10, 10}, PlotRange -> All]Meyer wavelet function of order 3:
Plot[Evaluate[WaveletPsi[MeyerWavelet[3], x]], {x, -10, 10}, PlotRange -> All]Meyer wavelet function of order 10:
Plot[Evaluate[WaveletPsi[MeyerWavelet[10], x]], {x, -10, 10}, PlotRange -> All]Wavelet Transforms (4)
Compute a DiscreteWaveletTransform:
data = Table[Sinc[x^2], {x, -3 π, 3 π, (6 π/1023)}];ListLinePlot[data, PlotRange -> All]dwt = DiscreteWaveletTransform[data, MeyerWavelet[3, 12], 2]View the tree of wavelet coefficients:
dwt["TreeView"]Get the dimensions of wavelet coefficients:
dwt["Dimensions"]Plot the wavelet coefficients:
WaveletListPlot[dwt, PlotLayout -> "CommonXAxis"]MeyerWavelet can be used to perform a DiscreteWaveletPacketTransform:
data = Table[Sinc[t^2], {t, -3 π, 3 π, (6 π/1023)}];dwpt = DiscreteWaveletPacketTransform[data, MeyerWavelet[3, 12], 2]View the tree of wavelet coefficients:
dwpt["TreeView"]Get the dimensions of wavelet coefficients:
dwpt["Dimensions"]Plot the wavelet coefficients:
WaveletListPlot[dwpt, PlotLayout -> "CommonXAxis"]MeyerWavelet can be used to perform a StationaryWaveletTransform:
data = Table[Sinc[t^2], {t, -3 π, 3 π, (6 π/1023)}];swt = StationaryWaveletTransform[data, MeyerWavelet[3, 12], 2];View the tree of wavelet coefficients:
swt["TreeView"]Get the dimensions of wavelet coefficients:
swt["Dimensions"]Plot the wavelet coefficients:
WaveletListPlot[swt, PlotLayout -> "CommonXAxis"]MeyerWavelet can be used to perform a StationaryWaveletPacketTransform:
data = Table[Sinc[t^2], {t, -3 π, 3 π, (6 π/1023)}];swpt = StationaryWaveletPacketTransform[data, MeyerWavelet[3, 12], 2];View the tree of wavelet coefficients:
swpt["TreeView"]Get the dimensions of wavelet coefficients:
swpt["Dimensions"]Plot the wavelet coefficients:
WaveletListPlot[swpt, PlotLayout -> "CommonXAxis"]Higher Dimensions (1)
Multivariate scaling and wavelet functions are products of univariate ones:
ϕ = WaveletPhi[MeyerWavelet[3, 8]];
ψ = WaveletPsi[MeyerWavelet[3, 8]];Plot3D[Evaluate[ϕ[x] ψ[y]], {x, -8, 8}, {y, -8, 8}, PlotRange -> All, ColorFunction -> "SolarColors", Mesh -> None, Axes -> None]Plot3D[Evaluate[ϕ[x] ψ[y]], {x, -8, 8}, {y, -8, 8}, PlotRange -> All, ColorFunction -> "SolarColors", Mesh -> None, Axes -> None]Plot3D[Evaluate[ψ[x] ϕ[y]], {x, -8, 8}, {y, -8, 8}, PlotRange -> All, ColorFunction -> "SolarColors", Mesh -> None, Axes -> None]Plot3D[Evaluate[ψ[x] ψ[y]], {x, -8, 8}, {y, -8, 8}, PlotRange -> All, ColorFunction -> "SolarColors", Mesh -> None, Axes -> None]Properties & Relations (10)
Lowpass filter coefficients approximately sum to unity;
:
Chop[Total[WaveletFilterCoefficients[MeyerWavelet[3, 20], "PrimalLowpass"][[All, 2]]]]Highpass filter coefficients approximately sum to zero;
:
Chop[Total[WaveletFilterCoefficients[MeyerWavelet[3, 20], "PrimalHighpass"][[All, 2]]]]Scaling function integrates to unity;
:
ϕ = WaveletPhi[MeyerWavelet[3]];Subsuperscript[∫, -∞, ∞]ϕ[x]ⅆxWavelet function integrates to zero;
:
ψ = WaveletPsi[MeyerWavelet[3, 20]];NIntegrate[ψ[x], {x, -∞, ∞}]
satisfies the recursion equation
:
ϕ = WaveletPhi[MeyerWavelet[3]];a = WaveletFilterCoefficients[MeyerWavelet[3], "PrimalLowpass"];Plot the components and the sum of the recursion:
scalet[x_, ϕ_, a_] := 2 Table[a[[i, 2]] ϕ[2 x - a[[i, 1]]], {i, Length[a]}]{Plot[Evaluate[scalet[x, ϕ, a]], {x, -8, 8}, PlotRange -> All], Plot[Total[scalet[x, ϕ, a]], {x, -8, 8}, PlotRange -> All]}
satisfies the recursion equation
:
ϕ = WaveletPhi[MeyerWavelet[3]];b = WaveletFilterCoefficients[MeyerWavelet[3], "PrimalHighpass"];Plot the components and the sum of the recursion:
wavelet[x_, ϕ_, b_] := 2 Table[b[[i, 2]] ϕ[2 x - b[[i, 1]]], {i, Length[b]}]{Plot[Evaluate[wavelet[x, ϕ, b]], {x, -8, 8}, PlotRange -> All], Plot[Total[wavelet[x, ϕ, b]], {x, -8, 8}, PlotRange -> All]}Frequency response for
is given by
:
h[wav_, ω_] := With[{a = WaveletFilterCoefficients[wav]}, Underoverscript[∑, i, Length[a]]a[[i, 2]] Exp[-I a[[i, 1]] ω]]The filter is a lowpass filter:
Plot[Evaluate[Abs[h[MeyerWavelet[3, 20], ω]]], {ω, -π, π}, Ticks -> {{-π, -(π/2), 0, (π/2), π}, Automatic}, AxesLabel -> {ω, Abs[H[ω]]}]Frequency response for
is given by
:
g[wav_, ω_] := With[{b = WaveletFilterCoefficients[wav, "PrimalHighpass"]}, Underoverscript[∑, i, Length[b]]b[[i, 2]] Exp[-I b[[i, 1]] ω]]The filter is a highpass filter:
Plot[Evaluate[Abs[g[MeyerWavelet[3, 20], ω]]], {ω, -π, π}, Ticks -> {{-π, -(π/2), 0, (π/2), π}, Automatic}, AxesLabel -> {ω, Abs[G[ω]]}]Fourier transform of
is given by
:
h[wav_, ω_] := With[{a = WaveletFilterCoefficients[wav]}, Underoverscript[∑, i, Length[a]]a[[i, 2]] Exp[-I a[[i, 1]] ω]]fh[wav_, ω_, j_] := Abs[Underoverscript[∏, i, j]h[wav, (ω/2^i)]]Plot[Evaluate[fh[MeyerWavelet[3, 20], ω, 10]], {ω, -2 π, 2 π}, PlotRange -> All, Ticks -> {Range[-2 π, 2 π, (2 π/3)], {1}}, AxesLabel -> {ω, Overscript[ϕ, ^ ][ω]}]Compare the above result with the exact Fourier transform:
phihat[n_, ω_] := Piecewise[{{1, Abs[ω] ≤ (2 π/3)}, {Cos[(1/2) π ν[n, (3 Abs[ω]/2 π) - 1]], (2 π/3) ≤ Abs[ω] ≤ (4 π/3)}}]νcoeff[n_, l_] := (Underoverscript[∑, k = Ceiling[(l - 1/2)], n]((Binomial[n, k] Binomial[2 k + 1, l] 2^l (-1)^k + l - 1) (2 n + 1)!!/2 k + 1)/2 (2 n)!!)ν[n_, x_] := Piecewise[{{0, x ≤ 0}, {Underoverscript[∑, l = n + 1, 2 n + 1]νcoeff[n, l] x^l, 0 ≤ x ≤ 1}, {1, x ≥ 1}}]Plot[Abs[phihat[3, ω]], {ω, -2 π, 2 π}, PlotRange -> All, AxesLabel -> {ω, Overscript[ϕ, ^ ][ω]}, Ticks -> {Range[-2 π, 2 π, (2 π/3)], {1}}]Fourier transform of
is given by
:
h[wav_, ω_] := With[{a = WaveletFilterCoefficients[wav]}, Underoverscript[∑, i, Length[a]]a[[i, 2]] Exp[-I a[[i, 1]] ω]]g[wav_, ω_] := With[{b = WaveletFilterCoefficients[wav, "PrimalHighpass"]}, Underoverscript[∑, i, Length[b]]b[[i, 2]] Exp[-I b[[i, 1]] ω]]fg[wav_, ω_, j_] := Abs[g[wav, (ω/2)] Underoverscript[∏, i = 2, j]h[wav, (ω/2^i)]]Plot[Evaluate[fg[MeyerWavelet[3, 20], ω, 10]], {ω, -10, 10}, PlotRange -> All, AxesLabel -> {ω, Abs[Overscript[ψ, ^ ][ω]]}]Compare the above result with the exact Fourier transform:
phihat[n_, ω_] := Piecewise[{{1, Abs[ω] ≤ (2 π/3)}, {Cos[(1/2) π ν[n, (3 Abs[ω]/2 π) - 1]], (2 π/3) ≤ Abs[ω] ≤ (4 π/3)}}]νcoeff[n_, l_] := (Underoverscript[∑, k = Ceiling[(l - 1/2)], n]((Binomial[n, k] Binomial[2 k + 1, l] 2^l (-1)^k + l - 1) (2 n + 1)!!/2 k + 1)/2 (2 n)!!)ν[n_, x_] := Piecewise[{{0, x ≤ 0}, {Underoverscript[∑, l = n + 1, 2 n + 1]νcoeff[n, l] x^l, 0 ≤ x ≤ 1}, {1, x ≥ 1}}]psihat[n_Integer, w_] := Exp[(I w/2)] (phihat[n, w + 2 π] + phihat[n, w - 2 π]) phihat[n, (w/2)]Plot[Abs[psihat[3, ω]], {ω, -10, 10}, PlotRange -> All, AxesLabel -> {ω, Abs[Overscript[ψ, ^ ][ω]]}]Neat Examples (2)
Plot translates and dilations of scaling function:
ϕ[x_, j_, k_] := 2^j / 2 WaveletPhi[MeyerWavelet[3], 2^j x - k]Plot[Evaluate[Table[ϕ[x, j, 0], {j, 0, 2}]], {x, -1, 1}, Filling -> Axis, PlotRange -> All]Plot[Evaluate[Table[ϕ[x, 2, k], {k, 0, 2^2 - 1}]], {x, -1, 2}, Filling -> Axis, PlotRange -> All]Plot translates and dilations of wavelet function:
ψ[x_, j_, k_] := 2^j / 2 WaveletPsi[MeyerWavelet[3], 2^j x - k]Plot[Evaluate[Table[ψ[x, j, 0], {j, 0, 2}]], {x, -0.5, 1}, Filling -> Axis, PlotRange -> All]Plot[Evaluate[Table[ψ[x, 2, k], {k, 0, 2^2 - 1}]], {x, -0.5, 1.5}, Filling -> Axis, PlotRange -> All]Tech Notes
Related Guides
History
Text
Wolfram Research (2010), MeyerWavelet, Wolfram Language function, https://reference.wolfram.com/language/ref/MeyerWavelet.html.
CMS
Wolfram Language. 2010. "MeyerWavelet." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/MeyerWavelet.html.
APA
Wolfram Language. (2010). MeyerWavelet. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/MeyerWavelet.html
BibTeX
@misc{reference.wolfram_2026_meyerwavelet, author="Wolfram Research", title="{MeyerWavelet}", year="2010", howpublished="\url{https://reference.wolfram.com/language/ref/MeyerWavelet.html}", note=[Accessed: 12-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_meyerwavelet, organization={Wolfram Research}, title={MeyerWavelet}, year={2010}, url={https://reference.wolfram.com/language/ref/MeyerWavelet.html}, note=[Accessed: 12-June-2026]}