c++ - 这是什么类型的过滤器?
问题描述
output = (((previous * rate) + current) / (rate + 1.0))
我相信这是一个低通行证,但如果我错了,请纠正我。有没有更准确的方法来描述这样的功能?
解决方案
这是一个低通滤波器,具有无限脉冲响应设计。比率用于确定单个新值可以改变输出的程度。较大的比率会增加先前状态的价值,而减少当前值的价值。
考虑当比率为 1 时:output
是该值的previous
1/2 加上该值的 1/2 current
。换句话说,这是两者的平均值。
当 rate 较大时,output
对值的权重更大previous
,因此后续值中的高频变化current
被过滤掉,只有缓慢current
的变化才会影响output
.
推荐阅读
- bar-chart - 如何在 Tableau 中显示最近几天的数据但从一开始就累积记录
- xslt - XSLT:从 for-each/select 中删除“”标签
- java - 方法效率低下
- java - 如何从 HashMap 中获取字符串键?
- python - 将不同的图像映射到单个输入的通道 Keras
- ruby - 在 ruby 中将字符串转换为类名
- javascript - 使用带有 Express 的 Put 方法,我得到代码 200,但没有更新
- jenkins - 无法在 Github 多分支管道上按名称过滤
- r - .N 在 data.table 中无法正常工作
- javascript - JQuery 没有提示成功数据