双线性变换法和窗函数法设计高通滤波器

更新时间:2024-07-07 20:58:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

目录

摘要 ................................................................................................................ I 第一章 数字滤波器设计的具体要求和目的 ............................................... 1

第一节 设计目的 .................................................................................... 1 第二节 设计要求 .................................................................................... 1 第二章 对数字信号处理的认识和了解 ....................................................... 2 第三章 数字滤波器的设计原理 ................................................................... 3

第一节 IIR数字滤波器的设计 .............................................................. 3

一 IIR数字滤波器简介 ................................................................. 3 二 双线性变换法设计IIR滤波器 ................................................ 6 三 方案的设计论证及选择 ........................................................... 7 第二节 FIR滤波器的设计 .............................................................................. 8 一 FIR滤波器简介 ........................................................................ 8 二 窗函数法设计FIR滤波器 ..................................................... 10

第四章 程序设计及调试 ............................................................................. 12

第一节 设计要求 .................................................................................. 12 第二节 双线性变换法设计巴特沃斯数字高通滤波器 ...................... 12

一 模拟低通滤波 ......................................................................... 12 二 模拟到数字的转换 ................................................................. 13 三 仿真结果与分析 ..................................................................... 15 第三节 凯泽窗法设计高通滤波器 ...................................................... 17

一 程序设计 ................................................................................. 17 二 结果分析 ................................................................................. 17

第五章 心得体会 ......................................................... 错误!未定义书签。 参考文献 ....................................................................................................... 21 附录 ............................................................................................................... 22

第一章 数字滤波器设计的具体要求和目的

第一节 设计目的

通过本课程设计,巩固数字信号处理的有关知识,熟悉各种数字滤波器的设计原理,设计方法。学会分析有限字长效应带来的误差,合理设计数字滤波器的结构。学会利用MATLAB来进行滤波器的设计。

第二节 设计要求

给定技术指标:通带截止频率fc?3KHz,②通带最大衰减 抽样频dp?3dB阻带截止频率fst?2KHz ,④阻带最小衰减ds?14dB,率Fs?10KHz

用双线性变换法设计一个巴特沃斯数字高通滤波器。技术指标同上,用凯泽窗法设计一个FIR数字高通滤波器。设计时间为一周。

1

第二章 对数字信号处理的认识和了解

随着信息时代的到来,数字信号处理已经成为当今一门极其重要的

学科和技术,并且在通信、语音、图像、自动控制等众多领域得到了广泛的应用。在数字信号处理中,数字滤波器占有极其重要的地位,它具有精度高、可靠性好、灵活性大等特点。现代数字滤波器可以用软件或硬件两种方式来实现。软件方式实现的优点是可以通过滤波器参数的改变去调整滤波器的性能。

MATLAB是一种面向科学和工程计算的语言,它集数值分析、矩阵运算、信号处理和图形显示于一体,具有编程效率高、调试手段丰富、扩充能力强等特点。MATLAB的信号处理工具箱具有强大的函数功能,它不仅可以用来设计数字滤波器,还可以使设计达到最忧化,是数字滤波器设计的强有力工具。

2

第三章 数字滤波器的设计原理

第一节 IIR数字滤波器的设计

一 IIR数字滤波器简介

一个数字滤波器可以用系统函数表示为:

H(z)??bzkk?0Nk?1M?k?1??akz?kY(z) X(z)

由这样的系统函数可以得到表示系统输入与输出关系的常系数线形差

分方程为:

y(n)??aky(n?k)??bkx(n?k)

k?0k?0NM

可见数字滤波器的功能就是把输入序列x(n)通过一定的运算变换成输出序列y(n)。不同的运算处理方法决定了滤波器实现结构的不同。无限冲激响应滤波器的单位抽样响应h(n)是无限长的,其差分方程如上式所示,是递归式的,即结构上存在着输出信号到输入信号的反馈,其系统函数具有上式的形式,因此在z平面的有限区间(0<︱z︱<∞)有极点存在。

前面已经说明,对于一个给定的线形时不变系统的系统函数,有着各种不同的等效差分方程或网络结构。由于乘法是一种耗时运算,而每

3

个延迟单元都要有一个存储寄存器,因此采用最少常熟乘法器和最少延迟支路的网络结构是通常的选择,以便提高运算速度和减少存储器。然而,当需要考虑有限寄存器长度的影响时,往往也采用并非最少乘法器和延迟单元的结构。

IIR滤波器实现的基本结构有: (一)IIR滤波器的直接型结构;

优点:延迟线减少一半,变为N 个,可节省寄存器或存储单元; 缺点:其它缺点同直接I型。

通常在实际中很少采用上述两种结构实现高阶系统,而是把高阶变成一系列不同组合的低阶系统(一、二阶)来实现。

