基于LabWindows/CVI的雷达信号分析软件设计
2015-12-18张林让苗雪平
雷 宇,张林让,苗雪平
(西安电子科技大学雷达信号处理国家重点实验室,陕西西安 710071)
随着雷达技术水平不断提高,新体制、新技术的雷达不断应用,对雷达信号分析与测试也提出了新的要求。传统的雷达信号分析与测试是通过示波器与频谱仪相结合来完成,不仅耗费巨大、操作复杂、功能单一,而且对于复杂调制类型的雷达信号也无法完整地描绘其所有特征。鉴于此,安捷伦、泰克、R&S等公司推出的一系列信号分析软件,可方便地对多种信号进行分析测量,但并没有专门针对复杂脉内调制的雷达信号进行分析的软件,且被分析的数据格式有严格限制。因此,亟需一种集成度高、通用性好和扩展性强的雷达信号分析软件,方便对雷达信号进行测试和分析。
雷达信号与通信信号相比具有明显不同的特点[1],主要表现在雷达信号频段较高、带宽和功率较大,从信号波形来看,通信信号一般为连续波形,而雷达信号有两种基本的射频波形,即连续波和脉冲调制波。这些区别不仅导致了雷达信号和通信信号具有不同的功能,也需采用专门的分析方法针对雷达信号进行分析,例如,密度分布平均法和密度分布众数法等。
虚拟仪器[2]简称VI,是近年来发展起来的新一代仪器,其可利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。虚拟仪器改变了传统仪器的灵活性差、成本过高等缺点,使得计算机和网络技术得以直接进入仪器领域,从而开创了“软件就是仪器”的先河。
1 软件设计思想
1.1 结构化设计
雷达信号分析软件采用结构化设计思想[3],即用系统的思想和系统工程的方法,结构化、模块化、自顶向下[4]对软件进行分析与设计。从总体目标开始,抽象低层的细节,先构造高层的结构,再逐层分解和细化,这样不仅可把握主题、高屋建瓴,且可避免一开始就陷入复杂的细节中,同时也有利于设计出低耦合度和高内聚度的功能模块。
1.2 一键式测量
传统仪器是对雷达信号的部分参数进行测量,例如,示波器只能测量雷达信号的时域特征,频谱分析仪只能测量雷达信号的频域特征。因此,雷达信号分析软件的设计思想是实现雷达信号多特征一键式测量,可同时测出雷达信号的时域、频域和调制域特征。
1.3 多信号分析
雷达信号复杂多样,雷达信号分析软件的设计思想是可对多种复杂的的雷达信号进行分析。其可测量脉冲重复周期固定、参差、抖动和滑变的雷达信号,同时,也可分析多种脉内调制方式的雷达信号,包括单载频、线性调频、三角波调频、步进调频、线性步进调频、捷变频、非线性调频、步进调幅、BPSK、QPSK、FSK、P1多相码、P2多相码、P3多相码、P4多相码、巴克码、Frank码等。
2 软件设计
雷达信号分析软件通过接口模块与其他仪器连接,提供需要分析的数据给分析模块,分析模块利用分析方法将分析出的图表或结果供显示模块显示,最后还可通过辅助测量模块实现更精准、方便地测量。雷达信号分析软件结构如图1所示。
图1 雷达信号分析软件结构
2.1 软面板设计
雷达信号分析软件的软面板是为了实现人机交互,通过软面板上的各个控件可实现对软件的控制,同时,测量结果及软件状态也反映在面板上。雷达信号分析软件的软面板如图2所示,包括菜单栏、工具栏、显示窗口和状态栏。
图2 雷达信号分析软件软面板
2.2 仪器连接设计
雷达信号分析软件可通过GPIB接口或LAN接口与多种仪器进行连接。其中,LAN接口可通过仪器名称或IP地址、远程仪器名称或端口号进行连接。在仪器连接设计中,IO连接向导具有记忆功能,可自动显示之前连接成功的仪器IP。
2.3 信号获取设计
雷达信号分析软件可通过程控命令控制仪器,从而获取信号。获取IQ数据的程控命令为“FETch:IQ?”。为增强雷达信号分析软件的通用性,软件还可从文件中直接读取被分析信号。软件可读取的数据文件格式有CSV、TXT、DAT和WV,其他格式文件也可转换成雷达信号分析软件可读取的格式,再进行读取。
2.4 信号分析设计
雷达信号分析软件需要对多种脉内调制方式的变脉冲重复周期的雷达信号进行分析,这就需要分别从时域、频域和调制域分析雷达信号特征,这也是雷达信号分析的难点。
(1)时域分析。雷达信号时域参数众多,包括脉冲幅度、峰值功率、脉冲宽度、脉冲周期等,一类是功率参数,另一类是时间参数,脉冲参数示意图如图3所示。
图3 脉冲参数示意图
如图3所示,脉冲雷达信号时域参数测量的基础是脉冲顶值和底值的确定,确定顶值和底值的算法主要有密度分布平均法[5]和密度分布众数法[5]。
密度分布平均法是以被测脉冲波形出现在某一电平的密度分布的平均数为基础,通过计算分别得到顶值和底值,步骤为:先找出脉冲信号幅度的最大值和最小值,并将其在最大值和最小值之间平均的划分为M个区间,相邻区间的差值为Δv,统计脉冲信号幅值落在每个区间的点数Ni,最后通过下式计算顶值或底值
其中,vi、pi分别为第i个区间的幅值和概率;N为总采样点数。
密度分布众数法是以被测脉冲波形出现在某一电平的密度分布的众数为基础,按众数直接确定其顶值和底值。其中,众数是指在一个数列中出现频率最大的那个数。由于众数并不是严格意义上的平均数,因此,雷达信号分析软件采用密度分布平均法。当测出顶值和底值后,便可通过其他时域参数的定义测出其值,并绘制相应的图表。
(2)频域分析。由于快速傅里叶变换的效率远高于直接离散傅里叶变换。因此,频域分析主要利用快速傅里叶变换[6]及其反变换来测量被测信号的频率组成信息。
设序列x(n)的长度为N,且满足N=2M,M为自然数,快速傅里叶变换表达式为
(3)调制域分析。复杂的雷达调制信号是非平稳信号,单独的使用时域或频域不能准确的反映这个信号的特征,这时,就必须进行调制域分析。调制域分析可测量出被测信号的调制域参数,并画出时频曲线、瞬时相位曲线、瀑布图、三维图等。雷达信号的调制域分析方法有多种,这里仅介绍软件使用的相位差分法[7]和短时傅里叶变换[8]。
相位差分法,信号的瞬时频率可表示为相位的导数,即
其中,φ(t)为信号的相位;f(t)为信号的频率。
连续时间的微分运算在离散时间域对应为差分运算,因此,可利用相位差分算子得到离散时间的瞬时频率。由于中心有限差分估计对线性调频信号是无偏的,具有零群时延,因此,雷达信号分析软件采用中心有限差分算法。
中心有限差分对应的瞬时频率估计表达式为
其中,fs为信号的采样率;φ(n)为第n点的瞬时相位。
短时傅里叶变换(STFT)是利用窗函数来截取信号,并将截取的信号进行傅里叶变换,接着沿着信号移动窗,就可得到信号频率随时间的变换关系,即时频关系。
离散短时傅里叶变换的表达式为
其中,h(n)是窗函数采样序列;长度为Nw,并呈中心对称。
2.5 多线程设计
由于需要对雷达信号的脉冲重复周期等参数进行分析,同时需要分析多组脉冲。当软件是单线程运行时,可能会出现读取数据阻塞或者分析数据阻塞的现象,此时就必须进行多线程设计[9]。
读取数据的多线程设计的主要代码如下:
//创建线程,开始导入数据文件
CmtScheduleThreadPoolFunction(DEFAULT_THREAD_POOL_HANDLE, ThreadCSVFileData, NULL,&ThreadCSVFileDataID);
//等待线程任务完成
CmtWaitForThreadPoolFunctionCompletion(DEFAULT_THREAD_POOL_HANDLE,ThreadCSVFileDataID,OPT_TP_PROCESS_EVENTS_WHILE_WAITING);
//释放线程
CmtReleaseThreadPoolFunctionID(DEFAULT_THREAD_POOL_HANDLE,ThreadCSVFileDataID);
2.6 显示设计
由于不同的用户对测量分析图表显示要求不同。因此,雷达信号分析软件设计成可用自动、手动配置图表进行显示。自动配置图表是根据当前用户选择的待分析雷达信号样式,自动地配置合理的显示图表,使配置的图表能够充分反映该雷达信号的典型特性。手动配置图表则是依据用户的需要,可从图表库中添加或删除相应图表,图表库涵盖了信号的时域、频域和调制域等各个方面的图表。
2.7 结果保存设计
为了能直观地观察某时刻的雷达信号特征,就需用图片的形式保存分析测试结果;为了能够具体地说明雷达信号的调制质量,需要用具体的数值来保存分析测试结果。雷达信号分析软件不仅能以图片的形式保存分析测试结果,还可以文本的形式保存分析测试结果,软件可保存的图片格式包括:.bmp、.png和.jpg,文本里保存了被测信号的时域测量参数和脉内调制参数。
2.8 可靠性与健壮性设计
软件可靠性与健壮性不同,可靠性是与软件本身内部是否错误有关,而健壮性是与软件环境是否异常有关。软件可靠性是在假设的环境下正确地实现所要求的软件功能,在雷达信号分析软件设计中,采用故障隔离[10]等措施使软件可靠性得到大幅提高。其中,故障隔离是指软件设计过程中,采用模块化设计,可将软件故障隔离到各独立模块。
软件健壮性[11]是防御性的软件设计,尝试去预测那些可能导致软件问题的外部因素,在雷达信号分析软件设计中,采用在数据流中增加保护位和校验位、检查函数输入输出、各模块之间相互怀疑、容错处理等措施来增强软件健壮性。其中,各模块之间相互怀疑是指各模块都假设其他模块中含有故障,这就需要检查各模块的输入是否正确;容错处理是指在软件设计时,对用户的各种操作先进行判断,若为误操作,进行屏蔽,同时给出错误提示信息。
雷达信号分析软件充分利用了LabWindows/CVI丰富的图形功能,建立了友好的人机交互界面;还可利用LabWindows/CVI平台,与各种数据采集硬件及以太网系统无缝集成,与各种主流的现场总线通信,与多数通用数据库链接;同时,其采用C语言编程,大幅提高了软件的实时性;软件的模块化设计也易于软件维护和版本升级。
3 软件测试
采用从泰克AWG7122B任意波形发生器上产生的线性调频信号对雷达信号分析软件进行测试,线性调频信号参数如表1所示。
表1 线性调频信号参数表
用雷达信号分析软件分析上述线性调频信号,测 量结果如表2和表3所示。
表2 线性调频信号参数测量表
表3 线性调频信号参数测量偏差表
通过测试分析结果可以看出,雷达信号分析软件测量偏差小、精度高,可满足用户要求。
4 结束语
雷达信号分析软件实现了对多种复杂脉内调制的雷达信号进行时域、频域和调制域的分析测量功能,该软件具有操作简单、误差小、精度高、易于功能扩展和软件升级等优点,可广泛应用于分析测试领域。
[1]李朝伟,周希元,刘福来.雷达/通信信号侦察一体化技术[J].舰船电子对抗,2008,31(2):5 -11.
[2]宋宇峰.LabWindows/CVI逐步深入与开发实例[M].北京:机械工业出版社,2003.
[3]徐宏喆,侯迪.实用软件设计模式教程[M].北京:清华大学出版社,2009.
[4]杨芙清,梅宏.构件化软件设计与实现[M].北京:清华大学出版社,2008.
[5]刘明亮,陆福敏,朱江淼.现代脉冲测量[M].北京:科学出版社,2010.
[6]史林,赵树杰.数字信号处理[M].北京:科学出版社,2007.
[7]尚秋峰,刘静.基于虚拟仪器技术的信号瞬时频率提取[J].电测与仪表,2009,46(3):24 -27.
[8]唐向宏,李齐良.时频分析与小波变换[M].北京:科学出版社,2008.
[9]马青亮,周伦彬,鲍芳.LabWindows/CVI的多线程机制在虚拟数字存储示波器中的应用[J].中国测试技术,2008,34(1):60-62.
[10]张朋,赵怀军,陈明.基于LabWindows/CVI的近地告警测试系统设计[J].计算机测量与控制,2007,15(1):8 -10.
[11]Shari L P,Joanne M A.软件工程[M].杨卫东,译.北京:人民邮电出版社,2010.