当前位置:文档之家› 基于Matlab的数字滤波器的设计与仿真

基于Matlab的数字滤波器的设计与仿真

基于Matlab的数字滤波器的设计与仿真
基于Matlab的数字滤波器的设计与仿真

西安欧亚学院

本科毕业论文(设计)

题目:

学生姓名:

指导教师:

所在分院:

专业:

班级:

二O一一年四月

基于Matlab的数字滤波器的设计与仿真

摘要:

传统的数字滤波器的设计过程复杂,计算工作量大,滤波特性调整困难,影响了它的应用。本文介绍了一种利用matlab的滤波器分析设计工具FDAtools(Filter Design and Analysis Tool)快速有效的设计由软件组成的常规数字滤波器的设计方法。给出了使用matlab语言进行程序设计和利用信号处理工具箱的fdatool工具进行界面设计的具体步骤。利用matlab设计滤波器, 可以随时对比设计要求和滤波器特性调整参数,直观简便,极大的减轻了工作量,有利于滤波器设计的最优化。本文还介绍了如何利用matlab环境下的仿真软件simulink对所设计的滤波器进行模拟仿真。最后还讨论了用DSP芯片实现所设计的滤波器的方法。本文利用MATLAB/SIMULINK 具有强大的科学计算和图形显示这一优点,与窗函数法设计理论相结合共同设计FIR 数子滤波器,不但使设计结果更加直观,而且提高了滤波器的设计精度,从而更好地达到了预期的效果。

关键词:.FDAtools;FIR数字滤波器;simullink仿真;窗函数法;频率采样法

Matlab-based digital filter design and simulation

Abstract:

The traditional digital filter, the design process of complex computing workload big, filtering properties, affected it hard to adjust the application. This paper introduces a kind of Filter matlab FDAtools Analysis and Design tools themselves and order the Filter Tool (by rapid and effective Design) of software component Design method of traditional digital Filter. Using matlab language is given for program design and use of signal processing fdatool toolbox of tools for interface design of the specific steps. Matlab design filter, can always contrast the design requirements and filter characteristics, easy adjustment parameters greatly reduced the workload, be helpful for the optimization design of fir. This paper also introduces how to use matlab simulation software simulink filters the design of simulation.

Keywords: FDAtools;FIR digital filters; simullink;simulstion window function method;frequency sampling method

目录

第1章绪论 (1)

1.1 课题背景及目的 (1)

1.2 国内外研究现状 (1)

1.3 研究内容 (1)

1.4 研究方法 (2)

1.5 Matlab简介 (2)

1.6 Matlab的特点 (2)

1.7 Matlab的系统组成 (2)

1.8 论文提纲 (3)

第2章数字滤波器基本原理 (4)

2.1 数字滤波器原理 (4)

2.2 数字滤波器分类 (4)

2.3 数字滤波器技术要求 (6)

第3章FIR数字滤波器的设计 (9)

3.1 窗函数法设计FIR数字滤波器 (9)

3.1.1 窗函数法设计原理 (9)

3.1.2 FIR数字滤波器的设计实例 (10)

3.2 频率采样法设计FIR数字滤波器 (11)

3.2.1 频率采样法的基本思想 (13)

3.2.2 FIR数字滤波器的设计实例 (14)

3.3 窗函数法和频率采样法 (18)

3.3.1 通过实例对两种方法做比较 (18)

3.3.2 两种方法设计带通滤波器 (20)

第4章应用Simulink对FIR数字滤波器滤波 (22)

4.1 FDATool和Simulink工具 (22)

4.1.1 FDATool的介绍 (22)

4.1.2 FDATool的使用 (22)

4.2 Simulink工具 (22)

4.2.1 Simulink的介绍 (22)

4.2.2 Simulink的使用 (22)

4.3 利用FDATool和Simulink设计FIR数字滤波器 (23)

4.4 数字滤波器的仿真及实现 (25)

第5章浅析用MATLAB辅助DSP实现FIR数字滤波器 (29)

5.1 MATLAB辅助DSP开发简介 (29)

5.2 MATLAB与CCS及目标DSP间的连接 (29)

5.3 MATLAB辅助DSP实现FIR过程 (30)

第6章结论 (31)

致辞 (32)

参考文献 (33)

附录:论文中所提到的程 (34)

第1章绪论

1.1课题背景及目的

1.1.1 背景来源

本文FIR数字滤波器设计时Matlab软件使用的是Matlab7.0。本课题来源于试验室建设及工业工程,研究对象为matlab环境下的数字滤波器设计与仿真。

1.1.2 目的

我选择了《基于MATLAB的数字滤波器设计与仿真》这个课题作为毕业设计其主要目的是通过此次课程设计进一步学习和巩固数字信号处理及相关知识,并学会利用所学的知识能在设计过程中能综合运用所学知识内容,进一步熟悉和掌握matlab 的使用方法;对数字滤波器的技术指标,滤波特性以及各种设计方案有一个深入的了解;为即将进入社会参加工作打下坚实的基础; 掌握收集资料、消化资料和综合资料的能力等等。

1.1.3 意义

从事电子通信业而不能熟练操作使用matlab软件,在工作和学习中将是寸步难行的。在数学、电子、金融等行业,使用matlab等计算机软件对产品进行设计、仿真在很早以前就已经成为了一种趋势,这类软件的问世也极大地提高了设计人员在通信、电子等行业的产品设计质量与效率。众所周知,数字滤波器在数字信号处理中起着非常重要的作用,在信号的过滤、检测与参数的估计等方面,是使用最为广泛的一种线性系统。而实现数字滤波器的方法有两种,一是采用计算机软件进行,就是把所要完成的工作通过程序让计算机来实现;二是设计专用的数字处理硬件。这个地方主要用到的就是第一种方法。即是用matlab提供的信号处理工具箱来实现数字滤波器。

本文FIR数字滤波器设计时Matlab软件使用的是Matlab7.0。

1.2国内外研究现状

20世纪60年代起,由于计算机技术、集成工艺和材料工业的发展,滤波器的发展上了一个新台阶,朝着低功耗、高精度、小体积、多功能、稳定可靠和价廉等方向努力,其中高精度、小体积、多功能、稳定可靠成为70年代以后的主攻方向,导致数字滤波器、RC有源滤波器、开关电容滤波器和电荷转移器等各种滤波器的飞速发展。到70年代后期,上述几种滤波器的单片集成己被研制出来并得到应用,90年代至现在主要致力于把各类滤波器应用于各类产品的开发和研制。当然,对滤波器本身的研究仍在不断进行。

1.3研究内容

随着集成电路技术的发展,各种新型的大规模和超大规模集成电路不断涌现集成电路技术与计算机技术结合在一起,使得对数字信号处理系统功能的要求越来越强。在数字信号处理中数字滤波占有极其重要的地位。数字滤波在语音信号、图象处理模式识别和谱分析等领域中的一个基本的处理技术。本设计基于matlab软件,完成FIR 数字滤波器的设计,再利用simulink结合FDATool界面进行滤波器仿真,设计出虚拟滤波器,并通过DSP实现。

FIR数字滤波器设计的常用方法包括窗函数法、频率采样法和最优化法等。本次设计在了解了数字滤波器设计原理的基础上,分别采用了不同的方法对低通、带通滤波器进行设计,并比较用不同方法设计滤波器的频率特性和衰减特性。最后,对设计的滤波器输入一个混合信号,用以检测其性能。

1.4研究方法

本篇基于matlab采用窗函数法、频率采样法和以及matlab的FDAtool工具箱设计FIR数字滤波器,在利用Simulink软件进行仿真。

1.5 Matlab简介

