中北大学课程设计说明书学生XX:朱燕梅学号:0805014102学院:信息与通信工程学院专业:电子信息科学与技术题目:滤波器变换指导教师:李永红职称:讲师2011 年6 月25 日中北大学课程设计任务书2010/2011 学年第二学期学院:信息与通信工程学院专业:电子信息科学与技术学生姓名:朱燕梅学号:0805014102 课程设计题目:滤波器变换起迄日期: 6 月13 日~6 月24 日课程设计地点:中北大学指导教师:李永红系主任:程耀瑜下达任务书日期: 2011 年 6 月13 日课程设计任务书课程设计任务书目录摘要10一、数字滤波器11一、1 数字滤波器的基本概念11一、2 数字滤波器的分类12一、3 数字滤波器的MATLAB实现13二、双线性变换法13二、1 双线性变换法知识简介13二、2 双线性变换法设计数字滤波器原理14三、设计任务及方案选择15三、1 设计任务与要求15三、2 方案设计16四、程序设计与调试18四、1 程序设计与说明18四、2 仿真结果与分析19五、心得体会21参考文献21摘要数字滤波器是数字信号处理的基础,用来对信号进行过滤、检测与参数估计等处理,在通信、图像、语音、雷达等许多领域都有着十分广泛的应用。
尤其在图像处理、数据压缩等方面取得了令人瞩目的进展和成就。
鉴于此,数字滤波器的设计就显得尤为重要。
此报告重点介绍了用双线性不变法设计IIR数字滤波器的基本流程,比较了各种设计方法的优缺点,总结了模拟滤波器的性能特征。
最后以双线性不变法设计了一个高通巴特沃斯FIR数字滤波器,介绍了设计步骤,然后在Matlab环境下进行了仿真与调试,实现了设计目标。
关键字:数字滤波器MATLAB 双线性一、数字滤波器一、1 数字滤波器的基本概念数字滤波器是数字信号处理的重要基础,是对信号都是过滤检测与参数估计等处理过程中,它是使用最为广泛的一种线性系统。
数字滤波器处理的对象是经由采样期间将模拟信号转换而得到的数字信号。
数字滤波器是指完成信号滤波处理功能的,用有限精度算法实现的离散时间线性非时变系统。
数字滤波器的输入是一组数字量。
它本身既可以是用数字硬件装配而成的一台用于完成给定运算的专用数字计算机,也可以是将所需的运算编写的程序通过计算机来执行。
数字滤波器具有稳定性高、精度高、灵活性大等突出优点。
随着数字技术的发展,用数字技术实现滤波器的功能愈来愈受到人们的重视,并得到了广泛的应用。
数字滤波器的数学运算通常有两种实现方式。
一种是频域法,即利用FFT快速运算方法对输入信号进行离散傅里叶变换,分析其频谱,然后再根据所希望的频率特性进行滤波,再利用傅里叶反变换得到时域信号。
这种方法具有较好的频域选择特性和灵活性,并且由于信号频率与所希望的频率特性是简单的相乘关系,所以它比计算等价的时域卷积要快得多。
另一种方法是时域法,这种方法是通过离散的抽样数据做差分数学运算来达到滤波目的的。
一、2 数字滤波器的分类数字滤波器按照不同的分类方法,可分为许多种,但总体来讲可以分成两大类。
一类称为经典滤波器,即一般滤波器,特点是输入信号中有用的频率成分和希望滤除的频率成分各占有不同的频带,通过一个合适的选频滤波器达到滤波的目的。
但对于一般滤波器,如果信号和干扰的频带互不重叠,则不能完成对干扰的有效滤除,这是需要采用另一类所谓的现代滤波器,例如维纳滤波器、卡尔曼滤波器、自适应滤波器等最佳滤波器,这些滤波器可按照随机信号内部的一些统计分布规律,从干扰中最佳地提取信号。
从功能上,一般数字滤波器可以分为低通、高通、带通、带阻和全通等,此种分类方法是和模拟滤波器一样的。
一、3 数字滤波器的MATLAB实现MATLAB工具箱未滤波器的设计应用提供了丰富而简便的方法,如函数方法和图形工具方法等,使原来非常繁琐复杂的程序设计变成了简单的函数调用,为滤波器的设计和实现开辟了广阔的天地。
数字滤波器的一般设计过程为:按照实际需要,确定滤波器的性能要求;用一个因果的、稳定的离散线性时不变系统,去逼近这一性能指标;用有限精度的运算实现所设计的系统;通过模拟,验证所设计的系统是否符合给定性能要求。
二、双线性变换法二、1 双线性变换法知识简介脉冲响应不变法的主要缺点是产生频率响应的混叠失真。
这是因为从S平面到Z平面是多值的映射关系所造成的。
为了克服这一缺点,可以采用非线性频率压缩方法,将整个频率轴上的频率X围压缩到-π/T~π/T之间,再用z=e sT转换平面的-π/T~π到Z平面上。
也就是说,第一步先将整个S平面压缩映射到S1/T一条横带里;第二步再通过标准变换关系z=e s1T将此横带变换到整个Z平面上去。
这样就使S平面与Z平面建立了一一对应的单值关系,消除了多值变换性,也就消除了频谱混叠现象。
由图2-1看出,在零频率附近,模拟角频率Ω与数字频率ω之间的变换关系接近于线性关系;但当Ω进一步增加时,ω增长得越来越慢,最后当Ω→∞时,ω终止在折叠频率ω=π处,因而双线性变换就不会出现由于高频部分超过折叠频率而混淆到低频部分去的现象,从而消除了频率混叠现象。
图2-1二、2 双线性变换法设计数字滤波器原理将S 平面j Ω轴压缩变换到s1平面j Ω轴上的-π/T 到π/T 一段,可以采用以下变换关系:⎪⎭⎫⎝⎛Ω=Ω2tan 1T这样±∞=Ω变换到Tπ±=Ω1,0=Ω变换到01=Ω,可将上式写成22221111T jT j T j T jeee e j Ω-ΩΩ-Ω+-=Ω令s j =Ω,11s j =Ω,解析延拓到整个s 平面和s1平面,可得22221111T s T s T s T s eee e s --+-=再将1s 平面通过以下变换关系映射到z 平面,即T s e z 1=从而得到s 平面和z 平面的单值映射关系为1111--+-=z z s ssz -+=11 一般来说,为了使模拟滤波器的某一频率与数字滤波器的任一频率有对应关系,可引入待定常数c ,fT πω2=Ts Ts e e c s 1111--+-=将T s e z 1=代入到上式,可得1111--+-=z z c ssc sc z -+=在MATLAB 中,双线性Z 变换可以通过bilinear 函数实现,其调用格式为:[Bz ,Az]=bilinear(B ,A ,Fs);其中B ,A 为模拟滤波器传递函数G (s )的分子分母多项式的系数向量,而Bz ,Az 为数字滤波器的传递函数H (z )的分子分母多项式的系数向量。
三、设计任务及方案选择三、1 设计任务与要求利用MATLAB 仿真软件系统结合双线性变换法设计一个数字高通滤波器。
已知某低通滤波器的截止频率为50Hz ,抽样频率为500Hz ,用双线性变换法设计的数字滤波器的系统函数为2121412802.014298.11)21(0674553.0)(----+-++=z z z z z H L求变换出截止频率为200Hz ,抽样频率仍为500Hz 的数字高通滤波器。
三、2 方案设计(一)数字频带法: 1. 采用双线性变换法:1) 将数字滤波器指标转换为模拟滤波器指标。
w c =2πf c ×fs 1=2π×50×5001=0.2π c Ω=T 2⎪⎪⎭⎫ ⎝⎛2tan w c =1000×⎪⎪⎭⎫ ⎝⎛2tan w c =325 2) 根据归一化模拟滤波器函数和系统的截止频率设计所要求的模拟滤波器。
)(s H =)(Ωs Han =)325(sHan =23253254142136.111⎪⎭⎫⎝⎛++s s3) 将模拟滤波器转换为数字滤波器)(z H =)(s H |11112--+-=z z T s =2121412802.014298.11)21(0674553.0----+-++z z z z2. 低通到高通的转换低通原型为:2121412802.014298.11)21(0674553.0)(----+-++=uu u u u H L 由数字低通变数字高通的公式:()u z G ==zz αα++-1,α=]2/)cos[(]2/)cos[(Wu Wc Wu Wc -+根据W=ΩT 可得原数字低通滤波器的截止频率Wc=2π×50×5001 所求高通滤波器的截止频率Wu=2π×200×5001 因此α=ππ50020050cos 50050200cos-+=0 u =zz αα++-1=z -这样,所求高通滤波器的系统函数为:)(z H =)(u H L |u =z -=2121412802.014298.11)21(0674553.0----+++-zz z z(二)模拟频带法:由设计方案过程可知,此高通滤波器设计相当于由一个二阶巴特沃斯低通滤波器)(s H aL =24142136.111S S ++设计截止频率为200Hz ,抽样频率为500Hz 的数字高通滤波器。
利用双线性变换法设计f c =200Hz,f c =500Hz 的高通数字滤波器,将数字滤波器的截止频率w c 变成模拟高通滤波器的截止频率c Ω。
w c =2πf c T=2πf c /f c =5002002⨯π=0.8π c Ω==1000=3.0776835×103根据H a (s)=H aL (s)|s=Ω/s 将模拟低通滤波器映射成模拟高通滤波器。
得:H a (s)=H aL (s)|s=Ω/s =222104142136ΩSS s+Ω+用双线性变换法将模拟高通滤波器映射成数字高通滤波器。
H(z)=H a (s)|11112--+-=ZZ T S =2121412802.014298.11)21(0674553.0----+++-z z z z 四、程序设计与调试四、1 程序设计与说明N=2; Fs=500; fch=200; wch=2*pi*fch/Fs;[z,p,k]=buttap(N); %设计模拟原型低通滤波器 [b,a]=zp2tf(z,p,k); %变零极点增益形式为系统传递函数形式 [h,w]=freqs(b,a,512); %求模拟低通滤波器的频率响应 mag=abs(h);db1=20*log10((mag+eps)/max(mag)); Omegach=2*Fs*tan(wch/2);[Bs,As]=lp2hp(b,a,Omegach%原型低通模拟滤波器转换为高通模拟滤波器 [Bz,Az]=bilinear(Bs,As,Fs) %模拟低通滤波器转换为数字滤波器[H,W]=freqz(Bz,Az,512); %求数字高通滤波器的频率响应m=abs(H);db2=20*log10((m+eps)/max(m));figure(1);subplot(1,1,1);plot(w/pi,db1);title('模拟低通滤波器');ylabel('幅度');axis([0,4,-40,0]);grid %绘制模拟低通频率特性figure(2);subplot(1,1,1);plot(W/pi,db2);title('数字高通滤波器');ylabel('幅度');axis([0,1,-100,0]);grid %绘制数字高通频率特性四、2 仿真结果与分析将设计好的程序在matlab软件下进行仿真,得到仿真波形。