武汉理工大学MATLAB课设Word格式文档下载.docx

上传人:b****5 文档编号:19682062 上传时间:2023-01-08 格式:DOCX 页数:39 大小:1.09MB
下载 相关 举报
武汉理工大学MATLAB课设Word格式文档下载.docx_第1页
第1页 / 共39页
武汉理工大学MATLAB课设Word格式文档下载.docx_第2页
第2页 / 共39页
武汉理工大学MATLAB课设Word格式文档下载.docx_第3页
第3页 / 共39页
武汉理工大学MATLAB课设Word格式文档下载.docx_第4页
第4页 / 共39页
武汉理工大学MATLAB课设Word格式文档下载.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

武汉理工大学MATLAB课设Word格式文档下载.docx

《武汉理工大学MATLAB课设Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《武汉理工大学MATLAB课设Word格式文档下载.docx(39页珍藏版)》请在冰豆网上搜索。

武汉理工大学MATLAB课设Word格式文档下载.docx

利用MATLAB仿真软件系统结合窗函数法设计一个数字带通FIR滤波器。

参考书目:

徐明远主编《MATLAB仿真在通信与电子工程中的应用》

刘泉主编《信号与系统》

刘泉主编《数字信号处理》

指导教师签名:

年月日

系主任(或责任教师)签名:

年月日

目录

课程设计任务书2

目录3

摘要1

Abstract2

1课程设计原理介绍1

1.1数字滤波器原理介绍1

1.2FIR滤波器原理介绍1

1.3窗函数原理介绍2

1.3.1利用窗函数设计FIR滤波器原理2

1.3.2几种常用窗函数原理说明3

1.3.2.1矩形窗函数原理介绍4

1.3.2.2三角窗函数原理介绍4

1.3.2.3汉宁窗函数原理介绍4

1.3.2.4汉明窗函数原理介绍5

1.3.2.5布莱克曼窗函数原理介绍6

1.3.2.6凯泽窗函数原理介绍6

2滤波器的设计及实现8

2.1MATLAB环境介绍8

2.2滤波器设计要求1

2.2.1滤波器技术指标1

2.2.2滤波器技术指标分析2

2.3MATLAB中FIR滤波器窗函数设计方法2

2.4MATLAB中的窗函数3

2.4.1矩形窗功能函数3

2.4.2三角窗功能函数3

2.4.3汉宁窗功能函数4

2.4.4汉明窗功能函数4

2.4.5布莱克曼窗功能函数4

2.4.6凯泽窗功能函数4

3MATLAB中仿真记录5

3.1窗函数仿真结果记录5

3.1.1矩形窗函数仿真结果5

3.1.2三角窗函数仿真结果6

3.1.3汉宁窗函数仿真结果6

3.1.4汉明窗函数仿真结果7

3.1.5布莱克曼窗函数仿真结果8

3.1.6凯泽窗函数仿真结果8

3.2各类窗函数仿真结果比较9

3.2.1各种窗函数时域波形比较9

3.2.2各种窗函数频谱比较10

3.2.3各种窗函数幅频特性比较11

3.2.4各种窗函数单位脉冲响应比较12

12

3.3滤波器滤波性能测试13

3.3.1矩形窗函数FIR滤波器滤波性能测试13

3.3.2三角窗函数FIR滤波器滤波性能测试14

3.3.3汉宁窗函数FIR滤波器滤波性能测试15

3.3.4汉明窗函数FIR滤波器滤波性能测试16

3.3.5布莱克曼窗函数FIR滤波器滤波性能测试17

3.3.6凯泽窗函数FIR滤波器滤波性能测试18

3.3滤波器稳定性能测试18

3.3.1矩形窗函数滤波器稳定性能测试19

3.3.2三角窗函数滤波器稳定性能测试19

3.3.3汉宁窗函数滤波器稳定性能测试20

3.3.4汉明窗函数滤波器稳定性能测试20

3.3.5布莱克曼窗函数滤波器稳定性能测试21

3.3.6凯泽窗函数滤波器稳定性能测试21

4滤波器设计及实现过程中遇到的问题22

5心得体会23

6参考文献24

附录25

附录1设计窗函数FIR滤波器代码25

附录2比较各类窗函数性能的代码26

附录3测试各类窗函数的FIR滤波器性能的代码28

摘要

随着计算机和信息技术的飞速发展,数字信号处理已经成为高速实时处理的一项关键技术,广泛应用在语音识别、智能检测、工业控制等各个领域。

数字滤波器是对数字信号实现滤波的线性时不变系统。

数字滤波实质上是一种运算过程,实现对信号的运算处理。

数字滤波器具有稳定性好、精确度高、灵活性强及不受外界影响等特性。

数字滤波器广泛应用于语音图像处理、数字通信、频谱分析、模式识别、自动控制等领域,具有广阔的发展空间。

FIR滤波器在满足幅频响应要求的同时,可以获得严格的线性相位特性。

因此,具有线性相位的FIR数字滤波器在高保真的信号处理,如数字音频、图像处理、数据传输、生物医学等领域得到广泛应用。

FIR滤波器的设计中,为获得有限长单位取样响应,需要用窗函数截断无限长单位取样响应序列。

另外,在功率谱估计中也要遇到窗函数加权问题。

由此可见,窗函数加权技术在数字信号处理中的重要地位。

此次课设基于MATLAB环境下,用窗函数法设计FIR滤波器的过程和设计实例。

通过利用不同的窗函数方法设计FIR滤波器,对所设计的滤波器进行分析比较,得出各种方法设计的滤波器的优缺点及其不同的使用场合,从而可以在设计滤波器时能够正确的选择FIR数字滤波器的窗函数的选取及设计方法。

关键词:

数字滤波器FIR窗函数MATLAB

Abstract

Withtherapiddevelopmentofcomputerandinformationtechnology,digitalsignalprocessinghasbecomeaveryimportanttechnologyofhigh-speedandreal-timeprocessing,widelyusedinspeechrecognition,intelligentdetection,industrialcontrolandotherareas.

Digitalfilterisalinearfiltertothedigitalsignalandinvarianttimesystem.Digitalfilterisessentiallyanoperationprocess,realizingtheoperationofsignalprocessing.Ithasgoodstability,highaccuracyandstrongflexibility,widelyusedinspeechandimageprocessing,digitalcommunication,spectrumanalysis,patternrecognition,automaticcontrolandotherfields.TheFIRfiltertomeettherequirementsoftheamplitudefrequencyresponseatthesametime,canobtainthestrictlinearphasecharacteristic.Therefore,alinearphaseFIRdigitalfilterinthesignalprocessingofhighfidelity,suchasdigitalaudio,imageprocessing,datatransmission,iswidelyusedinthefieldsofbiomedicine.

DuringthedesigningofFIRfilter,inordertoobtainlimitedlongunitsamplingresponse,weneedtousethewindowfunctiontruncationoftheinfinitelongunitsamplingresponsesequence.Inaddition,inthepowerspectrumtomeetawindowfunctionweightingestimation.Therefore,thewindowfunctionhasanimportantpositionindigitalsignalprocessing.ThissetofclassesbasedontheMATLABenvironment,usingprocessanddesignexamplesofthedesignofFIRfilterwindowfunction.ByusingthewindowfunctionmethodtodesignFIRfilterisdifferent,thefiltersaredesignedbyanalysisandcomparison,tofindtheadvantagesanddisadvantagesofvariousmethodsoffilterdesignandtheuseofdifferentoccasions,therebycanselectwindowfunctionofFIRdigitalfilterofthecorrectinthefilterdesignanddesignmethod.

Keywords:

DigitalFilters,FIR,WindowFunction,MATLA

1课程设计原理介绍

1.1数字滤波器原理介绍

数字滤波在DSP中占有重要地位。

数字滤波器按实现的网络结构或者从单位脉冲响应,分为IIR(无限脉冲响应)和FIR(有限脉冲响应)滤波器。

如果IRR滤波器和FIR滤波器具有相同的性能,那么通常IIR滤波器可以用较低的阶数获得高的选择性,执行速度更快,所有的存储单元更少,所以既经济又高效。

数字滤波器精确度高,使用灵活,可靠性高,具有模拟设备没有的许多优点,已广泛地应用与各个科学技术领域,例如数字电视,语音,通信、雷达、声纳、遥感、图像、生物医学以及许多工程应用领域。

随着信息时代数字时代的到来,数字滤波技术已经成为一门及其重要的科学和技术领域。

