您当前的位置: 首页 > 网络

基于LabVIEW与Matlab混合编程

2018-12-03 14:58:09

基于LabVIEW与Matlab混合编程的雷达回波起伏特性模拟 - 测试测量

1 引 言

近年来随着电子技术和计算机数字模拟技术的飞速发展,雷达模拟方式以其经济、灵活和逼真等特点逐渐成为雷达系统设计、分析和性能测试过程中不可或缺的手段,广泛用于对雷达分系统的调试、性能评价,雷达前端不具备的条件下对系统后级进行分析调试以及对雷达整机性能和指标的检验等方面。但目前对雷达回波起伏特性的模拟一般是基于专用雷达模拟器的,而利用通用仪器研究回波起伏特性还不多见。

虚拟仪器技术是现代计算机技术、通信技术和测量技术相结合的产物,代表了现代测试技术和仪器技术的发展方向。图形化虚拟仪器编程软件Lab VIEW自身功能强大,环境友善,他在测试与测量、过程控制与处理、科学研究和分析等方面有广泛的应用。但是,对于一些需要进行大量数据运算处理的复杂应用,LabVIEW显得有些力不从心。而Matlab具有很强的工程计算功能,已成为应用学科中的计算机辅助分析、设计、仿真等不可缺少的基础软件。

Agilent E8267D,E4438C,E443XB等系列矢量信号发生器允许用户利用Matlab软件编写波形文件,然后通过Agilent Download

Assistant程序将该波形文件下载到信号发生器中,并调制载波,在触发信号的控制下传输调制信号。

因此,可以利用上述通用仪器的特性在LabVIEW软件平台上与Matlab相结合来模拟Swerling Ⅰ、Ⅱ型起伏信号。

2 硬 件

图1为硬件组成,利用Matlab软件建立雷达回波起伏模型,然后通过Agilent Download Assistant程序将Matlab产生的I/Q数字波形经GPIB总线送入到通用仪器的任意波形发生器存储器中,选择适当的触发源、触发类型来触发波形文件,从而可以得到RF输出。

由于雷达的工作频率较高,如果将E8267D的频率设为雷达工作频率,则E8267D的RF输出信号虽可使雷达工作,但无法在示波器上观察。因此为了观察的方便,将雷达的同步脉冲信号接到。E8267D的PATTEN TRIG IN接口,作为信号发生器的外部触发信号。将信号发生器的频率设小些,即可在示波器上观察RF输出信号。

3 软 件

3.1 Swerling Ⅰ,Ⅱ型起伏数学模型

Swerling Ⅰ,Ⅱ型起伏是指回波幅度分别按瑞利分布作一致起伏和独立起伏,其概率密度函数如式(1)所示。他们间的差别仅是幅度起伏速度的不同。

其中,y为服从0~1均匀分布的随机变量。由式(2)即可得到幅度服从瑞利分布的序列。

3.2 Lab VIEW与Matlab通信接口

Lab VIEW提供了Matlab Script节点和ActiveX函数模板使LabVIEW与Matlab之间能够进行通信。

Matlab Script节点具有多输入、多输出的特点。在节点中,用户可以Matlab程序,也可以直接调入已经存在的Matlab程序,并在Lab VIEW环境下运行,因此快捷方便。

对于ActiveX函数模板,用户可以在Lab VIEW中使用引用(Refnum,也称参考)作为某个对象(文件、设备、络连接)的惟一标志符。由于引用是指向某一对象(如Matlab文件)的临时指针,因此他仅在对象被打开时有效,一旦对象被关闭,Lab VIEW就会自动断开连接。

由于通过Matlab Script节点进行通信比较易于实现,因此本文使用该接口。

3.3起伏包络

设定E8267D中的任意波形发生器的时钟频率smplclk为l00.MHz。脉冲包络波形内的每一点将占据1/smplclk或10 ns时间。设n为脉冲上升、工作、下降或切断数组中的点数,则脉冲相应的时间为,n*10 ns。用户可以根据下面的命令来计算脉冲宽度和脉冲重复周期。只要选择合适的n值就可以得到所需宽度、重复周期的脉冲。

图2为利用Matlab Script节点产生单脉冲包络的程序。其中脉冲包络的幅度A根据前面产生瑞利分布序列的原理得到。

设非相干积累数为N,则在一个观测时间内,对于Swerling I型回波信号,其N个序列的幅度A均取同一值;在另一个观测时间,A的值是独立的。对于Swerling Ⅱ型回波信号,每个观测时间内,A的值是独立。

3.4 下载起伏波形

Agilent公司开发出的Download Assistant程序可以在公司站上免费下载。他将Matlab的关键词添加到数据控制程序上,并将数据数组经公共GPIB接口卡送人信号发生器。因此,利用该程序很容易将Matlab波形文件传输到E8267D中。他们实际上是一些Matlab子程序,可以在主程序中调用他们,以实现对仪器的控制。

E8267D提供了4种触发模式,在这里选择SegmentAdvance→Single。将每个单脉冲存储为一个波形段(Seg-ment),再将波形段组合成序列(Sequence)。若选择触发极性为正,关闭触发延迟,则在每个同步脉冲的上升沿到来时会有一个起伏脉冲输出。下面为部分SCPI命令。

回波信号相对于同步脉冲有一定的时延t。由于将同步脉冲作为触发输入信号,因此延迟时间f的大小可以通过Trig Delay来设置。

同时也可以根据前面编写单脉冲的方法,在单脉冲前加一定长度的零数组来实现延迟。延迟时间要根据数组点数与任意波形发生器的时钟频率smplclk来计算。

图3为下载起伏波形的代码。为了便于在前面板中对信号发生器幅度、频率、触发延迟时间进行控制,将其设为输入变量。由于Matlab Script节点中要求这3个输入变量为字符串型,因此需通过Number To FractionalString函数将数值型变量转化成字符型变量。

3.5读示波器数据

示波器在这里主要是充当数据采集的功能,以便计算机对数据进行处理。

在Lab VIEW环境里,可以使用仪器I/O助手完成与示波器通信的工作,如图4所示。

在仪器I/O助手中选中Query and Parse,并在Entera command文本框中输入如下查询命令:

Data:SOUrce CH2;:DATA:ENCdg RIBINARY;WIDTH1;:CURVe?

单击Run this step按钮,从示波器第2个通道中读取波形数据后显示在响应窗口内。对波形数据进行解析,从而可以得到E8267D的RF输出波形,如图5,图6所示。

4 结语

利用LabVIEW与Matlab进行混合编程,一方面可应用Lab VIEW强大的G语言的编程方法,提高开发虚拟系统的效率;另一方面可利用Matlab能够进行复杂数值计算的优势大大增强Lab VIEW功效,从而可以更好地控制仪器、实现雷达回波起伏特性模拟,以便进行后续的自动测试工作。

尼龙滑轨
地下室堵漏
410S不锈钢板
推荐阅读
图文聚焦