分享
2023年matlab课设.docx
下载文档

ID:1328609

大小:26.38KB

页数:13页

格式:DOCX

时间:2023-04-19

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2023 matlab
matlab课设 摘 要 数字滤波器是一一个离散系统。该系统能对输入的离散信号进行处理,从而获得所需的有用信息。现代数字滤波器的设计大体可以分为IIR 和FIR两大类,可以用软件和硬件两种方法来实现,而选用MATAB信号处理工具箱为设计通用滤波器带来了极大的方便。本文按设计指标要求设计了滤波器,其中IIR 采用巴特沃什,FIR采用布莱克曼窗进行设计,得出了与之对应的幅度响应曲线和相位响应曲线,最后对IIR 和FIR的实现形式和性能等方面进行比较。 关键词: MATLAB; IIR; FIR Abstract The digital filter is a discrete system. The systemcan 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 arefinite impulse response (FIR) and infinite impulse response (IIR). The modern digital filter can be received by two kinds of method of software and hardware.But using MATLAB signal disposing tool case to design the digital filter is moreconvenient and universally applied.The main body of thepaper is demanded to design adigital filter according to the designing index. IIR adopts Butterworth and FIR adopts the Blackman . Key Words:MATLAB。 IIR。 FIR 目录 1引言 1 2 关于MATLAB 1 3 数字滤波的根本概念 2 4 设计方案 3 4.1数字滤波器设计的根本步骤 3 4.1.1确定指标 3 4.1.2模型逼近 3 4.1.3实现性能分析和计算机仿真 3 4.2基于MATLAB的FIR数字滤波器的设计与仿真 3 4.3基于MATL AB的IIR数字滤波器的设计 5 4.3.1 |IR数字滤波器的设计原理 5 4.3.2 IIR数字滤波器的传统设计方法 5 4.3.3 IIR数字滤波器的设计 6 5 FIR数字滤波器与IIR数字滤波器的比较 6 6结论 7 附 录 8 附录1: 8 附录2: 11 参考文献 13 1引言 理想滤波器就是一个让输入信号中的某些有用频谱分量无任何变化的通过,同时又能完全抑制另外那些不需要的成分的具有某种选择性的器件、网络或计算机硬件支持的计算程序。根据对不同信号的处理可将滤波器分为模拟滤波器和数字滤波器两种。模拟滤波器和数字滤波器的概念相同,只是信号的形式和实现滤波的方法不同。数字滤波器是指输入输出都是数字信号的滤波器。滤波器的滤波原理就是根据信号与噪声占据不同的频带,将噪声的频率放在滤波器的阻带中而由于阻带的响应为零,这样就滤去了噪声。数字滤波器可以分为两大类:一类是经典滤波器,即一般的滤波器,特点是输入信号中有用的频率成分和希望滤去的频率成分各占不同的频率带,通过一个适宜的选频滤波器到达滤波的目的,这种滤波器主要是无限冲激响应滤波器和有限冲激响应滤波器:另外一类滤波器是现代滤波器,当信号和干扰的频带相互重叠,经典滤波器不能完成对干扰的有效去除时,可以采用现代滤波器,这些滤波器可以按照随即信号内部的一些统计分布规律,从干扰中最正确的提取信号。这种滤波器主要有维纳滤波器、卡尔曼滤波器、 自适应滤波器等。 与模拟滤波器相同,数字滤波器从功能上可以分为四类,即低通(LP)、高通(HP)、带通(BP)、带阻(BS)滤波器等。数字滤波器在数字信号处理的各种应用中发挥着十分重要的作用,任何数字系统都可看成一一个数字滤波器,因此数字滤波器的应用相当广泛。 设计任务:设计一数字带通滤波器,分别用IIR和FIR两种类型来实现。 2 关于MATLAB MATLA是Matrix Laboratory (矩阵实验室)的缩写。它是美国MathWorks公司推出的用于数值计算和图形处理的数学计算环境,现已开展成为一个具有高性能数值计算和可视化功能的科学计算环境,问题的提出和解答只需以数学方式表达和描述,不需要大量原始而传统的编程过程。该软件包括:数值分析、矩阵计算、数字信号处理、建模和系统控制等应用程序。MATLAB语言简洁、紧凑、使用方便,有丰富的运算符号和函数库,还具有结构化的控制语句和面向对象编程的特点。随着其版本的不断提高,各种工具箱的扩充和完善,MATLAB的功能越来越强大,从而被广泛应用于仿真技术、自动控制和数字信号处理等领域。        MATLAB是个交 互式系统, 特别适用于研究、 解决工程和数学问题, 典型应用包括:般的数值计算、 算法原型以及 通过矩阵公式解决一些特殊问题,促进了统计、数字信号处理等科学的开展。MATLAB功能强大、简单易学、编程效率高,深受广阔科技工作者的欢迎。特别是MATLAB还具有信号分析工具箱,不需具备很强的编程能力,就可以很方便地进行信号分析、处理和设计。        MATLA的信号处理工具箱提供了丰富而简便的设计、实现IIR 和FIR的方法,使原米烦琐的程序设计简化成函数的调用,特别是滤波器的表达方式和滤波器形式之间的相互转换显得十分简便,为滤波器的设计和实现开辟了一片广阔的天地。数字滤波器采用传统的设计方法要进行大量复杂的运算,而利用MATIAB强大的计算功能进行计算机辅助设计,就可以快速要效的设计数字滤波器,大大的简化计算量,直观简便。 MATILAB的信号处理工具箱包含了各种经典的和现代的数字信号处理技术,是一个非常优秀的算法研究和辅助设升的工具。在设计数字滤波器时,通常采用信号处理工具箱提供的设计模拟和数字滤波器的MATLAB函数采用编程的方法和仿真实现,亦可以利用信号处理工具箱提供的滤波器设计和分析工具(Filter Design & Analysis Tool )实现。MATLA的一种重要的工作方式就是M文件的编程工作方式。M文件有两种形式,一种是脚本文件,另一种是函数文件。M文件的扩展名为“.m〞。M文件可以通过任何纯文本编辑器进行编辑,MATLAB也自带有文本编辑器,使用“edit〞命令即可开启。 3 数字滤波的根本概念 滤波器的种类很多,从功能上可以分为低通、高通、带通和带阻滤波器,每一种又有模拟滤波器和数字滤波器两种形式。如果滤波器的输入和输出都是离散时间信号,那么该滤波器的冲击响应也必然是离散的,这种滤波器称之为数字滤波器。该滤波器通过对时域中离散的采样数据作差分运算实现滤波。一个线性时不变数字滤波器可以用常系数线性差分方程表示为式中x(n),y(n)分辨是输入和输出信号序列: ai, bk 分别是滤波系数。当上式bk中系数全部为零时,就有这种形式的滤波器为有限冲激响应滤波器,简称FIR型。此事系统的输出仅与输入有关。它的实现一般采用非递归算法。 4 设计方案 4.1数字滤波器设计的根本步骤 4.1.1确定指标 在设计一个滤波器之前, 必须首先根据工程实际的需要来确定滤波器的技术指标。在很多实际应用中,数字 滤波器常被用来实现选频操作。因此指标的形式一般在频域中给出幅度和相位响应。 4.1.2模型逼近 一旦确定了技术指标,就可以利用已学习过的根本原理和关系式,提出一个滤波器模型来逼近给定的技术指标。这是滤波器设计所要研究的主要问题。 4.1.3实现性能分析和计算机仿真 以上两步的结果得到的滤波器,通常是以差分方程、系统函数或脉冲响应描述的。根据这个描述就可以分析其频率特性和相位特性,以验证设计结果是否满足指标要求;或者利用计算机仿真实现设计的滤波器,再分析滤波结果来判断。 4.2基于MATLAB的FIR数字滤波器的设计与仿真 利用MATLAB设计滤波器,可以随时比照设计要求和滤波器特性调整参数,直观简便,极大地减轻了工作量,有利于滤波器设计的优化。 FIR滤波器的设计方法有窗函数法、最优化设计法及约束最小二乘逼近法。MATLAB信号处理工具箱中提供了滤波器设计方法的工具函数,编程中可以根据设计要求直接调用相应函数,方便快捷。 本设计数字滤波器的性能指标为:要求用窗函数设计一个高通滤波器。 本例采用凯泽窗函数设计该高通滤波器,原程序节选如下: As=50。 ws=0.2xPi。 wp=0.3xPi。 tr_width=wp-ws。 M=ceil((As-7.95)x2xpi/(14.36xtr_width)+l)+l。 disp([‘滤波器的长度为’,num2str(M)])。 beta=0.1102x(AS-8.7)。 n=【0:l:M-l]: disp([‘线性相位斜率为’,num2str(beta)])。 w_kai=(kaiser(M,beta))’。 wc=(ws+wp)/2: hd=ideal_lp(pi,M)-ideal_lp(wc,M)。 h==hd.xw_kai。 [db,mag,pha,grd,w]=freqz_m(h,[1])。 delta_w=2xpi/l000。 Rp=-(min(db(wp/delta_w+l:l:501)))。 disp([‘实际通带波动为’,num2str(Rp)])。 As=-round(max(db(l:l:ws/delta_w+l)))。 disp([‘最小阻带衰减为’,num2str(As)])。 subplot(l,l,l)。 subplot(2,2,l)。 stem(n,hd)。 title(‘理想脉冲响应’)。 axis([0,M-l -0,40.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([01 -10010])。 grid。 xlabel(‘以π为单位的频率’): ylabel(‘分贝数/dB’)。 从滤波效果图看所设计的滤波器根本消除了噪声和干扰的影响,客观的得出真实信号。在设计中如果该滤波器的特性不满足要求,原有的参数必须作相应的调整,在程序中只需对参数进行重新设定,就可以得到所需要的滤波器。在实际应用中,如果需要对某一-信号源进行特定的滤波,并要检测滤波效果,应用传统方法比较繁琐。在MATL .AB环境下,可先用软件模拟产生信号源,再设计滤波器对其进行滤波。 在MATLAB环境下,数字滤波器的设计已经变得非常简单和高效率,而且FIR滤波器的冲激响应是有限长序列,其系统函数为一个多多项式,它所含的极点多为原点,所以FIR滤波器是稳定的。 4.3基于MATL AB的IIR数字滤波器的设计 4.3.1 |IR数字滤波器的设计原理 设计IIR数字滤波器就是要确定传输函数中的系数aj、bi,或者零极点增益ci、dj、A,使滤波器的频率特性满足给定的性能指标要求。设计原理主要包括两个方面:一是根据设

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开