7.8 Hz的倒数是〜130 ms,我正在处理以1000 Hz采样的数据。这是否意味着我应该使用130个样本的移动平均滤波器窗口大小,还是这里缺少其他内容?
#1 楼
移动平均滤波器(有时通称为Boxcar滤波器)具有矩形脉冲响应:$$
h [n] = \ frac {1} {N} \ sum_ {k = 0} ^ {N-1} \ delta [nk]
或者用不同的说法:
$$
h [n ] = \ begin {cases}
\ frac {1} {N},&& 0 \ le n
\ end {cases}
$$$
请记住,离散时间系统的频率响应等于其冲激响应的离散时间傅里叶变换,我们可以如下计算:
$$
\开始{align}
H(\ omega)&= \ sum_ {n =-\ infty} ^ {\ infty} x [n] e ^ {-j \ omega n } \\
&= \ frac {1} {N} \ sum_ {n = 0} ^ {N-1} e ^ {-j \ omega n}
\ end {align}
$$
为简单起见,我们可以使用已知公式计算几何序列的前$ N $个项的总和:
$$
\ sum_ {n = 0} ^ {N-1} e ^ {-j \ omega n} = \ frac {1-e ^ {-j \ omega N}} {1-e ^ {-j \ omega} }
$$
我们对您的案例最感兴趣的是幅度过滤器的一次,$ | H(\ omega)| $。使用一些简单的操作,我们可以以一种易于理解的形式获得它:
$$
H(\ omega)&= \ frac {1} {N} \ sum_ {n = 0} ^ {N-1} e ^ {-j \ omega n} \\
&= \ frac {1} {N} \ frac {1- e ^ {-j \ omega N}} {1-e ^ {-j \ omega}} \\
&= \ frac {1} {N} \ frac {e ^ {-j \ omega N / 2}}} {e ^ {-j \ omega / 2}} \ frac {e ^ {j \ omega N / 2}-e ^ {-j \ omega N / 2}} {e ^ {j \ omega / 2 }-e ^ {-j \ omega / 2}}
\ end {align}
$$
这看起来似乎不太容易理解。但是,由于欧拉的身份,请记住:
$$
\ sin(\ omega)= \ frac {e ^ {j \ omega}-e ^ {-j \ omega} } {j2}
$$
因此,我们可以将上面的代码写为:
$$
\ begin {align}
H(\ omega)&= \ frac {1} {N} \ frac {e ^ {-j \ omega N / 2}} {e ^ {-j \ omega / 2}} \ frac {j2 \ sin \ left (\ frac {\ omega N} {2} \ right)} {j2 \ sin \ left(\ frac {\ omega} {2} \ right)} \\
&= \ frac {1} {N} \ frac {e ^ {-j \ omega N / 2}} {e ^ {-j \ omega / 2}} \ frac {\ sin \ left(\ frac {\ omega N} {2} \ right)} {\ sin \ left(\ frac {\ omega} {2} \ right)}
\ end {align}
$$
正如我之前所说,您真正关心的是频率响应的幅度。因此,我们可以采用上述幅度来进一步简化它:
$$
| H(\ omega)| = \ frac {1} {N} \ left | \ frac {\ sin \ left(\ frac {\ omega N} {2} \ right)} {\ sin \ left(\ frac {\ omega} {2} \ right)} \ right |
$$
注意:我们能够删除指数项,因为它们不会影响结果的大小; $ | e ^ {j \ omega} |对于$ \ omega $的所有值= 1 $。由于$ | xy | = | x || y | $对于任意两个有限复数$ x $和$ y $,我们可以得出结论,指数项的存在不会影响整体幅度响应(相反,它们会影响系统的相位响应) 。
幅度括号内的结果函数是Dirichlet内核的一种形式。它有时被称为周期性Sinc函数,因为它在外观上类似于Sinc函数,但它是周期性的。
无论如何,由于截止频率的定义不太明确(-3 dB点?-6 dB点?第一个旁瓣为零?),因此您可以使用上面的方程式来求解所需的任何内容。具体来说,您可以执行以下操作:
将$ | H(\ omega)| $设置为与所需的截止频率处的滤波器响应相对应的值。
设置$ \ omega $等于截止频率。要将连续时间频率映射到离散时域,请记住$ \ omega = 2 \ pi \ frac {f} {f_s} $,其中$ f_s $是您的采样率。
查找$ N $使您在等式的左侧和右侧之间达到最佳协定。那应该是您的移动平均线的长度。
评论
$ \ begingroup $
我认为这是“是”吗?据我所知,ω= 7.8的N个样本似乎适合N,但我不是数学家。
$ \ endgroup $
– CaptainProg
13年7月18日在15:41
$ \ begingroup $
@CaptainProg:只有您可以肯定地说;我不确定您希望幅度响应在截止频率处是多少。
$ \ endgroup $
–Jason R
13年7月19日在2:53
$ \ begingroup $
您能定义n和N是什么吗?具有给定采样频率的示例也将非常有帮助。这听起来很简单,但是这个问题是“移动平均截止频率”的最高结果,因此,我相信会有很多其他观众对滤波器背后的数学失去了解。
$ \ endgroup $
– FvD
17年6月8日在6:34
$ \ begingroup $
@FvD $ n $是信号$ x [n] $的样本索引,通常用于离散时间信号。 $ N $在上面的第一个公式中定义。如果有机会,我可以添加一个示例,但是我怀疑选择设计滤波器以满足特定截止频率的任何人都可以遵循数学。
$ \ endgroup $
–Jason R
17年6月8日在11:17
#2 楼
如果$ N $是移动平均线的长度,则归一化频率$ F = f / fs $中的近似截止频率$ F_ {co} $(对于$ N> = 2 $有效)为:$ F_ {co} = \ frac {0.442947} {\ sqrt {N ^ 2-1}} $
与之相反的是
$ N = \ frac {\ sqrt {0.196202 + F_ {co} ^ 2}} {F_ {co}} $
该公式对于大N来说是渐近正确的,对于N来说误差约为2% = 2,而N> = 4则小于0.5%。
PS:两年后,这里终于采用了这种方法。
结果是基于对MA振幅谱的近似估计根据
$ MA(\ Omega)= \ frac {Sin(\ Omega ∗ N / 2)} {Sin(\ Omega / 2)} $
$ MA(\ Omega)\约1 +(\ frac {1} {24}-\ frac {N ^ 2} {24})\ Omega ^ 2 $
,通过将$ \ Omega $乘以系数,可以更精确地接近$ MA(\ Omega)-\ frac {\ sqrt2} {2} $的零交叉点
$ \ alpha = 0.95264 $
获得
$ MA(\ Omega)\ approx 1 + 0.907523(\ frac {1} {2 4}-\ frac {N ^ 2} {24})\ Omega ^ 2 $
$ MA(\ Omega)-\ frac {\ sqrt2} {2} = 0 $的解给出以上结果,其中$ 2 \ pi F_ {co} = \ Omega_ {co} $。
以上所有内容均与-3dB截止频率有关,这是本文的主题。 >
有时候,在阻带中获得与一阶IIR低通滤波器(单极LPF)的衰减曲线相当,且截止频率为-3dB的衰减曲线(这样的LPF为也称为泄漏积分器,其极点不完全位于直流,而是靠近直流。
实际上,MA和一阶IIR LPF的阻带斜率均为-20dB / decade斜率(一个比一个NIR需要更大的N)图N = 32,看到这一点),但是虽然MA在$ F = k / N $处具有频谱无效值,并且具有$ 1 / f $包络,但是IIR滤波器仅具有$ 1 / f $轮廓。 br /> $ H_ {IIR} = \ frac {1-Exp(-\ Omega_ {co})} {1-Exp(-\ Omega_ {co})* Exp(j \ Omega)} $
如果要获得一种具有与该IIR滤波器类似的噪声滤波功能的MA滤波器,并匹配3dB截止频率以使其相同,则在比较两个频谱时,他会意识到MA滤波器的阻带纹波最终比IIR滤波器低约3dB。
为了获得与IIR滤波器相同的阻带纹波(即,相同的噪声功率衰减),可以对公式进行如下修改: IIR} = \ frac {0.32} {\ sqrt {N ^ 2-1}} $
$ N = \ frac {\ sqrt {0.1024 + F_ {co,IIR} ^ 2}} { F_ {co,IIR}} $
评论
$ \ begingroup $
我将您的公式更改为乳胶格式。请仔细检查并确认它们均正确。谢谢。
$ \ endgroup $
– lennon310
2014年2月25日于1:22
$ \ begingroup $
我在这里dsp.stackexchange.com/a/28186/15347添加了这种近似的推导
$ \ endgroup $
–奥利·尼米塔洛(Olli Niemitalo)
16年1月10日,下午2:01
$ \ begingroup $
据我所记得,我是通过数值方法(Mathematica中的NSolve或Matlab中的类似方法)导出该公式的,它具有务实的考虑,它对于大N值应渐近正确。大约3%的折扣,所以我不确定该说些什么。
$ \ endgroup $
–马西莫
16年1月14日在9:31
$ \ begingroup $
@Massimo在其他问题中,我们对此以及其他近似方法做了很多工作。如果您需要更多小数位,这是您的魔术数字:0.442946470689452340308369
$ \ endgroup $
–奥利·尼米塔洛(Olli Niemitalo)
16年1月15日在23:03
$ \ begingroup $
我找到了Mathematica脚本,在那里我计算了几个过滤器(包括MA过滤器)的截止值。该结果是基于根据$ MA(\ Omega)= Sin(\ Omega * N / 2)/ Sin(\ Omega / 2)$将f = 0附近的MA谱近似为抛物线的; $ Omega = 2 * \ pi * F $; $ MA(F)\大约N + 1/6 * F ^ 2 *(N-N ^ 3)* \ pi ^ 2 $。然后从此处导出与$ 1 / \ sqrt {2} $的交叉。
$ \ endgroup $
–马西莫
16 Jan 17'2:08
评论
您应该首先定义对“截止”的理解。如果是(低于)滤波器的响应为零的最后一个频率,则答案为“无”,因为移动平均滤波器的内核具有有限的支持,有限的小波变换为无限的傅立叶图像。移动平均滤波器是在时域中使用的滤波器,用于去除添加的噪声并用于平滑目的,但是如果在频域中使用相同的移动平均滤波器进行频率分离,则性能将最差……在这种情况下,请使用频域滤波器