matlab的滤波器的设计与仿真

上传人:工**** 文档编号:473051190 上传时间:2023-05-24 格式:DOC 页数:15 大小:72KB
返回 下载 相关 举报
matlab的滤波器的设计与仿真_第1页
第1页 / 共15页
matlab的滤波器的设计与仿真_第2页
第2页 / 共15页
matlab的滤波器的设计与仿真_第3页
第3页 / 共15页
matlab的滤波器的设计与仿真_第4页
第4页 / 共15页
matlab的滤波器的设计与仿真_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《matlab的滤波器的设计与仿真》由会员分享,可在线阅读,更多相关《matlab的滤波器的设计与仿真(15页珍藏版)》请在金锄头文库上搜索。

1、作者: Pan Hongliang仅供个人学习目录1 引言 52 关于 MATLA.B 53 数字滤波的基本概念 64 设计方案 . 7ii / 164.1 数字滤波器设计的基本步骤 74.1.1 确定指标 74.1.2 模型逼近 74.1.3 实现性能分析和计算机仿真 74.2基于MATLA的FIR数字滤波器的设计与仿真 74.3基于MATLAB勺IIR数字滤波器的设计 94.3.1 IIR数字滤波器的设计原理 94.3.2 IIR数字滤波器的传统设计方法 104.3.3 IIR数字滤波器的设计 104.3.4 IIR数字滤波器的程序设计 114.3.5 IIR数字滤波器的仿真 125 FI

2、R 数字滤波器与 IIR 数字滤波器的比较 126 结论 13参考文献 错误!未定义书签。摘要数字滤波器是一个离散系统。该系统能对输入的离散信号进行处理,从而获得所需 的有用信息。现代数字滤波器的设计大体可以分为 IIR 和 FIR 两大类,可以用软件和硬 件两种方法来实现,而选用 MATAB 信号处理工具箱为设计通用滤波器带来了极大的方 便。本文按设计指标要求设计了滤波器, 其中 IIR 采用巴特沃什, FIR 采用布莱克曼窗进 行设计,得出了与之对应的幅度响应曲线和相位响应曲线,最后对 IIR 和 FIR 的实现形 式和性能等方面进行比较。关键词:MATLAB ; IIR ; FIRAbs

3、tractThe digital filter is a discrete system. The system can be able to handle discrete signals. So it can achieve required important information. There are two major kinds of design principle of digital filter, which are finite impulse response (FIR) and infinite impulse response (IIR). The modern

4、digital filterusingmorecan be received by two kinds of method of software and hardware. But MATLAB signal disposing tool case to design the digital filter is convenient and universally applied. The main body of the paper is demanded to design a digital filter according to the designing index. IIR ad

5、opts Butterworth and FIR adopts the Blackman window to design the digital filter. Finally, carry out comparison on IIR and the FIR realization a nd function aspect.Key words : MATLAB; IIR; FIR1引言理想滤波器就是一个让输入信号中的某些有用频谱分量无任何变化的通过, 同时又能完全抑制另外那些不需要的成分的具有某种选择性的器件、网络或计算机硬件支持的计算程序。根据对不同信号的处理可将滤波器分为模拟滤波器和数

6、字滤波器两种。模拟滤波器和数字滤波器的概念相同,只是信号的形式和实现滤 波的方法不同。数字滤波器是指输入输出都是数字信号的滤波器。滤波器的滤波原理就是根据信号与噪声占据不同的频带, 将噪声的频率放在滤波器的阻带中而 由于阻带的响应为零,这样就滤去了噪声。数字滤波器可以分为两大类:一类是经典滤波器,即一般的滤波器,特点是 输入信号中有用的频率成分和希望滤去的频率成分各占不同的频率带,通过一个合适的选频滤波器达到滤波的目的,这种滤波器主要是无限冲激响应滤波器和有 限冲激响应滤波器;另外一类滤波器是现代滤波器,当信号和干扰的频带相互重 叠,经典滤波器不能完成对干扰的有效去除时, 可以采用现代滤波器,

7、这些滤波 器可以按照随即信号内部的一些统计分布规律,从干扰中最佳的提取信号。这种滤波器主要有维纳滤波器、卡尔曼滤波器、自适应滤波器等10。与模拟滤波器相同,数字滤波器从功能上可以分为四类,即低通(LP)、高通(HP)、带通(BP)、带阻(BS)滤波器等。数字滤波器在数字信号处理的各种应用中发挥着十分重要的作用,任何数字系统都可看成一个数字滤波器,因此数字滤波器的应用相当广泛。设计任务:设计一数字带通滤波器,分别用 IIR和FIR两种类型来实现。2 关于 MATLABMATLAB是Matrix Laboratory (矩阵实验室)的缩写。它是美国MathWorks 公司推出的用于数值计算和图形处

8、理的数学计算环境,现已发展成为一个具有高性能数值计算和可视化功能的科学计算环境,问题的提出和解答只需以数学方式 表达和描述,不需要大量原始而传统的编程过程。该软件包括:数值分析、矩阵 计算、数字信号处理、建模和系统控制等应用程序。MATLAB语言简洁、紧凑、 使用方便,有丰富的运算符号和函数库,还具有结构化的控制语句和面向对象编 程的特点。随着其版本的不断提高,各种工具箱的扩充和完善,MATLAB的功能越来越强大,从而被广泛应用于仿真技术、自动控制和数字信号处理等领域。MATLAB是一个交互式系统,特别适用于研究、解决工程和数学问题,典 型应用包括:一般的数值计算、算法原型以及通过矩阵公式解决