Matlab是由美国MathWorks公司与1982年推出的一套高性能的数值计算和可视化软件,它集数值分析、矩阵运算、信号处理和图形显示于一体。在Matlab内部配备了涉及到自动化控制、信号处理和计算机仿真的呢个种类繁多的工具箱,所以Matlab的应用非常广泛,它可涉足于数值分析、控制、信号分析和通信等多种领域。Matlab不仅可完成基本代数运算操作,而且还可完成矩阵函数运算,提供丰富的实用函数命令。另外,用户还可以根据自己的需要编写函数。

Matlab的信号处理工具箱是专门应用于信号处理领域的专用工具箱,它的两个基本组成就是滤波器的设计与实现部分以及频谱分析部分。工具箱提供了众多功能强大的函数,是原来繁琐的程序设计简化成函数的调用。只要以正确的指标参数调用相应的滤波器设计程序或工具箱函数,便可以得到正确的设计结果,实用非常方便。

1.6 Matlab的特点

Matlab具备高性能的数值计算能力和可视化的科学工程计算功能,支持解释性语言输入,编程实现简单,具有丰富的数学函数功能支持。Matlab允许C、Fortran 语言接口,其部件Simulink可以采用图形输入的方式来搭建所研究的系统。包含丰富的工具包,在系统仿真、数字信号处理、图形图像分析、数理统计、通信以及自动化控制领域得到广泛的应用。

1.7 Matlab的系统组成

MATLAB有一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。

MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。

1.8 论文提纲

本篇共分为四个部分:第一部分介绍课题研究的目的和Matlab软件;第二部分系统的介绍数字滤波器的基本原理,并通过比较IIR和FIR两种数字滤波器各自的特点,及设计方案,说明本篇选择设计仿真FIR数字滤波器;第三部分是FIR数字滤波器设计的具体方案,主要Matlab程序设计,并分别不同的设计方法;第四部分主要应用Simulink对FIR数字滤波器进行仿真,并采用软件自带的FDAtool工具及不同的FIR数字滤波器。第五部分是浅析用MATLAB辅助DSP实现FIR数字滤波器。

第2章 数字滤波器的基本原理

2.1 数字滤波器的原理

所谓数字滤波器(DIGItal Filter )是指输入、输出都是离散时间信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件或程序。因此,数字滤波器的概念和模拟滤波器相同,只是信号的形式和实现滤波的方法不同。正因为数字滤波器通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活、不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。如果要处理的是模拟信号,可以通过A/DC 和D/AC,在信号形式上进行匹配转换,同样可以实用数字率比起对模拟数字滤波器。所以,数字滤波器在数字信号处理中起着非常重要的作用,在信号的过滤、检测与参数的估计等方面,是使用最为广泛的一种线性系统。

2.2 数字滤波器的分类

2.2.1分类

按照不同的分类方法,数字滤波器有许多种类,但是总起来说可以分成两大类:经典滤波器和现代滤波器。经典滤波器的特点是其输入信号中有用的频率成分和希望滤除的频率成分各占有不同的频带,通过一个合适的选频滤波器滤除干扰,得到纯净信号,达到滤波的目的。

但是,如果信号和干扰的频谱相互重叠,则经典滤波器不能有效地滤除干扰,最大限度的恢复信号,这时就需要现代滤波器,例如维纳滤波器、卡尔曼滤波器、自适应滤波器等最佳滤波器。现代滤波器是根据随机信号的一些统计特性,在某种最佳准则下,最大限度地抑制干扰,同时最大限度地恢复信号,从而达到最佳滤波的目的。

经典数字滤波器从滤波特性上分类,可以分成低通、高通、带通、带阻等滤波器。它们的理想幅频特性如图2-2-1所示。这种理想滤波器是不可能实现的,因为它们的单位脉冲响应均是非因果且无限长的,我们只能按照某些准则设计滤波器,是之在误差容限内逼近理想滤波器,理想滤波器可作为逼近的标准。另外,需要注意的是,数字滤波器的频率响应函数()j e H 都是以2π为周期的,低通滤波器的通频带中心位于2π的整数倍处,而高通滤波器的通频带中心位于π的奇数倍处,这一点和模拟滤波器是有区别的。一般在数字频率的主值[π,π]描述数字滤波器的频率响应特性。

图2-2-1理想幅频特性图

数字滤波器从实现的网络结构或者从单位脉冲响应的长度,可以分为无限长单位响应(IIR )滤波器和有限长单位脉冲响应(FIR )滤波器。它们的系统函数分别为:

()11M r j j z N

k k k b

z H a z -=-==+∑∑

(2-2-2)

1

()()0N n z n n H h z --==∑

(2-2-3)

(1)式中的()z H 称为N 阶IIR 数字滤波器系统函数;(2)式中()z H 称为N-1阶FIR 数字滤波器系统函数。这两种数字滤波器的设计方法有很大区别。以下做个简单的比较:

2.2.2 FIR 数字滤波器和IIR 数字滤波器的比较

首先,从性能上来说,IIR 滤波器系统函数的极点可位于单位圆内的任何地方,因此零点和极点相结合,可用较低的阶数获得较高的选择性,所用的存储单元少,计算量少,所以经济高效。但是这个高效率是以相位的非线性为代价的。相反,FIR 滤波器却可以得到严格的线性相位,然而由于FIR 滤波器系统函数的极点固定在原点,因而只能用较高的阶数达到高的选择性;对于同样的滤波器幅频特性指标,FIR 滤波器所要求的阶数一般比IIR 滤波器高5~10倍,使成本较高,信号延时也较大;如果按相同的选择性和相同的线性相位要求来说,则IIR 滤波器就必须加全通网络进行相位校正,同样要大大增加滤波器的阶数和复杂性。

从结构上看,IIR 滤波器必须采用递归结构,极点位置必须在单位圆内,否则系统将不稳定。另外,在这种结构中,由于运算过程中对序列的舍入处理,这种有限字长效应有时会引起寄生振荡。相反,FIR 滤波器主要采用非递归结构,不论在理论上还是实际的有限精度运算中都不存在稳定性问题,运算误差引起的输出信号噪音功率也较小。此外,FIR 滤波器可以采用FFT 算法实现,在相同阶数的条件下,运算速度可以大大提高。

从设计工具看,IIR 滤波器可以借助成熟模拟滤波器设计成果,因此一般都有封闭形式的设计公式可供准确计算,计算工作量比较小,对计算工具的要求不高。FIR 滤波器计算通带和阻带衰减等仍无现式表达式,其边界频率也不易精确控制。一般FIR 滤波器的设计只有计算程序可循,因此对计算工具要求较高。但在计算机普及的现在,很容易实现其设计与计算。

另外,也应该看到,IIR 滤波器虽然设计简单,但主要是用于设计具有片段常数特性的选频型滤波器,如低通,高通,带通及带阻等,往往脱离不了几种典型模拟滤波器的频响特性的约束。而FIR 滤波器则要灵活的多,易于适应某些特殊的应用,如构成微分器或积分器,或用于巴特沃斯,切比雪夫等逼近不可能达到预定指标的情况,例如由于某些原因要求三角形幅频响应或一些更复杂的幅频响应形状,因而FIR 滤波器有更大的适应性和更广阔的应用场合。

从上面的简单比较可以看到,IIR 与FIR 滤波器各有所长,所以在实际应用时应该全面考虑加以选择。例如,从使用要求上看,在相对要求不敏感的场合,如通讯等,选IIR 滤波器较为合适,这样可以充分发挥其经济高效的特点;而对于图像信号处理,数据传输等以波形携带信号的系统,则对线性相位要求较高,采用FIR 滤波器较好。

本篇主要介绍FIR 滤波器的设计与仿真。

2.3 数字滤波器的技术要求

(1)低通滤波器设计指标

逼近带通:[0,]p ω,通带最大衰减:p dB α;逼近阻带:[,]s ωπ;阻带

最小衰减:s dB α。

Remezord 调用参数:

12(,),[0,1],[,]p s f m rip ωωδδππ

=== (2-3-1)

其中,f 向量省去了起点频率0和终点频率1,1δ和2δ 分别为通带和阻带波纹幅度,下同。

