本文将根据RL电路的原理,用计算机实现低通滤波。
RL电路分析
数学模型
由基本的电路知识可知,RL电路输入X和输出Y的关系如下:
L
R
d
Y
d
t
+
Y
=
X
\frac{L}{R} \frac{d Y}{dt} + Y = X
RLdtdY+Y=X
求解和离散化处理
由于使用计算机处理,需要求解并离散化以上的微分方程,本文采用一阶向前差分的方法得:
L
R
Y
n
−
Y
n
−
1
T
+
Y
n
=
X
n
\frac{L}{R} \frac{Y_n - Y_{n-1}}{T} + Y_n = X_n
RLTYn−Yn−1+Yn=Xn
经移项处理后,得如下形式方程:
Y
n
=
X
n
+
L
R
T
Y
n
−
1
1
+
L
R
T
Y_n = \frac{X_n + \frac{L}{RT} Y_{n-1}}{1 + \frac{L}{RT}}
Yn=1+RTLXn+RTLYn−1
将
α
=
L
R
T
\alpha = \frac{L}{RT}
α=RTL 带入上式中得:
Y
n
=
X
n
+
α
Y
n
−
1
1
+
α
Y_n = \frac{X_n + \alpha Y_{n-1}}{1 + \alpha}
Yn=1+αXn+αYn−1
由上述可知,通过调整
α
\alpha
α的数值,控制滤波器的能力,越大,滤波作用越强。
C语言实现
double lowPassFilter(double data_input, double adjustment_confficient)
{
double ans;
static double last_data = 0;
ans = (data_input + adjustment_confficient * last_data) / (1 + adjustment_confficient);
last_data = ans;
return ans;
}
可根据实验情况调整系数"adjustment_confficient"获得更好的实验效果。
实验略。
扩展
其实,最优的调整系数可以计算得出,操作步骤大致如下:
1.通过使用傅里叶变换对输入信号进行频率分析;
2.得到RL电路系统进行响应——频率方程;
3.建立优化方程并求解出最优的调整系数;