LowpassFilter[data,ωc]
用截止频率为 ωc 的低通滤波器对一组数据进行处理.
LowpassFilter[data,ωc,n]
使用核长度为 n 的滤波器.
LowpassFilter[data,ωc,n,wfun]
对滤波器核运用平滑窗 wfun.
LowpassFilter
LowpassFilter[data,ωc]
用截止频率为 ωc 的低通滤波器对一组数据进行处理.
LowpassFilter[data,ωc,n]
使用核长度为 n 的滤波器.
LowpassFilter[data,ωc,n,wfun]
对滤波器核运用平滑窗 wfun.
更多信息和选项
- 低通滤波通常用于通过减少数据中的高频内容来对数据进行平滑或去噪.
- LowpassFilter 将数字信号与使用窗口方法创建的有限脉冲响应 (FIR) 内核进行卷积.
- data 可以采用以下形式:
-
list 任意维数的数值数组 tseries 暂态数据,如 TimeSeries 和 TemporalData image 任意 Image 或 Image3D 对象 audio Audio 或 Sound 对象 video Video 对象 - 截止频率越小通常会导致平滑度越大. 内核更长会使得频率分辨力更好. »
- LowpassFilter[data,ωc] 根据输入 data 和截止频率 ωc,采用不同的滤波器内核长度和平滑窗.
- 常用平滑窗函数 wfun 包括:
-
BlackmanWindow 用 Blackman 窗平滑 DirichletWindow 不使用平滑窗 HammingWindow 用 Hamming 窗平滑 {v1,v2,…} 使用数值 vi 组成的平滑窗 f 通过对 f 在
和
之间抽样生成平滑窗 - 当应用于图像和多维数组时,从级别 1 开始依次对每个维度应用过滤. LowpassFilter[data,{ωc1,ωc2,…}] 使用频率 ωci 作为第
维. - 可使用以下选项:
-
Padding "Fixed" 采用的填充数值 SampleRate Automatic 预设的输入抽样率 - 缺省情况下,对于图像和列表,假定 SampleRate->1. 对于音频信号和时间序列,则从输入数据中提取或算出采样率.
- 如果设 SampleRatesr,截止频率 ωc 应在 0 和
之间. »
范例
打开所有单元 关闭所有单元基本范例 (3)
data = Table[SquareWave[i / 100], {i, 225}] + RandomReal[{-0.1, 0.1}, 225];
GraphicsRow[ListLinePlot /@ {data, LowpassFilter[data, 0.5]}]LowpassFilter[\!\(\*AudioBox[""]\), Quantity[1000, "Hertz"]]LowpassFilter[[image], 0.5, 15]//ImageAdjust范围 (14)
数据 (9)
data = BoxMatrix[5, {41}];
ListLinePlot[{data, LowpassFilter[data, 0.5, 15]}]data = Table[UnitBox[(n/7), (m/7)], {n, -7, 7}, {m, -7, 7}];
ListPlot3D[data]LowpassFilter[data, 0.5, 15]//ListPlot3D对 TimeSeries 进行滤波:
ts = TemporalData[TimeSeries, {{{0., -0.27267267057145633, -0.6672983789995302, -0.5338541947930846,
-0.6117404489279314, -0.6755527076595494, -0.02125421294486496, -0.10792797291843935,
-0.6138271235477938, -0.3248568606554575, -0.08843449054 ... 2053424, -0.49980440691873723, -0.5388679788215971,
-0.4101602764645551}}, {{0, 1., 0.01}}, 1, {"Continuous", 1}, {"Continuous", 1}, 1,
{ValueDimensions -> 1, ResamplingMethod -> {"Interpolation", InterpolationOrder -> 1}}}, False,
10.1];
filtered = LowpassFilter[ts, Quantity[10, "Hertz"]];ListLinePlot[{ts, filtered}, PlotLegends -> {"original data", "filtered"}]三角波 Audio 对象的平滑处理:
a = AudioGenerator[{"Triangle", 440}]AudioPlot[a, PlotRange -> {{0, 0.01}, All}]AudioPlot[LowpassFilter[a, Quantity[500, "Hertz"]], PlotRange -> {{0, 0.01}, All}]对双音多频 (DTMF) 信号的 Sound 对象进行低通滤波:
s = Sound[SampledSoundList[Table[Sin[2 π 697 t] + Sin[2 π 1209 t], {t, 0., 0.3, 1 / 8000.}], 8000]]用两个拨号音的中间频率作为截止频率,长度为 99,同时使用布莱克曼窗:
LowpassFilter[s, Quantity[953, "Hertz"], 99, BlackmanWindow]LowpassFilter[[image], 0.5]LowpassFilter[Video["ExampleData/fish.mp4"], .5]LowpassFilter[[image], 0.5]LowpassFilter[{0, 0, 0, 1, 1, 1, 0, 0, 0}, Pi / 2, 3]参数 (5)
a = \!\(\*AudioBox[""]\);LowpassFilter[a, 2000 π] === LowpassFilter[a, Quantity[2000*Pi, "Radians"/"Seconds"]] === LowpassFilter[a, Quantity[1000, "Hertz"]]noise = AudioGenerator["White", 0.2];
Periodogram[noise]Periodogram[LowpassFilter[noise, Quantity[5000, "Hertz"]]]Periodogram[LowpassFilter[noise, Quantity[10000, "Hertz"]]]noise = AudioGenerator["White", 0.2];
Periodogram[LowpassFilter[noise, Quantity[2000, "Hertz"]]]截止频率越高会导致滤波器内核更短、过渡带更宽且频率分辨力更差:
Periodogram[LowpassFilter[noise, Quantity[5000, "Hertz"]]]Periodogram[LowpassFilter[noise, Quantity[5000, "Hertz"], 55]]a = AudioGenerator[Sin[11025 2 π #^2]&];
Periodogram[LowpassFilter[a, Quantity[10000, "Hertz"], 33, #]& /@ {DirichletWindow, HammingWindow, BlackmanWindow}, PlotLegends -> {"Dirichlet", "Hamming", "Blackman"}]a = AudioGenerator[Sin[11025 2 π #^2]&];
n = 33;
Periodogram[MapThread[LowpassFilter[a, Quantity[10000, "Hertz"], #1, #2]&, {{n, 2n, 3n}, {DirichletWindow, HammingWindow, BlackmanWindow}}], PlotLegends -> {"Dirichlet", "Hamming", "Blackman"}]Periodogram[Table[LowpassFilter[a, Quantity[10000, "Hertz"], 33, KaiserWindow[#, b]&], {b, {3, 5, 7}}], PlotLegends -> {3, 5, 7}]Periodogram[LowpassFilter[a, Quantity[10000, "Hertz"], 33, ConstantArray[1, {33}]]]LowpassFilter[[image], {.5, 1.5}]选项 (4)
Padding (2)
SampleRate (2)
LowpassFilter[{0, 0, 0, 0, 0, 1, 1, 1, 1, 1}, π / 2., 5]LowpassFilter[{0, 0, 0, 0, 0, 1, 1, 1, 1, 1}, 3 π / 2., 5, SampleRate -> 3]noise = AudioGenerator["White", 0.2];
sr = QuantityMagnitude@AudioSampleRate[noise]LowpassFilter[noise, sr π / 2.]//Periodogram应用 (6)
input = ExampleData[{"Audio", "Apollo11ReturnSafely"}];
Spectrogram[input]LowpassFilter[input, Quantity[1000, "Hertz"]]//Spectrogram用 LowpassFilter 使得音频对象听起来不那么刺耳:
cello = \!\(\*AudioBox[""]\);LowpassFilter[cello, Quantity[800, "Hertz"]]在现代 88 键钢琴上,55 键( C5 音符)的基频约为 523 Hz. 使用 LowpassFilter 可有效去除该键的所有谐波,同时保留以下音频剪辑中的基波:
key55 = \!\(\*AudioBox[""]\);使用长度为 59 的滤波器,其截止频率介于基波 (523 Hz) 和其第一次 1046 Hz 的谐波之间:
f = 1.5 523;
res = LowpassFilter[key55, 2 π f, 59]Periodogram[{key55, res}, PlotRange -> All, GridLines -> All, PlotLegends -> {"original", "filtered"}, Epilog -> {Red, InfiniteLine[{{f, 0}, {f, 1}}]}]image = [image];
LowpassFilter[image, .5]LowpassFilter[[image], 2]i = [image];2i - LowpassFilter[i, .5]属性和关系 (8)
LowpassFilter[{0, 0, 0, 0, 0, 1, 1, 1, 1, 1}, 0]LowpassFilter[{0, 0, 0, 0, 0, 1, 1, 1, 1, 1}, π]利用 LeastSquaresFilterKernel 和 Hamming 窗函数生成一个低通滤波器:
n = 5;
ω = 1.;
win = Array[HammingWindow, n, {-1 / 2, 1 / 2}];
ker = Normalize[win LeastSquaresFilterKernel[{"Lowpass", ω}, n], Total]ListConvolve[ker, {0, 0, 0, 0, 0, 1, 1, 1, 1, 1}, Ceiling[n / 2], 0]与 LowpassFilter 的结果进行比较:
LowpassFilter[{0, 0, 0, 0, 0, 1, 1, 1, 1, 1}, ω, n, win, Padding -> 0]h = LowpassFilter[ArrayPad[{1}, 10], π / 2., 21]ListPlot[h, PlotRange -> All, Filling -> 0]Plot[Abs[ListFourierSequenceTransform[h, ω]], {ω, 0, π}]h = LowpassFilter[ArrayPad[{1}, 10], π / 2., 21, None]ListPlot[h, PlotRange -> All, Filling -> 0]Plot[Abs[ListFourierSequenceTransform[h, ω]], {ω, 0, π}]h = LowpassFilter[ArrayPad[{1}, 10], π / 2., 20, None]ListPlot[h, PlotRange -> All, Filling -> 0]Plot[Abs[ListFourierSequenceTransform[h, ω]], {ω, 0, π}]Manipulate[
ListLinePlot[Abs[Fourier[LowpassFilter[ArrayPad[{1.}, 128], Pi / 2, n, DirichletWindow], FourierParameters -> {1, -1}]][[ ;; 129]], ...], {{n, 21}, 3, 63, 1}]Manipulate[ListPlot[DeleteCases[LowpassFilter[ArrayPad[{1.}, 65], ω, Padding -> 0], 0.], Filling -> 0, Axes -> {True, False}, Ticks -> None], {{ω, 1., "SubscriptBox[ω, c]"}, 0.125, 1.0}]可能存在的问题 (1)
文本
Wolfram Research (2012),LowpassFilter,Wolfram 语言函数,https://reference.wolfram.com/language/ref/LowpassFilter.html (更新于 2025 年).
CMS
Wolfram 语言. 2012. "LowpassFilter." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2025. https://reference.wolfram.com/language/ref/LowpassFilter.html.
APA
Wolfram 语言. (2012). LowpassFilter. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/LowpassFilter.html 年
BibTeX
@misc{reference.wolfram_2026_lowpassfilter, author="Wolfram Research", title="{LowpassFilter}", year="2025", howpublished="\url{https://reference.wolfram.com/language/ref/LowpassFilter.html}", note=[Accessed: 09-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_lowpassfilter, organization={Wolfram Research}, title={LowpassFilter}, year={2025}, url={https://reference.wolfram.com/language/ref/LowpassFilter.html}, note=[Accessed: 09-November-2026]}