(2)高通滤波器设计指标

逼近通带;[,]p ωπ,通带最大衰减:p dB α,逼近组带:[0,]s ω,阻带最小衰减:s dB α。

Remezord 调用参数:

12(,),[0,1],[,]p s f m rip ωωδδππ

=== (2-3-2)

(3)带通滤波器设计指标

逼近阻带:1[,]p pu ωω,通带咀大衰减:p dB α;逼近阻带:

1[0,],[,]s su ωωπ,阻带最小衰减:s dB α。

Remezord 调用函数:

11212(,,,),[0,1,0],[,,]p pu s su f m rip ωωωωδδδππππ

=== (2-3-3)

(4)带阻滤波器设计指标

逼近阻带:1[,]s su ωω,通带最大衰减:s dB α;逼近阻带:1[0,],[,]p pu ωωπ,最大阻带衰减:p dB α。

Remezord 调用参数:

11121(,,,),[1,0,1],[,,]p pu s su f m rip ωωωωδδδππππ

===

(2-3-4)

第3章 Fir 数字滤波器的设计

IIR 数字滤波器的设计方法是利用模拟滤波器成熟的理论及设计图表进行设计的,因而保留了一些典型模拟滤波器优良的幅度特性。但设计中只考虑了幅度特性,没考虑相位特性,需哦以设计的滤波器相位特性一般是非线性的,为了得到线性相位特性,对IIR 滤波器必须另外增加相位校正网络,使滤波器设计变得复杂,成本较高。FIR 滤波器在保证幅度特性满足技术要求的同时,很容易做到严格的线性相位特性。设FIR 滤波器单位脉冲响应()n h 长度为N ,其系统函数

1()()0N n z n n H h

z --==∑

(3-1-1 )

()z H 是1z -的(1)N -次多项式,在z 平面上有(1)N -个零点,

原点0z =是(1)N -阶重极点。因此()z H 永远稳定。稳定和线性相位特性是FIR 滤波器突出的优点。

3.1窗函数法设计FIR 滤波器

3.1.1窗函数法介绍

用窗函数法设计FIR 数字滤波器,这种方法的基本原理是用一定宽度的窗函数截取无限脉冲响应序列获得有限脉冲响应序列,从而得到FIR 滤波器的有限脉冲响应,故称窗函数设计法。为了获取线性相位,FIR 滤波器()n h 必须满足中心对称条件:

()(1)h n h N n =--或()(1)

h n h N n =--- (3-1-2)

加窗后是实际频率响应偏离理想频率响应,主要影响有三个方面: (1) 理想幅频特性陡直边缘处形成过渡带,过度宽带取决于矩形窗函数频率响应的主瓣宽度。

(2) 过渡带两侧形成剑锋和波纹,这是矩形窗函数频率响应的旁瓣引起的,旁瓣相对值越大,旁瓣越多,博文越多。

(3) 随窗函数宽度N 的增大,矩形窗函数频率响应的旁瓣宽度减小,但不改变旁瓣的相对值。

为了改善FIR 滤波性能,要求窗函数的主瓣宽度尽可能窄,以获得较窄的过渡带;旁瓣相对值尽可能小,数量尽可能少,以获得通带波纹小,阻带衰减大,在通带和阻带内均平稳的特点,这样可使滤波器实际频率响应更好的逼近理想频率响应。

窗函数法是利用理想脉冲响应与窗函数乘积的方法给出了传递函数的设计方法。MATLAB 将这种方法复合成一个函数,提供基于上述原理设计标准型FIR 滤波器的工具函数。

(1)、fir1函数介绍

Fir1是采用经典窗函数法设计线性相位FIR 滤波器的函数,且具有标准低通,带通,高通,带阻等类型。函数调用格式为:b=fir1(n,wn,?ftype?,window)。