图一 直接型

(二)IIR滤波器的级联型结构:

4

title('数字高通滤波器'); xlabel('w/pi');ylabel('幅度(dB)');

三 仿真结果与分析

将设计好的程序在matlab软件下进行仿真,得到仿真波形

模拟低通滤波器10.90.80.70.6幅度0.50.40.30.20.100200400600800频率Hz1000120014001600

15

数字低通滤波器0-50-100幅度(dB)-150-200-25000.10.20.30.40.5w/pi0.60.70.80.91

模拟高通滤波器10.90.80.70.6幅度0.50.40.30.20.100200400600800频率Hz1000120014001600

16

数字高通滤波器0-50-100幅度(dB)-150-200-250-300-35000.10.20.30.40.5w/pi0.60.70.80.91

图十 仿真结果

由仿真结果可知,设计出的数字低通,高通,带通的幅频响应均符合各自的特性,从模拟滤波器特性曲线可以看出,所设计的高通滤波器在大于3000Hz为通带,其衰减均小于1dB;小于2000Hz为阻带,其衰减大于14dB,而设计的低通滤波器情况正好相反,符合本次设计的要求。

第二节 凯泽窗法设计FIR高通滤波器 一 程序设计

fst=2000;fc=3000;ds=14;dp=3;Fs=10000; wc=2*pi*fc/Fs; wp=2*pi*fst/Fs; wdel=wc-wp;

beta=0; %ds<21

N=ceil((ds-7.95)/2.285/wdel) %N=5 wn=kaiser(N,beta); ws=(wp+wc)/2/pi;

b=fir1(N-1,ws,'high',wn); %此处M必须是偶数,因此为N-1 figure(1); freqz(b,1);

17

二 结果分析

图十一 仿真结果

由仿真结果知,输出波形与矩形波的非常相似,这是由于所给指标中通带最大衰减dp为3dB,阻带最小衰减ds为14dB与矩形窗的技术指标非常相近,但由于前面几种窗函数的形状是固定的,一旦选择了某种窗函数,设计出的高通数字滤波器的阻带衰减就确定了。而凯泽窗可以通过改变窗函数的形状来控制窗函数旁瓣的大小,从而在设计过程中根据滤波器的衰减指标来确定窗函数的形状,因此尽管选择凯泽窗出现误差,但仿真结果还是比较准确的。

18

第五章 心得体会

通过这次课程设计,使我掌握了课程设计的基本思路和方法,掌握了课程设计说明书的基本撰写方法,了解了基本的设计思想和设计方法。同时此次课程设计使我对《数字信号处理原理》这门课程的基础知识和基本理论有了更深的理解和掌握,锻炼了我们综合运用所学知识的能力,并在理论分析设计、计算制图运用标准和规范查阅设计手册与资料以及计算机应用能了等方面得到了初步的训练和提高,培养了我们严谨求实的科学态度。同时这次课程设计采用分组的形式进行,锻炼了我们的分工合作能力,同时培养了我们的团队意识。

这次课程设计使我进一步熟悉了计算工具软件---MATLAB.并进一步掌握了MATLAB的使用方法.对MATLAB语言的发展和特点有了更深的了解,熟悉其工作环境,并掌握了MATLAB的基本语法,在其应用方面也有了更深的了解,了解了MATLAB程序书写的一般思路及一般步骤,学会了

19

用MATLAB解决复杂信号处理等问题的方法。使我对MATLAB信号处理工具箱内的模型函数有了深刻的体会和应用。MATLAB作为一种科学计算软件,有着其独特优势,尤其在科学计算及精确绘图上,与其他计算机语言相比,简洁而且具有智能化,适应我们的思维方式与书写习惯,它使用解析方法工作,直观且简单明了。人机交互性能好,操作也很简单,在图形描绘上解决手工描绘的各种缺点。

在课程设计的这段时间里,我认为收获还是很多的,不但进一步掌握了数字信号处理的基础知识及一门专业仿真软件的基本操作,还提高了自己的设计能力及动手能力,同时对于模拟滤波器来了个系统的总结。更多的是让我看清了自己,明白了凡事需要耐心,实践是检验学习的唯一标准。理论知识的不足在这次课设中表现的很明显。这将有助于我今后的学习,端正自己的学习态度,从而更加努力的学习。总之,通过本次课程设计不但让我又学到了一些知识,而且也提高了我的综合能力。使我在各方面都得到了锻炼,非常感谢我的同组同学,也非常感谢我们的指导老师,使我们这次的课程设计任务圆满完成。

20

参考文献

1、程佩青 数字信号处理(第二版) 北京 清华大学出版社 2001. 2、陈怀琛 数字信号处理教程----MATLAB释义与实现[M].北京:电子工业出版社 2004.

