基于labview的多功能滤波器设计毕业设计(doc毕业设计论文)

上传人:Bod****ee 文档编号:47406256 上传时间:2018-07-02 格式:DOC 页数:25 大小:382.04KB
返回 下载 相关 举报
基于labview的多功能滤波器设计毕业设计(doc毕业设计论文)_第1页
第1页 / 共25页
基于labview的多功能滤波器设计毕业设计(doc毕业设计论文)_第2页
第2页 / 共25页
基于labview的多功能滤波器设计毕业设计(doc毕业设计论文)_第3页
第3页 / 共25页
基于labview的多功能滤波器设计毕业设计(doc毕业设计论文)_第4页
第4页 / 共25页
基于labview的多功能滤波器设计毕业设计(doc毕业设计论文)_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《基于labview的多功能滤波器设计毕业设计(doc毕业设计论文)》由会员分享,可在线阅读,更多相关《基于labview的多功能滤波器设计毕业设计(doc毕业设计论文)(25页珍藏版)》请在金锄头文库上搜索。

1、目 录摘摘 要要.1绪论.2滤波器的总体设计方案.2滤波器的各个模块的设计.3信号发生模块.3滤波去噪模块.5频域分析模块.12多功能滤波器的仿真.17参考文献.22心得体会.22LabVIEW 课程设计1摘摘 要要目前,在电子测量和自动化控制领域,虚拟仪器技术取得了巨大的发展。虚拟仪器是一种功能意义上的测量和控制仪器,是具有仪器功能的软件、硬件的组合,从而实现各种传统仪器的功能。本文叙述了虚拟仪器开发平台 LabVIEW 的特点,并给出了软件设计方案。开发了基于 LabVIEW 的多功能滤波器,重点讲述了各个功能模块的软件设计,并利用该滤波器对模拟信号进行了滤波和频谱分析,结果较为满意。在开

2、发虚拟仪器的同时,掌握了 LabVIEW 编程语言,对虚拟仪器的构成、实现手段和开发方法有了一定的认识。该系统操作简单,界面友好,功能多,并有很好的滤波、分析精度等优点。关键字:虚拟仪器 ;LabVIEW ;滤波器 ;频率LabVIEW 课程设计21 绪论LabVIEW 是一种基于“图形”方式的集成化程序开发环境,是目前国际上唯一的编译型图形化编程语言,LabVIEW 开发环境具有一系列优点,从流程图式的编程,不需要预先编译就存在语法检测和调试过程使用的数据指针,到其丰富的函数、数值、信号处理和设备驱动等功能,应用LabVIEW 进行滤波器设计,效率高,操作简单,并能对误差精度进行实时调整,把

3、传统仪器利用 LabVIEW 用软件的方法来实现,开发周期短,易于维护和升级,可以设计出传统仪器所不能比拟的虚拟仪器, “软件就是仪器”这就是虚拟仪器技术的精髓。虚拟仪器已经为越来越多的人所使用和接受,因为虚拟仪器系统更快速简捷和方便,也可以节省硬件资源。通过虚拟滤波器设计,可对虚拟仪器有更深的理解和领悟,也为以后进行更进一步的研究提供了基础。我的设计题目是基于 LabVIEW 的多功能滤波器设计。我们平时所要设计的数字滤波器,阶数和类型并不一定是完全给定的,很多时候都是要根据设计要求和滤波效果不断的调整,以达到设计的最优化。在这种情况下,滤波器的设计就要进行大量复杂的运算,单纯的靠公式计算很

4、难在短时间内完成设计。这次利用 LabVIEW 设计的滤波器则不需要再靠公式计算,只要通过在前面板通过下拉菜单进行调解就可以设计出最优化的滤波器了。了解 LabVIEW 编程所需的基础知识,学习 LabVIEW 的基本使用方法,复习数字信号处理的所学知识,运用 LabVIEW 设计一个虚拟的数字滤波器,使其能产生基本的带有噪声的模拟信号,或是能通过数据采集卡采集信号输入到微机里,并能使用户通过在前面板调节按钮,变换参数产生想要的滤波器,来对所产生的信号或从外界输入的信号进行滤波,并能对信号进行频域分析。然后通过显示面板来显示滤波前后的信号及频域分析的信号。滤波器的总体设计方案LabVIEW 课

