这个filter coef = [1,2,1]有什么特别之处?

信息处理 Python DSP核心
2022-02-14 03:52:29

谁能告诉我这是什么过滤器?我可以看到它正在平滑/平均输入信号,但为什么要特别使用 [1,2,1] 而不是其他东西?这个 coef=[1,2,1] 有什么特别之处?谢谢

# Python code
length = 1000
signal = np.random.rand(length)
output = np.zeros(length-2)
coef= np.array([1,2,1])
for i in range(length - 2):
   output[i] = np.sum(signal[i:i+3] * coef / 4)
2个回答

它是一个对称的奇数大小的 FIR 平滑核,属于帕斯卡或二项式滤波器,以某种方式对高斯核进行采样。另外,它的系数是简单的二进整数,可以实现为位移1/4 1/2 1/4系数总和为 1,因此它是 DC 的单位增益。

用更简单的话来说:(之一)最简单的真实平滑保持对称特征位置。然而它的效率是有限的

它是相邻平均值的相邻平均值。

x1[n]=(x0[n]+x0[n1])/2

x2[n]=(x1[n]+x1[n1])/2

x2[n]=((x0[n]+x0[n1])/2+(x0[n1]+x0[n2])/2)/2

x2[n]=(x0[n]+2x0[n1]+x0[n2])/4

在哪里x0是你的源信号,x1一个简单的平均值,和x2平均值的平均值。

现在,将其更改为 (1, -2, 1),您将得到二阶导数的离散模拟。

赛德