以往的滤波器大多采用模拟电路技术,但是模拟电路技术存在很多难以解决的问题,而采用数字则避免很多类似的难题,当然数字滤波器在其他方面也有很多突出的优点都是模拟技术所不能及的,所以采用数字滤波器对信号进行处理是目前的发展方向。

本课程设计采用FIR滤波器。

1.2FIR滤波器原理介绍

FIR(FiniteImpulseResponse)滤波器,即有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件。

它可以在保证任意幅频特性的同时具有严格的线性相频特性,而且其单位冲激响应是有限的,没有输出到输入的反馈,是稳定的系统。

因此,FIR滤波器在通信、图像处理、模式识别等领域有着广泛应用。

FIR滤波器的硬件实现主要有数字集成芯片、DSP芯片FIR滤波器、可编程FIR滤波器,后两者主要通过MATLAB软件进行设计。

设计方法多样,设计形式灵活,能够满足各种要求,而且不受数字集成芯片规格的限制。

FIR滤波器的设计方法主要有窗函数法、多带和过渡带、约束最小二乘法、任意相应法、升余弦法,其中最常用的是窗函数法。

1.3窗函数原理介绍

因为在实际中遇到的离散时间信号总是有限长的,所以不可避免的要遇到数据截短的问题,在信号处理中,对离散序列的截短是通过序列与窗函数相乘来实现的。

窗函数法是设计FIR滤波器的最主要方法之一。

在信号处理中,窗函数是一种除在给定区间之外取值均为0的实函数。

譬如:

在给定区间内为常数而在区间外为0的窗函数被形象地称为矩形窗。

任何函数与窗函数之积仍为窗函数,所以相乘的结果就像透过窗口“看”其他函数一样。

窗函数在光谱分析、滤波器设计以及音频数据压缩等方面有广泛的应用。

常用的窗函数有矩形窗、巴特利特(Bartlett)窗、三角窗、海明(Hamming)窗、汉宁(Hanning)窗、布莱克曼(Blackman)窗、切比雪夫(Chebyshev)窗、凯泽(Kaiser)窗。

1.3.1利用窗函数设计FIR滤波器原理

因此设计FIR滤波器的方法之一可以从时域出发,截取有限长的一段冲击响应作为H(z)的系数,冲击响应长度N就是系统函数H(z)的阶数。

只要N足够长,截取的方法合理,总能满足频域的要求。

一般这种时域设计、频域检验的方法要反复几个回合才能成功。

要设计一个线性相位的FIR数字滤波器,首先要求理想频率响应

是w的周期函数,周期为

,可以展开成傅氏级数:

(式1-1)

使用上述的传递函数去逼近

,一个理想的频率响应

的傅立叶反变换:

(式1-2)

其中

是与理想频响对应的理想单位抽样响应序列。

但不能用来作为设计FIRDF用的h(n),因为

一般都是无限长、非因果的,物理上无法实现。

为了设计出频响类似于理想频响的滤波器,可以考虑用

来近似

窗函数的基本思想:

先选取一个理想滤波器(它的单位抽样响应是非因果、无限长的),再截取(或加窗)它的单位抽样响应得到线性相位因果FIR滤波器。

这种方法的重点是选择一个合适的窗函数和理想滤波器。

是一个长序列,

是长度为N的窗函数,用

截断

,得到N点序列

,即

(式1-3)

在频域上则有

(式1-4)

由此可见,窗函数

不仅仅会影响原信号

在时域上的波形,而且也会影响到频域内的形状。

加窗使过渡带变宽,过渡带的带宽取决于窗谱的主瓣宽度。

矩形窗情况下的过渡带宽是

N越大,过渡带越窄、越陡;

过渡带两旁产生肩峰,肩峰的两侧形成起伏振荡。

肩峰幅度取决于窗谱主瓣和旁瓣面积之比。

矩形窗情况下是8.95%,与N无关。

工程上习惯用相对衰耗来描述滤波器,相对衰耗定义为:

(式1-5)

这样两个肩峰点的相对衰耗分别是0.74dB和-21dB。

其中(-0.0895)对应的点的值定义为阻带最小衰耗。

以上的分析可见,滤波器的各种重要指标都是由窗函数决定,因此改进滤波器的关键在于改进窗函数。

1.3.2几种常用窗函数原理说明