9、一些特殊问题, 促进了统计、数字信号处理等科学的发展。MATLAB功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。特别是MATLAB还具有信号分析工具箱,不需具备很强的编程能力,就可以很方便地进行信号分析、处理和设计。MATLAB的信号处理工具箱提供了丰富而简便的设计、实现IIR和FIR的方法,使原来烦琐的程序设计简化成函数的调用,特别是滤波器的表达方式和滤 波器形式之间的相互转换显得十分简便,为滤波器的设计和实现开辟了一片广阔 的天地。数字滤波器采用传统的设计方法要进行大量复杂的运算,而利用MATLAB强大的计算功能进行计算机辅助设计, 就可以快速要效的设计数字滤波器, 大大 的简

10、化计算量,直观简便。MATLAB的信号处理工具箱包含了各种经典的和现 代的数字信号处理技术,是一个非常优秀的算法研究和辅助设计的工具。在设计 数字滤波器时,通常采用信号处理工具箱提供的设计模拟和数字滤波器的 MATLAB函数采用编程的方法和仿真实现,亦可以利用信号处理工具箱提供的 滤波器设计和分析工具(Filter Design & Analysis Tool)实现。MATLAB的一种重要的工作方式就是M文件的编程工作方式。M文件有两 种形式,一种是脚本文件,另一种是函数文件。 M文件的扩展名为“ .m” M文 件可以通过任何纯文本编辑器进行编辑, MATLAB也自带有文本编辑器,使用“ ed

11、it ”命令即可开启。3数字滤波的基本概念滤波器的种类很多,从功能上可以分为低通、高通、带通和带阻滤波器,每 一种又有模拟滤波器和数字滤波器两种形式。如果滤波器的输入和输出都是离散 时间信号,则该滤波器的冲击响应也必然是离散的,这种滤波器称之为数字滤波 器。该滤波器通过对时域中离散的采样数据作差分运算实现滤波。一个线性时不变数字滤波器可以用常系数线性差分方程表示为式中x(n),y(n)分辨是输入和输出信号序列;ai,bk分别是滤波系数。当上式 bk中系数全部为零时,就有这种形式的滤波器为有限冲激响应滤波器,简称FIR型。此事系统的输出仅与输入有关。它的实现一般采用非递归算法。4设计方案4.1数

12、字滤波器设计的基本步骤确定指标在设计一个滤波器之前,必须首先根据工程实际的需要来确定滤波器的 技术指标。在很多实际应用中,数字滤波器常被用来实现选频操作。因此指标的形式一般在频域中给出幅度和相位响应。模型逼近一旦确定了技术指标,就可以利用已学习过的基本原理和关系式,提出一个滤波器模型来逼近给定的技术指标。这是滤波器设计所要研究的主要问题。实现性能分析和计算机仿真以上两步的结果得到的滤波器,通常是以差分方程、系统函数或脉冲响应描 述的。根据这个描述就可以分析其频率特性和相位特性, 以验证设计结果是否满 足指标要求;或者利用计算机仿真实现设计的滤波器,再分析滤波结果来判断。4.2基于MATLA的

13、FIR数字滤波器的设计与仿真利用MATLAB设计滤波器,可以随时对比设计要求和滤波器特性调整参数, 直观简便,极大地减轻了工作量,有利于滤波器设计的优化。FIR滤波器的设计方法有窗函数法、最优化设计法及约束最小二乘逼近法。 MATLAB信号处理工具箱中提供了滤波器设计方法的工具函数,编程中可以根 据设计要求直接调用相应函数,方便快捷。本设计数字滤波器的性能指标为:,要求用窗函数设计一个高通滤波器。 本例采用凯泽窗函数设计该高通滤波器,原程序节选如下:As=50;ws=0.2*Pi;wp=0.3*Pi;tr_width=wp-ws;M=ceil(As-7.95)*2*p”(14.36*tr_wi

14、dth)+l)+l;disp(滤波器的长度为,nu2str(M);beta=0.1102*(AS-8.7);n=【O:I:M-I:disp(线性相位斜率为,nu2str(beta);w_kai=(kaiser(M,beta) ; wc=(ws+wp)/2:hd=idealp(pi,M)-idealp(wc,M); h=hd.*w_kai;db,mag,pha,grd,w=freqz_m(h,1);delta_w=2*pi/IOOO;Rp=-(mi n( db(wp/delta_w+l:l:501); disp(实际通带波动为,nu2str(Rp);As=-r oun d(max(db(l:l:

15、ws/delta_w+l);disp(最小阻带衰减为,nu2str(As); subplot(l,l,l);subplot(2,2,l);stem( n,hd);title(理想脉冲响应);axis(0,M-l -0,4 0.8);ylabel( hd(n);subplot(2,2,2):stem( n, w_kai):title(凯泽窗):axis(0,M-101.1);ylabel( w(n);subplot(2,2,3);stem( n,h);title(实际脉冲响应);axis(【0,M-l-0.40.8);xlabel( n);ylabel( h(n);subplot(2,2,4);plot(w/pi,db);title(幅度响应/dB );axis(O 1-10010);grid;xlabel(以n为单位的频率):ylabel(分贝数 /dB );程序运行后得到的结果如图1所示。由图1可知滤波器的数据:线性相位斜率为4.5513,滤波器的长度为61,参数beta(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号