式中n 为滤波器的阶数,对于高通、带阻滤波器n 必须去偶数;wn 为滤波器截止频率,范围0~1(归一化频率)。对于带通、带阻,wn=[w1,w2](w1

为窗函数,其长度为n+1,缺省时自动取汉明窗。

(2)、fir2函数介绍

Fir2用于设计具有任意形状频率响应的FIR 滤波器,多用于多频带滤波器的设计。函数调用格式为:b=fir2(n,f,npt,window)。

式中f 和m 分别为滤波器期望幅值的频率响应的频率向量和幅值向量,取值范围为0~1(归一化频率)。F,m 具有相同的长度,如f=0:0.1:1,

M=[0 0 1 1 0 1 1 1 0 0];npt 为对频率响应进行内插的点数,缺省时为512;其余参数与fir1相同。

3.1.2窗函数设计原理

设希望逼近的滤波器频率响应函数为()

(1)h n h N n =---,其单位脉冲响应是()d n h 。

()()j j n d n d e n H h e ωω∞-=-∞=

(3-1-3) ()

()12c

j c j n d n d e h H e d ωωωωωπ-=? (3-1-4) 如果能够有已知的()j d e H ω求出()

d n h ,经过Z 变换可得到滤波器的系统函数。但通常以理想滤波器作为()j d

e H ω,其幅度特性逐段恒定,在边界

频率处有不连续点,因而()d n h ,是无限时宽的,且是非因果序列。例如,线性相位理想低通滤波器的频率响应函数()j d e H ω为 (){............0..................j c j c e d e H ωαωωωωωπ-≤<≤=

(3-1-5)

其单位脉冲响应()d n h 为 ()sin[()]12()c c j j n c d n n h e e d n ωωαωωωαωππα---==-?

(3-1-6)

3.1.3 FIR 滤波器设计实例

例1:窗函数设计法 设理想带阻滤波器频率响应为

102/5()0

2/53/513/5jw H e ωππωππωπ≤

利用Kaiser 窗函数,设计长度为55的阻带滤波器,使阻带衰减为60dB 。参数β

可由上式确定α ()0.11028.7βα=- 其中α=60。

MATLAB 程序(附录程序一 )

带阻滤波器幅频特性实现如图3-1-1所示:

图3-1-1 带阻滤波器幅频特性

例2:设计一个FIR带通滤波器,滤波器阶数为48阶,通带截止归一化频率为0.35和0.65,滤波器的窗函数使用汉明窗。输入一个混合信号为x=sin(2*pi*f1*t)+sin(2*pi*f2*t)+sin(2*pi*f3*t),f1=1Hz,f2=10Hz,f3=20Hz,采样频率为Fs=50Hz,将原信号通过滤波器信号进行对比。

编写的MATLAB的M文件,程序为(附录程序二),程序运行后的结果如图(3-1-2)和图(3-1-3)所示:

图3-1-2 滤波器的幅频特性(上)和相频特性(下)

图3-1-3 输入信号与滤波前后信号的波形图和频谱图 要求的通带归一化频率为0.35到0.65,对应采样频率为50Hz 的通带频率范围为

8.75Hz 到16.75Hz (50/2*0.35=8.75Hz ,50/2*0.65=16.75Hz ).由图3-1-2的幅频特性图中可以看出,带通滤波器通频带约为wn=[8.74,16.75],而汉明窗的第一瓣相对衰减为-41dB ,从图中可以看出满足多有设计要求。从相频特性图中可以看出,在同频带范围内的相位频率为一条直线,表明该滤波器为线性相位,符合FIR 的一般点。

由图3-1-3为检测滤波器输入信号和滤波器输出信号,输入信号中含有1Hz 、10Hz 和20Hz 的混合信号,根据图3-1-3可知,1Hz 和20Hz 的信号在频率阻带范围内,不能通过该滤波器,只有10Hz 的信号可以通过该滤波器,输出结果也证明了这一点。滤波器相位的相位延迟根据48/2*0.02=0.48得到,与图中相符合。从输入信号和输出信号的频谱图中可以更加清晰的看出滤波前后的频率变化。从而验证了所设计的滤波器的滤波性能。

3.2 频率采样法设计FIR 数字滤波器

3.2.1频率采样法的基本思想

设希望逼近的滤波器的频率响应函数用()j d e H ω 表示,对()j d e H ω 在

0ω=到2π之间等间隔采样N 点,得到()d k H :

()()2j d k d e k N H H ωπω== k=0,1,2,…,N -1

(3-2-1)

在对()d k H 进行N 点IDFT ,得到()n h :

()1

()01N kn n N d k k h H w N --==∑ n=0,1,2,…,N -1 (3-2-2) 将()n h 作为所设计的FIR 滤波器的单位脉冲响应,其系统函数()z H 为

1

()0()n n

z k H h n z --==∑ (3-2-3) 另外根据频率域采样理论,得到()z H 内插表示形式: ()1()1011N n d k z k

k N H z H N W z ----=-=-∑

(3-2-4) 此式就是直接利用频率采样值 形成滤波器的系统函数,(3)式适合FIR 直接型网络结构,(4)式适合频率采样结构。

3.2.2 FIR 滤波器设计实例

例1:设计一个FIR 低通滤波器,满足性能指标:滤波器阶数为40阶,截止频率为fc=10Hz ,阻带衰减不小30dB,通带波纹不大于3dB 。假设输入混合x=sin(2*pi*f1*t)+sin(2*pi*ft*t),f1=5Hz,f2=20Hz,采样频率为Fs=50Hz,将原信号与通过滤波器的信号进行比较。

有题意,阻带衰减不小于30dB ,选择汉宁窗,因为汉宁窗的第一瓣相对衰减为31dB ,满足要求。编写的 MATLAB 的M 文件程序为(附录程序三),程序运行后结果如图3-2-1和图3-2-3所示:

图3-2-1滤波器的幅频特性(上)和相频特性(下)

从(图3-2-1 )幅频特性图中可以看出,低通滤波器通带边界wp=8Hz,阻带边界ws=12Hz,截止频率fc=10Hz;在小于8Hz的频段上,几乎看不到下降,既满足通带波纹小于3dB的要求;在大于12Hz的频段上阻带衰减大于30dB,满足所有设计要求。从想品特性图中可以看出,在通带范围内相位频率为一条直线,表明该滤波器为线性相位,这与前面所分析的结果相一致。

图(3-2-2)了滤波器的输入信号和滤波器输出信号,输入信号是包括5Hz和20Hz 的混合信号,有图(3-2-1)可知,20Hz的信号不能通过该滤波器,通过滤波器后只剩下5Hz的信号,输出结果也证明了这一点。从输入信号和输出信号的频谱图中可以更加清晰的看出滤波前后的频率变化情况。从而证明了所设计的滤波器的滤波性能。

简单低通滤波器设计及matlab仿真

东北大学 研究生考试试卷 考试科目: 课程编号: 阅卷人: 考试日期: 姓名:xl 学号: 注意事项 1.考前研究生将上述项目填写清楚. 2.字迹要清楚,保持卷面清洁. 3.交卷时请将本试卷和题签一起上交. 4.课程考试后二周内授课教师完成评卷工作,公共课成绩单与试卷交研究生院培养办公室, 专业课成绩单与试卷交各学院,各学院把成绩单交研究生院培养办公室. 东北大学研究生院培养办公室

数字滤波器设计 技术指标: 通带最大衰减: =3dB , 通带边界频率: =100Hz 阻带最小衰减: =20dB 阻带边界频率: =200Hz 采样频率:Fs=200Hz 目标: 1、根据性能指标设计一个巴特沃斯低通模拟滤波器。 2、通过双线性变换将该模拟滤波器转变为数字滤波器。 原理: 一、模拟滤波器设计 每一个滤波器的频率范围将直接取决于应用目的,因此必然是千差万别。为了使设计规范化,需要将滤波器的频率参数作归一化处理。设所给的实际频 率为Ω(或f ),归一化后的频率为λ,对低通模拟滤波器令λ=p ΩΩ/,则1 =p λ, p s s ΩΩ=/λ。令归一化复数变量为p ,λj p =,则p p s j j p Ω=ΩΩ==//λ。所以巴 特沃思模拟低通滤波器的设计可按以下三个步骤来进行。 (1)将实际频率Ω规一化 (2)求Ωc 和N 11010/2-=P C α s p s N λααlg 1 10 110lg 10 /10/--= 这样Ωc 和N 可求。 p x fp s x s f

根据滤波器设计要求=3dB ,则C =1,这样巴特沃思滤波器的设计就只剩一个参数N ,这时 N p N j G 222 )/(11 11)(ΩΩ+= += λλ (3)确定)(s G 因为λj p =,根据上面公式有 N N N p j p p G p G 22)1(11 )/(11)()(-+= += - 由 0)1(12=-+N N p 解得 )221 2exp(πN N k j p k -+=,k =1,2, (2) 这样可得 1 )21 2cos(21 ) )((1 )(21+-+-= --= -+πN N k p p p p p p p G k N k k 求得)(p G 后,用p s Ω/代替变量p ,即得实际需要得)(s G 。 二、双线性变换法 双线性变换法是将s 平面压缩变换到某一中介1s 平面的一条横带里,再通过标准变换关系)*1exp(T s z =将此带变换到整个z 平面上去,这样就使s 平面与z 平面之间建立一一对应的单值关系,消除了多值变换性。 为了将s 平面的Ωj 轴压缩到1s 平面的1Ωj 轴上的pi -到pi 一段上,可以通过以下的正切变换来实现: )21 tan(21T T Ω= Ω 这样当1Ω由T pi -经0变化到T pi 时,Ω由∞-经过0变化到∞+,也映射到了整个Ωj 轴。将这个关系延拓到整个s 平面和1s 平面,则可以得到

matlab滤波器设计

长安大学 数字信号处理综合设 计 专业_______电子信息工程_______ 班级__24030602___________ 姓名_______张舒_______ 学号2403060203 指导教师陈玲 日期_______2008-12-27________

一、课程设计目的: 1. 进一步理解数字信号处理的基本概念、基本理论和基本方法; 2.熟悉在Windows环境下语音信号采集的方法; 3.学会用MATLAB软件对信号进行分析和处理; 4.综合运用数字信号处理理论知识,掌握用MATLAB软件设计FIR和IIR数字滤波器的方法; 5. 提高依据所学知识及查阅的课外资料来分析问题解决问题的能力。 二、课程设计内容: 1.语音信号的采集 利用windows下的录音机录制一段自己的话音,时间控制在1秒左右;并对语音信号进行采样,理解采样频率、采样位数等概念。 2.语音信号的频谱分析 利用函数fft对采样后语音信号进行快速傅里叶变换,得到信号的频谱特性。 3.设计数字滤波器 采用窗函数法和双线性变换法设计下列要求的三种滤波器,根据语音信号的特点给出有关滤波器的性能指标: 1)低通滤波器性能指标,fp=1000Hz,fc=1200Hz, As=100dB,Ap=1dB; 2)高通滤波器性能指标,fc=4800Hz,fp=5000Hz ,As=100dB,Ap=1dB; 3)带通滤波器性能指标,fp1=1200Hz,fp2=3000Hz,fc1=1000Hz,fc2=3200Hz,As=100dB,Ap=1dB。 4.对语音信号进行滤波 比较用两种方法设计的各滤波器的性能,然后用性能好的滤波器分别对采集的语音信号进行滤波;并比较滤波前后语音信号的波形及频谱,分析信号的变化。 5.回放语音信号,感觉滤波前后的声音变化。 三、实验原理 (一)基于双线性Z变换法的IIR数字滤波器设计 由于的频率映射关系是根据推导的,所以使jΩ轴每隔2π/Ts便映射到单位圆上一周,利用冲激响应不变法设计数字滤波器时可能会导致上述的频域混叠现象。为了克服这一问题,需要找到由s平面到z平面的另外的映射关系,这种关系应保证: 1) s平面的整个jΩ轴仅映射为z平面单位圆上的一周; 2) 若G(s)是稳定的,由G(s)映射得到的H(z)也应该是稳定的; 3) 这种映射是可逆的,既能由G(s)得到H(z),也能由H(z)得到G(s); 4) 如果G(j0)=1,那么。 双线性Z变换满足以上4个条件的映射关系,其变换公式为