下面就矩形窗函数、三角窗函数、汉宁窗函数、汉明窗函数、布莱克曼窗函数、凯泽窗函数这六种窗函数展开介绍。

1.3.2.1矩形窗函数原理介绍

矩形窗(RectangularWindow)函数的时域形式可以表示为:

(式1-6)

频域特性为

(式1-7)

Boxcar函数:

生成矩形窗调用方式w=boxcar(n):

输入参数n是窗函数的长度;

输出参数w是由窗函数的值组成的n阶向量。

从功能上讲,该函数又等价于w=ones(n,1)。

1.3.2.2三角窗函数原理介绍

三角窗(TriangularWindow)函数时域形式可表示为:

(式1-8)

窗谱为:

(式1-9)

式中,当N远大于1时,此时,窗谱主瓣宽度为8

/N。

1.3.2.3汉宁窗函数原理介绍

汉宁窗函数又称为升余弦窗,其窗函数为

(式1-10)

利用傅里叶变换的调制特性,可得出汉宁窗的频谱函数为

(式1-11)

其中,

为矩形窗的频谱函数:

(式1-12)

当N>

>

1时,式可近似为

(式1-13)

这三部分之和使旁瓣互相抵消,能量更集中在主瓣,但是代价是主瓣宽度比矩形窗的主瓣宽度增加一倍,即为8

1.3.2.4汉明窗函数原理介绍

汉明窗又称为改进的升余弦窗。

对升余弦窗加以改进,可得到旁瓣更小的效果,窗函数为

(式1-14)

其频率响应的幅度函数为

(式1-15)

其结果可将99.963%的能量集中在窗谱的主瓣内,与汉宁窗相比,主瓣宽度同为8

/N,但旁瓣幅度更小,旁瓣峰值峰值小于主瓣峰值的1%。

1.3.2.5布莱克曼窗函数原理介绍

布莱克曼窗又称为二阶升余弦窗。

为了更进一步抑制旁瓣,可再加上余弦的二次谐波分量,得到布莱克曼窗函数

(式1-16)

其频谱的幅度函数为

(式1-17)

此时主瓣宽度为矩形窗谱主瓣宽度的3倍,即12

1.3.2.6凯泽窗函数原理介绍

凯泽窗是一种适应性较强的窗,其窗函数的表达式为

(式1-18)

是第一类变形修正零阶贝塞尔函数,它可以用以下的级数来计算:

(式1-19)

在实际应用中,级数取15~25项就可以达到足够的精度。

凯泽窗是一族窗函数。

是一个可调参数,它可以同时调整主瓣宽度与旁瓣电平,

越大,则

窗越窄,而频谱的旁瓣越小,但主瓣宽度也相应增加。

因而改变

值就可以对主瓣宽度与旁瓣衰减进行选择。

一般

选择4~9,这相当于旁板幅度与主瓣幅度的比值由3.1%变到0.047%(-30~-67dB)。

表1—1不同窗函数之间的性能指标表

窗类型

窗谱性能指标

加窗后滤波器性能指标

旁瓣峰值

(dB)

主瓣宽度

过渡带宽

最小阻带衰减(dB)

矩形窗

-13dB

4π/N

-21dB

三角窗

-25dB

8π/N

汉宁窗

-31dB

-44dB

汉明窗

-41dB

-53dB

布莱克曼窗

-57dB

12π/N

-74dB

凯泽窗(

=8.865)

10π/N

-80dB

上表是矩形窗函数、三角窗函数、汉宁窗函数、汉明窗函数、布莱克曼窗函数、凯泽窗函数这六种窗函数的性能指标介绍。

2滤波器的设计及实现

2.1MATLAB环境介绍

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。

MATLAB是矩阵实验室(Matrix Laboratory)之意。

除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。

图2-1MATLAB2010软件图标

MATLAB由一系列工具组成。

这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。

包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。

随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。

而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。

简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。

使用MATLAB这一软件来设计滤波器,与传统的设计思路相比是非常简便的。

在MATLAB环境下,使用者无需了解程序内部具体编写情况,即可输入期望的滤波器性能指标以实现系统仿真,完成对数字滤波器频率响应的处理和波形的检测。

