
低通滤波器原理
全国学生资助管理信息系统登录-一年级英语书
2023年3月18日发(作者:金色的鱼钩教案)巴特沃斯低通滤波器
课程设计目的
学会运用MATLAB实现低通滤波器的设计并进行结果显示。
双线性变换实现巴特沃斯低通滤波器的技术指标:
1.采样频率10Hz。
2.通带截止频率fp=0.2*piHz。
3.阻带截止频率fs=0.3*piHz。
4.通带衰减小于1dB,阻带衰减大于20dB
低通滤波器概念
低通滤波器是指车载功放中能够让低频信号通过而不让中、高频信号通过的电路,其作
用是滤去音频信号中的中音和高音成分,增强低音成分以驱动扬声器的低音单元。由于车载
功放大部分都是全频段功放,通常采用AB类放大设计,功率损耗比较大,所以滤除低频段
的信号,只推动中高频扬声器是节省功率、保证音质的最佳选择。此外高通滤波器常常和低
通滤波器成对出现,不论哪一种,都是为了把一定的声音频率送到应该去的单元。
对于不同滤波器而言,每个频率的信号的减弱程度不同。当使用在音频应用时,它有时
被称为高频剪切滤波器,或高音消除滤波器。
低通滤波器概念有许多不同的形式,其中包括电子线路(如音频设备中使用的hiss滤
波器、平滑数据的数字算法、音障(acousticbarriers)、图像模糊处理等等,这两个工具都
通过剔除短期波动、保留长期发展趋势提供了信号的平滑形式。
低通滤波器在信号处理中的作用等同于其它领域如金融领域中移动平均数(moving
average)所起的作用;
低通滤波器有很多种,其中,最通用的就是巴特沃斯滤波器和切比雪夫滤波器。
巴特沃斯滤波器原理
巴特沃斯滤波器通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐
下降为零等特点。在振幅的对数对角频率的波特图上,从某一边界角频率开始,振幅随着角频
率的增加而逐步减少,趋向负无穷大。它的特性如下:
一阶巴特沃斯滤波器的衰减率为每倍频6分贝,每十倍频20分贝。
二阶巴特沃斯滤波器的衰减率为每倍频12分贝。
三阶巴特沃斯滤波器的衰减率为每倍频18分贝。
如此类推。巴特沃斯滤波器的振幅对角频率单调下降,并且也是唯一的无论阶数,振幅对
角频率曲线都保持同样的形状的滤波器。只不过滤波器阶数越高,在阻频带振幅衰减速度越
快。其他滤波器高阶的振幅对角频率图和低级数的振幅对角频率有不同的形状。
巴特沃斯滤波器是滤波器的一种设计分类,其采用的是巴特沃斯传递函数,有高通、低
通、带通、带阻等多种滤波器类型。巴特沃斯滤波器是电子滤波器的一种。巴特沃斯滤波器
的特点是通频带的频率响应曲线最平滑。巴特沃斯滤波器在通频带内外都有平稳的幅频特
性,但有较长的过渡带,在过渡带上很容易造成失真。
参数
d
(1)[N,wc]=buttord(wp,ws,αp,αs)
用于计算巴特沃斯数字滤波器的阶数N和3dB截止频率wc。
调用参数wp,ws分别为数字滤波器的通带、阻带截止频率的归一化值,要求:
0≤wp≤1,0≤ws≤1。1表示数字频率pi。
αp,αs分别为通带最大衰减和组带最小衰减(dB)。
当ws≤wp时,为高通滤波器;
当wp和ws为二元矢量时,为带通或带阻滤波器,这时wc也是二元向量。
N,wc作为butter函数的调用参数。
(2)[N,Ωc]=buttord(Ωp,Ωs,αp,αs,‘s’)
用于计算巴特沃斯模拟滤波器的阶数N和3dB截止频率Ωc。
Ωp,Ωs,Ωc均为实际模拟角频率。
说明:buttord函数使用阻带指标计算3dB截止频率,这样阻带会刚好满足要求,
而通带会有富余。
(N)
[z0,p0,k0]=buttap(N)
用于计算N阶巴特沃斯归一化(3dB截止频率Ωc=1)模拟低通原型滤波器系统
函数的零、极点和增益因子。
说明:如果要从零、极点模型得到系统函数的分子、分母多项式系数向量ba、
aa,可调用
[B,A]=zp2tf(z0,p0,k0)
(1)[b,a]=butter(N,wc,‘ftype’)
计算N阶巴特沃斯数字滤波器系统函数分子、分母多项式的系数向量b、a。
调用参数N和wc分别为巴特沃斯数字滤波器的阶数和3dB截止频率的归一化
值(关于pi归一化),一般是调用buttord(1)格式计算N和wc。
系数b、a是按照z-1的升幂排列。
(2)[B,A]=butter(N,Ωc,‘ftype’,‘s’)
计算巴特沃斯模拟滤波器系统函数的分子、分母多项式系数向量ba、aa。
调用参数N和Ωc分别为巴特沃斯模拟滤波器的阶数和3dB截止频率(实际角
频率),可调用buttord(2)格式计算N和Ωc。
系数B、A按s的正降幂排列。
tfype为滤波器的类型:
◇ftype=high时,高通;Ωc只有1个值。
◇ftype=stop时,带阻阻;此时Ωc=[Ωcl,Ωcu],分别为带阻滤波器的通带3dB
下截止频率和上截止频率。
◇ftype缺省时:
若Ωc只有1个值,则默认为低通;
若Ωc有2个值,则默认为带通;其通带频率区间Ωcl<Ω<Ωcu。
[z,p,k]=buttap(n)
n为滤波器的阶数,滤波器的零点z,极点p,增益k
[b,a]=zp2tf(z,p,k)
将模拟原型滤波器函数设计出的零点z,极点p,增益k,形式转换为传递函数形式
[H,w]=freqs(b,a,w)
求传递函数的形式
程序代码:
T=0.1;FS=1/T;
fp=0.2*pi;fs=0.3*pi;
wp=fp/FS*2*pi;
ws=fs/FS*2*pi;
Rp=1;%通带衰减
As=15;%阻带衰减
OmegaP=(2/T)*tan(wp/2);%频率预计
OmegaS=(2/T)*tan(ws/2);%频率预计
%设计巴特沃斯低通滤波器原型
N=ceil((log10((10^(Rp/10)-1)/(10^(As/10)-1)))/(2*log10(OmegaP/OmegaS)));
OmegaC=OmegaP/((10^(Rp/10)-1)^(1/(2*N)));
[z,p,k]=buttap(N);%获取零极点参数
p=p*OmegaC;
k=k*OmegaC^N;
B=real(poly(z));
b0=k;
cs=k*B;ds=real(poly(p));
[b,a]=bilinear(cs,ds,FS);%双线性变换
figure(1);%绘制结果
freqz(b,a,512,FS);%进行滤波验证
figure(2);%绘制结果
f1=50;f2=250;
n=0:63;
x=sin(2*pi*f1*n)+sin(2*pi*f2*n);
subplot(2,2,1);stem(x,'.');title('输入信号');
y=filter(b,a,x);
subplot(2,2,2);stem(y,'.');
title('滤波之后的信号');
figure(3);
stem(y,'.')title('输出的信号'))
最后效果:
1.滤波器的幅频与相频响应
00.511.522.533.544.55
-600
-400
-200
0
Frequency(Hz)
P
h
a
s
e
(
d
e
g
r
e
e
s
)
00.511.522.533.544.55
-400
-200
0
200
Frequency(Hz)
M
a
g
ni
t
u
d
e
(
d
B
)
2.输入与滤波后信号显示
3.输出的信号波形
020406080
-2
-1
0
1
2
输入信号
020406080
-2
-1
0
1
2
滤波之后的信号
070
-1.5
-1
-0.5
0
0.5
1
1.5
输出的信号