你的位置:首页 > LabVIEW > LabVIEW > 正文
基于Labview实现信号处理和TCP远程通信
来源:电子设计应用 作者:戴在平,刘蓉,凌朝东 2007/2/8 0:00:00 人气:248
内容导读:

摘 要:在介绍虚拟仪器及其开发环境LabVIEW的基础上,分析了利用实现TCP远程通信,从而实现人机之间进行信息交换以及通过网络进行信息交换,并实现远程测控功能。同时以实现信道均衡LMS算法为例介绍了LabVIEW调用Matlab程序代码的途径,实践证明,该方法高效、易行,是扩展LabVIEW功能的一条很好的途径。

关键字:虚拟仪器;LabVIEW平台;TCP/IP;LMS算法

一、 引言

虚拟仪器技术是当今计算机技术和测控技术相结合、相渗透的产物。在拥有计算机及相应硬件卡的环境下,引入虚拟仪器的开发平台(软件环境),设计者即可以最快的速度设计、调试和开发实际的测试系统,使工业过程的测量、测试、计量、控制系统更灵活,更紧凑,更经济,更高效,功能更强,技术更新更快。虚拟仪器开发平台LabVIEW是一个划时代的图形化编程系统,应用于数据采集与控制、数据分析,以及数据表达等方面。随着计算机和网络技术的飞速发展,仪器智能化以及远程控制仪器操作具有非常重要的意义和使用价值。有机结合LabVIEW平台下的仪器通信和网络通信两部分数据通信功能可以实现远程控制各种可编程仪器。

二、 远程测控系统的通讯

Labview平台建立远程监控系统,虚拟仪器技术和网络通讯技术构建远程监控系统的软件技术基础。其用于联系和管理硬件,使它们相互协调工作,相互通讯,从而实现人机之间进行信息交换以及通过网络进行信息交换,并实现远程测控功能。

TCP/IP是一个通信协议族,是由美国国防部高级研究计划署(DARPA)开发的,TCP/IP从诞生以来已成为通用的通讯标准,被广泛应用于大量的计算机系统。尽管Labview提供了高效、易用的网络开发工具,但也提供了TCP、IP、UDP、ActiveX等功能模块板进行网络连接和进程通讯,编程时摆脱了传统语言中烦琐的底层命令函数,只需从功能模板中选用有关的函数图标连线而成。IP是网络层协议,实现的是不可靠无连接的数据包服务。TCP和UDP都是建立在IP的基础上的传输层协议。UDP协议实现的也是不可靠无连接的数据包服务。而TCP是基于连接的协议,提供了可靠地建立连接的方法。

利用服务器/客户机模式进行通信,是在Labview平台下网络通信最基本的结构模式。编写客户机和服务器程序调用TCP通信结点的流程图如图1所示。

服务器

客户器

图1 TCP通信流程图

Matlab是一套功能十分强大的工程计算及数据分析软件,在数据分析、自动控制、数字信号处理等方面具有强大的功能,广泛应用于工业、电子、医疗、建筑等众多领域。信号处理几乎涉及到所有的工程技术领域, 用LabVIEW中的数学运算模块完成比较繁杂,而采用MATLAB等高级语言更适于编制复杂运算方法,运算更快,效果更理想,而且可以方便地对已有的算法进行重利用。同样地,LabVIEW 中也可以直接调用NI的HiQ-Script。这两种方法将交互式数学工具包和LabVIEW数据采集的强大能力集成在一个简单易用的环境。下面以实现用LMS算法进行信道自适应均衡为例说明如何用Labview直接调用Matlab的M-Script文件,实现信号的去噪和远程通信。

三、 应用实例

3.1 自适应均衡LMS算法介绍

自适应均衡器实质就是自适应逆滤波过程,自适应滤波器是以最小均方误差为准则的最佳过滤器,它能够自动调节其本身的单位样本响应h(n)特性以在均值意义上渐进收敛到Wiener解。通常考虑的自适应滤波器的形式FIR结构。如果h(n)的长度为N,可以得到:

式中

则第k个时刻输出信号就是:

LMS算法则是求最佳权矢量的一个简单有效的递推方法,运用最优化方法中的最速下降法(steepest descent method),在权向量上的每一步变化都正比于梯度向量的负值。将期望响应记作dkdk,第k次采样的误差就是:

权矢量的迭代公式为:

标量μ是收敛因子,它控制了稳定性和自适应速率。

3.2 应用Labview实现

在建立TCP连接前,应先设置VI服务器。步骤如下:

1、VI Server下,Configuration中是否选择了TCP/IP 协议,并指定一个0-65535之间的端口号,确定服务器在这台计算机上用来监听请求的一个通信信道;

2、VI Server下,TCP/IP Access中本地装载VI程序的计算机必须在允许地址的列表中,可以选择包括特定的计算机或者你也可以允许所有的用户访问。

3、VI Server下,Exported VIs中本地装载VI程序的计算机必须在允许输出地址的列表中,可以选择包括特定的计算机或者你也可以允许所有的用户输出。

如图2所示,在服务器的框图程序如中,首先指定网络端口(Port)和步骤1的端口号一致,并用TCP Listen节点建立TCP听者,等待客户机的连接请求,这是初始化的过程。如图3所示,在Labview程序中调用Matlab script, 结合Matlab提供的函数库,对ISI信道、均衡伪随机训练码、信道加性高斯白噪声进行仿真,并实现LMS算法。服务器前面板上对均衡器阶数、信道噪声比(SNR)、训练码序列长度和收敛因子进行设定。同时在前面板还对训练信号、原始信号、噪声和误差的波形和时间进行了动态显示,并输出调整的系数值。图中误差的波形不断减小,逼近于0,表明收敛的效果很好,达到了信道均衡的目的。

图2 服务器程序的主界面

3 服务器程序的主程序框图

在客户端计算机上运行的客户端监控系统,其主要功能是在通讯连接已建立的情况下,接收服务器计算机发送来的信号,并对其进行信号分析,显示幅度和相位特性。同时在本例中实现了动态时间显示功能。客户机程序采用了两个TCP Read 节点读出由服务器送来的信号波形的数据。第一个节点读出信号波形的长度,然后第二个节点根据这个长度将波形数据全部读出。这种方法是TCP通信中常用的方法,可以有效地发送、接受数据,并保证数据不丢失。图4中的示波器显示了经过信道均衡后输出的PN码。

图4 客户机程序的显示面板

在用TCP节点进行通信时,需要在服务器框图程序中指定网络通信端口(Port),客户机也要指定相同的端口,才能与服务器之间进行正确的通信。端口值由用户任意指定,只要服务器与客户机的端口保持一致即可。在一次通信连接建立后,就不能更改端口的值了。如需要改变端口值,则必须首先断开连接才能重新设置端口值。

5 客户机程序的框图程序

四、结束语

LabVIEW运用内嵌的TCP/IP网络通讯协议组实现远程测控系统通讯把数据从一个网络或者Internet计算机传输到另外一台计算机,实现了单个网络内部以及多个互联网络之间的通讯。这样,科研人员和工程技术人员即使不在控制现场,也可以通过网络随时了解现场的控制系统运行情况和系统参数的实时变化,并可根据具体情况通过网络在客户计算机上对在控制现场运行于服务器计算机的控制系统发出命令,及时调整现场控制系统运行状况,从而达到远程控制的目的。基于计算机的网络测量系统平台将会不断发展,应用也将更加广泛。通过把复杂的TCP/IP协议封装而提供的各种网络测量技术,使得网络测量的开发变得不再复杂,同时网络测量带来的巨大效益,使得网络测量在测量自动化领域得到了广泛的应用。同时结合Matlab的对复杂运算编程高效的优点,可以充分发挥Labview功能强大、灵活和简单易用的特点。

标签:
商品推荐



相关文章
阅读排行
最近更新
推荐阅读