毕业设计 基于labview的fir数字滤波器的设计Word格式文档下载.docx
《毕业设计 基于labview的fir数字滤波器的设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《毕业设计 基于labview的fir数字滤波器的设计Word格式文档下载.docx(29页珍藏版)》请在冰豆网上搜索。
1.1研究意义
目前,数字滤波器广泛应用于各种数字信号处理系统中如在通信、图像编码、语音编码、雷达等众多领域中有着广泛的应用。
在传统的教学方法中关于数字滤波器设计内容的讲授比较注重理论,因其公式繁多而变得较为抽象,枯燥,不宜理解;
数字滤波器设计是教学中的主要内容之一,同时也是教学中的一个难点。
为了更好的增加我们的感性认识,本文利用LabVIEW软件开发平台设计一种集各种数字滤波器为一体的数字滤波器系统[1]。
利用LabVIEW可以快速有效地实现数字滤波器的设计与仿真,这都是由于G语言编程具有诸多优点,因此基于LabVIEW设计的数字滤波器具有高效、灵活、界面友好、集成性强、费用低、用户自定义功能强等诸多优点[2]。
本课题的主要目的意义是运用虚拟仪器对FIR数字滤波器的设计,掌握FIR数字滤波器的设计方法,并通过应用数字滤波器处理模拟信号时,对输入模拟信号进行限带,抽样和数模转换,分析滤波器结构和参数对滤波器性能指标的影响,最终在LabVIEW开发平台上完成对FIR数字滤波器的仿真。
1.2研究现状及内容
自从1917年出现LC滤波器以来,滤波器的发展从来没有停止过。
尤其是近年来,伴随着虚拟仪器技术的发展,出现了很多关于基于虚拟技术的滤波器设计。
目前,虚拟仪器软件开发环境大致可以其分为两类:
一类是文本式语言如Matlab、visualC++等;
另一类是图形化编程语言,具有代表性的是LabVIEW,所以虚拟数字滤波器便有使用各种语言编写的版本,如Matlab编写的虚拟数字滤波器,其编写程序对编程开发人员的编程能力要求很高,而且工作量较大、开发周期较长,且编程基础的人难对其修改[3]。
然而LabVIEW使用的G语言,是非常实用的开发软件[3]。
现在也有很多基于LabVIEW的数字滤波器设计,但其滤波器类型一般比较单一,功能不够完善。
如一般并没有把有限冲击响应(FIR)滤波器和无限冲击响应(IIR)滤波器放在同一个面板上供用户选择使用,还有的只能模拟系统内部信号进行仿真,并没有采集实时信号进行仿真实验。
而具有数据采用功能的设计大部分采用数据采集卡采集数据。
由于采集卡其价格比较高,并不利于推广使用[4]。
本课题是基于LabVIEW的数字滤波器设计,通过研究分析现有虚拟数字滤波器,依据数字滤波器工作原理和应用特点,本课题提出一种虚拟数字滤波器系统的设计方案。
该系统主要是基于声卡对外部数据的采集,设计多功能数字滤波器对含有噪声的正弦波、方波、三角波进行滤波处理得到较好的波形,并且可以在前面板选择各种滤波器,如选择IIR、FIR并设置滤波类型,选用IIR时可以选择最佳逼近类型,选用FIR时可以选择不同的窗函数。
1.3本文章节安排
第1章绪论部分。
介绍本文的研究意义、研究现状和研究内容,概述了当前国内外基于labview的FIR滤波器设计的研究现状。
第2章虚拟仪器简介
第3章FIR滤波器基本理论.主要介绍滤波器的设计方法。
第4章FIR滤波器的仿真。
第5章全文总结。
2虚拟仪器介绍
2.1虚拟仪器的介绍及发展现状
所谓虚拟仪器是基于计算机的软硬件测试平台,它可代替传统的测量仪器,如示波器、逻辑分析仪、信号发生器、频谱分析仪等;
可集成于自动控制、工业控制系统;
可自由构建成专有仪器系统。
它由计算机、应用软件和仪器硬件组成。
无论哪种虚拟仪器系统,都是将仪器硬件搭载到笔记本电脑、台式PC或工作站等各种计算机平台(甚至可以是掌上电脑)加上应用软件而构成的。
虚拟仪器通过软件将计算机硬件资源与仪器硬件有机的融合为一体,从而把计算机强大的计算处理能力和仪器硬件的测量、控制能力结合在一起,大大缩小了仪器硬件的成本和体积,并通过软件实现对数据的显示、存储以及分析处理。
从发展史看,电子测量仪器经历了由模拟仪器、智能仪器到虚拟仪器。
由于计算机性能以摩尔定律(每半年提高一倍)飞速发展,已把传统仪器远远抛到后面。
并给虚拟仪器生产厂家不断带来较高的技术更新速率。
虚拟仪器技术的优势在于可由用户定义自己的专用仪器系统,且功能灵活,很容易构建,所以应用面极为广泛。
尤其在科研、开发、测量、检测、计量、测控等领域更是不可多得的好工具。
虚拟仪器技术先进,十分符合国际上流行的"
硬件软件化"
的发展趋势,因而常被称作"
软件仪器"
。
它功能强大,可实现示波器、逻辑分析仪、频谱仪、信号发生器等多种普通仪器全部功能,配以专用探头和软件还可检测特定系统的参数,如汽车发动机参数、汽油标号、炉窑温度、血液脉搏波、心电参数等多种数据;
它操作灵活,完全图形化界面,风格简约,符合传统设备的使用习惯,用户不经培训即可迅速掌握操作规程;
它集成方便,不但可以和高速数据采集设备构成自动测量系统,而且可以和控制设备构成自动控制系统[5]。
在仪器计量系统方面,示波器、频谱仪、信号发生器、逻辑分析仪、电压电流表是科研机关、企业研发实验室、大专院校所必备的测量设备。
随着计算机技术在测绘系统的广泛应用,传统的仪器设备缺乏相应的计算机接口,因而配合数据采集及数据处理十分困难。
而且,传统仪器体积相对庞大,多种数据测量时常常感到捉襟见肘,手足无措。
我们常见到硬件工程师的工作台上堆砌着纷乱的仪器,交错的线缆和繁多待测器件。
然而在集成的虚拟测量系统中,我们见到的是整洁的桌面,条理的操作,不但使测量人员从繁复的仪器堆中解放出来,而且还可实现自动测量、自动记录、自动数据处理。
其方便之极固不必多言,而设备成本的大幅降低却不可不提。
一套完整的实验测量设备少则几万元,多则几十万元。
在同等的性能条件下,相应的虚拟仪器价格要低二分之一甚至更多。
虚拟仪器强大的功能和价格优势,使得它在仪器计量领域具有很强的生命力和十分广阔的前景。
2.2LabVIEW简介
LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:
其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。
LabVIEW开发的软件系统,主要包括四个模块:
数据采集、显示记录、数据处理。
其可以方便的选择滤波器类型及其设置各种参数。
另外,系统还增加两个辅助子程序,以帮助更好的学习。
系统前面板设计具有简洁、美观、人性化的特点[5]。
2.3使用LabVIEW程序设计滤波器的优点
LabVIEW软件拥有界面美观,程序易学易懂,形象实用。
LabVIEW开发环境具有一系列优点,从流程图式的编程,不需要预先编译就存在语法检测和调试过程使用的数据指针,到其丰富的函数、数值分析、信号处理和设备驱动等功能。
使用LabVIEW软件平台开发数字滤波器等虚拟仪器。
实现了更高的效率,节省了更多的硬件开销,方便了系统的维护和减轻了仪器更新的负担。
使用虚拟仪器逐步代替传统仪器已经成为测试领域发展的趋势。
应用LabVIEW进行数字滤波器的设计,效率高,操作简单,并能对误差精度进行实时调整。
把传统仪器利用LabVIEW用软件的方法来实现,开发周期短,易于维护和升级,可以设计出传统仪器所不能比拟的虚拟仪器[6]。
2.4小结
虚拟仪器技术经过近二十年的发展,正沿着总线与驱动程序的标准化、软件化的模块化,以及编程平台的图形化和硬件模块的即插即用化等方向发展。
LabVIEW在测试测量领域有着卓越的优势,是仪器开发领域的一个新的发展方向,基于虚拟仪器技术的测试系统具有开放性、扩展性强,性价比高的特点。
通过与传统测试系统的比较,证明了组成和改变仪器的功能和技术性能方面具有灵活性与经济性;
并进一步探讨了建立管理统一的虚拟仪器库和虚拟仪器标准的发展思路和应用前景,对构建其它测量、测试系统有很好的借鉴作用。
3数字滤波器原理
3.1数字滤波器的概念
数字滤波器是指输入、输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的器件。
与模拟滤波器相比,数字滤波器的主要优点是[7]:
(1)精度和稳定性高;
(2)系统函数容易改变,因而灵活性高;
(3)不存在阻抗匹配问题;
(4)便于大规模集成;
(5)可以实现多维滤波。
3.2数字滤波器的定义和分类
滤波器(filter)是一种用来消除干扰杂讯的器件,其对特定频率的频点或该频点以外的频率进行有效滤除的电路。
通常,根据数字滤波器的设计冲击响应长度是否为有限值,将数字滤波器分为有限冲击响应(FiniteImpulseResponse,FIR)滤波器和无限冲击响应(InfiniteImpulseResponse,IIR)滤波器两种类型,这两种滤波器中都包含高通、低通、带通等子类型[8]。
这两种类型的滤波器无论在性能上还是在设计方法上都有很大的区别。
(1)IIR滤波器
IIR滤波器设计可以直接利用模拟滤波器设计的成果,如可以通过对模拟低通滤波器进行模拟频率和数字频率的变换而得到对应滤波器特性的数字低通滤波器,当然,两者之间有一定的误差。
模拟滤波器设计的经典方法是用“最佳逼近特性”设计方法,响应的有巴特沃斯滤波器、切比雪夫滤波器、贝赛尔滤波器、椭圆滤波器等滤波器类型。
在逼近所需的同一个滤波器特性时,这些滤波器具有不同的频率特性,使用者在应用中要学会根据自己的滤波要求选择合适的逼近类型[9]。
IIR数字滤波器的系统函数为:
(3-1)
(2)FIR滤波器
FIR滤波器的系统只有零点,因此这一类系统不与IIR系统那样容易取得比较好的通带与阻带衰减特性。
要取得好的衰减特性,一般要求系统的单位抽样响应截取的长度要长。
FIR滤波器和IIR滤波器相比,具有一些明显的优点:
首先,FIR系统总是稳定的;
其次,FIR系统容易实现线性相位;
最后,FIR系统允许设计多通带(或多阻带)滤波器。
后两项都是IIR系统不易实现的[9]。
FIR数字滤波器的系统函数为:
(3-2)
3.3数字滤波器的设计方法
数字滤波器的设计步骤大致可以分为三步:
(1)依照设计要求,先了解所要设计的滤波器的性能,例如是低通、高通、带通还是带阻,截止频率是多少,阻带的衰减有多大,同带的波动范围是多少等;
(2)寻找一个满足预定性能要求的离散线性非时变系统,用一个因果稳定的系统函数去逼近这个性能要求。
此系统函数分两类,即FIR系统函数与IIR系统函数;
(3)用一个有限精度的的运算去实现这个系统函数。
包括算法结构,如级联型、并联型、横截型、频率采样型等,还包括选择合适的字长以及选择有效的数字处理方法等[10]。
3.4FIR数字滤波器的设计原理
一个截止频率为ωc(rad/s)的理想数字低通滤波器,其传递函数表达式是:
(3-3)
相应的单位取样响应hd(n)为:
Hd(n)=
(3-4)
由式3-3和3-4可以看出,这个滤波器在物理上是不可实现的,因为冲激响应具有无限性和因果性。
为了产生有限长度的冲激响应函数,我们取样响应为h(n),长度为N,其系数函数为H(z):
(3-5)
用h(n)表示截取hd(n)后冲激响应,即:
式子中W(n)为窗函数,长度为N。
当τ=(N-1)/2时,截取的一段h(n)对(N-1)/2对称,可保证所设计的滤波器具有线性相位。
一般来说,FIR数字滤波器输出y(n)的Z变换形式Y(z)与输入x(n)的Z变换形式之间的关系如下:
(3-6)
实现结构如图3-1所示。
图3-1
从上面的Z变换和结构图可以很容易得出FIR滤波器的差分方程表示形式。
对式3-6进行反Z变换,可得:
(3-7)
式3-7为FIR数字滤波器的时域表示方法,其中x(n)是在时间n的滤波器的输入抽样值。
根据式3-7即可对滤波器进行设计[10]。
3.5窗函数法
①设计思想:
从时域出发,设计逼近理想。
以低通线性相位FIR数字滤波器为例:
一般是无限长的,且是非因果的,不能直接作为FIR滤波器的单位脉冲响应。
要想得到一个因果的有限长的滤波器h(n),最直接的方法是截断,即截取为有限长因果序列,并用合适的窗函数进行加权作为FIR滤波器的单位脉冲响应。
按照线性相位滤波器的要求,h(n)必须是偶对称的。
对称中心必须等于滤波器的延时常数,即用矩形窗设计的FIR低通滤波器,所设计滤波器的幅度函数在通带和阻带都呈现出振荡现象,且最大波纹大约为幅度的9%,这个现象称为吉布斯(Gibbs)效应。
为了消除吉布斯效应,一般采用其他类型的窗函数。
②.利用窗函数设计FIR滤波器的具体步骤如下:
(1)按允许的过渡带宽度△ω及阻带衰减AS,选择合适的窗函数,并估计界数N,其中A由窗函数的类型决定;
(2)由给定的滤波器的幅频响应参数求出理想的单位脉冲响应;
(3)确定延时值;
(4)计算滤波器的单位取样响应;
(5)验算技术指标是否满足要求[10]。
3.6频率采样法
频率采样法是从频域出发,根据频域采样定理,对给定的理想滤波器的频率响应jw[4]Hd(e)加以等间隔的抽样,得到Hd(k):
(3-8)
再利用
可求得FIR滤波器的系统函数
及频率响应
:
其中,φ(w)是一个内插函数:
从以上公式可以看出,在每个采样频率点
处,滤波器的实际频率响应是严格地和理想频率响应数值相等,即:
(3-9)
而在各采样点间的频率响应则是其的加权内插函数延伸叠加的结果。
但对于一个无限长的序列,用频率采样法必然有一定的逼近误差,误差的大小取决于理想频响曲线的形状,理想频响特性变换越平缓,则内插函数值越接近理想值,误差越小。
为了提高逼近的质量,可以通过在频率相应的过渡带内插入比较连续的采样点,扩展过渡带使其比较连续,从而使得通带和阻带之间变换比较缓慢,以达到减少逼近误差的目的[11]。
选取
∈[0,2π]内N个采样点的约束条件为:
(3-10)
3.7等波纹切比雪夫逼近法
尽管窗函数法与频率采样法在FIR数字滤波器的设计中有着广泛的应用,但两者都不是最优化的设计。
通常线性相位滤波器在不同的频带内逼近的最大容许误差要求不同。
等波纹切比雪夫逼近准则就是通过对通带和阻带使用不同的加权函数,实现在不同频段(通常指的是通带和阻带)的加权误差最大值相同,从而实现其最大误差在满足性能指标的条件下达到最小值,即使得
和
之间的最大绝对误差最小。
等波纹切比雪夫逼近是采用加权逼近误差
,它可以表示为:
(3-11)
其中,
为逼近误差加权函数,在误差要求高的频段上,可以取较大的加权值,否则,应当取较小的加权值。
尽管按照FIR数字滤波器单位取样响应h(n)的对称性和N的奇、偶性,FIR数字滤波器可以分为4种类型,但滤波器的频率响应可以写成统一的形式:
(3-12)
,
为幅度函数,且是一个纯实数,表达式也可以写成统一的形式:
(3-13)
为ω的固定函数,
为M个余弦函数的线性组合。
若令:
因此,由式(9)、(10)将
改写成:
故等波纹切比雪夫逼近法设计FIR数字滤波器的步骤是:
①给出所需的频率响应
加权函数
和滤波器的单位取样响应h(n)的长度N。
②由①中给定的参数来形成所需的
、
的表达式。
③根据Remez算法,求解逼近问题。
④利用傅立叶逆变换计算出单位取样响应h(n)[11]。
Remez算法是由Parks和McClellan等人在1972年推导出来的。
它是将FIR数字滤(N,σ1,σ2,ωp,ωs)中的N,ωp,ωs和σ1/σ2固定,而视σ1(或σ2)为变量的一种迭代方法。
在MATLAB工具箱中可以直接调用remez函数(采用Remez算法),来进行FIR数字滤波器的设计。
其具体算法有几种,常见的一种算法格式为:
b=remez(n,f,a,w,‘ftype’)
3.8小结
本章首先论述了数字滤波器的定义和其特点以及数字滤波器的定义和分类,然后分别介绍了IIR数字滤波器结构和FIR数字滤波器结构,并对两者进行了比较,阐述了选择FIR数字滤波器作为设计重心的原因。
4基于LabVIEW的数字滤波器的设计
4.1前言
创建虚拟仪器的过程共分三步:
(1)设计虚拟仪器的前面板。
虚拟仪器的交互式用户接口被称为前面板,它是模仿实际仪器的面板。
前面板包含旋钮、按钮,图形和其他控制与显示对象,通过鼠标和键盘为控制对象输入数据,在计算机屏幕上观看结果。
(2)编写虚拟仪器流程图。
流程图是一个编程问题的图形化解决方案(也是虚拟仪器的源代码)。
虚拟仪器从流程图中接受命令。
(3)确定虚拟仪器的图标和连接(表示某一虚拟子仪器)的参数列表,图标和连接允许将此仪器作为最高级的程序,也可以作为其他程序或子程序中的程序(子仪器)。
这个数字滤波器的设计总框图如图4-1:
图4-1数字滤波器设计总框图
首先设计双通信号源,用来产生信号,然后设计一个数字滤波器,进行滤波,滤波后的波形通过显示模块显示,模块和幅频、相频响应显示模块则可以更好的了解滤波效果。
4.2双通信号源的设计
双通信号源的设计,是所有数字信号处理设计的根本,同时,相对于滤波器的设计比较简单,也本着由浅入深的原则,这里首先介绍信号源的设计。
由于是滤波器的设计,所以信号源必须是多通道,至少双通道信号源,本次设计就采用双通道信号源。
其中通道1可以产生:
正弦波,方波,三角波,均匀白噪声以及脉冲函数,通道2则在通道1的基础上增加冲击函数以供使用。
下面我们分步设计信号的发生。
4.2.1正弦波发生器的设计
正弦波的产生主要运用到一个叫SineWave.vi的子VI。
如图4-2:
图4-2SineWave.vi示例图
它有8个接线端,分别是相位输入、频率、幅值、采样、相位重置、相位输出、正弦波输出以及错误端口。
其中,相位输入、频率、幅值、采样是正弦波的重要参数,是我们需要调节的部分,因此我们都将其引出,然后分别将其赋予固定值,或将其设置为可调节。
为了防止信号错误,所以相位重置也要设置一个开关,以便重置正弦波。
当然最主要的是正弦波的输出的连接。
于是,正弦波的设计如图4-3:
图4-3正弦波的设计
这样我们就设计了一个可以改变参数的正弦波发生器。
4.2.2方波发生器的设计
方波运用的是一个叫SquareWave.vi的子VI。
如图4-4:
图4-4SquareWave.vi示例图
它拥有9个接线端,比正弦波多了一个占空比,同时把正弦波输出也相应的变为方波输出。
同样,参照正弦波的设计,我们可以根据设计的需求,通过调节采样数,幅度,频率,相位以及占空比,设计出不同采样数,幅度,频率,相位以及占空比的方波,用来做为下一步设计的输入信号。
具体设计如下图4-5所示:
图4-5方波的设计
我们可以运用这个方波发生器来产生任何设计需要的方波。
4.2.3三角波发生器的设计
三角波主要运用TriangleWave.vi的子VI。
如图4-6:
图4-6TriangleWave.vi示例图
它和正弦波一