次数3のBattle–Lemariéウェーブレットを表す.
等間隔の区間{-10,10}で評価された次数 n のBattle–Lemariéウェーブレットを表す.
BattleLemarieWavelet[n,lim]
等間隔の区間{-lim,lim}で評価された次数 n のBattle–Lemariéウェーブレットを表す.
BattleLemarieWavelet
次数3のBattle–Lemariéウェーブレットを表す.
等間隔の区間{-10,10}で評価された次数 n のBattle–Lemariéウェーブレットを表す.
BattleLemarieWavelet[n,lim]
等間隔の区間{-lim,lim}で評価された次数 n のBattle–Lemariéウェーブレットを表す.
詳細
- BattleLemarieWaveletは次数 n のBスプラインの正規直交化に基づく直交ウェーブレット族を定義する.
- BattleLemarieWavelet[n]はBattleLemarieWavelet[n,10]に等しい.
- スケーリング関数(
)とウェーブレット関数(
)は-lim から lim までの区間の外側で指数関数的減衰を無限にサポートする.両関数は
で連続的に微分可能である. - BattleLemarieWaveletはDiscreteWaveletTransform,WaveletPhi等の関数で使うことができる.
例題
すべて開く すべて閉じる例 (3)
Plot[WaveletPhi[BattleLemarieWavelet[3, 10], x], {x, -10, 10}, PlotRange -> All]WaveletPhi[BattleLemarieWavelet[3, 10], x]Plot[WaveletPsi[BattleLemarieWavelet[3, 10], x], {x, -10, 10}, PlotRange -> All]WaveletPsi[BattleLemarieWavelet[3, 10], x]WaveletFilterCoefficients[BattleLemarieWavelet[3, 5], {"PrimalLowpass", "PrimalHighpass"}]スコープ (9)
基本的な用法 (4)
WaveletFilterCoefficients[BattleLemarieWavelet[3, 5], "PrimalLowpass"]WaveletFilterCoefficients[BattleLemarieWavelet[3, 5], "PrimalHighpass"]Plot[WaveletPhi[BattleLemarieWavelet[2, 10], x], {x, -10, 10}, PlotRange -> All]Plot[WaveletPhi[BattleLemarieWavelet[5, 10], x], {x, -10, 10}, PlotRange -> All]Plot[WaveletPsi[BattleLemarieWavelet[2, 10], x], {x, -10, 10}, PlotRange -> All]Plot[WaveletPsi[BattleLemarieWavelet[5, 10], x], {x, -10, 10}, PlotRange -> All]ウェーブレット変換 (4)
DiscreteWaveletTransformを計算する:
data = Table[Sinc[x^2], {x, -3π, 3π, (6π/1023)}];ListLinePlot[data, PlotRange -> All]dwt = DiscreteWaveletTransform[data, BattleLemarieWavelet[3, 12], 2]dwt["TreeView"]dwt["Dimensions"]WaveletListPlot[dwt, PlotLayout -> "CommonXAxis"]BattleLemarieWaveletを使ってDiscreteWaveletPacketTransformを行うことができる:
data = Table[Sinc[t^2], {t, -3π, 3π, (6π/1023)}];dwpt = DiscreteWaveletPacketTransform[data, BattleLemarieWavelet[3, 12], 2]dwpt["TreeView"]dwpt["Dimensions"]WaveletListPlot[dwpt, PlotLayout -> "CommonXAxis"]BattleLemarieWaveletを使ってStationaryWaveletTransformを行うことができる:
data = Table[Sinc[t^2], {t, -3π, 3π, (6π/1023)}];swt = StationaryWaveletTransform[data, BattleLemarieWavelet[3, 12], 2];swt["TreeView"]swt["Dimensions"]WaveletListPlot[swt, PlotLayout -> "CommonXAxis"]BattleLemarieWaveletを使ってStationaryWaveletPacketTransformを行うことができる:
data = Table[Sinc[t^2], {t, -3π, 3π, (6π/1023)}];swpt = StationaryWaveletPacketTransform[data, BattleLemarieWavelet[3, 12], 2];swpt["TreeView"]swpt["Dimensions"]WaveletListPlot[swpt, PlotLayout -> "CommonXAxis"]高次元 (1)
多変量スケーリング関数と多変量ウェーブレット関数はそれぞれその一変量関数の積である:
ϕ = WaveletPhi[BattleLemarieWavelet[3, 8]];
ψ = WaveletPsi[BattleLemarieWavelet[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]特性と関係 (11)
WaveletFilterCoefficients[BattleLemarieWavelet[4], "PrimalLowpass"][[All, 2]]//Total//ChopWaveletFilterCoefficients[BattleLemarieWavelet[4], "PrimalHighpass"][[All, 2]]//Total//Chopϕ = WaveletPhi[BattleLemarieWavelet[4]];Integrate[ϕ[x], {x, -∞, ∞}]ψ = WaveletPsi[BattleLemarieWavelet[4, 20]];Integrate[ψ[x], {x, -∞, ∞}]偶数次元 n のとき,スケーリング関数は1/2について対称である:
Plot[Evaluate[WaveletPhi[BattleLemarieWavelet[2], x]], {x, -5, 5}, PlotRange -> All, GridLines -> {{1 / 2}, None}, GridLinesStyle -> Directive[Orange, Thick]]偶数次元 n のとき,ウェーブレット関数は1/2について反対称である:
Plot[Evaluate[WaveletPsi[BattleLemarieWavelet[2], x]], {x, -5, 5}, PlotRange -> All, GridLines -> {{1 / 2}, None}, GridLinesStyle -> Directive[Orange, Thick]]奇数次元 n のとき,スケーリング関数は0について対称である:
Plot[Evaluate[WaveletPhi[BattleLemarieWavelet[3], x]], {x, -5, 5}, PlotRange -> All, GridLines -> {{0}, None}, GridLinesStyle -> Directive[Orange, Thick]]奇数次元 n のとき,ウェーブレット関数は1/2について対称である:
Plot[Evaluate[WaveletPsi[BattleLemarieWavelet[3], x]], {x, -5, 5}, PlotRange -> All, GridLines -> {{1 / 2}, None}, GridLinesStyle -> Directive[Orange, Thick]]ϕ = WaveletPhi[BattleLemarieWavelet[3]];a = WaveletFilterCoefficients[BattleLemarieWavelet[3], "PrimalLowpass"];scalet[x_, ϕ_, a_] := 2Table[a[[i, 2]]ϕ[2x - 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]}ϕ = WaveletPhi[BattleLemarieWavelet[3]];b = WaveletFilterCoefficients[BattleLemarieWavelet[3], "PrimalHighpass"];wavelet[x_, ϕ_, b_] := 2Table[b[[i, 2]]ϕ[2x - 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]}h[wav_, ω_] := With[{a = WaveletFilterCoefficients[wav]}, Sum[a[[i, 2]]Exp[-I a[[i, 1]]ω], {i, Length[a]}]]Plot[Evaluate[Abs[h[BattleLemarieWavelet[3, 20], ω]]], {ω, -π, π}, Ticks -> {{-π, -(π/2), 0, (π/2), π}, Automatic}, AxesLabel -> {ω, Abs[H[ω]]}]g[wav_, ω_] := With[{b = WaveletFilterCoefficients[wav, "PrimalHighpass"]}, Sum[b[[i, 2]]Exp[-I b[[i, 1]]ω], {i, Length[b]}]
]Plot[Evaluate[Abs[g[BattleLemarieWavelet[3, 20], ω]]], {ω, -π, π}, 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]}]]fh[wav_, ω_, j_] := Abs[Product[h[wav, (ω/2^i)], {i, j}]]Plot[Evaluate[fh[BattleLemarieWavelet[3, 20], ω, 10]], {ω, -2Pi, 2Pi}, PlotRange -> All, Ticks -> {Range[-2Pi, 2Pi, 2Pi / 3], {1}},
AxesLabel -> {ω, Abs[ Overscript[ϕ, ^ ][ω]]}]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[Evaluate[fg[BattleLemarieWavelet[3, 20], ω, 10]], {ω, -10, 10}, PlotRange -> All,
AxesLabel -> {ω, Abs[ Overscript[ψ, ^ ][ω]]}]考えられる問題 (1)
BattleLemarieWaveletでは n は15より小さくなければならない:
WaveletPhi[BattleLemarieWavelet[16]]n が正の機械整数でなければ,BattleLemarieWaveletは定義されない:
WaveletPhi[BattleLemarieWavelet[2 + I]]おもしろい例題 (2)
ϕ[x_, j_, k_] := 2^j / 2WaveletPhi[BattleLemarieWavelet[3], 2^jx - 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]ψ[x_, j_, k_] := 2^j / 2WaveletPsi[BattleLemarieWavelet[3], 2^jx - 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]テクニカルノート
関連するガイド
-
▪
- ウェーブレット
テキスト
Wolfram Research (2010), BattleLemarieWavelet, Wolfram言語関数, https://reference.wolfram.com/language/ref/BattleLemarieWavelet.html.
CMS
Wolfram Language. 2010. "BattleLemarieWavelet." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/BattleLemarieWavelet.html.
APA
Wolfram Language. (2010). BattleLemarieWavelet. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/BattleLemarieWavelet.html
BibTeX
@misc{reference.wolfram_2026_battlelemariewavelet, author="Wolfram Research", title="{BattleLemarieWavelet}", year="2010", howpublished="\url{https://reference.wolfram.com/language/ref/BattleLemarieWavelet.html}", note=[Accessed: 11-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_battlelemariewavelet, organization={Wolfram Research}, title={BattleLemarieWavelet}, year={2010}, url={https://reference.wolfram.com/language/ref/BattleLemarieWavelet.html}, note=[Accessed: 11-August-2026]}