Simulink 低通滤波算法
低通滤波算法公式:
y ( t ) = K × u ( t ) + ( 1 − K ) × y ( t − 1 ) = y ( t − 1 ) + K × [ u ( t ) − y ( t − 1 ) ] y(t) = K × u(t) + (1 - K) × y(t-1) = y(t-1) + K × [u(t) - y(t-1)] y(t)=K×u(t)+(1−K)×y(t−1)=y(t−1)+K×[u(t)−y(t−1)]
其中,K等于dT除以T,通常K的值介于0到1之间;dT表示运行步长,T为时间常数;u代表输入信号,y代表输出信号。
simulink生成低通滤波器:
从图中可以看出,滤波器的输出就是上一时刻输出,再加上一个比例因子乘以当前输入减去上一时刻输出。可以试想,如果该比例因子为1(即T=dT),当前时刻输出就等于输入;如果该比例因子处于0~1之间,当前时刻输出肯定要慢于输入,就会产生迟滞,带来的好处就是输入有突然的较大变化时也会被这个比例因子衰减。所以,低通滤波器的优势就是可以滤掉较大高频波动,缺点是相比于原始信号会有延迟。
低通滤波器仿真:
- 用sine发生器生成低频信号;
- 用sine发生器生成高频信号;
- 将低频信号和高频信号合成作为低通滤波器的输入;
- 用示波器显示输出信号。
调整仿真step步长为0.02秒:
当T = 0.04时,仿真结果如下:
当T = 0.08时,仿真结果如下:
当T = 0.2时,仿真结果如下:
当T = 0.4时,仿真结果如下:
当T = 0.8时,仿真结果如下: