巴特沃斯数字低通滤波器要点说明书.docx
《巴特沃斯数字低通滤波器要点说明书.docx》由会员分享,可在线阅读,更多相关《巴特沃斯数字低通滤波器要点说明书.docx(13页珍藏版)》请在冰豆网上搜索。
巴特沃斯数字低通滤波器要点说明书
1.题目...........................................................................................2
2.要求............................................................................................2
3.设计原理....................................................................................2
3.1数字滤波器基本概念............................................................2
3.2数字滤波器工作原理............................................................2
3.3巴特沃斯滤波器设计原理....................................................2
3.4脉冲响应不法..........................................................................4
3.5实验所用MATLAB函数说明...............................................5
4.设计思路.....................................................................................6
5、实验内容.................................................................................6
5.1实验程序..................................................................................6
5.2实验结果分析.........................................................................10
6.心得体会....................................................................................10
7.参考文献....................................................................................10
一、题目:
巴特沃斯数字低通滤波器
二、要求:
利用脉冲响应不变法设计巴特沃斯数字低通滤波器,通带截止频率100HZ,采样频率1000HZ,通带最大衰减为0.5HZ,阻带最小衰减为10HZ,画出幅频、相频相应相应曲线。
并假设一个信号x(t)=sin(2*pi*f1*t)+sin(2*pi*f2*t),其中f1=50HZ,f2=200HZ。
用此信号验证滤波器设计的正确性。
三、设计原理
1、数字滤波器的基本概念
所谓数字滤波器,是指输入、输出均为数字信号,通过数值运算处理改变输入信号所含频率成分的相对比例,或者滤波器除某些频率成分的数字器件或程序,因此,数字滤波的概念和模拟滤波相同,只是的形式和实现滤波方法不同。
正因为数字滤波通过数值运算实现滤波,所以数字滤波处理精度高、稳定、体积小、质量轻、灵活、不存在阻抗匹配问题,可以实验模拟滤波器无法实现的特殊滤波功能。
如果要处理的是模拟信号,可通过A\DC和D\AC,在信号形式上进行匹配转换,同样可以使用数字滤波器对模拟信号进行滤波。
2、数字滤波器的工作原理
数字滤波器是一个离散时间系统,输入x(n)是一个时间序列,输出y(n)也是一个时间序列。
如数字滤波器的系统函数为H(Z),其脉冲响应为h(n),则在时间域内存在下列关系
y(n)=x(n)h(n)
在Z域内,输入输出存在下列关系
Y(Z)=H(Z)X(Z)
式中,X(Z),Y(Z)分别为输入x(n)和输出y(n)的Z变换。
同样在频率域内,输入和输出存在下列关系
Y(jw)=X(jw)H(jw)
式中,H(jw)为数字滤波器的频率特性,X(jw)和Y(jw)分别为x(n)和y(n)的频谱。
w为数字角频率,单位rad。
通常设计H(jw)在某些频段的响应值为1,在某些频段的响应为0.X(jw)和H(jw)的乘积在频率响应为1的那些频段的值仍为X(jw),即在这些频段的振幅可以无阻碍地通过滤波器,这些频带为通带。
X(jw)和H(jw)的乘积在频段响应为0的那些频段的值不管X(jw)大小如何均为零,即在这些频段里的振幅不能通过滤波器,这些频带称为阻带。
一个合适的数字滤波器系统函数H(Z)可以根据需要输入x(n)的频率特性,经数字滤波器处理后的信号y(n)保留信号x(n)中的有用频率成分,去除无用频率成分。
3、巴特沃斯滤波器设计原理
(1)基本性质
巴特沃斯滤波器以巴特沃斯函数来近似滤波器的系统函数。
巴特沃斯滤波器是根据幅频特性在通频带内具有最平坦特性定义的滤波器。
巴特沃思滤波器的低通模平方函数表示1
N=1,2,……(2-6)
下面归纳了巴特沃斯滤波器的主要特征
a对所有的N,
。
b对所有的N,
即
c
是Ω的单调下降函数。
d
随着阶次N的增大而更接近于理想低通滤波器。
如下图2所示,可以看出滤波器的幅频特性随着滤波器阶次N的增加而变得越来越好,在截止频率Ωc处的函数值始终为1/2的情况下,通带内有更多的频带区的值接近于1;在阻带内更迅速的趋近于零。
图2巴特沃思低通滤波平方幅频特性函数
(2)系统函数
设巴特沃斯的系统函数为Ha(s),则:
(3)设计过程
巴特沃思低通滤波技术指标关系式为
ap>-20log|Ha(jΩ)|,Ω<ΩP
as<-20log|Ha(jΩ)|,Ω>Ωs
其中:
Ωp为通带边界频率,Ωs为阻带边界频率。
代入式1.4.1可得:
经过化简整理可得:
取满足上式的最小整数N作为滤波器的阶数。
再将N代入可得:
或
查表求得归一化传输函数H(s),令s/Ωc代替归一化原型滤波器系统函数中的s,即得到实际滤波器传输函数。
4、脉冲响应不变法
所谓脉冲响应不变法就是数字滤波器的脉冲响应序列h(n)等于模拟滤波器的响应ha(t)的采样值,即
h(n)=ha(t)|t=nT=ha(nT)
式中,T为采样周期。
因此数字滤波器的系统函数H(Z)可由下式求得
H(z)=Z[h(n)]=Z[ha(nT)]
Z[-]表示[-]的内容进行变换,变换的内容请参考相应的数字信号处理材料。
如果已经获得了满足性能指标的模拟滤波器的传递函数Ha(s),求与之对应的数字滤波器的传递函数H(z)的方法是:
(1)、求模拟滤波器的单位脉冲响应ha(t)。
式中,L[Ha(s)]表示对Ha(s)的Laplace.逆变换。
Laplace变换内容请参考高等数学的积分变换或信号处理教材。
(2)、求模拟滤波器单位冲激响应ha(t)的采样值,即数字滤波器冲激响应序列h(n)。
(3)、对数字滤波器的冲激h(n)响应进行z变换,得到传递函数H(z)。
由上述方法推论出更直接地由模拟滤波器系统函数Ha(s)求出数字滤波器系统函数H(z)的步骤是:
(1)利用部分分式展开将模拟滤波器的传递函数H(z)展开成
Ha(s)=Rk\(S-Pk)
在MATLAB中这步可通过residue函数实现
若调用residue函数的形式为[b,a]=residue(R,P,K)形式。
若为[R,P,K]=residue(a,b)则为上面调用形式的反过程。
(2)将模拟极点Pk变换为数字极点e^pkT即得到数字系统的传递函数
H(z)=Rk\(1-e^pkT*z*(-1))
式中T为采样间隔。
(3)将上式转换为传递函数形式,可采用[R,P,K]=residue(b,a)。
对于上面的步骤,中已经提供了冲激响应不变法设计数字滤波器的函数,调用格式为
[bz,az]=impinvar(b,a[,Fs],Fp)
式中,b,a为模拟滤波器分子和分母多项式系数向量;Fs为采样频率(所滤波数据),单位Hz,缺省时为1Hz,为预畸变频率(prewarpedfrequency),是一个“匹配”频率,在该频率上,频率响应在变换前后和模拟频率可精确匹配。
一般设计中不考虑。
bz,az分别为数字滤波器分子和分母多项式系数向量。
5、实验所用MATLAB函数说数。
(1)[N,wc]=buttord(wp,ws,RP,As,’s’)
该格式用于计算巴特沃斯模拟滤波器的阶数N和3db截止频率wc。
Wp、ws和wc是实际模拟角频率(rad\s)。
Rp和As为通带最大衰减和最小衰减。
(2)[Z,P,k]=buttap(N)
该格式用于计算N阶巴特沃斯归一化模拟低通原型滤波器系统函数的零、极点和增益因子,返回长度为N的列向量Z和P,分别给出N个零点和极点的位置,K表示滤波器增益。
(3)Y=filter(b,a,x)
式中b表示系统传递函数的分子多项式的系数矩阵;a表示系统传递函数的分母多项式的系数矩阵;x表示输入序列;filter表示输出序列。
IIR函数实现的直接形式。
(4)[b,a]=butter(N,wc,‘ftype’)
计算N阶巴特沃斯数字滤波器系统函数分子、分母多项式的系数向量b、a。
说明:
调用参数N和wc分别为巴特沃斯数字滤波器的阶数和3dB截止频率的归一化值,一般是调用buttord格式
(1)计算N和wc。
系数b、a是按照z-1的升幂排列。
(5)[B,A]=butter(N,Ωc,‘ftype’,‘s’)
计算巴特沃斯模拟滤波器系统函数的分子、分母多项式系数向量。
说明:
调用参数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。
(6)[H,w]=freqz(b,a,N)
b和a分别为离散系统的系统函数分子、分母多项式的系数向量,返回量H则包含了离散系统频响在0~pi范围内N个频率等分点的值(其中N为正整数),w则包含了范围内N个频率等分点。
调用默认的N时,其值是512。
可以先调用freqz()函数计算系统的频率响应,然后利用abs()和angle()函数及plot()函数,绘制出系统的频响曲线。
(7)lp2lp函数[bt,at]=lp2lp(b,a,w0)
该函数用于实现由低通模拟原型滤波器至低通滤波器的频率变换,可以用传递函数和状态空间进行转换,但无论哪种形式,其输入必须是模拟滤波器原型。
(8)[bz,az]=impinvar(b,a,fs)
把具有[b,a]模拟滤波器传递函数模型转换为采样频率为fs的数字滤波器的传递函数模型[bz,az],如果在函数中没有确定频率fs时,函数默认为1Hz.
4、设计思路
设定信号
↓
模拟低通滤波器原型→频率变换→模拟离散化→IIR数字滤波器→输出信号
五、设计内容
1.MATLAB程序设计
Wp=2*pi*100;Ws=2*pi*150;%滤波器截止频率
Rp=0.5;Rs=10;%通带最大衰减和阻带最小衰减
Fs=1000;%采样频率
Nn=128;%调用freqz所用的频率点数
[N,Wc]=buttord(Wp,Ws,Rp,Rs,'s');%模拟滤波器的最小阶数
[z,p,k]=buttap(N);%设计模拟低通原型Butterworth滤波器
[Bap,Aap]=zp2tf(z,p,k);%将零点极点增益形式转换为传递函数形式
[b,a]=lp2lp(Bap,Aap,Wc)%进行频率转换
[bz,az]=impinvar(b,a,Fs);%运用脉冲响应不变法得到数字滤波器的传递函数
figure
(1)
[H,W]=freqz(bz,az,Nn,Fs);%绘制数字滤波器的幅值特性和相频特性
subplot(2,1,1)
plot(W,20*log10(abs(H)));
xlabel('频率');
ylabel('幅度');
gridon;
subplot(2,1,2);
plot(W,180\pi*unwrap(angle(H)));
xlabel('频率');
ylabel('幅度');
gridon;
figure
(2)
f1=50;f2=200;%输入信号的频率
N=100;%数据长度
dt=1\Fs;n=0:
N-1;t=n*dt;%采样间隔和时间序列
x=sin(2*pi*f1*t)+sin(2*pi*f2*t);%滤波器输入信号
subplot(2,1,1);%绘制输入信号
plot(t,x);
title('输入信号');%用filter函数对输入信号滤波y1=filter(bz,az,x);
subplot(2,1,2);%绘出输出波形
xlabel('时间')
title('输出信号');
2.实验结果分析
实验得到的两幅图如上所示,在第一幅图中,小于100处衰减小于3Hz,而在大于120Hz处衰减大于15dB,满足滤波器设计指标。
由第二幅图中看出对50Hz和200Hz频率成分的信号进行了滤波,滤除了200dB的信号,达到滤波的效果。
六.心得体会
程序仿真过程中,我找到了我要设计的低通滤波器的函数及依据。
依据设计的滤波器的wp,ws,Rp,Rs四个参数来确定输入信号的频率以实现过滤的目的。
实验过程中我也遇到很多问题,但是通过查找资料都得到了解决。
通过这次课程设计学习,我们掌握了matlab的仿真和设计,对低通滤波器设计原理的加深了解及技术指标的设置。
这次课程设计不仅让我对数字信号处理这门学科的理论知识加深理解,而且还让我对MATLAB中的许多函数的运用更加灵活,而且还增强了我的解决问题的能力。
七、参考文献
[1]《数字信号处理》(第三版)高西全丁美玉编著西安电子科技大学出版社
[2]《MATLAB工具箱应用》苏金明张莲花刘波编著电子工业出版社
[3]《数字信号处理的MATLAB实现》万永革编著科学出版社