概述
首先说一下,数字滤波器是怎么实现的
1.首先根据电路建立低通滤波器时域系统微分方程,得出低通滤波器t域模型
2.其次将对时域微分方程进行拉式变换,得出低通滤波器的s域模型
3.将模拟滤波器转换为数字滤波器,对连续系统进行离散化,对s域进行z变换,得出z域模型,常用的离散化方法有零阶保持、双线性变换等
4.手动将z域传函转换成差分方程,根据差分方程编写滤波代码
下面以一节惯性环节做低通滤波器为例
惯性环节:由于存在惯性元件,比如电容,输出不能立刻同步复现输入的信号,可以通过阶跃响应输入看出
惯性环节t域方程
惯性环节s域传函,其中T为惯性时间常数,即2*pi*f,f为转折频率;K为惯性增益,这里令K为1
举例:令T=2*pi*f=2*3.14*10=62.8,即取滤波器转折频率为10HZ
1.用matlab将滤波器s域传函离散化到z域传函
2.z域传函转换成差分方程
对ZH处理一下,变成
ZH=Y(z)/U(z)=0.0346+0.0346*z^(-1)/1-0.9391*z^(-1)
交叉相乘,变成
Y(z)-0.9391*z^(-1)*Y(z)=0.0346*U(z)+0.0346*z^(-1)*U(z)
Y(z)=0.9391*z^(-1)*Y(z)+0.0346*U(z)+0.0346*z^(-1)*U(z)
写出差分方程如下
Y(k)=0.9391*Y(k-1)+0.0346*U(k)+0.0346*U(k-1)
3.将差分方程转换到代码中
在代码中,将k换成t,表示当前时刻,t-1表示前一时刻,U(t)表示输入信号,Y(t)表示滤波输出信号
Y(t)=0.9391*Y(t-1)+0.0346*U(t)+0.0346*U(t-1)
下面是此滤波器波特图含义,10hz处,衰减-3db,此滤波器设计完成
最后
以上就是清爽柜子为你收集整理的数字低通滤波器的原理及实现的全部内容,希望文章能够帮你解决数字低通滤波器的原理及实现所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复