原创 基于Labview的相关滤波器的设计与改进

2008-5-25 01:09 2651 4 4 分类: 测试测量

摘要:主要介绍了利用虚拟仪器开发软件Labview设计并制作的一个相关函数滤波器。同时,在对其性能进行分析后,提出了一种改进方案。
关键词:虚拟仪器;Labview;相关滤波器



1 引言
在目前的测试领域中,越来越广泛地利用相关检测的方法进行滤波。利用相关滤波可以方便地从复杂的待测信号(包括有用信号、直流偏置、随机噪声和谐波频率成分等)中分离出某一特定频率的信号。在数字技术迅速发展以后,相关滤波也经常利用A/D板对信号采样后,在计算机中实现,成为数字滤波的一种形式。本文设计了一种实现相关滤波的方法,这是相关分析在测试技术中的一个典型应用。图l所示为相关滤波器的典型框图。


图片点击可在新窗口打开查看


Labview是美国国家仪器公司推出的一种基于“图形”方式的集成化程序开发环境,是目前国际上惟一的编译型图形化编程语言。在以PC机为基础的测量和工控软件中,Labview的市场普及率仅次于C++/C语言。Labview开发环境具有一系列优点,从流程图式的编程,不需要预先编译就存在语法检测和调试过程使用的数据指针,到其丰富的函数、数值分析、信号处理和设备驱动等功能。应用Lab-view进行滤波器设计,效率高,操作简单,并能对误差精度进行实时调整。把传统仪器利用Labview用软件的方法来实现,开发周期短,易于维护和升级,可以设计出传统仪器所不能比拟的虚拟仪器,“软件就是仪器”——这就是虚拟仪器技术的精髓。


模拟自相关滤波器


17b.jpg


2 虚拟相关滤波器的设计
2.1 前面板的设计
在Labview环境下开发的应用程序称为VI(Virtual Instrument)。VI是Labview的核心,有一个人机交互的界面——前面板,和相当于源代码功能菜单框图程序——后面板组成。前面板是程序的界面,在这一界面上有控制量和显示量两类对象。在前面板中,控制量模拟了仪器的输入装置并把数据提供给VI的框图程序,例如开关、旋钮等;而显示量则是模拟了仪器的输入装置并显示由框图程序获得或产生的数据,例如用于显示波形的窗口等。后面板又称为代码窗口或流程图,是VI图形化的源程序,在流程图中对VI编程,以控制和操纵定义在前面板上的输入和输出等功能。流程图中包括前面板上没有但编程必须有的对象,如函数、结构和连线等。
前面板如图2所示,由以下几个部分组成:参考信号的参数设置、待处理信号的参数设置、滤波结果的实时显示以及原始信号的波形图和滤波结果的波形图。可以设置参考信号的幅值和频率,也可以对3路正弦信号设置频率幅值和相位。程序成功运行后就可以从滤波实时显示区得到滤波结果的频率幅值和初相位,同时在波形显示区中也可以得到相应的波形,使结果更为直观地反映出来。

2.2 后面板的设计
后面板如图3所示。后面板中的控件与前面板中的控件相对应,并且通过连线、添加程序以及加入各种信号等措施进行编程,实现自相关滤波的功能。同时通过在前面板设置各种不同的参数,成功地运行程序,实现所要求的目标。为了实现这一功能,笔者又掭加了激励信号源、滤波器加法器和乘法器等各种运算器。经过运行程序.测试结果显示能够实现从一个包含多种频率成分的信号中提取出所需单一频率信号的功能,相当于实现了滤波。由于这种滤波的思路是从相关函数的定义出发的,因此成为相关滤波器。

17c.jpg


在这里,笔者用仿真信号发生器来模拟待测的信号,在实际中这个待测信号通常由数据采集卡采集得到。输入的待测信号为3路正弦信号的叠加,需要从中检测出20 Hz的信号。这个测试VI实现了相关滤波过程的动态显示,使用了循环结构。
http://bbs.eccn.com/ecbbs/dispbbs.asp?boardID=70&ID=52212&page=7

文章评论0条评论)

登录后参与讨论
我要评论
0
4
关闭 站长推荐上一条 /2 下一条