文章的标题起的有点大了,其实也没有太高深的理论,就是一些简单的转化。事情的起因是这样的,一位同事在网上看到了程序匠人写的一份关于一阶滤波算法的文章(文章链接:http://www.docin.com/p-745334438.html),对里面的一个推导过程不太理解,我就一时热心帮忙看了一下,顺便把推导过程记录在这里,和大家分享一下,也许会有人需要吧。公式如下图蓝色字体。

在推导之前我们先做一些符号定义:

N-----> 新采样值

O-----> 上次滤波结果

R-----> 本次滤波结果

A-----> (一级滤波系数÷256)

按照以上定义,公式原型为:R = N*A+O*(256-滤波系数)÷256

将上面的括号打开: R = N*A+O*256÷256 -O* 滤波系数÷256

进一步化简得到: R = N*A+O -O* A

将上式提公因式:R =O +(N-O)*A

分类讨论:

当N > O 时:R =O +(N-O)*A

当N < O 时:R =O-(O-N)*A

将讨论结果中的符号替换成文字,就得到了图片中化简后的公式。

其实这一化简过程并没有什么难度,但是经过化简以后可以减轻CPU的计算负担,尤其是对做嵌入式系统来说,就想程序匠人说的可大大提高效率。

其实我觉得作为程序开发者不单单要只盯着编程语言,还要掌握一些数学的方法,数学可以帮之我们提高逻辑思维用于解决问题的能力,尤其是当我们遇到较为复杂的逻辑时除了在纸上画一画流程图缕清思路以外,也可是尝试一下数学的方法,帮我们把问题简化。

一阶滤波算法公式推导相关推荐

  1. 一阶RC低通滤波算法原理与实现

    文章目录 1. 一阶低通滤波算法原理 2. 一阶滤波算法的特点 3. 基本算法的例程 4. 优化:减少乘.除的运算次数以提高运算速度 5. 改进:动态调整滤波系数 动态调整滤波例程 本文整理自网络,参 ...

  2. 单片机滤波算法之一阶滤波

    本文用于记录阅读完<匠人手记:一个单片机工作者的实践与思考>一阶滤波算法的记录和心得. 一阶滤波算法公式:Yn(本次滤波值)=aXn(新采样值)+(1-a)(上一次滤波值). a表示滤波系 ...

  3. Simulink建模:一阶滤波模型

    本文研究一阶滤波算法的Simulink模型及其代码生成. 文章目录 1 一阶滤波算法 2 Simulink建模 2.1 对公式的理解 2.2 建模过程 2.3 模型配置 3 模型更新及代码生成 3.1 ...

  4. 自动驾驶 - 滤波算法

    自动驾驶 - 滤波算法 目前比较常用的滤波算法有: 平均值滤波算法 中位值滤波算法 一阶滤波算法 卡尔曼滤波算法 1. 平均值滤波算法 1.1. 算法介绍 平均值滤波算法是比较常用,也比较简单的滤波算 ...

  5. AS5600磁编码器的使用以及简单的滤波算法(arduino)

    目录 前言 实践 示例一:发现IIC设备 示例二:读取AS5600原始数据 示例三:对读取到的AS5600原始数据进行低通滤波 1. 一阶滤波算法的原理 2.编程实现 前言 AS5600磁编码器常用于 ...

  6. 基于TIA博途的一阶滞后滤波+中位值滤波+堆栈平均值滤波算法SCL语言程序(封装FB库)

    基于TIA博途的一阶滞后滤波+中位值滤波+堆栈平均值滤波算法SCL语言程序(封装FB库) 如下图所示,新建一个新项目,添加一个1215CPU,在程序块中添加一个FB,命名为:一阶滞后滤波法, 在该FB ...

  7. 滤波算法——均值滤波,中值滤波,一阶(αβ)滤波,卡尔曼滤波

    滤波算法--均值滤波,中值滤波,一阶(αβ)滤波,卡尔曼滤波 因工作涉及到数据滤波(滤噪)处理,汇总了一些网上简单的滤波算法,方便日后查看. 滤波算法包括:均值滤波,中值滤波,一阶(αβ)滤波,卡尔曼 ...

  8. 算法:冒泡排序、一阶滤波

    冒泡排序 /* 冒泡 */ void bubbleSort(int a[], int n) {int i, j, tmp; for(i =0 ; i< n-1; ++i){for(j = 0; ...

  9. 简单常用滤波算法C语言实现

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/xiao2yizhizai/article/details/51026151 1.限幅滤波算法(程序判 ...

  10. 非常值得一看—九种滤波算法C语言实现

    关注"嵌入式软件开发学习圈"免费获取更多学习教程 今天带着大家学习滤波算法c语言(九种滤波算法)实现,以及代码,大家可以学习了解下.... 1.限幅滤波算法(程序判断滤波算法) 方 ...

最新文章

  1. codeforces A. Jeff and Digits 解题报告
  2. Ext JS 4倒计时:动态加载和新的类系统
  3. 自学python三个月能赚钱吗-自学Python三个月能赚钱吗?
  4. 《软件测试技术实战:设计、工具及管理》—第2章 2.2节运用决策表设计测试用例...
  5. POJ1679 Luogu4180 次小生成树
  6. FCN学习:Semantic Segmentation
  7. linux kvm安装win7,详解在 KVM 上安装 Win7 虚拟机
  8. 好久没有写了,今天就谈谈微信吧!
  9. Windows7 IIS安装与配置asp和asp.net(图解)教程
  10. 解析网上的XML文件
  11. 2021年2 分以上优秀护理相关SCI 期刊汇总
  12. 立体匹配算法(局部立体匹配 、全局立体匹配 、深度学习立体匹配 )
  13. Python读写修改Shapefile
  14. java罗马数字_整数转罗马数字以及罗马数字转整数(java实现)
  15. 开发环境- 配置虚拟主机域名/hosts文件 - 学习/实践
  16. 小括号与花括号小括号与花括号
  17. 笔记怎么放思维导图图片
  18. 5G网络的关键技术及特点,面临的挑战!
  19. python 遗传算法优化bp神经网络_遗传算法优化BP神经网络
  20. 音视频基础认知——音视频开发常规流程

热门文章

  1. Spice下命令spicy的USB重定向过程分析
  2. 开源项目工时系统_浅谈:如何帮助企业成功实施一套项目工时管理系统
  3. Microsoft Office Visio(Windows)无限弹窗的诡异问题
  4. 如何批量保存html,如何批量保存网页信息
  5. php api权限,如何设计RESTful的API权限
  6. Web全栈~02.表单样式设计
  7. 3dmax2020软件安装教程
  8. 光网络时代网络工程师成长路线图
  9. 创建ejb项目以及weblogic部署ejb
  10. 湖南省益阳市谷歌高清卫星地图下载(百度网盘离线包下载)