滤波器设计MATLAB

数字信号处理

第一章概述 《数字信号处理》课程是通信专业的一门重要专业基础课,是信息的数字化处理、存储和应用的基础。通过该课程的课程设计实践,使我们对信号与信息的采集、处理、传输、显示、存储、分析和应用等有一个系统的掌握和理解,巩固和运用在《数字信号处理》课程中所学的理论知识和实验技能,掌握数字信号处理的基础理论和处理方法,提高分析和解决信号与信息处理相关问题的能力,为以后的工作和学习打下基础。 数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。 其中,设计IIR数字滤波器一般采用间接法(脉冲响应不变法和双线性变换法),应用

最广泛的是双线性变换法。 我们在课本中学到基本设计过程是: ①先将给定的数字滤波器的指标转换成过渡模拟滤波器的指标; ②设计过渡模拟滤波器; ③将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。 而MATLAB信号处理工具箱中的各种IIR数字滤波器设计函数都是采用双线性变换法。第六章介绍的滤波器设计函数butter、cheby1 、cheby2 和ellip可以分别被调用来直接设计巴特沃斯、切比雪夫1、切比雪夫2和椭圆模拟和数字滤波器。 第二章总体方案设计 首先我将所给信号用MATLAB作图分析,然后通过观察st的幅频特性曲线,确定用高通滤波器作为处理信号的滤波器。选取滤波器的通带最大衰减为,阻带最小衰减为60dB为参数。 然后通过编程序调用MATLAB滤波器设计函数ellipord和ellip设计椭圆滤波器;通过编程序调用函数cheb1ord和cheby1设计切比雪夫滤波器,并绘图显示其幅频响应特性曲线。最后使用用滤波器实现函数filter,用两个滤波器分别对信号st进行滤波后绘图显示时域波形,观察滤波效果。 实验程序框图如图所示:

基于matlab的数字滤波器设计

淮北煤炭师范学院 2009届学士学位论文 基于MA TLAB的数字滤波器设计 学院、专业物理与电子信息学院 电子信息科学与技术 研究方向基于MATLAB的数字滤波器设计 学生姓名耿博 学号200513432024 指导教师姓名邹锋 指导教师职称讲师 2009 年4 月18

基于MATLAB的数字滤波器设计 耿博 (淮北煤炭师范学院物理与电子信息学院235000) 摘要随着信息时代和数字世界的到来,数字信号处理已成为今一门极其重要的学科和技术领域。数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理应用中,数字滤波器十分重要并已获得广泛应用。 数字滤波是数字信号处理的重要内容,数字滤波器可分为IIR和FIR两大类。对于IIR数字滤波器的设计,需要借助模拟原型滤波器,再将模拟滤波器转化为数字滤波器,文中采用的设计方法是脉冲响应不变法、双向性变换法和完全函数设计法;对于FIR数字滤波器的设计,可以根据所给定的频率特性直接设计,文中采用的设计方法是窗函数法。本文根据IIR滤波器和FIR滤波器的特点,在MATLAB坏境下分别用双线性变换法设计IIR和用窗函数设计FIR数字滤波器,并对采集的语音信号进行分析,最后给出了IIR和FIR对语音滤波的效果。 关键词数字滤波器;IIR ;FIR ;MATLAB

The Design of Digital Filter based on MATLAB Geng Bo School of Physics and Electronics Information, Huaibei Coal Industry Teachers? College, 235000 ABSTRACT Along with the information age and the digital world arrival, the digital signal processing has become a now extremely important discipline and the area of technology.The digital signal processing in the correspondence, the multitudinous domains the pronunciation such as the image, the automatic control, the radar, the military, the aerospace, the medical service and the domestic electric appliances and so on have obtained the widespread application.In the digital signal processing application, the digital filter are extremely important and have obtained the widespread application. The digital filter are the digital signal processing important content, the digital filter may divide into IIR and the FIR two main kinds. As for the IIR digital filter design, we need the help of analog prototype filter, and then transform analog filter into digital filter. In the paper we use the design of the pulse response invariable method, the bilinear method and full function design; as for the FIR filter, we can design it directly based on the giving frequency, in the paper it uses the design of the window function.This article according to the IIR filter and the FIR filter characteristic, uses the bilinearity method of transformation under the MATLAB bad boundary to design IIR and to design the FIR numeral filter separately with the window box number, and carries on the analysis to the gathering pronunciation signal, and finally gives IIR and FIR to the pronunciation filter effect. Keywords Digtial Filter;IIR;FIR;MATLAB

关于滤波器设计的matlab函数简表

关于滤波器设计、实现的Matlab函数分类函数名功能说明 滤波器分析 (求幅频、相频响应)abs求模值 angle求相角 freqs模拟滤波器的频率响应freqz数字滤波器的频率响应grpdelay群延迟 impz脉冲响应(离散的)zplane画出零极点图 fvtool滤波器可视化工具 滤波器实现(求输入信号通过滤波器的响应)conv/conv2卷积/二维卷积 filter求信号通过滤波器的响应 IIR滤波器阶数估算buttord巴特沃斯滤波器阶数估算 cheb1ord切比雪夫Ⅰ型滤波器阶数估算 cheb2ord切比雪夫Ⅱ型滤波器阶数估算 ellopord椭圆滤波器阶数估算 IIR数字滤波器设计(求系统函数H(z))butter cheby1 cheby2 ellip 模拟低通滤波器原型(归一化的)buttap模拟低通巴特沃斯滤波器原型cheb1ap模拟低通切比雪夫Ⅰ型滤波器原型cheb2ap模拟低通切比雪夫Ⅱ型滤波器原型ellipap模拟低通椭圆滤波器原型besselap模拟低通贝塞尔滤波器原型 模拟低通滤波器设计(求系统函数H(s))butter巴特沃斯滤波器设计cheby1切比雪夫Ⅰ型滤波器设计cheby2切比雪夫Ⅱ型滤波器设计ellip椭圆滤波器设计besself贝塞尔滤波器设计 模拟滤波器频带变换lp2bp低通→带通 lp2bs低通→带阻 lp2hp低通→高通 lp2lp低通→低通 滤波器离散化(由模拟滤波器得到数字滤波器)bilinear脉冲响应不变法impinvar双线性变换法 FIR滤波器设计fir1基于窗函数的FIR滤波器设计 fir2基于窗函数的任意响应FIR滤波器设 计 窗函数boxcar矩形窗 rectwin矩形窗 bartlett三角窗

数字滤波器的MATLAB设计与DSP上的实现

数字滤波器的MAT LAB设计与 DSP上的实现 数字滤波器的MATLAB 设计与DSP上的实现 公文易文秘资源网佚名2007-11-15 11:56:42我要投稿添加到百度搜藏 摘要:以窗函数法设计线性相位FIR数字滤波器为例,介绍用MATLAB工具软件设计数字滤波器的方法和在定点DSP上的实现。实现时,先在CCS5000仿真开发,然后将程序加载到TMS320VC5409评估板上实时运行,结果实现了目标要求。文中还讨论了定标、误差、循环寻址等在DSP上实现的关键问题。关键词 摘要:以窗函数法设计线性相位 FIR数字滤波器为例,介绍用 MATLAB工具软件设计数字滤波器的方法和在定点DSP上的实现。实现时,先在 CCS5000仿真开发,然后将程序加载到 TMS320VC5 409评估板上实时运行,结果实现了目标要求。文中还讨论了定标、误差、循环寻址等在DSP上实 现的关键问题。 关键词:数字滤波器MATLAB DSP 引言 随着信息时代和数字世界的到来,数字信号处理已成为今一门极其重要的学科和技术领域。数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应

