虚拟雷达信号分析仪设计方法研究
摘要:由于虚拟仪器技术具有使用方便、成本低、开发性强等特点,近年来在各个领域得到广泛应用,文中针对雷达自动测试系统中对虚拟仪器的需求,以及目前流行的虚拟仪器编程软件Labwindows/CVI在数值分析和信号处理方面的不足之处。提出了一种在Labwindows/CVI环境下利用ActiveX技术调用MATLAB工具箱中的函数从而实现混合编程构建虚拟仪器的简单易行的方法,并用该方法实现了雷达信号分析虚拟仪器的设计。
本文引用地址:http://www.amcfsurvey.com/article/131158.htm引言
雷达自动测试系统中使用传统的电子仪器实现雷达信号参数的提取不仅价格昂贵、系统集成难度大,而且对于一些复杂信号的提取也难以实现。虚拟仪器技术充分利用计算机的软硬件资源,以软件为核心,人机界面形式来实现这些功能。虚拟仪器编程语言Labwindows/CVI是美国NI公司开发的面向计算机测控领域的软件,它的集成化开发平台,交互式编程方法,丰富的功能面板和库函数大大增强了C语言的功能,为开发检测、数据采集、过程监控等系统提供了一个理想的开发环境。但是它的数值计算功能还不够强大,面对信号分析领域先进的理论和方法,如在信号时频分析、神经网络、小波变换、遗传算法、模糊理论等问题上,还没有形成可用的库函数。而MATLAB软件则拥有上述丰富的工具箱函数,且具有强大的数值计算、矩阵计算、信号分析和处理、图像处理等功能,它己经成为应用学科中的计算机辅助分析、设计、仿真等不可缺少的基础软件。因此用Labwindows/CVI与MATLAB混合编程的虚拟仪器技术来构建雷达信号分析仪,使其有机结合、优势互补,具有很强的使用价值。
Labwindows/CVI和MATLAB混合编程的方法
实现Labwindows/CVI和MATLA B混合编程的关键是其数据和命令的交换,即软件接口技术。Labwindows/CVI和MATLAB都提供了与外部接口的组件,技术的核心就是如何正确建立它们之间的联系。ActiveX方式是微软定义的一种应用程序接口,由于其功能强大,己成为事实标准。Labwindows和MATLAB之间的接口也可以采用这种方式实现,即Labwindows/CVI作为ActiveX自动化控制器,MATLAB作为ActiveX的自动化服务器。
混合编程的实现方法
如图1所示,Labwindows/CVI与MATLAB混合编程就是通过Labwindows /CVI与MATLAB之间的接口函数实现Labwindows/CVI下调用MATLAB的功能函数或运行MATLAB环境下的程序。接口函数的建立分两步进行:第一步是ActiveX服务函数的创建,第二步是在创建的ActiveX服务函数的基础上,添加更高一级的接口应用程序(matlabbutil.c)。
ActiveX服务函数的创建
Labwindows/CVI环境中得到ActiveX服务函数有两种方法,方法一:在Labwindows/CVI窗口中选择 Tools—Create ActiveX Controller Wizard根据提示进行操作:但该方法得到的ActiveX服务函数由于涉及到了Labwindows/CVI的远程服务,调用不方便,并且要求用户机必须先安装MATLAB,后装Labwindows/CVI。方法二:在Labwindows/CVI 5.0以上版本中的CVIsamplesactiveXmatlab中直接提供有Labwindows/CVI和 MATLAB的ActiveX服务函数应用程序,该服务函数应用程序仅适合于MATLAB 5.01。对于不同的MATLAB版本,只需将其在注册表里的注册码改写成符合ActiveX服务函数要求的格式替代5.01版本的即可。本文采用第二种方法,其具体修改示例如下:
评论