BlackmanWindow
表示 x 的 Blackman 窗函数.
更多信息
- BlackmanWindow 是一个窗函数,通常用于设计有限冲激响应滤波器 (FIR) 和频谱分析.
- 窗函数使用于数据在小片段中处理的应用中,并通过在每个片段末尾将数据值逐渐减小到零的方式产生平滑效果.
- Blackman 窗近似于 ExactBlackmanWindow. 截断系数提高高频衰减,但代价是更大的频谱旁瓣.
- BlackmanWindow[x] 等于
. - BlackmanWindow 自动线性作用于列表.
范例
打开所有单元 关闭所有单元基本范例 (3)
范围 (4)
BlackmanWindow[0.1]Plot[BlackmanWindow[(x - 1) / 2], {x, -1, 3}]在圆形支持(support)下的二维 Blackman 窗:
Plot3D[BlackmanWindow[Sqrt[x ^ 2 + y ^ 2]], {x, -1, 1}, {y, -1, 1}, PlotRange -> All]ListPlot[Array[BlackmanWindow, 15, {-1 / 2, 1 / 2}], Filling -> Axis]ListPointPlot3D[Array[BlackmanWindow[#1] BlackmanWindow[#2]&, {15, 10}, {{-1 / 2, 1 / 2}}], Filling -> Axis]应用 (4)
h = LeastSquaresFilterKernel[{"Lowpass", π / 5}, 21]w = Array[BlackmanWindow, Length[h], {-1 / 2, 1 / 2}];
fir = h w;fir / Total[fir]Plot[Evaluate[20Log10[Abs@ListFourierSequenceTransform[#, ω]]& /@ {h, %}], {ω, 0, π}, GridLines -> Automatic]a = AudioGenerator["White", 1, SampleRate -> 8000];
Periodogram[{a, LowpassFilter[a, 8000 π / 3, 21, BlackmanWindow]}]使用窗指定,计算样本 PowerSpectralDensity:
proc = ARMAProcess[1, {.5}, {.3}, 1];
data = RandomFunction[proc, {50}];spec = PowerSpectralDensity[data, w, BlackmanWindow];sd = PowerSpectralDensity[data, w];sd === specPlot[{sd, spec}, {w, -π, π}, PlotRange -> All, PlotLegends -> {"no window", "with window"}]Plot[{spec, Evaluate@PowerSpectralDensity[proc, w]}, {w, -π, π}, PlotLegends -> {"data", "process"}]data = RandomFunction[ARMAProcess[1, {.3}, {.4}, 1], {300}];EstimatedProcess[data, ARMAProcess[1, 1], ProcessEstimator -> {"SpectralEstimator", "Window" -> BlackmanWindow}]属性和关系 (5)
area = Integrate[BlackmanWindow[x], {x, -∞, ∞}]Plot[{BlackmanWindow[x], BlackmanWindow[x] / area}, {x, -1, 1}, PlotRange -> All]f = FourierTransform[BlackmanWindow[x], x, w]LogLinearPlot[20 Log[10, Abs[f]], {w, .1, 100}, PlotRange -> {0, -120}]Array[BlackmanWindow, 15, {-0.5, 0.5}]% / Total[%]长度为 15 的归一化离散 Blackman 窗的离散时间傅立叶变换:
(win = Array[HammingWindow, 15, {-0.5, 0.5}];
f = ListFourierSequenceTransform[win / Total[win], ω])Plot[Abs@f, {ω, 0, π}, PlotRange -> All]tab = Table[(h = Array[win, 15, {-0.5, 0.5}];
20Log10[Abs@ListFourierSequenceTransform[h / Total[h], ω]]), {win, {BlackmanWindow, DirichletWindow}}];Plot[tab, {ω, 0, π}, PlotRange -> {5, -80}, PlotLegends -> {BlackmanWindow, DirichletWindow}]相关指南
-
▪
- 为滤波器设计的窗函数 ▪
- 信号滤波与滤波器设计
文本
Wolfram Research (2012),BlackmanWindow,Wolfram 语言函数,https://reference.wolfram.com/language/ref/BlackmanWindow.html.
CMS
Wolfram 语言. 2012. "BlackmanWindow." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/BlackmanWindow.html.
APA
Wolfram 语言. (2012). BlackmanWindow. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/BlackmanWindow.html 年
BibTeX
@misc{reference.wolfram_2026_blackmanwindow, author="Wolfram Research", title="{BlackmanWindow}", year="2012", howpublished="\url{https://reference.wolfram.com/language/ref/BlackmanWindow.html}", note=[Accessed: 15-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_blackmanwindow, organization={Wolfram Research}, title={BlackmanWindow}, year={2012}, url={https://reference.wolfram.com/language/ref/BlackmanWindow.html}, note=[Accessed: 15-September-2026]}