吉林大学珠海学院
毕 业 论 文
FIR数字滤波器的MATLAB设计与实现 MATLAB design and implementation of
FIR digital filter
系 别: 专 业: 姓 名: 学 号: 指导教师姓名、职称:
电子信息系 自动化 ******** 教授
完 成 日 期 2015 年 4 月 2 日
吉林大学珠海学院本科毕业设计开题报告
选 题 院 系 学生姓名 FIR数字滤波器的MATLAB设计与实现 电子信息系 专 业 指导教师 自动化 本选题的意义及国内外发展状况: 在高度信息化的时代,数字信号充斥着我们的生活。传统用电容、电感等模拟器件搭建的模拟滤波器应用较单一,只要修改器件参数,则需重新搭建硬件,这样的模拟滤波器不足以满足人们的需求。回想起以前专业课程上曾介绍过的数字滤波器迅猛的发展势头,数字滤波器已在逐步占据很多模拟滤波器的应用领域。因为数字滤波器在重量方面轻和体积方面的小,使它便于携带且应用灵活;在运算和应用效果方面表现出的高性能,让它在日常生活中占据着重要的地位。 然而数字滤波器不是一种单一的存在,它具有两个分支,分别为有限长单位冲激响应滤波器和无限长单位冲激响应滤波器,即FIR型和IIR型数字滤波器。通过频域法和时域法的运算结果作对比,比较出FIR数字滤波器更容易取得线性相位且其传递函数无极点,更容易满足设计要求。 现今的社会生活方式,从早起的手机闹铃音乐,到日间的电脑工作,电视、电台等等的娱乐,数字滤波器的应用充斥着我们一整天的生活。数字滤波器广泛应用在各类控制系统和近代电信设备中,它在通信方面的影像处理和声音处理,在雷达和声纳等方面的反馈系统和在生物医学信号处理等领域取得较突出的成果。不仅如此,数字滤波器还被应用于军事上的导航、侦察,分析经济效益上的利润高低和监测空气环境中的污染物和干扰噪音的分贝。 数字滤波器在我国各行各业中都有应用,近年来应用范围更加广泛。我国拥有的滤波器种类和应用技术基本满足我国的社会需求。总体而言,数字滤波器我国的发展历程较模拟滤波器的发展历程显得缓慢。 研究内容: 本论文分别通过窗函数法、频率采样法和最优等波动设计法这三种方法研究如何在MATLAB软件上设计出FIR数字滤波器,然后分析仿真得到的数据,比较各方法的优劣。 1. 确定设计方法。 2. 设置各种参数。 3. 在MATLAB上设计并进行仿真。 4. 对比分析各种方法的仿真情况。
1
研究方法、手段及步骤: 1. 初步了解数字滤波器在实际生活中的意义与作用。 2. 进一步了解FIR数字滤波器与IIR数字滤波器的差别。 3. 明确自己要研究的内容及FIR数字滤波器的研究办法。 4. 进行MATLAB的设计与仿真。 5. 观察仿真结果。 参考文献: [1]董长虹,《Matlab信号处理与应用》国防工业出版社 2005.1 [2]钟麟,王峰,《MATLAB仿真技术与应用教程》国防工业出版社 2004.1 [3]车晴,《电子系统仿真与MATLAB》北京广播学院出版社 2006.3 [4]陈亚勇,《MATLAB信号处理详解》人民邮电出版社 2001 [5][美]维纳·K·英格尔(Vinay K.Lngle),约翰·G·普罗克斯(John G.Proakis),《数字信号处理(MATLAB版)》西安交通大学出版社 2013.7 [6]Rafael C.Gonzalez/Richard E.Woods/Steven L.Eddins,Digital Image Processing Using MATLAB ,Gatesmark Publishing,2009 2
FIR数字滤波器的MATLAB设计与实现
摘要
随着社会的数字化进程,灵活性不足的模拟滤波器无法迎合社会的需求。寻求一种可以稳定、快捷和灵活地将夹杂在所需信号中的干扰去除的方法,成为人们研究的课题。
通过对比数字滤波器和模拟滤波器得知,数字滤波器在体积和重量方面的便携性,在使用方面的灵活性,在运算和应用效果方面表现出的高性能等优点。而且,数字滤波器可以利用数字芯片或计算机软件来进行仿真,数据改变时可以通过软件改变其参数即可改变滤波器的性能,继续投入工作。这对于提高企业工作效率和节约企业生产成本方面有重大影响。数字滤波器具备的这些优点是使它成为数字信号处理的重要组成部分的因素之一。
本文主要讨论在MATLAB 操作环境下,通过窗函数法、频率采样法和最优等波动设计法设计出FIR数字滤波器。经过Simulink仿真绘制出相应的图像曲线,对比信号滤波前后的图像,分析不同滤波器的性能。
关键词:数字信号;数字滤波器;MATLAB;Simulink
3
MATLAB design and implementation
of FIR digital filter
Abstract
With digitization of society, lack of flexibility, analog filters can not meet the needs of the community. Find a stable, fast and flexibly be mixed in the desired signal in the interference removal method, become an issue for researchers.
By comparing the digital filter and the analog filter that, the digital filter in terms of volume and weight of portability, flexibility in the use of, in terms of operation and application of results showing the advantages of high performance. Moreover, the digital filter can use a digital chip or computer software to simulate, you can change when the data changes its parameters can be changed by software filter performance, continue to work. This has a significant impact in improving business productivity and save production costs. These digital filters have the advantage of making it one of the factors important for digital signal processing part.
This article focuses on operating in the MATLAB environment, through the window function method, frequency sampling method and optimal design method, such as fluctuations in the FIR digital filter design. After Simulink simulation draw curves corresponding image, image contrast signal before and after filtering, analysis of the performance of different filters. Keywords: digital signal; digital filter; MATLAB,;Simulink
4
目录
1 绪论 .................................................................. 1
1.1 选题背景 ........................................................ 1 1.2 课题意义 ........................................................ 1 1.3 国内外对本课题的研究情况 ........................................ 2 1.4 本文主要的研究内容 .............................................. 2 2 MATLAB仿真技术 ....................................................... 2
2.1 MATLAB在国内外的发展状况 ....................................... 3 2.2 MATLAB仿真简介 ................................................. 3 2.3 计算机仿真的概况 ................................................ 4
2.3.1 计算机仿真的步骤 .......................................... 4 2.3.2 计算机仿真的优点 .......................................... 4 2.3.3计算机仿真的缺点 .......................................... 5 2.4 MATLAB设计的FIR滤波器具有以下优点 ............................. 5 3 数字滤波器 ............................................................ 6
3.1 数字滤波器及其结构 .............................................. 6 3.2 FIR数字滤波器 .................................................. 7 3.3 IIR数字滤波器 .................................................. 8
3.3.1 在MATLAB中设计IIR滤波器的典型步骤如下 ................... 9 3.3.2 IIR滤波器的特点 .......................................... 9 3.4 与IIR 数字滤波器比较,FIR数字滤波器的优缺点 .................... 9
3.4.1 优点 ...................................................... 9 3.4.2 缺点 ...................................................... 9
4 FIR数字滤波器的设计方法 ............................................. 10
4.1 窗函数法 ....................................................... 10
4.1.1 用窗函数法设计FIR数字滤波器的步骤 ....................... 11 4.1.2 几种常见的窗函数 ......................................... 11 4.1.3 用窗函数法设计FIR数字滤波器的示例 ....................... 12 4.2 频率采样法 ..................................................... 14
4.2.1 用频率采样法设计FIR数字滤波器的步骤: ................... 14 4.2.2 频率采样法的一些特性 ..................................... 15 4.2.3 用频率采样法设计FIR数字滤波器的示例 ..................... 15 4.3最优等波动法 ................................................... 16
5
4.4 在MATLAB上设计与实现FIR数字滤波器 ............................ 19
4.4.1 FDATool工具 ............................................. 19 4.4.2 FDATool对滤波器进行分析 ................................. 19 4.4.3 数字滤波器的实现 ......................................... 20
5 结论 ................................................................. 22 附录 ................................................................... 23 参考文献 ............................................................... 28 致谢 ................................................................... 29
6
1 绪论
1.1 选题背景
由于计算机和集成电路在技术中不断取得成功,使得社会逐步往数字化、智能化方面发展。像人们日常生活中接触最多的视频影像、语音通话、图像信息等等,都需要经过信号处理。而在信号处理的过程中,信号经常会受到外界干扰。如何滤除干扰信号,给用户还原出清晰、真实的信号,这需要用到滤波器。
作为一种可以选择频率的装置,滤波器可以选择性通过信号中某个固定频率范围的信号,同时尽可能的衰减信号中的干扰频率。面对巨大的信号处理量,传统模拟滤波器固定硬件的应用条件显然不能满足需求,数字滤波器可以通过软件或者数字芯片在电脑上实现仿真显得更为灵活、方便和快捷。
滤波器的应用广泛多样,不同的应用方式对滤波器的性能也有不同的要求。滤波器的性能与它的设计息息相关。因此,人们越来越重视对数字滤波器的设计。
1.2 课题意义
目前,数字信号处理技术正在高速发展,它不仅是一门专业的学科,而且以不同的方式影响着其他的学科。它在不断的扩大它的应用范围,逐渐改变着我们的生活。
数字信号处理,通过用数算对输入序列进行傅里叶变换等各种处理,把接收到的信号转换成符合需要的形式。数字滤波器经过某些运算关系可以滤除信号中干扰频率成分或者改变信号中频率的大小和相对比例。数字滤波器已成为信号处理学科的重要组成部分。信号的接收、传输,处理和交换功能都需要用到滤波器。它对信号是否能够安全稳定和精确灵活地传输起着至关重要的作用。
数字滤波器在所有的电子应用系统中操作技术最复杂且使用频率最高。数字滤波器的优劣直接决定信号还原的质量。面对巨大的信息处理量,如何设计出一个灵活、方便好用的数字滤波器,受到越来越多人的关注。因此,本课题的内容具有深远的研究意义。
1
1.3 国内外对本课题的研究情况
国外在40年代末期有人就研究过关于数字滤波器的可能性问题。在50年代时也曾有人就数字滤波在研究生班中开展过讨论。美国的库利、图基在60年代中期通过总结已有的研究成果的基础上,再经历长时间的研究,逐步开始形成一套关于完整的数字滤波器的结构正规理论。70年代以后,如何让滤波器的功能更多、体积更小、性能更稳定和精度更高成为滤波器的主攻方向。由于科学家们的不断研究和开发,使得RC有源滤波器、开关电容滤波器、数字滤波器等各种滤波器得到飞速的发展。科学家们在70年代后期已研制出开关电容滤波器、RC有源滤波器和数字滤波器的集成单片,并得到应用。从90年代至现在,科学家们把精力集中在如何将各类滤波器应用到各种产品的开发和研制中。
50年代后期,滤波器在我国的很多领域都得到大面积的应用。再经历半个世纪的不断发展,我国的数字滤波器在研发、生产和应用等方面都得到快速的发展。但是,因缺乏专门研发的机构,使得我国许多新型滤波器的研发应用与国际发展有一段距离。伴随着电子技术在我国的飞速发展,很多国内的专家、教授开始在数字滤波领域进行长期的深入研究,如在山东大学任教的赖晓平教授和在天津大学任教的王兆华教授等。他们不管是在工程技术领域方面还是在理论知识方面,都创造出很多科研成果。
1.4 本文主要的研究内容
本文通过窗函数法、频率采样法和最优等波动设计法这三种不同的方法去设计FIR数字滤波器,绘制出FIR数字滤波器的特性图。将多个不同频率的正弦信号合成为一个输入信号,设计一个对应要求的滤波器,通过设计滤波器滤除合成信号中的干扰信号,对比滤波前合成信号和滤波后信号的频域和时域图,检查滤波器的滤波效果。
2
2 MATLAB仿真技术
2.1 MATLAB在国内外的发展状况
MATLAB虽然在国内高校中流传和应用了已经十余年的时间,但包含MATLAB方面知识的教材在理工科专业和专业基础教材中的,就目前的状况在国内还实在不多见。我国主管教育的部门曾在前几年提出指导性意见,意见主要针对MATLAB软件平台。国家指导构建一个以MATLAB为主体的软件计算平台,这会影响国内理工科高等教育的教学发展方针,同时便于激发我国未来的储备人才在信息化计算平台上的潜力。
目前欧美高校中理工科教材与MATLAB知识存在关联的主要分为三个方面。第一个方面,将MATLAB相关的知识内容另编成册,保持原有教材不变。早在20世纪80年代的中后期这个方面的教材就已面世。第二个方面,全部保留原教材或对其内容稍作修改,然后在教材内容中增添的章节介绍MATLAB的应用和处理的知识。早在20世纪90年代初这个方面的教材就已面世。第三个方面,大刀阔斧地摒弃了原教材中不符合现代需求的设计程式和分析方法。这类教材较晚地出现在21世纪初。
2.2 MATLAB仿真简介
美国Math Works公司在1984年推出MATLAB(Matrix Laboratory)这款产品,它具备了强大的数值运算能力、设计灵活的程序流程、高质量的界面设计与图形可视化、与其他语言和程序便捷的读出读入功能。自面世以来,MATLAB在实践对它的检验、市场的对它筛选和时间对它的凝练中一步一个脚印的走了过来,如今已发展成一个集建模仿真、实时实现、概念设计、算法开发于一体的集成操作平台并衍生出许多子集工具。
作为优秀的仿真计算软件代表,MATLAB展现了它在众多的计算机仿真软件中表现优秀的功能,如:从数据的收集到计算、函数和数据的可视化到自动控制、设计成果在系统上的仿真到分析图形处理等功能。MATLAB在航空航天、生物医学,通信工程方面都获得了极大的用武之地。广大学生可以通过使用MATLAB来辅助学习数字线性系统、信号处理、自动控制、通信原理等课程;科研工作者可以通过MATLAB进行算法的开发和理论的研究;通过MATLAB操作,工程师可以对系统级进行优化设计与仿真。
3
2.3 计算机仿真的概况
通过实验来运行系统模型,根据运行结果来改进和完善一个设计中或已存在的系统称为仿真。伴随着不断丰富和完善的仿真理论,以及计算机技术的快速发展和高性能的计算机软件操作平台的操作简单、方便,仿真技术不断地得到提高,而且它的应用范围也越来越广泛。在目前的科研过程中,仿真技术的出现有效地缩短了研究的周期、提高了科学研究水平、降低了科学研究成本和风险、加快了不同学术领域间的交流和融合,促使将科研成果投入到生产应用中。计算机软件仿真技术操作简单且成本低廉的优点让更多人能接触到它,且有利于扩大其应用范围。
2.3.1 计算机仿真的步骤
建立一个有效的仿真系统的步骤如下: (1)仿真系统 (2)提出仿真问题; (3)分析仿真系统; (4)收集所需的数据;
(5)搭建系统的计算机仿真模型; (6)验证仿真模型; (7)确认仿真模型; (8)设计仿真试验; (9)运行仿真模型; (10)分析仿真结果。
2.3.2 计算机仿真的优点
(1)仿真计算精度高; (2)使用方便,修改参数容易;
(3)安全、高效且环境条件影响因素较少; (4)采用程序控制,自动化程度高。
计算机仿真被应用在越来越多的领域上,现已成为集设计、运行、分析、评价、培训系统(尤其是复杂系统)于一体的研究和开发重要工具。
4
2.3.3计算机仿真的缺点
(1)计算机软件仿真的速度较慢,因为它是通过“串行”计算,; (2)对于反应较快的系统进行实时仿真有一定困难。
2.4 MATLAB设计的FIR滤波器具有以下优点
(1)它们有确切的线性相位。 (2)它们一般是稳定的。
(3)设计方法一般来说都是线性的。
(4)使用硬件方法可以很容易的实现这些滤波器。
5
3 数字滤波器
3.1 数字滤波器及其结构
输入信号通过系统的变换和计算,对信号中各个的频率的相对大小和相位做出相应的改变,滤波的效果甚至能完全去除某些特定的频率。数字滤波器在数字信号处理的应用中发挥着重要的作用,采集回来的数据通过滤波器进行数算处理,从而达到滤波的效果。数算处理的操作方法分两种:频域法和时域法。
频域法,通过FFT快速算法对输入信号进行离散傅立叶变换,分析信号在频谱图中的频率结构、频率与信号幅度之间的关系。根据理想的频率特性和灵活性,发现频谱特性与信号频率是相乘的关系,因此计算等价时频域法比时域卷积的计算速度要快。通过对离散的抽样数据进行数学差分运算从而达到滤波效果的方法是时域法。
频率响应在一个或多个不同频率的频段内表现为常数;而频率响应在其他频率的频段内表现为零,具有这种频率特性的滤波器称为理想的选择性频率滤波器。这类理想的选择性频率滤波器可分为高通、低通、带阻、带通四种,如图3-1。滤波器通带频段内允许信号完全通过,完全不允许信号通过的频段称为阻带。
图3-1 连续时间理想频率选择性滤波器的频率特性
理想滤波器椒不可实现的,要寻找一种可实现且性能接近理想滤波器特性的途径。实际上,输入信号中干扰信号与有用信号并不是截然分开的,具有一定的过渡在二者之间。
表3-1理想滤波器与非理想滤波器的特征比较表
理想滤波器特征 通带绝对平缓,衰减为零 阻带平坦,衰减为 无过渡带
非理想滤波器特征 通带内允许有起伏,有一定的衰减范围1 阻带内允许有起伏,有一定的衰减范围2 有一定的过渡带宽度 6
为了达到这一目标,人们通常会使用非理想滤波器来完成,理想特性被非理想滤波器利用一个可实现的频率特性不断去逼近。非理想滤波器越逼近理想特性,出来的结果则越精确。同时在实际应用过程中需付出更高的代价,且系统的复杂程度也越大。非理想滤波器以容限方式表现出其频率特性,如图3-2。
图3-2 非理想滤波器的容限
通常把偏离单位增益的1称为通带起伏,2称为阻带起伏,p称为通带边缘,s为阻带边缘,sp为过渡带。
工程实际中常用的逼近方式有以下几种,它们都是从滤波器的频幅特性出发逼近理想低通的模特的模特性的。
(1)Butterworth滤波器:通带单调衰减且以平伏的状态逼近、阻带呈单调衰减状态。
(2)Chebyshev滤波器:通带呈现等起伏状态,阻带表现单调,或通带表现单调,阻带呈现等起伏状态。
(3)Cauer滤波器:通带、阻带均等起伏。
以滤波器的相位特性为起点,逼近理想的线性相位特性有:
(1)Bassel滤波器:通过最平伏的群时延逼近理想的线性相位特性。
(2)Chebyshev包络时延滤波器:通过等起伏的包络时延逼近理想的线性相位特性。 (3)Gauss滤波器。
3.2 FIR数字滤波器
单位长度为N的FIR滤波器,其系统函数和脉冲响应分别为z和hn:
z
nhnzn07
N1 (3-1)
z是z1的(N-1)N-次展开多项式,它在z平面上的(N-1)阶重极点是z=0的原
点且具有有(N-1)个零点。因此,z永远稳定。 线性相位条件:
对于长度为N的hn,传输函数为
e
jhnen0N1jn (3-2)
jjege (3-3)
式中,
g称为幅度特性,称为相位特性。
满足第一类线性相位的条件是:hn是实序列且对(N-1)/2偶对称,即
hnhNn1 (3-4)
当N为奇数时,可以设计各类滤波器。
当N为偶数时,可以设计带通和低通滤波器,不能设计带阻和高通滤波器。
hn对(N-1)/2奇对称且是实序列的情况,符合第二类线性相位的要求,即
hnhNn1 (3-5)
N的单位长度为奇数时,仅可以设计带通滤波器,不可以设计其他滤波器。 N的单位长度为偶数时,可以用于设计带通、高通滤波器,但不可以设计低通和带阻滤波器。
3.3 IIR数字滤波器
系统函数表现为式(3-6)的滤波器是无限脉冲响应(IIR)滤波器:
zbr0NMrzrk1
ak1zk (3-6)
8
3.3.1 在MATLAB中设计IIR滤波器的典型步骤如下
(1)根据给出的设计要求和参数,获得相对应的模拟低通滤波器的技术指标。 (2)进行模拟低通滤波器原型设计。
(3)通过频率转换获得相对应的高通(带阻、带通等)模拟滤波器。
(4)最后通过变换,将s域的数据映射到z域,就可得到设计所需的数字滤波器。
3.3.2 IIR滤波器的特点
(1)可以用封闭函数的形式来表达系统函数。 (2)采用递归型结构。
(3)在设计思路和方法上可借鉴模拟滤波器的设计方式。 (4)相位校准网络可以满足对相位的高要求。
3.4 与IIR 数字滤波器比较,FIR数字滤波器的优缺点
3.4.1 优点
(1)在数字信号处理和数据传输的过程中,因为干扰,信号很可能产生相位失真,FIR数字滤波器能够实现严格的线性相位,避免相位失真情况;
(2)因传递函数无极点,不存在稳定性问题;
(3)有限长序列的非因果性与因果性状况,可以通过一定的延时在两者间进行转换; (4)无反馈运算,运算误差小。
3.4.2 缺点
(1)阶数越高,过渡带特性越好;
(2)若设计结果无法利用模拟滤波器,一般要设计程序通过计算机进行计算,无解析设计公式可供使用。
9
4 FIR数字滤波器的设计方法
4.1 窗函数法
考察一个线性相位的理想低通数字滤波器:
deje0jc c (4-1)
通过加窗处理,可以把一个无限长非因果序列截取为一个有限长的因果序列。 序列被截短从而要使用窗函数的根本目的是消除Gibbs现象所造成的影响。 假设
c0.6,分别考虑窗长N=81、40;N=61、30;N=41、20三种情
况,程序见附录中(1)。幅频响应如图4-1。
图4-1 加矩形窗后的幅频响应
无限长序列在频域上不稳定是因在时域上对其长度进行了截短,即加窗处理。阻带上的起伏会随着窗口截取长度的逐渐增大而逐渐减小,而且过渡带也会随着变窄。
吉布斯现象(Gibbs):通过傅立叶变换对周期函数的离散性采样数据进行展开后,选取有限项数据并将其合成为波形图。选取越多的有限项,合成的波形图中的峰起越逼近原信号的离散性采样数据。
10
4.1.1 用窗函数法设计FIR数字滤波器的步骤
(1)根据FIR数字滤波器的性能要求,确定滤波器单位脉冲响应长度N,临界频率{
k}。
(2)根据性能要求选择奇偶对称性合理的单位脉冲响应hn,幅频特性和相频特性
由理想频率响应
dej确定。
hdn(3)计算理想的单位脉冲响应,对理想频率响应进行M远大于N的M点等距离
hdn采样,hMn是通过运算求IDFT得到的,用hMn替代
(4)根据性能要求选择合适的窗函数wn,由数字滤波器单位脉冲响应。
。
求得所需设计的FIR
hnhdnwn(5)求理想频率响应,对其幅频特性进行分析,若结果不符合设计要求,在合理范围内可尝试修改窗函数的长度或窗口,重复上述步骤,直至设计结果符合要求。
4.1.2 几种常见的窗函数
(1)矩形窗 定义:
wnRNn
利用rectwin或boxcar函数可实现本函数。 (2)Hanning窗
wn定义:
12n1cosRNn2N1 (4-2)
根据函数hann(由Toolbox提供)可实现本函数。 (3)Hamming窗
2nwn0.540.46cosRNnN1定义: (4-3)
根据函数hamming(由Toolbox提供)可实现本函数。 (4)Blackman窗
11
2n4nwn0.420.5cos0.08cosRNnN1N1定义: (4-4)
根据函数blackman(由Toolbox提供)可实现本函数。 (5)Kaiser窗
为换取旁瓣抑制效果,先前介绍的几种窗函数都是以牺牲一定的主瓣宽度为代价的,这种交换关系在Kaiser窗上得到全方面的展示。
Kaiser窗的设计是由零阶Bessel函数构成的,设计Kaiser窗时主瓣宽度和旁瓣抑制之间的平衡取决于参数。
n,Wn,beta,ftypekaiserordf,a,dev,fsfs (4-5)
这个函数根据所需设计的滤波器采样频率
、边界频率f、边界频率点期望幅值a、
幅值允许波动dev确定采用Kaiser窗设计时所需滤波器阶数n和值,同时还将返回滤波器截止频率
Wn和滤波器类型ftype。
表4-1 常用窗函数的特性
窗函数名 矩形窗 Bartlett窗 Hanning窗 Hamming窗 Blackmann窗 相应函数名 Boxcar;rectwin bartlett hann hamming blackman 近似过渡带宽 4/N 8/N 8/N 8/N 12/N 最小阻带衰减 21dB 25dB 44dB 53dB 74dB 精确过渡带宽 1.8/N 6.1/N 6.2/N 6.6/N 11/N 4.1.3 用窗函数法设计FIR数字滤波器的示例
wp0.1,Rp0.1dBws0.17,Rp50dBfs2000Hz,,
指标:
设计一个FIR低通滤波器,程序见附录中的(2),图像见图4-2、图4-3、图4-4。
12
图4-2 滤波器的增益响应
图4-3 信号滤波前时域和频域图
图4-4 信号滤波后时域和频域图
对比信号滤波前后的时域和频域图,发现信号滤波前是经两个不同的信号叠加而成的,经过滤波器滤波后得到一个稳定的信号。
13
4.2 频率采样法
在应用过程中,人们可以根据给定的技术指标,直接采用频域设计。在设计FIR滤波器的过程中使用频率采样法是为了得到更理想的离散点上的频率数据,使频率特性表现更精确,同时更好的逼近其他频率处的特性。
4.2.1 用频率采样法设计FIR数字滤波器的步骤:
hdej先从频域出发,将指定的理想频率响应
Hde按照等间隔采样,即
Hdj
然后以
Hdk2kNk (4-6)
作为实际的频率特性的采样值Hk,即令
HkHdkHdej
2kN
k0,1,2,,N1 (4-7)
Hk经过IDFT运算可得到一个有限长序列hn
1hnNHkek0N1j2nk/N
n0,1,,N1 (4-8)
把(4-8)代入到Z变换中得到
1znHzNHeHkk1k01WNz (4-9)
N1j2HkNN1k0k (4-10)
而其中的内插函数是,即
1sinN/2jN1/2eNsin/2 (4-11)
在实际操作过程中,为了设计FIR数字滤波器的线性相位,采样值Hk要符合某些约束条件。
14
4.2.2 频率采样法的一些特性
(1)频率采样设计法根据给定指标直接从频域上进行设计,操作方便,物理概念显示直观、清析。
(2)仅有少数非零值取样滤波器的频率响应采用频率采样设计法的效果特别有效;典型应用为用一串窄带滤波器组成多普勒雷达接收机,覆盖不同的频段,多普勒频偏可反映被测目标的运动速度。
(3)因为过渡区的采样位置被在2/N的整数倍位置点上,且通带和阻带分别为1和0,这种时候采取频率采样设计法会在指定阻带和通带截止频率时受到,操作灵活性比较差。
(4)要接近任何给定的频率,只要N得到充分的加大就可以达到目的,不过复杂性增加,这是一种低效能的方法。
4.2.3 用频率采样法设计FIR数字滤波器的示例
wp0.5ws0.6,Rp15dB指标:,
设计一个FIR低通滤波器,程序见附录中的(3),图像见图4-5、图4-6、图4-7。
图4-5 滤波器的增益响应
15
图4-6 信号滤波前时域和频域图
图4-7 信号滤波后时域和频域图
对比信号滤波前后的时域和频域图,发现信号滤波前是经三个不同的信号叠加而成的,经过滤波器滤波后,去除干扰信号,得到所需的信号。
4.3最优等波动法
上面介绍的两种方法中,窗函数法是直接用窗函数截取一段希望设计的滤波器的
hdn,并以此作为滤波器的hn。这样设计出来的滤波器的积分在整个频带上是最小的,
而且其过渡带是最窄的。因为吉布斯现象,通带在靠近过渡带的位置出现一个较大的峰起现象,而阻带衰减过小。因为这个现象,使用别的窗函数,通过加大过渡带宽度的方法来加大的阻带衰减和通带的平稳性。然而,使用这些函数设计出来的滤波器已经不是最小均方误差的滤波器了。
16
用频率采样法设计FIR数字滤波器是直接在频率域上进行采样,确保滤波器设计的幅度值和理想的幅度值一致,线性组合
Hdk和内插函数相乘形成采样点间的联系。这样使
边界频率不易控制且频域内离散点附近的数据误差大。
设计滤波器时根据Chebyshev逼近理论不断逼近理想滤波器的设计方法是最优等波动设计法,在相同指标的情况下采用最优等波动设计法设计的滤波器的阶数最低(阶数相同的情况下则阻带最小衰减的值在幅频响应中最大,但通带最平坦,),而且阻带和通带的表现形式均为等波动形式。
根据函数remez和remezord(由 Toolbox提供)可通过最优等波动设计法实现对FIR滤波器的设计。其调用格式如下:
bremezn,f, (4-12) bremezn,f,,w (4-13)
bremezn,f,,'ftype' (4-14) bremezn,f,,w,'ftype' (4-15)
n是需设计的滤波器的阶数,f给出一组升序排列的频率值(f中不能出现相同的频率值。当k为奇数时,fk和fk1之间的目标滤波器幅频响应被认为是k和k1之间的连线;当k为偶数时,fk和fk1之间的目标滤波器幅频响应未定义,给出相应的幅度值,f和指定目标滤波器。的逼近精度由权系数w控制(逼近精度越高w值越大),f一半的长度等于w的长度。参数'ftype'应用时要注意滤波器类型,除指定类型滤波器外,其他类型的滤波器不适用。
n,f0,0,wremezordf,,dev (4-16) n,f0,0,wremezordf,,dev,fs (4-17)
f和的含义同remez中的f和一样,不过也有不同之处:当采样频率fs给出了的
时候f可以是模拟频率(HZ),不再必须是归一化的数字频率;f严格遵守从0开始,到1结束的原则,并且可以省略0和1这两个频点;用指定每一个频率片断的值时,f长度
17
的2倍减1就是的长度。
用最优等波动法设计FIR数字滤波器的示例
指标:
fs2000Hz,通带截频0.3,0.6
Rp40dB 阻带截频0.2,0.7,
通带波纹0.1710,阻带波纹0.01
用remez函数设计一个等波纹FIR带通滤波器,程序见附录中的(4),图像见图4-8、图4-9、图4-10。
图4-8 滤波器的增益响应
图4-9 信号滤波前时域和频域图
18
图4-10 信号滤波后时域和频域图
对比信号滤波前后的时域和频域图,发现信号滤波前是经四个不同的信号叠加而成的,经过滤波器滤波后,去除干扰信号,得到所需的信号。
4.4 在MATLAB上设计与实现FIR数字滤波器
打开MATLAB,除了许多的滤波器设计函数外,FDATool(由Toolbox提供)是一个操作简单、应用方便快捷且灵活的滤波器设计工具。用户可以通过给定的滤波器参数和设计要求,然后使用FDATool设计界面直接对滤波器进行设计。
4.4.1 FDATool工具
在命令窗口中输入:fdatool,将弹出一个默认界面,是关于FDATool设计及分析滤波器的界面。
在滤波器设计参数的指定区域内,根据给定指标和设计思路选择Filter Type和Design Method、输入Filter Order和各种频率参数等等。
完成各种设置后,单击“Design Filter”,MATLAB将按照设置的参数和要求自动设计出所需的滤波器。完成设计后,该滤波器的幅频响应曲线将绘制在原界面的“Filter Specifications”区域,该区域的名字也会改为“Magnitude Response”。
4.4.2 FDATool对滤波器进行分析
单击滤波器分析工具栏中的“单击滤波器分析工具栏中的“
”按钮,将得到滤波器的幅频响应曲线。 ”按钮,将得到滤波器的相频响应曲线。
19
单击滤波器分析工具栏中的“曲线。
单击滤波器分析工具栏中的“单击滤波器分析工具栏中的“单击滤波器分析工具栏中的“单击滤波器分析工具栏中的“单击滤波器分析工具栏中的“
”按钮,将得到滤波器的群延迟。 ”按钮,将得到滤波器的冲击响应。 ”按钮,将得到滤波器的阶跃响应。 ”按钮,将得到滤波器的零极点图。 ”按钮,将得到滤波器的传递函数系数。
”按钮,将同时显示出滤波器的幅频响应和相频响应
单击滤波器响应曲线中的点,用户可以根据系统弹出的小方框了解该点信息。
4.4.3 数字滤波器的实现
(1)切换滤波器的实现结构
滤波器在实现前要先考虑它的实现结构是否符合要求。点击菜单中的“Edit”,再点击“Convert Structure”,系统会弹出一个窗口,用户可以选择切换滤波器的实现结构。
(2)导出滤波器设计参数
点击菜单中的“File”,选择“Export”,在弹出窗口“Export To”下拉列表可以选择导出滤波器设计参数到文本文件(Text-file)、工作空间(Workspace)或mat文件(MAT-file)。其实就是导出滤波器设计的描述参数。点击主菜单“File”,再点击“Export to C Header file”,即可将滤波器的设计参数导出到C语言的头文件中。
(3)把设计滤波器转换为一个Simulink模块
若计算机安装了DSP Blockset模块,单击FDATool界面中的“设计参数区域变为滤波器的实现参数区域。
点击“Model”选择里面的“Desrination”,要新建一个模型就在下拉列表中选择“New model”,并让滤波器在该模型中实现。在“Block name”内输入该滤波器的名字。设置完参数后,单击“Reaze Model”,MATLAB会将设计的数字滤波器制作成新建模型中的一个模块。
(4)在Simulink中进行仿真
在MATLAB的命令窗口中输入:Simulink,系统将弹出一个默认界面,在主菜单“File”/“New”/“Model”新建一个工作区。在该界面内放入系统所需的模块,连好线后可以进行运行仿真。
20
”后,将滤波器的
在Simulink上设计并实现一个带通滤波器示例 指标:
fs2000Hz,通带截止频率:19~22Hz
Rp20dB 阻带截止频率:15~26Hz,
在Simulink中设计的系统如图5-1,信号滤波的时域图如图5-2。
图5-1 Simulink中设计带通滤波器的系统图
图5-2 信号滤波前后的时域图
对比信号滤波前后的时域和频域图,发现信号滤波前是经三个不同的信号叠加而成的,经过滤波器滤波后,去除干扰信号,得到所需的信号。
21
5 结论
从了解滤波器的种类、到介绍通过不同的设计方法来设计FIR数字滤波器,最后到如何在MATLAB上设计并实现滤波器,本文从大到小锁定范围,系统的介绍了如何在MATLAB上设计和实现FIR数字滤波器。
现今的社会,我们接触到的很多东西都与信号息息相关。而信号在传输的过程中,常常会受到干扰。如果不去除干扰,就会影响用户接收信号的感受。应对信号的干扰,滤波器成为重要的存在。当需要处理的信息量较少的时候,我们可以使用传统的用电容、电感等模拟器件搭建的模拟滤波器来处理。当待处理的信息量十分大时,MATLAB软件成为更好的选择。MATLAB软件将搭建硬件的操作改为鼠标在计算机上的操作,而且设计和仿真能在电脑上一体完成,大大的节省了工作时间和降低了工作强度。
通过本次研究,让我了解到滤波器在数字信号处理中的重要作用和MATLAB强大的操作功能。
22
附录
(1)
23
(2)
24
(3)
25
26
(4)
27
参考文献
[1]董长虹,《Matlab信号处理与应用》国防工业出版社 2005.1 [2]钟麟,王峰,《MATLAB仿真技术与应用教程》国防工业出版社 2004.1 [3]车晴,《电子系统仿真与MATLAB》北京广播学院出版社 2006.3 [4]陈亚勇,《MATLAB信号处理详解》人民邮电出版社 2001
[5][美]维纳·K·英格尔(Vinay K.Lngle),约翰·G·普罗克斯(John G.Proakis),《数字信号处理(MATLAB版)》西安交通大学出版社 2013.7
[6]Rafael C.Gonzalez/Richard E.Woods/Steven L.Eddins,Digital Image Processing Using MATLAB ,Gatesmark Publishing,2009
28
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- fenyunshixun.cn 版权所有 湘ICP备2023022495号-9
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务