对所设计的滤波器进行分析比较,得出各种方法设计的滤波器的优缺点及其不同的使用场合,从而可以在设计滤波器时能够正确的选择FIR数字滤波器的窗函数的选取及设计方法。

图2-2MATLAB软件编辑页面

图2-3MATLAB软件波形仿真页面

2.2滤波器设计要求

2.2.1滤波器设计要求

要求:

分别使用矩形窗、三角形窗、汉宁窗、汉明窗、布莱克曼窗、凯泽窗进行设计,并输出滤波器的频率特性。

2.2.2滤波器技术指标分析

窗函数谱的两个最重要的指标是:

主瓣宽度和旁瓣峰值衰耗。

旁瓣峰值衰耗定义为:

旁瓣峰值衰耗=20lg(第一旁瓣峰值/主瓣峰值)(公式1-6)

为了改善滤波器的性能,需使窗函数谱满足:

(1)主瓣尽可能窄,以使设计出来的滤波器有较陡的过渡带。

(2)尽量减少最大旁瓣的相对幅度,也就是能量集中于主瓣,以减小带内、带外波动的最大幅度,增大阻带衰减。

一般来说,以上两点很难同时满足。

当选取主瓣宽度很窄时,旁瓣的分量势必增加,从而带内、带外的波动也增加了;

当选取最小的旁瓣幅度时,降低了带内、带外的波动,但是过渡带的陡度减小了。

所以实际采用的窗函数其特性往往是它们的折中,在保证主瓣宽度达到一定要求的前提下,适当牺牲主瓣宽度来换取旁瓣波动的减小。

2.3MATLAB中FIR滤波器窗函数设计方法

基本思路:

从时域出发设计h(n)逼近理想hd(n)。

设理想滤波器的单位响应在时域表达为hd(n),则Hd(n)一般是无限长的,且是非因果的,不能直接作为FIR滤波器的单位脉冲响应。

要想得到一个因果的有限长的滤波器单位抽样响应h(n),最直接的方法是先将hd(n)往右平移,再迕行截断,即截取为有限长因果序列:

h(n)=hd(n)w(n),并用合适的窗函数迕行加权作为FIR滤波器的单位脉冲响应。

按照线性相位滤波器的要求,线性相位FIR数字低通滤波器的单位抽样响应h(n)必须是偶对称的。

对称中心必须等于滤波器的延时常数,即用矩形窗设计的FIR低通滤波器,所设计滤波器的幅度函数在通带和阻带都呈现出振荡现象,且最大波纹大约为幅度的9%,返个现象称为吉布斯(Gibbs)效应。

为了消除吉布斯效应,一般采用其他类型的窗函数。

MATLAB设计FIR滤波器有多种方法和对应的函数。

窗函数设计法不仅在数字滤波器的设计中占有重要的地位,同时可以用于功率谱的估计,从根本上讲,使用窗函数的目的就是消除由无限序列的截短而引起的Gibbs现象所带来的影响。

FIR滤波器设计的主要任务是根据给定的性能指标确定滤波器的系数b。

即系统单位脉冲序列h(n),它是一个有限长序列。

具体设计步骤为:

1)对滤波器理想特性Hd(ejw)求出其单位脉冲响应hd(n);

对于理想的数字低通滤波器频率响应,可以通过下面子程序来实现:

functionhd=ideal_lp(w,N)

%hd为理想脉冲响应序列

%w为截至频率

%N为理想滤波器的长度

alpha=(N-1)/2;

n=[0:

(N-1)];

m=n-alpha+eps;

%加一个极小值以避免0作为除数

hd=sin(w*m)./(pi*m);

2)由性能指标确定窗函数W(n)和窗口长度N,由过渡带宽度近似于窗函数主瓣宽求得窗口长度N。

3)求得实际滤波器的单位脉冲序列h(n)=hd(n)*w(n)

h(n)即为所设计FIR滤波器系数向量。

此种方法不依赖MATLAB中的滤波器设计函数,而是依据FIR滤波器的设计步骤自己求解理想滤波器的冲击响应,然后用窗函数对冲击响应进行截短,从而得到FIR滤波器,由于低通滤波器设计较为简单,因而可以通过两个低通的理想冲击响应函数相减得到理想带通的冲击响应,再通过窗函数对其截短,从而得到实际可行的FIR滤波器。

2.4MATLAB中的窗函数

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1