电路模型
RC电路是将高频信号经过电容回流到电源地,而低频信号不能经过电容,从而滤除高频信号,通过低频信号。
数学模型
电容的电流与电容电压的关系:
根据输入电压等于电阻电压加电容电压:
将上述方程数字化:
进一步简化:
T为采样周期,上面的公式就是一阶低通滤波的算法.
代码实现:
float a = 0.123;
//sampleVal 传感器采样数值(温度 转速 电流,电压...)
float LPF_Filter(float sampleVal)
{
static float lastVal = 0;
float currentVal = a*sampleVal+(1-a)*lastVal; //滤波后数值
lastVal = CurrentVal;
return CurrentVal;
}
频率响应:
输入信号Ui为正弦信号时,两边拉普拉斯变换:
求解结果:
可以从公式知道:输入信号的频率越高,信号衰减的越厉害,时间常数越大也衰减的越厉害,结合数字低通滤波参数a:
a与rc成反比,所以a越小,信号就衰减的越厉害.
当时间常数为0.1,w为3.14时:输出波形:
基本没有衰减,幅值和输入信号的幅值接近1
加大频率w=10*3.14时:
这时大约衰减了70%,
继续加大频率 w=1000*3.14,大约500HZ:
这时就差不多一条直线,全部衰减过滤,高频信号全部经过电容流入到信号地.
全部0条评论
快来发表一下你的评论吧 !