WaveletPhi[wave,x]
gives the scaling function
for the symbolic wavelet wave evaluated at x.
WaveletPhi[wave]
gives the scaling function as a pure function.
WaveletPhi
WaveletPhi[wave,x]
gives the scaling function
for the symbolic wavelet wave evaluated at x.
WaveletPhi[wave]
gives the scaling function as a pure function.
Details and Options
- The scaling function
satisfies the recursion equation
, where
are the lowpass filter coefficients. - WaveletPhi[wave,x,"Dual"] gives the dual scaling function
for biorthogonal wavelets such as BiorthogonalSplineWavelet and ReverseBiorthogonalSplineWavelet. - The dual scaling function satisfies the recursion equation
, where
are the dual lowpass filter coefficients. - The following options can be used:
-
MaxRecursion 8 number of recursive iterations to use WorkingPrecision MachinePrecision precision to use in internal computations
Examples
open all close allBasic Examples (2)
Plot[WaveletPhi[HaarWavelet[], x], {x, -1, 2}, Exclusions -> None]WaveletPhi[HaarWavelet[], x]Plot[WaveletPhi[SymletWavelet[5], x], {x, 0, 9}, PlotRange -> All]WaveletPhi[SymletWavelet[5], x]Scope (4)
Compute primal scaling function:
ϕ = WaveletPhi[DaubechiesWavelet[3]]Plot[ϕ[x], {x, 0, 5}, PlotRange -> All]Overscript[ϕ, ~] = WaveletPhi[BiorthogonalSplineWavelet[3, 5], x, "Dual"]Plot[Overscript[ϕ, ~], {x, -1, 2}, PlotRange -> All]Scaling function
for HaarWavelet:
Plot[WaveletPhi[HaarWavelet[], x], {x, -0.5, 1.5}, Exclusions -> None]Plot[WaveletPhi[DaubechiesWavelet[3], x], {x, 0, 5}]Plot[WaveletPhi[SymletWavelet[5], x], {x, 0, 9}, PlotRange -> All]Plot[WaveletPhi[CoifletWavelet[2], x], {x, -4, 7}, PlotRange -> All]Plot[WaveletPhi[BiorthogonalSplineWavelet[2, 4], x], {x, -4, 4}, PlotRange -> All]ReverseBiorthogonalSplineWavelet:
Plot[WaveletPhi[ReverseBiorthogonalSplineWavelet[5, 5], x], {x, -2, 3}, PlotRange -> All]Plot[WaveletPhi[CDFWavelet[], x], {x, -4, 4}, PlotRange -> All]Plot[WaveletPhi[ShannonWavelet[8], x], {x, -8, 8}, PlotRange -> All]Plot[WaveletPhi[BattleLemarieWavelet[6, 8], x], {x, -8, 8}, PlotRange -> All]Plot[Re@WaveletPhi[MeyerWavelet[2, 5], x], {x, -5, 5}, PlotRange -> All]Multivariate scaling and wavelet functions are products of univariate ones:
ϕ = WaveletPhi[HaarWavelet[]];
ψ = WaveletPsi[HaarWavelet[]];Table[Plot3D[Evaluate[f[x] g[y]], {x, 0, 1.0}, {y, 0, 1.0}, ExclusionsStyle -> Opacity[0.5], Mesh -> None, Axes -> False], {f, {ϕ, ψ}}, {g, {ϕ, ψ}}]Options (3)
MaxRecursion (1)
WorkingPrecision (2)
By default WorkingPrecision->MachinePrecision is used:
Subscript[ϕ, 1] = WaveletPhi[DaubechiesWavelet[4]]Subscript[ϕ, 2] = WaveletPhi[DaubechiesWavelet[4], WorkingPrecision -> MachinePrecision]Subscript[ϕ, 1] == Subscript[ϕ, 2]Use higher-precision filter computation:
WaveletPhi[SymletWavelet[4], 2, WorkingPrecision -> 20]Precision[%]Properties & Relations (4)
Scaling function integrates to unity
:
Integrate[WaveletPhi[HaarWavelet[], x], {x, -∞, ∞}]Table[Integrate[WaveletPhi[HaarWavelet[], (x/2^j)], {x, -∞, ∞}] == 2^j, {j, 0, 4}]
satisfies the recursion equation
:
ϕ = WaveletPhi[DaubechiesWavelet[2]];a = WaveletFilterCoefficients[DaubechiesWavelet[2], "PrimalLowpass"];Plot the components and the sum of the recursion:
scalet[x_, ϕ_, a_] := 2Table[a[[i, 2]]ϕ[2x - a[[i, 1]]], {i, Length[a]}]{Plot[Evaluate@scalet[x, ϕ, a], {x, 0, 3}, PlotRange -> All],
Plot[Total@scalet[x, ϕ, a], {x, 0, 3}, PlotRange -> All]}Frequency response for
is given by
:
h[wav_, ω_] := With[{a = WaveletFilterCoefficients[wav]}, Sum[a[[i, 2]]Exp[-I a[[i, 1]]ω], {i, Length[a]}]]The filter is a lowpass filter:
Plot[Abs[h[DaubechiesWavelet[2], ω]], {ω, -π, π}, Ticks -> {{-π, -(π/2), 0, (π/2), π}, Automatic}, AxesLabel -> {ω, Abs[H[ω]]}]Fourier transform of
is given by
:
h[wav_, ω_] := With[{a = WaveletFilterCoefficients[wav]}, Sum[a[[i, 2]]Exp[-I a[[i, 1]]ω], {i, Length[a]}]]fh[wav_, ω_, j_] := Abs[Product[h[wav, (ω/2^i)], {i, j}]]Plot[fh[DaubechiesWavelet[2], ω, 10], {ω, -10Pi, 10Pi}, PlotRange -> All,
AxesLabel -> {ω, Abs[Overscript[ϕ, ^ ][ω]]}]Neat Examples (1)
Plot translates and dilations of scaling function:
ϕ[x_, j_, k_] := 2^j / 2WaveletPhi[CoifletWavelet[1], 2^jx - k]Plot[Evaluate@Table[ϕ[x, j, 0], {j, 0, 4}], {x, -0.5, 0.5}, Filling -> Axis, PlotRange -> All]Plot[Evaluate@Table[ϕ[x, 2, k], {k, 0, 2^2 - 1}], {x, -0.5, 1.5}, Filling -> Axis, PlotRange -> All]Related Guides
History
Text
Wolfram Research (2010), WaveletPhi, Wolfram Language function, https://reference.wolfram.com/language/ref/WaveletPhi.html.
CMS
Wolfram Language. 2010. "WaveletPhi." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/WaveletPhi.html.
APA
Wolfram Language. (2010). WaveletPhi. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/WaveletPhi.html
BibTeX
@misc{reference.wolfram_2026_waveletphi, author="Wolfram Research", title="{WaveletPhi}", year="2010", howpublished="\url{https://reference.wolfram.com/language/ref/WaveletPhi.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_waveletphi, organization={Wolfram Research}, title={WaveletPhi}, year={2010}, url={https://reference.wolfram.com/language/ref/WaveletPhi.html}, note=[Accessed: 13-June-2026]}