用。在数字信号处理应用中,数字滤波器十分重要并已获得广泛应用。 1数字滤波器的设计 1.1数字滤波器设计的基本步骤 数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR )滤波器和有限长冲激响应(FIR )滤波器。IIR滤波器的特征是,具有无限持续时间冲激响应。种滤波器一般需要用递归模型来实现,因而有时也称之为递归滤波器。FIR滤波器的冲激响应只能延续一定时间, 在工程实际中可以采用递归的方式实现,也可以采用非递归的方式实现。数字滤波器的设计方法有多种,如双线性变换法、窗函数设计法、插值逼近法和Chebyshev逼近法等等。随着 MATLAB软件尤 其是MATLAB的信号处理工作箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计达到最优化。 数字滤波器设计的基本步骤如下: (1确定指标 在设计一个滤波器之前,必须首先根据工程实际的需要确定滤波器的技术指标。在很多实际应用中,数字滤波器常常被用来实现选频操作。因此,指标的形式一般在频域中给岀幅度和相位响应。幅度指标主要以两种方式给岀。第一种是绝对指标。它提供对幅度响应函数的要求,一般应用于FI R滤波器的设计。第二种指标是相对指标。它以分贝值的形式给岀要求。在工程实际中,这种指标最受欢迎。对于相位响应指标形式,通常希望系统在通频带中人有线性相位。运用线性相位响应指标进行滤波器设计具有如下优点:①只包含实数算法,不涉及复数运算;②不存在延迟失真,只有固定数量的延迟;③长度为N的滤波器(阶数为N-1),计算量为N/2数量级。因此,本文中滤波器的设计就以线性相位FIR滤波器的设计为例。 (2)逼近

基于matlab的FIR数字滤波器设计(多通带,窗函数法)

数字信号处理 课程设计报告 设计名称:基于matlab的FIR数字滤波器设计 彪

一、课程设计的目的 1、通过课程设计把自己在大学中所学的知识应用到实践当中。 2、深入了解利用Matlab设计FIR数字滤波器的基本方法。 3、在课程设计的过程中掌握程序编译及软件设计的基本方法。 4、提高自己对于新知识的学习能力及进行实际操作的能力。 5、锻炼自己通过网络及各种资料解决实际问题的能力。 二、主要设计内容 利用窗函数法设计FIR滤波器,绘制出滤波器的特性图。利用所设计的滤波器对多个频带叠加的正弦信号进行处理,对比滤波前后的信号时域和频域图,验证滤波器的效果。 三、设计原理 FIR 滤波器具有严格的相位特性,对于信号处理和数据传输是很重要的。 目前 FIR滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。常用的是窗函数法和切比雪夫等波纹逼近的最优化设计方法。本实验中的窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求高的时候是比较灵活方便的。 如果 FIR 滤波器的 h(n)为实数, 而且满足以下任意条件,滤波器就具有准确的线性相位: 第一种:偶对称,h(n)=h(N-1-n),φ (ω)=-(N-1)ω/2 第二种:奇对称,h(n)=-h(N-1-n), φ(ω)=-(N-1)ω/2+pi/2 对称中心在n=(N-1)/2处 四、设计步骤 1.设计滤波器 2.所设计的滤波器对多个频带叠加的正弦信号进行处理 3.比较滤波前后信号的波形及频谱 五、用窗函数设FIR 滤波器的基本方法 基本思路:从时域出发设计 h(n)逼近理想 hd(n)。设理想滤波器的单位响应在时域表达为hd(n),则Hd(n) 一般是无限长的,且是非因果的,不能

matlab数字滤波器设计程序

%要求设计一butterworth低通数字滤波器,wp=30hz,ws=40hz,rp=0.5,rs=40,fs=100hz。>>wp=30;ws=40;rp=0.5;rs=40;fs=100; >>wp=30*2*pi;ws=40*2*pi; >> [n,wn]=buttord(wp,ws,rp,rs,'s'); >> [z,p,k]=buttap(n); >> [num,den]=zp2tf(z,p,k); >> [num1,den1]=impinvar(num,den); Warning: The output is not correct/robust. Coeffs of B(s)/A(s) are real, but B(z)/A(z) has complex coeffs. Probable cause is rooting of high-order repeated poles in A(s). > In impinvar at 124 >> [num2,den2]=bilinear(num,den,100); >> [h,w]=freqz(num1,den1); >> [h1,w1]=freqz(num2,den2); >>subplot(1,2,1); >>plot(w*fs/(2*pi),abs(h)); >>subplot(1,2,2); >>plot(w1*fs/(2*pi),abs(h1)); >>figure(1); >>subplot(1,2,1); >>zplane(num1,den1); >>subplot(1,2,2); >>zplane(num2,den2);

高级数字滤波器设计及Matlab实现

高级数字滤波器设计及Matlab 实现 利用Parks-McClellan 算法设计线性相位FIR 滤波器 一、 算法原理 长度为2n+1的线性相位数字滤波器的传输函数为:20 ()n k k k G z h Z -== ∑。当 Z=exp(j T ω)=exp(2j F π)时,可得到频率响应: ()exp(2)cos 2n k k G F j nF d k F ππ==-∑ exp(2)()j F H F π=- 其中2n k k d h -=,k=0,……,n-1,0n d h = max ()()()W F D F H F - 对于一个理想的低通滤波器上式中的H(F)可以表示为: 误差加权函数: 允许设计者自己给定通带和阻带内的误差范围。令p s B B A = ,设计长度为2n+1的线性相位低通滤波器只要找到k d 并使得m a x ()()()W F D F H F -最小。 设空间A 是[0,1/2]的封闭子空间,为了使0 ()cos 2n k k H F d kF π== ∑是D(F) 在A 上唯一的最佳逼近,加权误差方程()()[()()]E F W F D F H F =-在A 上至少要有n+2个交错点。因此1()()i i E F E F E -=-=±,011,n i F F F F A +<∈ ,

max ()E E F =。算法的流程如图1所示。 对于给定的n+2个频率点,需要计算n+2个方程: ()(()())(1)k k k k W F H F D F ρ-=-- 写成矩阵的形式就是: 图 1.

0000001 1 1 1 1011 1 1 1 11 1cos 2cos 4cos 2()()11cos 2cos 4cos 2()()()(1)1cos 2cos 4cos 2()n n n n n n n F F nF W F d D F d F F nF D F W F d D F F F nF W F ππππππρπππ++++++?? ???? ?? ?? ??-????????????=??????????????????-?? ????? ? 通过该方程组可得: 其中: 利用拉格朗日插值公式可得: 这里 利用求得的H(F)求出误差函数E(F)。如果对所有的频率都有()E F ρ≤,说明ρ是纹波极值,交错频率点121,n F F F + 是交错频率点。若存在某些频率使得()E F ρ>,说明初始交错点组中的某些点需要交换。 对于上次确定的121,n F F F + 中每一点,都检查其附近是否存在某一频率 ()E F ρ>,如果有再在该点附近找出局部极值点,并用该,点代替原来的

基于MATLAB的滤波器设计

基于MATLAB 的滤波器设计 摘 要:利用MA TLAB 设计滤波器,可以按照设计要求非常方便地调整设计参数,极大地减轻了设计的工作量,有利于滤波器设计的最优化。Matlab 因其强大的数据处理功能被广泛应用于工程计算,其丰富的工具箱为工程计算提供了便利,利用Matlab 信号处理工具箱可以快速有效地设计各种数字滤波器,设计简单方便。本文介绍了在MATLAB R2011a 环境下滤波器设计的方法和步骤。 关键词:滤波器,matlab ,FIR ,IIR Abstract :By using MATLAB , we can design filters and modify the filters’parameters conveniently according to our demands. This relieves greatly design work loads and makes for optimization of filter designing. Matlab can be widely used in engineering calculations because of its powerful functions of data processing. Its rich toolbox makes the calculations easy. With Matlab signal processing toolbox, various digital filters can be designed effectively in simple way. This article introduce the methods and processes in the circumstance of MATLAB R2011a. Keywords :filter ,matlab ,fdatool 1.滤波器的原理 凡是可以使信号中特定的频率成分通过,而极大地衰减或抑制其他频率成分的装置或系统都称之为滤波器,相当于频率“筛子”。 滤波器的功能就是允许某一部分频率的信号顺利的通过,而另外一部分频率的信号则受到较大的抑制,它实质上是一个选频电路。 滤波器中,把信号能够通过的频率范围,称为通频带或通带;反之,信号受到很大衰减或完全被抑制的频率范围称为阻带;通带和阻带之间的分界频率称为截止频率;理想滤波器在通带内的电压增益为常数,在阻带内的电压增益为零;实际滤波器的通带和阻带之间存在一定频率范围的过渡带。 a .理想滤波器的频率特性 理想滤波器:使通带内信号的幅值和相位都不失真,阻喧内的频率成分都衰减为零的滤波器,其通带和阻带之间有明显的分界线。 如理想低通滤波器的频率响应函数为 0()()jw t C H jw A l W W Ω-=≤ 或 ()0()C H jw W W =>理想滤波器实际上并不存在。 b .实际滤波器 实际滤波器的特性需要以下参数描述: 1)恒部平均值A0:描述通带内的幅频特性;波纹幅度:d 。 2)上、下截止频率:以幅频特性值为A0/2时的相应频率值WC1,WC2作为带通滤波器的上、下截止频率。带宽21C C B W W =-。

