一阶高低通滤波器设计及实现
1.一阶低通滤波器一阶低通滤波器的s域的传递函数为:Y(s)X(s)=1RCs+1=1sw0+1\frac{Y(s)}{X(s)}=\frac{1}{RCs+1}=\frac{1}{\frac{s}{w_0}+1} X(s)Y(s)=RCs+11=w0s+11其中w0=1RCw_0 = \frac{1}{RC}w0=RC1滤波器的截止频率定义:截止频率时输出功率为传导频率的一半,在波
1.一阶低通滤波器
一阶低通滤波器的s域的传递函数为:
Y ( s ) X ( s ) = 1 R C s + 1 = 1 s w 0 + 1 \frac{Y(s)}{X(s)}=\frac{1}{RCs+1}=\frac{1}{\frac{s}{w_0}+1} X(s)Y(s)=RCs+11=w0s+11
其中 w 0 = 1 R C w_0 = \frac{1}{RC} w0=RC1
滤波器的截止频率定义:截止频率时输出功率为传导频率的一半,在波德图相当于为降低3分贝的位置所表示的功率,因为此时功率比例 传到频带上的输出功率。
一阶低通滤波器的截至频率为: f L = w 0 2 π = 1 2 π R C f_L=\frac{w_0}{2\pi}=\frac{1}{2\pi RC} fL=2πw0=2πRC1
要编程使用低通滤波期需要将低通滤波器离散化,首先对s域的传递函数进行z变换得到(将 s = 1 − z − 1 T s=\frac{1-z^{-1}}{T} s=T1−z−1带入到连续传递函数中):
Y ( z ) X ( z ) = T R C ( 1 − z − 1 ) + T \frac{Y(z)}{X(z)}=\frac{T}{RC(1-z^{-1})+T} X(z)Y(z)=RC(1−z−1)+TT
其中T为采样时间。进一步转化得到:
Y ( n ) = T T + R C X ( n ) + R C T + R C Y ( n − 1 ) Y(n)=\frac{T}{T+RC}X(n)+\frac{RC}{T+RC}Y(n-1) Y(n)=T+RCTX(n)+T+RCRCY(n−1)
其中X(n)为采样值,Y(n−1)为上一次得滤波值。
令 a = T T + R C a=\frac{T}{T+RC} a=T+RCT
则 Y ( n ) = a X ( n ) + ( 1 − a ) Y ( n − 1 ) Y(n)=aX(n)+(1-a)Y(n-1) Y(n)=aX(n)+(1−a)Y(n−1)
上式可用到编程数字实现中。
进一步分析a=T/(T+RC),当采样时间很小时,即T≪RC,有
a = T T + R C ≈ T R C = w 0 T = 2 π R f L a=\frac{T}{T+RC}\approx \frac{T}{RC}=w_0T=2\pi Rf_L a=T+RCT≈RCT=w0T=2πRfL
此时截止频率可以表示为
f L = w 0 2 π = a 2 π T f_L=\frac{w_0}{2\pi}=\frac{a}{2\pi T} fL=2πw0=2πTa
参考文章:一阶低通滤波(LPF)的原理及应用(以APM/PX4飞控为例);一阶低通滤波的优化与分析
2.一阶高通滤波器
一阶高通滤波器的s域的传递函数为:
Y ( s ) X ( s ) = R C s R C s + 1 = 1 s + w 0 \frac{Y(s)}{X(s)}=\frac{RCs}{RCs+1}=\frac{1}{s+w_0} X(s)Y(s)=RCs+1RCs=s+w01
其中 w 0 = 1 R C w_0 = \frac{1}{RC} w0=RC1
一阶高通滤波器的截至频率为: f L = w 0 2 π = 1 2 π R C f_L=\frac{w_0}{2\pi}=\frac{1}{2\pi RC} fL=2πw0=2πRC1
z变换得到:
Y ( Z ) X ( Z ) = R C ( 1 − z − 1 ) + T R C ( 1 − z − 1 ) \frac{Y(Z)}{X(Z)}=\frac{RC(1-z^{-1})+T}{RC(1-z^{-1})} X(Z)Y(Z)=RC(1−z−1)RC(1−z−1)+T
Y ( n ) = R C R C + T ( X ( n ) − X ( n − 1 ) + Y ( n − 1 ) ) Y(n)=\frac{RC}{RC+T}(X(n)-X(n-1)+Y(n-1)) Y(n)=RC+TRC(X(n)−X(n−1)+Y(n−1))
令
b = R C R C + T = 1 2 π f H T + 1 b=\frac{RC}{RC+T}=\frac{1}{2\pi f_HT+1} b=RC+TRC=2πfHT+11
则
Y ( n ) = b ( X ( n ) − X ( n − 1 ) + Y ( n − 1 ) ) Y(n)=b(X(n)-X(n-1)+Y(n-1)) Y(n)=b(X(n)−X(n−1)+Y(n−1))
参考文章:低通滤波器和高通滤波器的程序实现原理推导
更多推荐

所有评论(0)