白话一阶数字滤波程序:数学与电学的美妙结合

白话一阶数字滤波程序:数学与电学的美妙结合

我们先来看一个式子(其中Ka和Kb是个定值,且相加为1)
在这里插入图片描述
乍一看,嘿!这个不就是一个很简单的式子吗:
如果u(k)是个电压值,那么这一次的计算值就等于这一次采集的值和上一次的计算值按比例分配。
我们凭直觉就知道了,这样搞一下之后有点类似于取平均值的感觉,有波动的数据搞一下应该会平滑一些。

到这里有童鞋就要问了,应该归应该,可这里面还有个系数呢,你这系数选取肯定有讲究,我得去实验一个最佳值去~
先别着急去试,其实啊,咱们已经不知不觉中写了一个一阶低通数字滤波!我们完全可以算出个差不多来
不信?我们来看看

不如先从模拟电路分析开始,下图是最简单的RC一阶滤波器,e(t)和u(t)分别是滤波器的输入电压和输出电压,电阻的阻值是R,电容的容量是C。
白话一阶数字滤波程序:数学与电学的美妙结合_第1张图片

根据电学原理,列出公式1。
在这里插入图片描述

假设MCU每隔一个采样周期 TS 进行一次计算,在第k-1个采样周期输出电压为u(k-1),在第k个采样周期输出电压为u(k),输入电压为e(k),式子就变成了下面公式:
在这里插入图片描述
根据电学原理,滤波器的截止频率 fc­ 和RC的关系是这样的:
在这里插入图片描述
把它代入到上面的式子,再整理一下:
在这里插入图片描述

在这里插入图片描述
这不就是我们最初的式子吗!原来系数与截频和采样时间间隔有关呀

聪明的你已经不需要我往下讲了,找出干扰信号的频率就可以算出系数,再在附近稍加调整就好啦!
K是定值,K也可以是变的:

根据不同干扰设定多个K值就是变频率一阶低通
根据不同情况滑动改变K值就是自适应一阶低通
最后展示下成果:
滤波前(图片摘自网上)
白话一阶数字滤波程序:数学与电学的美妙结合_第2张图片
滤波后
白话一阶数字滤波程序:数学与电学的美妙结合_第3张图片

你可能感兴趣的:(学习笔记,白话系列)