基于MATLAB的数字滤波器设计

基于matlab的数字滤波器设计 摘要:本文介绍的是数字滤波器在MATLAB环境下的设计方法。数字滤波是数字信号处理的重要内容,在实际应用中有非常大的作用。我们研究的数字滤波器可分为IIR和FIR两大类。对于IIR数字滤波器的设计,我们需要借助模拟原型滤波器,然后再将模拟滤波器转化为数字滤波器,文中采用的设计方法是脉冲响应不变法、双向性变换法和完全函数设计法;对于FIR数字滤波器的设计,可以根据所给定的频率特性直接设计,文中采用的设计方法是窗函数法。根据IIR 滤波器和FIR滤波器的特点,本文在MATLAB坏境下分别用双线性变换法设计IIR和用窗函数设计FIR数字滤波器,并让这两种滤波器对采集的语音信号进行分析和比较,经过分析,最后给出了IIR和FIR对语音滤波的效果,并总结这两种滤波器在MATLAB环境下设计方法的优缺点。 关键词:数字滤波器;IIR ;FIR ;MATLAB

The Design of Digital Filter based on MATLAB Abstract:This article describes a digital filter in the MATLAB environment design. Digital filtering is an important part of digital signal processing which is playing a very big role in practice .The digital filter we studied can be divided into two categories——IIR and FIR. For the IIR digital filter design, we will need the help of simulation prototype filter, analog filters and then converted it into digital filter For the IIR digital filter design .The design methods used in the text is the same impulse response method, bi-sexual transformation and full function design ;We can based on the frequency characteristics of the given direct design, design method used in the text is the window function for FIR digital filter design. Based on the characteristics of IIR filter and FIR filters ,the bad paper in the MATLAB environment under the bilinear transformation method were used to design IIR and FIR with window function digital filter design and filters to capture both the voice signal analysis and compare. Through analysis of IIR and FIR Finally, the effect of filtering on the speech, and concluded the advantages and disadvantages in the two filter design methods in the MATLAB environment. Key words: Digital Filter ;IIR;FIR;MATLAB

FIR数字滤波器设计及MATLAB使用要点

数字信号处理课程设计 《数字信号处理》 课程设计报告 FIR数字滤波器设计及MATLAB实现 专业:通信工程 班级:通信1101班 组次:第9组 姓名及学号: 姓名及学号:

目录 一、设计目的 (3) 二、设计任务 (3) 三、设计原理 (3) 3.1窗函数法 (3) 3.2频率采样法 (4) 3.3最优化设计 (5) 3.3.1等波纹切比雪夫逼近准则 (5) 3.3.2仿真函数 (6) 四、设计过程 (7) 五、收获与体会 (13) 参考文献 (13)

FIR数字滤波器设计及MATLAB实现 一、设计目的 FIR滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基 本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性, 同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR 滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。滤波器设 计是根据给定滤波器的频率特性,求得满足该特性的传输函数。 二、设计任务 FIR滤波器设计的任务是选择有限长度的() H e满足一定 h n,使传输函数()jw 的幅度特性和线性相位要求。由于FIR滤波器很容易实现严格的线性相位,所以FIR 数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。 设计过程一般包括以下三个基本问题: (1)根据实际要求确定数字滤波器性能指标; (2)用一个因果稳定的系统函数去逼近这个理想性能指标; (3)用一个有限精度的运算去实现这个传输函数。 三、设计原理 FIR滤波器设计的任务是选择有限长度的() H e满足一定 h n,使传输函数()jw 的幅度特性和线性相位要求。由于FIR滤波器很容易实现严格的线性相位,所以FIR数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。 设计过程一般包括以下三个基本问题: (1)根据实际要求确定数字滤波器性能指标; (2)用一个因果稳定的系统函数去逼近这个理想性能指标; (3)用一个有限精度的运算去实现这个传输函数。 3.1窗函数法 设计FIR数字滤波器的最简单的方法是窗函数法,通常也称之为傅立叶级数法。FIR数字滤波器的设计首先给出要求的理想滤波器的频率响应()jw H e,设计 d

用Matlab设计FIR滤波器的三种方法

用MATLAB信号处理工具箱进行FIR滤波器设计的三种方法 摘要介绍了利用MATLAB信号处理工具箱进行FIR滤波器设计的三种方法:程序设计法、FDATool设计法和SPTool设计法,给出了详细的设计步骤,并将设计的滤波器应用到一个混和正弦波信号,以验证滤波器的性能。 关键词 MATLAB,数字滤波器,有限冲激响应,窗函数,仿真 1 前言 数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。与IIR滤波器相比,FIR的实现是非递归的,总是稳定的;更重要的是,FIR滤波器在满足幅频响应要求的同时,可以获得严格的线性相位特性。因此,它在高保真的信号处理,如数字音频、图像处理、数据传输、生物医学等领域得到广泛应用。 2 FIR滤波器的窗函数设计法 FIR滤波器的设计方法有许多种,如窗函数设计法、频率采样设计法和最优化设计法等。窗函数设计法的基本原理是用一定宽度窗函数截取无限脉冲响应序列获得有限长的脉冲响应序列,主要设计步骤为: (1) 通过傅里叶逆变换获得理想滤波器的单位脉冲响应hd(n)。 (2) 由性能指标确定窗函数W(n)和窗口长度N。 (3) 求得实际滤波器的单位脉冲响应h(n), h(n)即为所设计FIR滤波器系数向量b(n)。 (4) 检验滤波器性能。 本文将针对一个含有5Hz、15Hz和30Hz的混和正弦波信号,设计一个FIR带通滤波器,给出利用MATLAB实现的三种方法:程序设计法、 FDATool设计法和SPTool设计法。参数要求:采样频率fs=100Hz,通带下限截止频率fc1=10 Hz,通带上限截止频率 fc2=20 Hz,过渡带宽6 Hz,通阻带波动0.01,采用凯塞窗设计。 2 程序设计法 MATLAB信号处理工具箱提供了各种窗函数、滤波器设计函数和滤波器实现函数。本文的带通滤波器设计及滤波程序如下: [n,Wn,beta,ftype]=kaiserord([7 13 17 23],[0 1 0],[0.01 0.01 0.01],100); %得出滤波器的阶数n=38,beta=3.4 w1=2*fc1/fs; w2=2*fc2/fs;%将模拟滤波器的技术指标转换为数字滤波器的技术指标 window=kaiser(n+1,beta);%使用kaiser窗函数