5、程设计3我设计的题目是基于 LabVIEW 的多功能滤波器设计。如图 9 为总体设计方案的示意图。图 9 总体设计示意图通过软件 LabVIEW 设计一个虚拟的数字滤波器,使其能产生基本的带有噪声的模拟信号,或是能通过数据采集卡采集信号输入到微机里,并能使用户通过在前面板调节按钮,变换参数产生想要的滤波器,来对所产生的信号或从外界输入的信号进行数字滤波,这里的滤波器可以根据用户的需要进行选择,可以找出最适合的滤波器。我设计的滤波器包括 FIR 滤波器,IIR 滤波器以及小波去噪。其中这三大类滤波器分别有一些参数可调,例如 IIR 滤波器滤波的窗函数。进行完滤波后还能对信号进行各种频谱分析。然后

6、通过显示面板来显示滤波前后的信号及频谱分析的信号。滤波器的各个模块的设计我设计的滤波器的模块有信号发生模块,滤波模块,以及频谱分析模块。信号发生模块信号发生模块是信号有两种,一种是通过基本函数发生器产生基本波形,包括正弦波、方波、三角波、锯齿波四种;一种是用户通过编写公式来产生想要的波形。然后分别叠加噪声信号,以此来模拟现实中的信号。其中噪声的类型有均匀白噪声、高斯噪声、周期性随机噪声、泊松噪声。噪声的幅值也可以调节。如图 10 是信号发生模块流程图。LabVIEW 课程设计4图 10 信号发生模块流程图其中需要注意的是采样频率的选择,不然的话会出错,系统不能运行。根据奈圭斯特采样定理,采样频

7、率应大于或至少等于信号截止频率的 2 倍,以保证数字化后的信号数据不丢失原信号的特性。但是奈圭斯特采样定理假设有一个理想的低通滤波器来恢复信号,并且被采样的信号的频带范围有限,这些条件在实际使用中是很难实现的,所以它只在理论上成立。对同一信号以不同的采样率采集得到的结果是不同的,显然采样频率越高,采集信号越接近真实信号,但是高采样频率意味着对存储空间和内存的更高要求,工程上用到的采样频率常常是信号最高频率的 510 倍。如图11 所示为信号发生模块流程图对应的前面板。LabVIEW 课程设计5图 11 输入信号参数选板滤波去噪模块图 12 滤波去噪模块流程图LabVIEW 课程设计6图 13

8、滤波参数选板滤波去噪模块的流程图如图 12 所示,信号的滤波去噪就是通过这个模块来实现的。图 13 为滤波参数选板,第一个布尔控件是来选择是否要进行滤波,当指示灯亮时就进行滤波了。布尔控件下面的叫做菜单下拉列表,是用来选择滤波器的类型的。再往下的三个框分别是 IIR 滤波器规范,FIR 滤波器规范,小波去噪规范,通过调节文本下拉列表可以搭配出最好的滤波器。其中有三点需要说明一下,一是 Case 结构,二是 LabVIEW 调用Matlab 函数。三是小波去噪的相关内容。(1)Case 结构是执行条件语句的一种方法。这类似于常规的文本编程语言中常见的 ifThenElse 语句。从“函数”选项板

9、的“控制过程执行”子选项板中选择 Case 结构并将其放置在框图上,并使其边框包围所LabVIEW 课程设计7希望的对象;也可以先将 Case 结构放置在框图上,然后再根据需要调整其大小并将对象拖拽到结构内部12。Case 结构可有多个子框图,这些子框图就像一叠卡片,一次只能看到一张。在 Case 结构边框的顶部使子框图标识符。子框图标识符可以是数字,布尔,字符串或枚举型控件。在枚举型控件就是无符号字节、无符号字或无符号长整型,如图 14、图 15 所示。可将选择器器端子放在 Case 结构左边框上的任何地方。选择器标签自动调整为输入的数据类型。例如,如果选择器连接的值从枚举型改变到布尔型,那

