关于在 DSP 中使用移动平均与低通滤波器的基本问题

信息处理 过滤器 有限脉冲响应
2022-01-10 07:47:07

我是数字信号处理的新手。如果一个信号在时间序列中叠加了一些噪声,那么对于哪种类型的信息/分析,在实践中将使用移动平均或 LP 滤波器。

假设您有 5 秒的采样数据,采样率为 200Hz。

你能举一个实际的例子,什么时候使用 LP 滤波器,什么时候使用移动平均滤波器?我读到移动平均线是一种 LP 滤波器,但我想从大局中看到差异。

我看到许多工程师使用 MATLAB 或 Python 函数并使用 FFT 执行低通滤波器而不是移动平均。所以这让我提出了这个问题。

2个回答

移动平均滤波器可以被认为是一种低通滤波器,它对固定数量的抽头的带宽没有任何控制。

对于有限脉冲响应 (FIR) 滤波器,输出信号根据输入信号和滤波器抽头给出: 在这种情况下,滤波器长度是个“抽头”(或个系数)。移动平均滤波器的系数都相等: 而一般来说,低通滤波器 ( LPF),每个抽头可以有不同的值。这允许您控制滤波器的频率选择性。y[n]x[n]h[n]

y[k]=n=0N1h[n]x[kn].
NN
h[n]=1N,n=0,1,,N1,

下面是一个显示差异的示例,对于具有 200 Hz 采样率和具有 32 个抽头的滤波器的系统: 频率响应

LPF 设计为具有 50 Hz 的截止频率,但它可以设置为您想要的任何值。使用移动平均滤波器,滤波器聚焦在 0 Hz 分量(“DC”)附近,滤波器中的抽头越多,峰值越窄。使用移动平均滤波器作为 LPF 的另一个问题是,与“设计合理”的滤波器相比,它具有高旁瓣(主峰两侧的波纹)。

LPF 的抽头是:

[-0.00116417 -0.00139094  0.00195951  0.00293134 -0.00437535 -0.00637313
  0.00902803  0.01248116 -0.0169409  -0.02273977  0.03045372  0.04118039
 -0.05729369 -0.08500841  0.14720004  0.45005217  0.45005217  0.14720004
 -0.08500841 -0.05729369  0.04118039  0.03045372 -0.02273977 -0.0169409
  0.01248116  0.00902803 -0.00637313 -0.00437535  0.00293134  0.00195951
 -0.00139094 -0.00116417]

用于生成此图的 Python 代码:

from pylab import *
from scipy.signal import windows, firwin


Fs = 200.

N = 32
h_lpf = firwin(N, 50, nyq=Fs/2., window='hamming')
h_ma = ones(N)*1./N

print h_lpf

M = 512


X_lpf = fftshift(abs(fft(h_lpf, M)))
X_lpf /= X_lpf.max()
X_ma = fftshift(abs(fft(h_ma, M)))
X_ma /= X_ma.max()

f = arange(M)*Fs/M - Fs/2.

figure()
plot(f, X_lpf, f, X_ma)
xlabel('$f$ (Hz)')
ylabel('$|H(f)|$')
legend(('LPF', 'Moving Average'))
grid()
show()

线性时不变 (LTI) 滤波器有两种基本类别。一些滤波器不是线性和/或时不变的(例如中值滤波器或卡尔曼滤波器或粒子滤波器),但在那些是 LTI(和离散时间或“数字”)的滤波器中,有有限脉冲响应 (FIR) 和无限脉冲响应(IIR) 滤波器,两者都可以是低通的。

正如您所暗示的那样,滤波器更为通用,移动平均值是 FIR 滤波器的特定情况,其中系数对于长度为的移动平均值这通常称为箱式汽车过滤器。1/NN

正如提到的其他帖子之一,MA 一词通常与太阳黑子等建模相关联。

您提到了 FFT,但这只是提高 FIR 卷积效率的一种方法。FFT 也适用于其他事情,例如大整数相乘和 Toeplitz 矩阵。我不打算解释卷积,因为有很多可用的解释我在尝试时往往会“令人费解”,但是如果你想理解过滤器,那么在没有处理卷积的情况下这样做是徒劳的。(不知道为什么他们把它命名为卷积。大多数被卷积的东西充其量就是婚姻,真的只是叠加)

https://en.m.wikipedia.org/wiki/Convolution

从本质上讲,移动平均线或箱式车是一种平滑的东西,但如果你的目标是字面上的“移动平均线”,你就会使用它。换句话说,移动平均线会平滑,但这是一种副作用。