matlab设计滤波器程序

Fs=1000; t=0.1:1/Fs:0.3; A=1; B=fir1(100,[0.12 0.18],'bandpass');%fir1基于窗函数的有限脉冲响应滤波器 X=3*sin(2*pi*80*t)+sqrt(5)*randn(1,length(t)); subplot(2,2,1) plot(t,X) title('叠加白噪声的正弦信号') xlabel('time (seconds)') X1=3*sin(2*pi*80*t); subplot(2,2,2) plot(t,X1) title('正弦信号') xlabel('time (seconds)') Y=filter(B,A,X); subplot(2,2,3) plot(t,Y) title('Hamming窗滤波后的信号') xlabel('time (seconds)') B=fir1(100,[0.12 0.18],'bandpass',kaiser(101)); Y1=filter(B,A,X); subplot(2,2,4) plot(t,Y1) title('bartlett窗滤波后的信号') xlabel('time (seconds)') B=fir1(100,[0.12 0.18],'bandpass',barthannwin(101)); Y2=filter(B,A,X); subplot(2,2,4) plot(t,Y1) title('barthannwin窗滤波后的信号') xlabel('time (seconds)') figure(2) Xk=fft(X1); Mk=abs(Xk); subplot(2,2,1) stem(Mk)

基于MATLAB的数字滤波器设计(DOC)

目录 1 引言 (1) 2 设计任务 (2) 2.1设计内容 (2) 2.2设计要求 (2) 3 语音信号的采集及时频分析 (3) 3.1语音信号的采集 (3) 3.2语音信号的时频分析 (3) 4 基于MATLAB的数字滤波器的设计 (5) 4.1数字滤波器的设计 (5) 4.1.1数字滤波器的基本概念 (5) 4.1.2 IIR滤波器设计思想 (5) 4.2IIR数字滤波器设计 (5) 4.2.1 IIR低通滤波器设计 (5) 4.2.2 IIR带通滤波器设计 (7) 4.2.3 IIR带通滤波器设计 (9) 5 合成信号及其滤波 (12) 5.1合成信号 (12) 5.2合成信号滤波 (13) 6 设计系统界面 (15) 6.1系统界面设计工具—GUI概述 (15) 6.2界面设计及使用说明 (15) 7 心得体会 (18) 参考文献 (19) 附录 (20)

1 引言 数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。它在语音、雷达、图像、系统控制、通信、航空航天、生物医学等众多领域都获得了极其广泛的应用。具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等优点。 数字滤波器, 是数字信号处理中及其重要的一部分。随着信息时代和数字技术的发展,受到人们越来越多的重视。数字滤波器可以通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。数字滤波器种类很多,根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种,即有限冲激响应( FIR,Finite Impulse Response)滤波器和无限冲激响应( IIR,Infinite Impulse Response)滤波器。 IIR滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。同时,IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。 MATALB 可以创建图形用户界面GUI (GraphicalUser Interface) ,它是用户和计算机之间交流的工具。MATLAB 将所有GUl 支持的用户控件都集成在这个环境中并提供界面外观、属性和行为响应方式的设置方法,随着版本的提高,这种能力还会不断加强。而且具有强大的绘图功能,可以轻松的获得更高质量的曲线图。 滤波器的设计可以通过软件或设计专用的硬件两种方式来实现。随着MATLAB软件及信号处理工具箱的不断完善,MATLAB很快成为应用学科等领域不可或缺的基础软件。它可以快速有效地实现数字滤波器的设计、分析和仿真,极大地减轻了工作量,有利于滤波器设计的最优化。

滤波器设计与信号处理的matlab实现(2014年12月)

滤波器设计与信号处理的MATLAB 实现 庞 勇 2014年12月 1. IIR 滤波器设计和MATLAB 实现 1.1 IIR 滤波器设计原理 对于IIR 滤波器设计,我们主要学习的是由模拟滤波器设计数字滤波器的方法,设计思路和流程如图: 目的满足 先设计 基于第3步由模拟滤波器向数字滤波器的转化方式,IIR 滤波器设计方法分为“脉冲响应不变法”和“双线性变换法”,由于“脉冲响应不变法”存在混叠误差的缺陷,因此一般我们多选“双线性变换法”,而对于第2步模拟滤波器的设计,我们主要学习的是巴特沃斯设计方法,因此这里以“巴特沃斯滤波器双线性变换”设计法为例来阐述IIR 滤波器的设计方法和matlab 实现。 “巴特沃斯滤波器双线性变换”设计法的设计流程: 终始DF 指标 DF () c H s () d H z 11 211z s T z ---= +

原理解释: δ1δ-1+δ 222p T tg 1-1+2 s T 2 2() c H j Ω2p T ω 2 δ1 1δ-1 1+δ2 s T ω(d p ωs ω0 δ1δ-1 1+π 其中巴特沃斯模拟滤波器设计流程为: 1+2 δ1δ-δH 得两点代入()j ΩN Ωj A 点代入 ()H Ω得c H(s)H(-s)极点分布:共2N 个共圆c Ω等角距N π 1.2 “巴特沃斯滤波器双线性变换”设计法的matlab 实现: 按照设计原理和流程,每一步都可以在matlab 里进行编程计算,因此完全可以编程实现从技术指标到系统函数的整个计算,并且matlab 的信号处理工具箱已经把这整个计算过程编成函数供人们直接调用,我们只要了解这个函数的使用方法就可以了。

matlab工具箱设计滤波器

MATLAB中用FDATool设计滤波器及使用 该文章讲述了MATLAB中用FDATool设计滤波器及使用. 1. 在Matlab中键入fdatool运行Filter Design and Analysis Tool。具体使用请参见Matlab Help中的Signal Processing Toolbox->FDATool。 2. 在fdatool工具中应该注意的几个问题:(a)Fstop(阻带截止频率)不能大于或等于采样频率Fs/2,这是由于数字滤波器设计的方式决定的。(b)将设计好的滤波器导出,可以采用两种方式Export the filter either as filter coefficients variables or as a dfilt or mfilt filter object variable。(详细说明参见Matlab Help中的Signal Processing Toolbox-> FDATool-> Exporting a Filter Design。 导出:File---Export弹出EXPORT对话框,选择“Export As”为“Objects”,“Varable Names”可以更改,默认为Hd。 3. (a)如果导出的是dfilt or mfilt filter object variable,则可以用[b, a] = tf(Hd)将dfilt filter object转换为传递函数形式,然后用d=filter(b,a,x); 使用这个滤波器。其中:filter是默认函数,b、a是刚刚设计的传递函数参数,x是原始采集信号,d为滤波后的信号。x=importdata('E:\matlab_work\xy\bb\O6.txt'); N=length(x); %取长度 fs=4000; %采样频率 t=(0:N-1)/fs; 输出Hd; [b,a]=tf(Hd);%得到传递函数 d=filter(b,a,x); subplot(311); plot(t,x); title('原始信号'); xlabel('t'); ylabel('y'); grid on; 基于fdatool工具的数字滤波器的matlab设计 数字滤波器的matlab设计 1.1 fdatool界面设计 1.1.1 fdatool的介绍 fdatool(filter design & analysis tool)是matlab信号处理工具箱里专用的滤波器设计分析工具,matlab6.0以上的版本还专门增加了滤波器设计工具箱(filter design toolbox)。fdatool可以设计几乎所有的基本的常规滤波器,包括fir和iir的各种设计方法。它操作简单,方便灵活。

相关主题
文本预览
相关文档 最新文档