巴特沃斯数字带阻滤波器
- 格式:doc
- 大小:182.00 KB
- 文档页数:15
《数字信号处理》课程设计报告设计课题滤波器设计与实现专业班级姓名学号报告日期 2012年12月目录1. 课题描述 (2)2. 设计原理 (2)2.1 滤波器的分类 (3)2.2 数字滤波器的设计指标 (3)2.3 巴特沃斯数字带阻模拟滤波器 (3)2.3.1 巴特沃斯数字带阻滤波器的设计原理 (4)2.3.2 巴特沃斯数字带阻滤波器的设计步骤 (7)3. 设计内容 (8)3.1 用MATLAB编程实现 (10)3.2 设计结果分析 (10)4. 总结 (10)5. 参考文献 (11)课程设计任务书1 .课题描述数字滤波器是由数字乘法器、加法器和延时单元组成的一种算法或装置。
数字滤波器的功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。
由于电子计算机技术和大规模集成电路的发展,数字滤波器已可用计算机软件实现,也可用大规模集成数字硬件实时实现。
使用MATLAB信号处理箱和BW(巴特沃斯)设计低通数字滤波器。
2.设计原理2.1 滤波器的分类数字滤波器有低通、高通、带通、带阻和全通等类型。
它可以是时不变的或时变的、因果的或非因果的、线性的或非线性的。
如果数字滤波器的内部参数不随时间而变化,则称为时不变的,否则为时变的。
如果数字滤波器在某一给定时刻的响应与在此时刻以后的激励无关,则称为因果的,否则为非因果的。
如果数字滤波器对单一或多个激励信号的响应满足线性条件,则称为线性的,否则为非线性的。
应用最广的是线性、时不变数字滤波器。
数字滤波器也可以按所处理信号的维数分为一维、二维或多维数字滤波器。
一维数字滤波器处理的信号为单变量函数序列,例如时间函数的抽样值。
二维或多维数字滤波器处理的信号为两个或多个变量函数序列。
2.2 数字带阻滤波器的设计指标阻带频率200~500hz,通带上限频率600hz, 通带下限频率150hz,通带衰减为0.5dB,阻带最大衰减20dB,采样频率2000hz2.3 巴特沃斯数字带阻模拟滤波器2.3.1 巴特沃斯数字带阻滤波器的设计原理巴特沃斯低通滤波器的幅度平方函数|Ha(jΩ)|2用下式表示:|Ha(jΩ)|=公式中,N称为滤波器的阶数。
在Ω=0时,|Ha(jΩ)||=1;Ω=Ωc时,|Ha(jΩ)|=1/2,Ωc是3dB截止频率。
在Ω=Ωc附近,随Ω加大,幅度迅速下降。
幅度特性与Ω和N的关,N越大,通带越平坦,过渡带越宽,过渡带与阻带幅度下降的速度越快,总是频响特性与理想低通滤波器的误差越小。
以S代替jΩ,将幅度平方函数|Ha(jΩ)|2写成s的函数:Ha(S)Ha(-S)=复变量S=α+jΩ,此公式表明幅度平方函数有2N个极点,极点Sk 用下公式表示:Sk=公式中K=0,1,2……,2N-1。
2N个极点等间隔分布在半径为Ωc的圆上,间隔是/N rad。
为形成因果稳定的滤波器,2N个极点中只取S平面左半平面的N个极点构成Ha(S),而右半平面的N个极点构成Ha(-S)。
Ha(S)的表达式为Ha(S)=/ (S-Sk)设N=3,极点有六个,它们分S0= S1=-Ωc S2=S3= S4=Ωc S5=取S平面的左半平面的极点S0,S1,S2组成系统函数Ha(S),即Ha(S)=由于不同的技术指标对应的边界频率和滤波器幅频特性不同,为使设计公式和图表统一将频率归一化。
巴特沃斯滤波器采用对3dB截止频率Ωc归一化,归一化后的系统函数为令=,λ称为归一化频率,称为归一化复变量,这样的巴特沃斯滤波器的归一化低通原型系统函数为公式中,称为归一化极点,用下公式表示,k=0,1,…;,N-1显然, Sk=Ωc*Pk这样,只要根据技术指标求出阶数N,按照公式求出N个极点,再按得到归一化低通原型系统函数Ga(),如果给定Ωc,再去归一化,即将,代入中,便可得到期望设计的系统函数Ha(S)。
所使用的MATLAB函数:1.巴特沃斯滤波器阶数选择函数(1)[N,Ωc]=buttord(Ωp,Ωs,αp,αs,‘s’)作用:计算巴特沃斯模拟滤波器的阶数N和3dB截止频率Ωc。
说明:Ωp,Ωs,Ωc均为实际模拟角频率。
模拟频率f:每秒经历多少个周期,单位Hz,即1/s,信号的真实频率,可用于模拟信号和数字信号;模拟角频率Ω:每秒经历多少弧度,单位rad/s,通常只于模拟信号;数字频率w:每个采样点间隔之间的弧度,单位rad,通常只用于数字信号。
关系:Ω=2pi*f;w = Ω*T=2pi*f/F。
(F=1/Ts为采样频率,Ts为采样间隔)2.完整巴特沃斯滤波器设计函数(1)格式: [b,a]=butter(N,wc,‘ftype’)作用:计算N阶巴特沃斯数字滤波器系统函数分子、分母多项式的系数向量b、a。
说明:调用参数N和wc分别为巴特沃斯数字滤波器的阶数和3dB截止频率的归一化值,一般是调用buttord格式(1)计算N和wc。
系数b、a是按照z-1的升幂排列。
(2)格式:[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。
3. 求离散系统频响特性的函数freqz()格式:[H,w]=freqz(b,a,N)说明:b和a分别为离散系统的系统函数分子、分母多项式的系数向量,返回量H则包含了离散系统频响在 0~pi范围内N个频率等分点的值(其中N为正整数),w则包含了范围内N个频率等分点。
调用默认的N时,其值是512。
可以先调用freqz()函数计算系统的频率响应,然后利用abs()和angle()函数及plot()函数,绘制出系统的频响曲线。
4. 模拟域频率变换函数lp2lp (模拟低通滤波器变换为低通滤波器)lp2hp (模拟低通滤波器变换为高通滤波器)lp2bs (模拟低通滤波器变换为带阻滤波器)lp2bp (模拟低通滤波器变换为带通滤波器)5. 滤波器离散化函数:bilinear (使用双线性变换法把模拟滤波器转换为数字滤波器)impinvar (使用脉冲响应不变法把模拟滤波器转换为数字滤波器)2.3.2 巴特沃斯带阻数字滤波器的设计步骤(1) 确定滤波器的设计指标:s p s ααωω、、、p ;求出滤波去的阶数N ;(2) 运用函数s p s buttord ,,,p ωωαα()计算巴特沃斯低通滤波器的阶数N 和归一化3db 截止频率c ω;(3) 运用函数butter ,c N ω()求得低通滤波器的系统函数的分子、分母多项式形式;(4)设计模拟低通原型滤波器。
用模拟低通滤波器设计方法得到模拟低通滤波器的传输函数Ha(s);借助巴特沃斯(Butterworth)滤波器;(5)调用lp2bp函数将模拟低通滤波器转化为带阻低通滤波器;(6)利用双线性变换法将模拟带通滤波器Ha(s)转换成数字带通滤波器H(z);(7)作图显示滤波器的幅频特性和相位特性。
3 设计内容3.1 用MATLAB编程实现clear allfs=2000;T=1/fs;rp=0.5;rs=20;wp1=(150/1000)*pi;wp2=(600/1000)*pi;ws1=(200/1000)*pi;ws2 =(500/1000)*pi;%数字带阻滤波器的技术指标wc1=(2/T)*tan(wp1/2);%频率预畸变wc2=(2/T)*tan(wp2/2);wr1=(2/T)*tan(ws1/2);wr2=(2/T)*tan(w s2/2);w0=sqrt(wc1*wc2);B=wc2-wc1;wp=1;%归一化通带截止频率ws=wp*(wr1*B)/(w0^2-wr1^2);%归一化阻带截止频率[N,wc]=buttord(wp,ws,rp,rs,'s');%求滤波器阶数与3dB截止频率[Z,P,K]=buttap(N);[Bd,Ad]=zp2tf(Z,P,K);%将零极点形式转化成传输形式[B,A]=lp2bs(Bd,Ad,w0,B);%对低通滤波器进行频率转换,转换为带阻滤波器[b,a]=bilinear(B,A,2000);%利用双线性变换法,转换成数字滤波器[H,W]=freqz(b,a); %数字带阻滤波器的幅频响应subplot(2,2,1);plot(W*fs/(2*pi),abs(H));grid on;xlabel('频率/Hz');ylabel('幅值');title('数字滤波器幅频响应');subplot(2,2,2);plot(W*fs/(2*pi),angle(H));grid on;xlabel('频率/Hz');ylabel('相位');t=0:1:100;y=sin(45*t+1/4*pi)+sin(250*t+pi);subplot(2,2,3);plot(t,y);grid on;y1=filter(b,a,y);y2=fft(y1);subplot(2,2,4);plot(t,y2);grid on;幅频,相频响应曲线:信号验证滤波器设计的正确性(附图)经过滤波后3.2 设计结果分析设计巴特沃斯带阻数字滤波器时,发现Ω与W成非线性关系,所以在图像呈现出非线性的关系,由于是带阻数字滤波,所以滤掉响应部分后剩余的部分呈现平缓趋势。
4 总结本次课程实验中,让我慢慢了解了程序的编译,对于程序的编译也渐渐地掌握了其中的方法与规律。
通过这次试验让我收获颇大,在实验设计中,要先确定需要的函数,然后根据所给条件对数据进行处理后得到函数Ha(s),在经过程序编译,一步一步最终得到自己所需要的滤波器内容。
5 参考文献《数字信号处理》(第三版)高西全丁美玉编著《MATLAB辅助现代工程数字信号处理》(第二版)李益华主编参考书目邹理和著:《数字滤波器》,国防工业出版社,北京,1979。