10、么对应的 0 和 1 分支将分别改变成 FALSE 和 TRUE。需要注意的一点是如果选择器也值与连接到选择器端子对象的类型不同,那么选择器值以红色显示,并且置 VI 于中断状态。隧道是结构上的数据出入口。可将 Case 结构外的端子连接到结构内的端子。连接后,结构的边框上将出现矩形框表示隧道,见图 12。也可通过将外部端子连接到结构边框来创建隧道,然后再进一步将端子连接到内部端子。隧道也可在其他结构中找到,例如顺序结构,While 循环和For 循环。所有分支都能使用输入隧道的所有数据。图 14 布尔型 Case 结构LabVIEW 课程设计8图 15 多帧数字 Case 结构如图 12 所

11、示,在滤波去噪模块中,用到了三个 Case 结构。最外围的是一个布尔型的,通过它来选择是否进行滤波;中间的那个 Case 结构是一个枚举型的,通过它来选择滤波器的类型;最里面的那个 Case 结构也是枚举型的,当滤波器是小波滤波器时,通过这个 Case 可以选择不同的小波基来进行滤波。(2) LabVIEW 调用 Matlab 函数,会用到 Matlab toolbox 或采用Matlab script 这时需要安装 Matlab,不可以脱离 Matlab 环境。Matlab是科学和工程可视化计算领域广泛流行的交互式编程环境。如果涉及到比较复杂的数学运算,则可以调用 Matlab 的脚本文件来

12、实现。Labview 调用 Matlab 的功能是通过 Matlab 节点来实现的。可以从“函数”选项板的“数学”“脚本与公式”“脚本节点”来访问 Matlab 脚本节点。如图 16 所示为 Matlab 节点流程图。图 16 Matlab 节点流程图LabVIEW 课程设计9向 Matlab 节点输入 Matlab 文件的方法有两种:一种是直接在框图内写入文件代码,另一种是在 Matlab 节点的边框上单击鼠标右键,在弹出的快捷菜单中选择“导入”命令选项,在弹出的对话框中输入 Matlab 脚本文件即可。Matlab 脚本节点把流程图内涉及的变量分为两大类:输入变量和输出变量。顾名思义,输入

13、变量是指需要用户定义的变量;输出变量包括公式节点传递给其他节点的变量。创建变量的方法很简单,在公式节点的流程图上单击鼠标右键,选择“添加输入”命令或者“添加输出”命令即可。输入变量的边沿是细线,输出变量的边沿是粗线,它们的分布位置可以是公式节点边框上的任意位置,如图 16 所示。在 Matlab 中,用户一般不用指定数据类型,所有输入变量会有缺省的类型,而在 LabVIEW 里面,Matlab 节点并不能够判断数据类型,因此用户必须要为每个数据变量指定一个类型。给 Matlab 节点变量定义类型的方法是:在变量上面单击鼠标右键,在弹出的快捷菜单中选择“选择数据类型”命令选项,就会出现 Matl

14、ab 中的各种数据类型名称,然后按照事先在 Matlab 中定义的类型给每个变量选择合适的数据类型,则系统就会把变量变成相应的 LabVIEW 内的类型12。如图 12 所示,当在第二层的 Case 结构中选择小波去噪时,此时就用到了 Matlab 脚本节点,这里采用了第一种向 Matlab 节点输入 Matlab 文件的方法,即直接在框图内写入文件代码。这里调用了小波分析工具箱函数 wden,它的功能是用小波进行一维信号的自动消噪。这里的小波基我列举了 6 种供选择,所以使用了 6 个 Matlab 脚本节点,在图 12 中只能看到一个,在 Case 结构的每一帧中有一个。在公式节点的流程图上单击鼠标右键添加输入 s 和 n,同理添加输出 xd,下表为它们的控件类型、数据类型和功能。最需要注意的就是数据类型,如果数据类型不对,会出现错误,“运行”的箭头是断开的,双击断开的箭头会弹出错误提示,可以按错误提示来改正,才能运行。表 1 Matlab 脚本

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号