タイプ"9/7"のCohen–Daubechies–Feauveauウェーブレットを表す.
CDFWavelet["type"]
タイプ"type"のCohen–Daubechies–Feauveauウェーブレットを表す.
CDFWavelet
タイプ"9/7"のCohen–Daubechies–Feauveauウェーブレットを表す.
CDFWavelet["type"]
タイプ"type"のCohen–Daubechies–Feauveauウェーブレットを表す.
詳細
- CDFWaveletは双直交ウェーブレット群を定義する.
- 使用可能な"type"の形
-
"5/3" JPEG2000の可逆圧縮で使われる "9/7" JPEG2000の非可逆圧縮で使われる - スケーリング関数(
)とウェーブレット関数(
)はコンパクトサポートを持つ.両関数は対称である. - CDFWaveletはDiscreteWaveletTransform,WaveletPhi等の関数で使うことができる.
例題
すべて開く すべて閉じる例 (3)
Plot[WaveletPhi[CDFWavelet["9/7"], x], {x, -4, 4}, PlotRange -> All]WaveletPhi[CDFWavelet["9/7"], x]Plot[WaveletPsi[CDFWavelet["9/7"], x], {x, -3, 4}, PlotRange -> All]WaveletPsi[CDFWavelet["9/7"], x]WaveletFilterCoefficients[CDFWavelet["9/7"], {"PrimalLowpass", "PrimalHighpass"}]スコープ (16)
基本的な用法 (10)
WaveletFilterCoefficients[CDFWavelet["9/7"], "PrimalLowpass"]WaveletFilterCoefficients[CDFWavelet["9/7"], "DualLowpass"]WaveletFilterCoefficients[CDFWavelet["9/7"], "PrimalHighpass"]WaveletFilterCoefficients[CDFWavelet["9/7"], "DualHighpass"]WaveletFilterCoefficients[CDFWavelet["9/7"], "LiftingFilter"]%[{"LiftingMatrixForm", z}]lf = WaveletFilterCoefficients[CDFWavelet["9/7"], "LiftingFilter"]lf["ForwardLiftingFunction"][Range[8]]lf["InverseLiftingFunction"][%]Plot[WaveletPhi[CDFWavelet["9/7"], x], {x, -4, 4}, PlotRange -> All]Plot[WaveletPhi[CDFWavelet["9/7"], x, "Dual"], {x, -3, 3}, PlotRange -> All]Table[Plot[WaveletPhi[CDFWavelet["9/7"], x, MaxRecursion -> i], {x, -4, 4}, PlotLabel -> i, PlotRange -> All], {i, 1, 8, 2}]Plot[WaveletPsi[CDFWavelet["5/3"], x], {x, -3, 4}, PlotRange -> All]Plot[WaveletPsi[CDFWavelet["5/3"], x, "Dual"], {x, -1, 2}, PlotRange -> All]Table[Plot[WaveletPsi[CDFWavelet["5/3"], x, "Dual", MaxRecursion -> i], {x, -1, 2}, PlotLabel -> i, PlotRange -> All], {i, 1, 8, 2}]ウェーブレット変換 (5)
DiscreteWaveletTransformを計算する:
dwt = DiscreteWaveletTransform[[image], CDFWavelet["9/7"], 2]dwt["TreeView"]dwt["Dimensions"]WaveletImagePlot[dwt]DiscreteWaveletPacketTransformを計算する:
dwpt = DiscreteWaveletPacketTransform[[image], CDFWavelet["9/7"], 1]dwpt["TreeView"]dwpt["Dimensions"]dwpt[All, "Image"]StationaryWaveletTransformを計算する:
swt = StationaryWaveletTransform[[image], CDFWavelet["9/7"], 2];swt["TreeView"]swt["Dimensions"]swt[Automatic, "Image"]StationaryWaveletPacketTransformを計算する:
swpt = StationaryWaveletPacketTransform[[image], CDFWavelet["9/7"], 1];swpt["TreeView"]swpt["Dimensions"]swpt[All, "Image"]LiftingWaveletTransformを計算する:
lwt = LiftingWaveletTransform[[image], CDFWavelet["9/7"], 2];lwt["TreeView"]lwt["Dimensions"]WaveletImagePlot[lwt]より高い次元 (1)
多変量スケーリング関数と多変量ウェーブレット関数はそれぞれの一変量関数の積である:
ϕ = WaveletPhi[CDFWavelet[]];
ψ = WaveletPsi[CDFWavelet[]];Plot3D[Evaluate[ϕ[x]ψ[y]], {x, -4, 4}, {y, -4, 4}, PlotRange -> All, ColorFunction -> "SolarColors", Mesh -> None, Axes -> None]Plot3D[Evaluate[ϕ[x]ψ[y]], {x, -4, 4}, {y, -3, 4}, PlotRange -> All, ColorFunction -> "SolarColors", Mesh -> None, Axes -> None]Plot3D[Evaluate[ψ[x]ϕ[y]], {x, -3, 4}, {y, -4, 4}, 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]特性と関係 (16)
Total@WaveletFilterCoefficients[CDFWavelet["9/7"]][[All, 2]]Total@WaveletFilterCoefficients[CDFWavelet["9/7"], "PrimalHighpass"][[All, 2]]Total@WaveletFilterCoefficients[CDFWavelet["9/7"], "DualLowpass"][[All, 2]]Total@WaveletFilterCoefficients[CDFWavelet["9/7"], "DualHighpass"][[All, 2]]Integrate[WaveletPhi[CDFWavelet["5/3"], x], {x, -∞, ∞}]Integrate[WaveletPhi[CDFWavelet["5/3"], x, "Dual"], {x, -∞, ∞}]Integrate[WaveletPsi[CDFWavelet["5/3"], x], {x, -∞, ∞}]Integrate[WaveletPsi[CDFWavelet["5/3"], x, "Dual"], {x, -∞, ∞}]ϕ = WaveletPhi[CDFWavelet["9/7"]];a = WaveletFilterCoefficients[CDFWavelet["9/7"], "PrimalLowpass"];scalet[x_, ϕ_, a_] := 2Table[a[[i, 2]]ϕ[2x - a[[i, 1]]], {i, Length[a]}]{Plot[Evaluate@scalet[x, ϕ, a], {x, -4, 4}, PlotRange -> All],
Plot[Total@scalet[x, ϕ, a], {x, -4, 4}, PlotRange -> All]}ϕ = WaveletPhi[CDFWavelet["9/7"]];b = WaveletFilterCoefficients[CDFWavelet["9/7"], "PrimalHighpass"];wavelet[x_, ϕ_, b_] := 2Table[b[[i, 2]]ϕ[2x - b[[i, 1]]], {i, Length[b]}]{Plot[Evaluate@wavelet[x, ϕ, b], {x, -3, 4}, PlotRange -> All], Plot[Total@wavelet[x, ϕ, b], {x, -3, 4}, PlotRange -> All]}Overscript[ϕ, ~] = ( Evaluate[WaveletPhi[CDFWavelet["9/7"], #, "Dual"]]&);Overscript[a, ~] = WaveletFilterCoefficients[CDFWavelet["9/7"], "DualLowpass"];scalet[x_, ϕ_, a_] := 2 Table[a[[i, 2]] ϕ[2 x - a[[i, 1]]], {i, Length[a]}]{Plot[Evaluate@scalet[x, Overscript[ϕ, ~], Overscript[a, ~]], {x, -3, 3}, PlotRange -> All],
Plot[Total@scalet[x, Overscript[ϕ, ~], Overscript[a, ~]], {x, -3, 3}, PlotRange -> All]}Overscript[ϕ, ~] = ( Evaluate[WaveletPhi[CDFWavelet["9/7"], #, "Dual"]]&);Overscript[b, ~] = WaveletFilterCoefficients[CDFWavelet["9/7"], "DualHighpass"];wavelet[x_, ϕ_, b_] := 2Table[b[[i, 2]]ϕ[2x - b[[i, 1]]], {i, Length[b]}]{Plot[Evaluate@wavelet[x, Overscript[ϕ, ~], Overscript[b, ~]], {x, -3, 3}, PlotRange -> All],
Plot[Total@wavelet[x, Overscript[ϕ, ~], Overscript[b, ~]], {x, -3, 3}, PlotRange -> All]}h[wav_, ω_] := With[{a = WaveletFilterCoefficients[wav]}, Sum[a[[i, 2]]Exp[-I a[[i, 1]]ω], {i, Length[a]}]]Plot[Abs[h[CDFWavelet["9/7"], ω]], {ω, -π, π}, Ticks -> {{-π, -(π/2), 0, (π/2), π}, Automatic}, AxesLabel -> {ω, Abs[H[ω]]}]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[CDFWavelet["9/7"], ω, 10], {ω, -7Pi, 7Pi}, PlotRange -> All,
AxesLabel -> {ω, Abs[ Overscript[ϕ, ^ ][ω]]}]Overscript[h, ~][wav_, ω_] := With[{a = WaveletFilterCoefficients[wav, "DualLowpass"]}, Sum[a[[i, 2]]Exp[-I a[[i, 1]]ω], {i, Length[a]}]]Plot[Abs[Overscript[h, ~][CDFWavelet["9/7"], ω]], {ω, -π, π}, Ticks -> {{-π, -(π/2), 0, (π/2), π}, Automatic}, AxesLabel -> {ω, Abs[Overscript[H, ~][ω]]}]Overscript[h, ~][wav_, ω_] := With[{a = WaveletFilterCoefficients[wav, "DualLowpass"]}, Sum[a[[i, 2]]Exp[-I a[[i, 1]]ω], {i, Length[a]}]]fh[wav_, ω_, j_] := Abs[Product[Overscript[h, ~][wav, (ω/2^i)], {i, j}]]Plot[fh[CDFWavelet["9/7"], ω, 10], {ω, -7Pi, 7Pi}, PlotRange -> All,
AxesLabel -> {ω, Abs[ Overscript[Overscript[ϕ, ~], ^ ][ω]]}]g[wav_, ω_] := With[{b = WaveletFilterCoefficients[wav, "PrimalHighpass"]}, Sum[b[[i, 2]]Exp[-I b[[i, 1]]ω], {i, Length[b]}]
]Plot[Abs[g[CDFWavelet["9/7"], ω]], {ω, -π, π}, 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[-I b[[i, 1]]ω], {i, Length[b]}]
]fg[wav_, ω_, j_] := Abs[g[wav, (ω/2)]Product[h[wav, (ω/2^i)], {i, 2, j}]]Plot[fg[CDFWavelet["9/7"], ω, 10], {ω, -7Pi, 7Pi}, PlotRange -> All,
AxesLabel -> {ω, Abs[Overscript[ψ, ^ ][ω]]}]Overscript[g, ~][wav_, ω_] := With[{b = WaveletFilterCoefficients[wav, "DualHighpass"]}, Sum[b[[i, 2]]Exp[-I b[[i, 1]]ω], {i, Length[b]}]
]Plot[Abs[Overscript[g, ~][CDFWavelet["9/7"], ω]], {ω, -π, π}, Ticks -> {{-π, -(π/2), 0, (π/2), π}, Automatic}, AxesLabel -> {ω, Abs[Overscript[G, ~][ω]]}]Overscript[h, ~][wav_, ω_] := With[{a = WaveletFilterCoefficients[wav, "DualLowpass"]}, Sum[a[[i, 2]]Exp[-I a[[i, 1]]ω], {i, Length[a]}]]Overscript[g, ~][wav_, ω_] := With[{b = WaveletFilterCoefficients[wav, "DualHighpass"]}, Sum[b[[i, 2]]Exp[-I b[[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, ~][CDFWavelet["9/7"], ω, 10], {ω, -7Pi, 7Pi}, PlotRange -> All,
AxesLabel -> {ω, Abs[ Overscript[Overscript[ψ, ~], ^ ][ω]]}]おもしろい例題 (2)
ϕ[x_, j_, k_] := 2^j / 2WaveletPhi[CDFWavelet["9/7"], 2^jx - k]Plot[Evaluate@Table[ϕ[x, j, 0], {j, 0, 4}], {x, -2, 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[CDFWavelet["9/7"], 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), CDFWavelet, Wolfram言語関数, https://reference.wolfram.com/language/ref/CDFWavelet.html.
CMS
Wolfram Language. 2010. "CDFWavelet." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/CDFWavelet.html.
APA
Wolfram Language. (2010). CDFWavelet. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/CDFWavelet.html
BibTeX
@misc{reference.wolfram_2026_cdfwavelet, author="Wolfram Research", title="{CDFWavelet}", year="2010", howpublished="\url{https://reference.wolfram.com/language/ref/CDFWavelet.html}", note=[Accessed: 07-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_cdfwavelet, organization={Wolfram Research}, title={CDFWavelet}, year={2010}, url={https://reference.wolfram.com/language/ref/CDFWavelet.html}, note=[Accessed: 07-August-2026]}