表示阶数为 4 和对偶阶数为 2 的双正交样条小波.
BiorthogonalSplineWavelet[n,m]
表示阶数为 n 和对偶阶数为 m 的双正交样条小波.
BiorthogonalSplineWavelet
表示阶数为 4 和对偶阶数为 2 的双正交样条小波.
BiorthogonalSplineWavelet[n,m]
表示阶数为 n 和对偶阶数为 m 的双正交样条小波.
更多信息
- BiorthogonalSplineWavelet 定义了一个双正交小波群.
- BiorthogonalSplineWavelet[n,m] 对正整数 m 和 n 进行定义,其中 m+n 是偶数.
- 尺度函数 (
) 和小波函数 (
) 具有紧支集. 这些函数是对称的. - BiorthogonalSplineWavelet 可以与函数诸如 DiscreteWaveletTransform、WaveletPhi 等一起使用.
范例
打开所有单元 关闭所有单元基本范例 (6)
Plot[WaveletPhi[BiorthogonalSplineWavelet[2, 4], x], {x, -4, 4}, PlotRange -> All]Plot[WaveletPsi[BiorthogonalSplineWavelet[2, 4], x], {x, -2, 3}, PlotRange -> All]Plot[WaveletPhi[BiorthogonalSplineWavelet[2, 4], x, "Dual"], {x, -2, 2}, PlotRange -> All]Plot[WaveletPsi[BiorthogonalSplineWavelet[2, 4], x, "Dual"], {x, -2, 3}, PlotRange -> All]WaveletFilterCoefficients[BiorthogonalSplineWavelet[2, 4], {"PrimalLowpass", "PrimalHighpass"}, WorkingPrecision -> ∞]WaveletFilterCoefficients[BiorthogonalSplineWavelet[2, 4], {"DualLowpass", "DualHighpass"}, WorkingPrecision -> ∞]范围 (17)
基本用法 (10)
WaveletFilterCoefficients[BiorthogonalSplineWavelet[3, 3], "PrimalLowpass"]WaveletFilterCoefficients[BiorthogonalSplineWavelet[3, 3], "DualLowpass"]WaveletFilterCoefficients[BiorthogonalSplineWavelet[3, 3], "PrimalHighpass"]WaveletFilterCoefficients[BiorthogonalSplineWavelet[3, 3], "DualHighpass"]WaveletFilterCoefficients[BiorthogonalSplineWavelet[3, 3], "LiftingFilter", WorkingPrecision -> ∞]%[{"LiftingMatrixForm", z}]lf = WaveletFilterCoefficients[BiorthogonalSplineWavelet[3, 3], "LiftingFilter", WorkingPrecision -> ∞]lf["ForwardLiftingFunction"][Range[8]]lf["InverseLiftingFunction"][%]Plot[WaveletPhi[BiorthogonalSplineWavelet[2, 6], x], {x, -6, 6}, PlotRange -> All]Plot[WaveletPhi[BiorthogonalSplineWavelet[2, 6], x, "Dual"], {x, -1, 1}, PlotRange -> All]Table[Plot[WaveletPhi[BiorthogonalSplineWavelet[2, 6], x, MaxRecursion -> i], {x, -4, 4}, PlotLabel -> i, PlotRange -> All], {i, 1, 8, 2}]Plot[WaveletPsi[BiorthogonalSplineWavelet[2, 6], x], {x, -3, 4}, PlotRange -> All]Plot[WaveletPsi[BiorthogonalSplineWavelet[2, 6], x, "Dual"], {x, -3, 4}, PlotRange -> All]Table[Plot[WaveletPsi[BiorthogonalSplineWavelet[2, 6], x, MaxRecursion -> i], {x, -3, 4}, PlotLabel -> i, PlotRange -> All], {i, 1, 8, 2}]小波变换 (5)
计算一个 DiscreteWaveletTransform:
data = Table[Sign[Cos[t^2]], {t, -2π, 2π, (4π/1023)}];ListLinePlot[data, PlotRange -> All]dwt = DiscreteWaveletTransform[data, BiorthogonalSplineWavelet[4, 4], 2]dwt["TreeView"]dwt["Dimensions"]WaveletListPlot[dwt, PlotLayout -> "CommonXAxis"]计算一个 DiscreteWaveletPacketTransform:
data = Table[Sign[Cos[t^2]], {t, -2π, 2π, (4π/1023)}];dwpt = DiscreteWaveletPacketTransform[data, BiorthogonalSplineWavelet[4, 4], 2]dwpt["TreeView"]dwpt["Dimensions"]WaveletListPlot[dwpt, PlotLayout -> "CommonXAxis"]计算一个 StationaryWaveletTransform:
data = Table[Sign[Cos[t^2]], {t, -2π, 2π, (4π/1023)}];swt = StationaryWaveletTransform[data, BiorthogonalSplineWavelet[4, 4], 2];swt["TreeView"]swt["Dimensions"]WaveletListPlot[swt, PlotLayout -> "CommonXAxis"]计算一个 StationaryWaveletPacketTransform:
data = Table[Sign[Cos[t^2]], {t, -2π, 2π, (4π/1023)}];swpt = StationaryWaveletPacketTransform[data, BiorthogonalSplineWavelet[4, 4], 2];swpt["TreeView"]swpt["Dimensions"]WaveletListPlot[swpt, PlotLayout -> "CommonXAxis"]计算一个 LiftingWaveletTransform:
data = Table[Sign[Cos[t^2]], {t, -2π, 2π, (4π/1023)}];lwt = LiftingWaveletTransform[data, BiorthogonalSplineWavelet[4, 4], 2];lwt["TreeView"]lwt["Dimensions"]WaveletListPlot[lwt, PlotLayout -> "CommonXAxis"]高维度 (2)
ϕ = WaveletPhi[BiorthogonalSplineWavelet[2, 6]];
ψ = WaveletPsi[BiorthogonalSplineWavelet[2, 6]];Plot3D[Evaluate[ϕ[x]ϕ[y]], {x, -6, 6}, {y, -6, 6}, PlotRange -> All, ColorFunction -> "SolarColors", Mesh -> None, Axes -> None]Plot3D[Evaluate[ϕ[x]ψ[y]], {x, -6, 6}, {y, -3, 4}, PlotRange -> All, ColorFunction -> "SolarColors", Mesh -> None, Axes -> None]Plot3D[Evaluate[ψ[x]ϕ[y]], {x, -3, 4}, {y, -6, 6}, PlotRange -> All, ColorFunction -> "SolarColors", Mesh -> None, Axes -> None]Plot3D[Evaluate[ψ[x]ψ[y]], {x, -3, 4}, {y, -3, 4}, PlotRange -> All, ColorFunction -> "SolarColors", Mesh -> None, Axes -> None]Overscript[ϕ, ~] = Evaluate[WaveletPhi[BiorthogonalSplineWavelet[2, 6], #, "Dual"]]&;
Overscript[ψ, ~] = Evaluate[WaveletPsi[BiorthogonalSplineWavelet[2, 6], #, "Dual"]]&;Plot3D[Evaluate[Overscript[ϕ, ~][x]Overscript[ϕ, ~][y]], {x, -1, 1}, {y, -1, 1}, PlotRange -> All, ColorFunction -> "RustTones", Mesh -> None, Axes -> None]Plot3D[Evaluate[Overscript[ϕ, ~][x]Overscript[ψ, ~][y]], {x, -1, 1}, {y, -3, 4}, PlotRange -> All, ColorFunction -> "RustTones", Mesh -> None, Axes -> None]Plot3D[Evaluate[Overscript[ψ, ~][x]Overscript[ϕ, ~][y]], {x, -3, 4}, {y, -1, 1}, PlotRange -> All, ColorFunction -> "RustTones", Mesh -> None, Axes -> None]Plot3D[Evaluate[Overscript[ψ, ~][x]Overscript[ψ, ~][y]], {x, -3, 4}, {y, -3, 4}, PlotRange -> All, ColorFunction -> "RustTones", Mesh -> None, Axes -> None]属性和关系 (18)
BiorthogonalSplineWavelet[1,1] 等价于 HaarWavelet:
WaveletFilterCoefficients[HaarWavelet[]] == WaveletFilterCoefficients[BiorthogonalSplineWavelet[1, 1]]WaveletFilterCoefficients[HaarWavelet[]] == WaveletFilterCoefficients[BiorthogonalSplineWavelet[1, 1], "DualLowpass"]Total@WaveletFilterCoefficients[BiorthogonalSplineWavelet[4, 2]][[All, 2]]Total@WaveletFilterCoefficients[BiorthogonalSplineWavelet[4, 2], "PrimalHighpass"][[All, 2]]Total@WaveletFilterCoefficients[BiorthogonalSplineWavelet[4, 2], "DualLowpass"][[All, 2]]Total@WaveletFilterCoefficients[BiorthogonalSplineWavelet[4, 2], "DualHighpass"][[All, 2]]Integrate[WaveletPhi[BiorthogonalSplineWavelet[2, 2], x], {x, -∞, ∞}]Integrate[WaveletPhi[BiorthogonalSplineWavelet[2, 2], x, "Dual"], {x, -∞, ∞}]Integrate[WaveletPsi[BiorthogonalSplineWavelet[2, 2], x], {x, -∞, ∞}]Integrate[WaveletPsi[BiorthogonalSplineWavelet[2, 2], x, "Dual"], {x, -∞, ∞}]ϕ = WaveletPhi[BiorthogonalSplineWavelet[3, 3], x]{n1, n2} = {-3, 4};Overscript[ϕ, ~] = WaveletPhi[BiorthogonalSplineWavelet[3, 3], x, "Dual"]{nd1, nd2} = {-1, 2};相应的小波函数
具有紧支集 ({n1-nd2+1)/2,(n2-nd1+1)/2}:
ψ = WaveletPsi[BiorthogonalSplineWavelet[3, 3], x]{(n1 - nd2 + 1/2), (n2 - nd1 + 1/2)}对偶小波函数
具有紧支集 ({nd1-n2+1)/2,(nd2-n1+1)/2}:
Overscript[ψ, ~] = WaveletPsi[BiorthogonalSplineWavelet[3, 3], x, "Dual"]{(nd1 - n2 + 1/2), (nd2 - n1 + 1/2)}ϕ = WaveletPhi[BiorthogonalSplineWavelet[1, 3]];a = WaveletFilterCoefficients[BiorthogonalSplineWavelet[1, 3], "PrimalLowpass"];scalet[x_, ϕ_, a_] := 2Table[a[[i, 2]]ϕ[2x - a[[i, 1]]], {i, Length[a]}]{Plot[Evaluate@scalet[x, ϕ, a], {x, -3, 4}, PlotRange -> All],
Plot[Total@scalet[x, ϕ, a], {x, -3, 4}, PlotRange -> All]}ϕ = WaveletPhi[BiorthogonalSplineWavelet[1, 3]];b = WaveletFilterCoefficients[BiorthogonalSplineWavelet[1, 3], "PrimalHighpass"];wavelet[x_, ϕ_, b_] := 2Table[b[[i, 2]]ϕ[2x - b[[i, 1]]], {i, Length[b]}]{Plot[Evaluate@wavelet[x, ϕ, b], {x, -1, 2}, PlotRange -> All], Plot[Total@wavelet[x, ϕ, b], {x, -1, 2}, PlotRange -> All]}Overscript[ϕ, ~] = (Evaluate[WaveletPhi[BiorthogonalSplineWavelet[3, 5], #, "Dual"]]&);Overscript[a, ~] = WaveletFilterCoefficients[BiorthogonalSplineWavelet[3, 5], "DualLowpass"];scalet[x_, ϕ_, a_] := 2Table[a[[i, 2]]ϕ[2x - a[[i, 1]]], {i, Length[a]}]{Plot[Evaluate@scalet[x, Overscript[ϕ, ~], Overscript[a, ~]], {x, -1, 2}, PlotRange -> All],
Plot[Total@scalet[x, Overscript[ϕ, ~], Overscript[a, ~]], {x, -1, 2}, PlotRange -> All]}Overscript[ϕ, ~] = (Evaluate[WaveletPhi[BiorthogonalSplineWavelet[3, 5], #, "Dual"]]&);Overscript[b, ~] = WaveletFilterCoefficients[BiorthogonalSplineWavelet[3, 5], "DualHighpass"];wavelet[x_, ϕ_, b_] := 2Table[b[[i, 2]]ϕ[2x - b[[i, 1]]], {i, Length[b]}]{Plot[Evaluate@wavelet[x, Overscript[ϕ, ~], Overscript[b, ~]], {x, -3, 4}, PlotRange -> All],
Plot[Total@wavelet[x, Overscript[ϕ, ~], Overscript[b, ~]], {x, -3, 4}, PlotRange -> All]}h[wav_, ω_] := With[{a = WaveletFilterCoefficients[wav]}, Sum[a[[i, 2]]Exp[-Ia[[i, 1]]ω], {i, Length[a]}]]Plot[Abs[h[BiorthogonalSplineWavelet[2, 2], ω]], {ω, -π, π}, Ticks -> {{-π, -(π/2), 0, (π/2), π}, Automatic}, AxesLabel -> {ω, Abs[H[ω]]}]h[wav_, ω_] := With[{a = WaveletFilterCoefficients[wav]}, Sum[a[[i, 2]]Exp[-Ia[[i, 1]]ω], {i, Length[a]}]]fh[wav_, ω_, j_] := Abs[Product[h[wav, (ω/2^i)], {i, j}]]Plot[fh[BiorthogonalSplineWavelet[2, 2], ω, 10], {ω, -10Pi, 10Pi}, PlotRange -> All,
AxesLabel -> {ω, Abs[Overscript[ϕ, ^ ][ω]]}]Overscript[h, ~][wav_, ω_] := With[{a = WaveletFilterCoefficients[wav, "DualLowpass"]}, Sum[a[[i, 2]]Exp[-Ia[[i, 1]]ω], {i, Length[a]}]]Plot[Abs[Overscript[h, ~][BiorthogonalSplineWavelet[2, 2], ω]], {ω, -π, π}, Ticks -> {{-π, -(π/2), 0, (π/2), π}, Automatic}, AxesLabel -> {ω, Abs[Overscript[H, ~][ω]]}]Overscript[h, ~][wav_, ω_] := With[{a = WaveletFilterCoefficients[wav, "DualLowpass"]}, Sum[a[[i, 2]]Exp[-Ia[[i, 1]]ω], {i, Length[a]}]]fh[wav_, ω_, j_] := Abs[Product[Overscript[h, ~][wav, (ω/2^i)], {i, j}]]Plot[fh[BiorthogonalSplineWavelet[2, 2], ω, 10], {ω, -10Pi, 10Pi}, PlotRange -> All,
AxesLabel -> {ω, Abs[Overscript[Overscript[ϕ, ~], ^ ][ω]]}]g[wav_, ω_] := With[{b = WaveletFilterCoefficients[wav, "PrimalHighpass"]}, Sum[b[[i, 2]]Exp[-Ib[[i, 1]]ω], {i, Length[b]}]
]Plot[Abs[g[BiorthogonalSplineWavelet[2, 2], ω]], {ω, -π, π}, Ticks -> {{-π, -(π/2), 0, (π/2), π}, Automatic}, AxesLabel -> {ω, Abs[G[ω]]}]h[wav_, ω_] := With[{a = WaveletFilterCoefficients[wav]}, Sum[a[[i, 2]]Exp[-I a[[i, 1]]ω], {i, Length[a]}]]g[wav_, ω_] := With[{b = WaveletFilterCoefficients[wav, "PrimalHighpass"]}, Sum[b[[i, 2]]Exp[-Ib[[i, 1]]ω], {i, Length[b]}]]fg[wav_, ω_, j_] := Abs[g[wav, (ω/2)]Product[h[wav, (ω/2^i)], {i, 2, j}]]Plot[fg[BiorthogonalSplineWavelet[2, 2], ω, 10], {ω, -10Pi, 10Pi}, PlotRange -> All,
AxesLabel -> {ω, Abs[Overscript[ψ, ^ ][ω]]}]Overscript[g, ~][wav_, ω_] := With[{b = WaveletFilterCoefficients[wav, "DualHighpass"]}, Sum[b[[i, 2]]Exp[-Ib[[i, 1]]ω], {i, Length[b]}]]Plot[Abs[Overscript[g, ~][BiorthogonalSplineWavelet[2, 2], ω]], {ω, -π, π}, Ticks -> {{-π, -(π/2), 0, (π/2), π}, Automatic}, AxesLabel -> {ω, Abs[Overscript[G, ~][ω]]}]Overscript[h, ~][wav_, ω_] := With[{a = WaveletFilterCoefficients[wav, "DualLowpass"]}, Sum[a[[i, 2]]Exp[-Ia[[i, 1]]ω], {i, Length[a]}]]Overscript[g, ~][wav_, ω_] := With[{b = WaveletFilterCoefficients[wav, "DualHighpass"]}, Sum[b[[i, 2]]Exp[-Ib[[i, 1]]ω], {i, Length[b]}]]Overscript[fg, ~][wav_, ω_, j_] := Abs[Overscript[g, ~][wav, (ω/2)]Product[Overscript[h, ~][wav, (ω/2^i)], {i, 2, j}]]Plot[Overscript[fg, ~][BiorthogonalSplineWavelet[2, 2], ω, 10], {ω, -10Pi, 10Pi}, PlotRange -> All,
AxesLabel -> {ω, Abs[Overscript[Overscript[ψ, ~], ^ ][ω]]}]巧妙范例 (2)
ϕ[x_, j_, k_] := 2^j / 2WaveletPhi[BiorthogonalSplineWavelet[1, 3], 2^jx - k]Plot[Evaluate@Table[ϕ[x, j, 0], {j, 0, 4}], {x, -1, 2}, Filling -> Axis, PlotRange -> All, Axes -> {True, False}]Plot[Evaluate@Table[ϕ[x, 2, k], {k, 0, 2^2 - 1}], {x, -0.5, 2}, Filling -> Axis, PlotRange -> All]ψ[x_, j_, k_] := 2^j / 2WaveletPsi[BiorthogonalSplineWavelet[1, 3], 2^jx - k]Plot[Evaluate@Table[ψ[x, j, 0], {j, 0, 4}], {x, -0.5, 1}, Filling -> Axis, PlotRange -> All, Axes -> {True, False}]Plot[Evaluate@Table[ψ[x, 2, k], {k, 0, 2^2 - 1}], {x, -0.5, 1.5}, Filling -> Axis, PlotRange -> All]技术笔记
-
▪
- 自定义小波
相关指南
-
▪
- 小波分析
文本
Wolfram Research (2010),BiorthogonalSplineWavelet,Wolfram 语言函数,https://reference.wolfram.com/language/ref/BiorthogonalSplineWavelet.html.
CMS
Wolfram 语言. 2010. "BiorthogonalSplineWavelet." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/BiorthogonalSplineWavelet.html.
APA
Wolfram 语言. (2010). BiorthogonalSplineWavelet. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/BiorthogonalSplineWavelet.html 年
BibTeX
@misc{reference.wolfram_2026_biorthogonalsplinewavelet, author="Wolfram Research", title="{BiorthogonalSplineWavelet}", year="2010", howpublished="\url{https://reference.wolfram.com/language/ref/BiorthogonalSplineWavelet.html}", note=[Accessed: 19-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_biorthogonalsplinewavelet, organization={Wolfram Research}, title={BiorthogonalSplineWavelet}, year={2010}, url={https://reference.wolfram.com/language/ref/BiorthogonalSplineWavelet.html}, note=[Accessed: 19-August-2026]}