3、罗建军 MATLAB教程. 北京:电子工业出版社,2005 4、刘波等MATLAB信号处理 北京:电子工业出版社,2006 5、张葛祥,李娜 MATLAB仿真技术与应用 北京:清华大学出版社,2003

21

附录

附录一 部分程序源码:

双线性变换法设计一个巴特沃斯数字高通滤波器: Fs=2000; Ts=1/Fs; %采样频率和采样周期

wp=400*2*pi;ws=300*2*pi; %低通、高通数字滤波器截止频率 Rp=1;Rs=30; %通带波纹和阻带衰减 wpl=Fs*2*tan(ws*Ts/2); %按频率转换公式进行转换 wsl=Fs*2*tan(wp*Ts/2);

[N,Wn]=buttord(wpl,wsl,Rp,Rs,'s'); %计算模拟滤波器的最小阶数

[z,p,k]=buttap(N); %设计模拟原型低通滤波器 [b,a]=zp2tf(z,p,k); %变零极点增益形式为系统传递函数形式 [H,w]=freqs(b,a); %求模拟低通滤波器的频率响应 figure;

22

plot(w,abs(H));grid; %绘制低通频率特性 title('模拟低通原型'); xlabel('w');ylabel('幅度');

[e1,f1]=lp2lp(b,a,300*2*pi);%原型低通转换为低通模拟滤波器

[h1,w1]=freqs(e1,f1); %求模拟低通滤波器的频率响应 figure;

plot(w1/(2*pi),abs(h1)); %绘制高通频率特性 grid;

title('模拟低通滤波器');

xlabel('频率Hz');ylabel('幅度');

[r1,q1]=bilinear(e1,f1,1000); %模拟低通滤波器转换为数字滤波器

[s1,w2]=freqz(r1,q1); %求数字低通滤波器的频率响应 figure;

plot(w2/pi, 20*log10(abs(s1)));grid; %绘制数字低通滤波器的频率响应

title('数字低通滤波器');

xlabel('w/pi');ylabel('幅度(dB)');

[e2,f2]=lp2hp(b,a,300*2*pi) ; %原型低通模拟滤波器转换为高通模拟滤波器

[h2,w3]=freqs(e2,f2); %求模拟高通滤波器的频率响应 figure;

plot(w3/(2*pi),abs(h2)); %绘制高通频率特性 grid;

23

title('模拟高通滤波器');

xlabel('频率Hz');ylabel('幅度');

[r2,q2]=bilinear(e2,f2,1000); %模拟高通滤波器转换为数字滤波器

[s2,w4]=freqz(r2,q2); %求数字高通滤波器的频率响应 figure;

plot(w4/pi, 20*log10(abs(s2)));grid; %绘制数字高通滤波器的频率响应

title('数字高通滤波器');

xlabel('w/pi');ylabel('幅度(dB)'); W0=200*2*pi;Bw=200;

[e3,f3]=lp2bp(b,a,W0,Bw);%原型低通转换为带通模拟滤波器 [h3,w5]=freqs(e3,f3); %求模拟带通滤波器的频率响应 figure;

plot(w5/(2*pi),abs(h3)); %绘制带通频率特性 grid;

title('模拟带通滤波器');

xlabel('频率Hz');ylabel('幅度');

[r3,q3]=bilinear(e3,f3,1000); %模拟滤波器转换为数字滤波器

[s3,w6]=freqz(r3,q3); %求数字带通滤波器的频率响应 figure;

plot(w6/pi, 20*log10(abs(s3)));grid; %绘制数字带通滤波器的频率响应

24

附录二 各种窗函数的基本参数:

窗函数 矩形窗 三角形窗 汉宁窗 哈明窗 不莱克曼窗 凯塞窗(α=7.865) 旁瓣峰值幅度/dB 过渡带宽 阻带最小衰减/dB -13 -25 -31 -41 -57 -57 4π/N 8π/N 8π/N 8π/N 12π/N 10π/N -12 -25 -44 -53 -74 -80 25

摘要

数字滤波技术是数字信号处理的一个重要组成部分,本文介绍了用双线性不变法设计IIR数字滤波器的基本流程,以双线性不变法设计了一个高通巴特沃斯IIR数字高通滤波器。根据FIR滤波器的原理,提出了FIR滤波器的窗函数设计法,并对常用的几种窗函数进行了比较。给出了在MATLAB环境下,用窗函数法设计FIR滤波器的过程和设计实例。然后在MATLAB环境下进行了仿真与调试,实现了设计目标。

关键字:双线性变换法、巴特沃斯、凯泽窗、数字高通滤波器、MATLAB

1

本文来源:https://www.bwwdw.com/article/65i.html

Top