基于MATLAB和FIR和IIR滤波器的设计Word格式文档下载.docx
《基于MATLAB和FIR和IIR滤波器的设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于MATLAB和FIR和IIR滤波器的设计Word格式文档下载.docx(21页珍藏版)》请在冰豆网上搜索。
1引言
1.1课题研究的背景和意义
目前,在发展如此迅速的信息电子科技时代来看,图像识别的技术产业发展也在突飞猛进,这些绝大部分的科学研究和技术开发正在各个国家继续努力进行,作为用于计算机和电子图像学的处理。
随着信号准确度正在不断的提高,数字滤已经变成了一个非常热门的话题。
因为信号滤波器本身具有快速解决各种复杂信号问题的基本优点,同时还有提高信号过滤的准确度的一个重要的特性,并且信号稳定度和灵活性也非常的强。
FIR滤波器具有比较严格的一个特征是它是线性的,并且是可以随意的改变它的幅度特性,能够很容易的实现各种特性,因此常被用在现代通信技术当中,并且MATLAB的FIR滤波器的研究也是非常具有现实意义的。
IIR频带具有非常精确的标准频带数量特性,和FIR滤波器不同的地方,首先它没有比较严格并且复杂的线性相位,其次幅频特性相比也低,适用于不敏感线性相位的高频信号。
使用在MATLAB中的信号过滤器附件设计、信号分析处理工具等就可以很容易地帮助制定一种符合各种设计要求的频带数量指标的各种IIR滤波器。
1.2MATLAB语言概述
MATLAB语言是一种实用功能性很强的高科技电子计算编程语言和软件内容,计算机软件设计的基础非常丰富,它的矩阵公式运算以及数字信号逻辑处理是采用集中模式计算,并且MATLAB软件计算语言使用起来也很简单,同时,库函数也是内容也是比较多的,使用起来非常的方便;
程序人员书可以自由编写代码,为了避免麻烦的程序可以利用丰富的库函数来进行编程,所以库函数可靠性高的原因是在于它都是由一些编程领域行业专家所编写的。
在MATLAB用语中维数是不需要被数组定义的,而且数组运算和矩阵使用的效率很高,并且能够提供各种我们所需要的特定函数类型,所以它在处理信号、信息传输、通信系统设计等等方面普遍应用,比其他常用的语言具有更广泛的范围[1]。
我们一般用以下几个部分构成我们所需要的MATLAB的系统:
(1)特有的语言;
(2)使用时的工作界面;
(3)能够快速构图的系统;
(4)软件中所自带的丰富的函数类型;
(5)对应的用于接入应用程序的端口;
1.3MATLAB的主要功能
(1)可以高效且较为准确的算出算数式以及难解的函数式
(2)可以提高各种函数式的图像并对图像进行所需的处理
(3)软件本身的语言较简单易上手,且应用的范围广泛
2FIR数字滤波器
2.1主要特点
(1)对于它的傅里叶变换对应的h(n),长度一定,即在特定的范围内不为0。
(2)在z轴的右半部分,其对应的是收敛的系统函数。
(3)它的结果是没有双向反馈的,我们又称其结构为非递归结构。
(4)设FIR滤波器,其中的冲激响应函数h(n)为n点的函数序列,0≤n≤N-1,则此滤波器的系统函数就为。
(5)它具有的零点个数是(N-1),这个个数是为了维持系统的稳定性,在z=0点会发生抵消的极点个数为(N-1)。
2.2实现原理
我们由定义的,若输入序列是单位脉冲序列,我们可以将FIR滤波器系统的响应表示为。
1.1节说到FIR滤波器是没有任何的反馈回路,可以认为它的系统是无条件稳定的,这是一个最主要特点。
在实际操作中,FIR滤波器的单位脉冲是有有限的响应长度的,并且有一定的长度限制。
我们由定义式可以知道要求响应序列,我们需要先用激励乘以系统,之后再进行求和[1]。
该滤波器的工作说明图如图1所示。
图1FIR滤波器工作说明图
2.3实现线性相位的条件
或式1
如表1所示,我们根据输入序列的对称奇偶性和以及采样点数N的奇偶性,我们得到了下面FIR滤波器的4种类型。
表14类FIR滤波器
3FIR滤波器的构造方法
3.1加窗法
(1)如何设计窗函数
先根据规定指标设计滤波器,响应阶数N和窗函数都要符合滤波器的各项标准。
对于无限长的响应序列,我们如何得到有限且包含了主要信息的序列,是我们所研究的重点,为此我们需要对无限长序列加上我们事先所设计好的窗户。
使用窗函数法设计的两个前提条件:
一是有较窄的窗谱主瓣,为了可以最大程度的将有效内容包含到。
二是需要尽可能的去减少得到的频谱中其他旁瓣的高度(目的是能够让阻带的衰减增加)。
(2)窗函数种类
就类似于家中安装的窗户一样,我们加的窗函数的类型也有很多种。
如表2所示,是常用窗函数的表达式以及对应的MATLAB语句,我们将相应的程序在MATLAB中编写好,点击运行,打开图形观察窗口我们便可以看到我们表上的各种窗函数的图形,对于各种窗的频带宽度我们点击MATLAB的图形,打开Plot界面,我们便可以查看到。
如表3所示,是各种窗函数的性能比较,我们可以根据我们所需的性能对各类的窗进行简单的测试,我们对其实现的有效程度,获取的有效内容的多少等等进行相互比较,去决定哪种窗函数才最适合我们相应的设计。
表2常用窗函数定义
表3各种窗函数的性能比较
窗函数
与主瓣相比较第一旁瓣衰减/dB
主瓣宽度
阻带最小
衰减/dB
近似值
精确值
矩形窗
-13
21
汉宁窗
-31
44
汉明窗
-41
53
布莱克曼窗
-57
74
凯塞窗
可调
(3)如何实现FIR滤波器
具体实现方法如下[2]:
①确定我们所需要的滤波器各项参数:
包括边界频率,最大的通带以及阻带衰减,过渡带宽等等信息。
②根据所设计的要求写出理想型滤波器的单位冲激响应hd(n),那么可以得到理想滤波器的截止频率为ωd=(ωp+ωs)/2[3]。
③根据公式计算出最小的衰减,并由上表去挑选所需的窗函数类型,再算出对于的截短长度也就是所谓的窗的长度,从而写出窗函数表达式w(n)[3]。
求出在加窗以后的实际冲激响应:
3.2频率特性采样法
从物理角度来看,频率特性采样法可以实现对赋予了频域的理想滤波器的取值H(k)[4],对理想滤波器的频响取相同间隔频率的N点,也就是,并以作为真正被FIR滤波器应用的频率特采样的取值H(k)[4]。
即令:
式2-1
我们通过DFT的知识学习,知道我们可以采样N个等间隔频域数值来确定出FIR的单位脉冲响应h(n),即:
式2-2
我们需要在滤波器系统设计中,给出需要的在几种理想频率滤波器的基本特性,也离不开基于公式的详细的分析。
我们使用内插公式去无限逼近理想状态下的频响,具体为:
,是内插函数式2-3
式2-4
两个式化简可得到:
式2-5
3.3具体的软件实现
(1)MATLAB简介
MATLAB是一个以各种矩阵计算和科技价值显示为主要内容的交互式系统。
在计算技术和科学领域中,实际的问题和复杂或简单的数学建模问题都是可以用MATLAB矩阵计算来解决的。
一些常见的数值上的计算、验证某些算法与设计,还有一些特殊的矩阵计算应用都能够来解决。
由于需要分析和设计数字信号处理系统,MATLAB软件从开始出现并被频繁使用,成为高校老师以及学生普遍使用的工具,也是通信及信号处理等专业必须学习的一门课程。
(2)加窗法实现结果(相关程序见附录)
①使用汉明窗设计低通滤波器。
设计所得的低通滤波器的增益响应如下图2所示:
图2增益响应
观察图和程序,我们可以从中算出我们所需的相应的数据。
开始设计前,我们以0.1π作为我们的通带截止频率,阻带截止频率为0.17π,最终很好的实现在图形中。
在此期间,显而易见的是:
我们输入的信号是由两个不同频率的滤波器的正弦信号相互重叠所形成的,我们将频率属于该通带内的信号保留了下来,也就是图中较低的100Hz的波形,而对较高频率的波形进行了滤除,如图3和图4所示结果,这一结果这也是我们所希望的。
我们通过对波形前后对比分析,我们就可以知道设计是否实现了我们所需要的功能。
图3滤波前的图像
图4滤波后的图像
②使用Kaiser窗设计带通滤波器。
设计所得的带通滤波器的增益响应如图5所示:
图5增益响应
我们观察图和程序,可以从中算出我们所需的相应的数据。
本设计的开始我们所要求的通带频率为0.325π~0.5525π,阻带频率为0.25π~0.6025π;
最终很好的实现在图形中。
图6和图7就是使用该带通滤波器进行对特定的波形进行处理,所得的滤波前后的时域以及频域的波形,从图中我们看出由四个不同信号频率的正弦信号分量重叠相加得到的就是输入的信号频域,很明显带通也就是通带里面的可以通过,外面的一切均过滤掉,这个也就是最终得到的滤波器所实现的效果,图中体现的也是如此,将不属于通带范围内的信号进行了过滤,使其不再出现在相应的图中。
图6滤波前的图
图7滤波后的图
③使用Kaiser窗设计多通带滤波器
8设计所得的多通带滤波器的增益响应如图8所示:
图8增益响应
本设计的开始我们所要求的通带频率为0.2π、0.4π、0.7π、0.8π,阻带频率为0.1π、0.5π、0.6π、0.9π,最终我们通过图像观察发现均实现了上面所提及的要求。
图9和图10就是滤波前后的时域以及频域的波形,六个不同频率且重叠相加的正弦信号就是输入信号,我们所涉及的频率有四个值,对应成三段可以允许信号通过的通带,然后我们将输入信号通过所设计的滤波器,我们在六个正弦信号分理出了通过的三个信号。
通过观察,我们也可以清楚的在图像得到实现的结果。
所以表明该滤波器的设计完成了我们的功能,达到了我们的要求,取得了预期的效果。
图9滤波前的图像
图10滤波后的图像
(3)频率抽样法实现结果(相关程序见附录)
①低通滤波器
设计所得的低通滤波器的增益响应如图11所示:
图11增益响应
图12滤波前的图像
图13滤波后的图像
分析的步骤如前面所述的方法一样,我们通过观察图和程序,算出数据值。
在这个过程中,我们也可以看到输入信号的构成,是因为三个不一样频率的正弦信号互相叠加。
滤波前后所对应的时域以及频域的波形见图12和图13,低通滤波器使得频率较低的二个分量留了下来,如图中的频率为100Hz和300Hz的二个波形,而频率处于其他频率上信息都被滤波器进行的滤除,如图中频率为600Hz的波形并没有出现在输出信号中,这也是我们所希望的。
就是这样对波形前后进行对比,我们就可以知道设计实现的功能,以便于我们更好地去改进设计,提高准确性。
②高通滤波器
图14为设计所得的高通滤波器的增益响应。
图14增益响应
图