SAR实时信号处理机上位机软件设计

2014-03-05 18:20孙文磊田海山常文革
现代电子技术 2014年3期
关键词:上位机

孙文磊+田海山+常文革

摘 要: 基于C#与Matlab混合编程,设计并实现了SAR实时信号处理机上位机软件。首先讨论了SAR信号处理机快速调试以及SAR系统设置和实时监控的要求,在解决了上位机关键技术的基础上,结合系统硬件平台,实现了上位机与信号处理机的实时通信和上位机功能。测试验证结果表明,上位机不仅加快了信号处理机的调试进度,更是便利的系统操作控制和数据记录的可视化工具。

关键词: 信号处理机; 上位机; C#; Matlab

中图分类号: TN957?34 文献标识码: A 文章编号: 1004?373X(2014)03?0045?04

Upper computer software design for SAR real?time signal processor

SUN Wen?lei, TIAN Hai?shan, CHANG Wen?ge

(College of Electronic Science and Engineering, National University of Defense Technology, Changsha 410073, China)

Abstract: An upper computer software for real?time signal processor is designed and implemented based on C# and Matlab mixed programming. The requirements for rapid debugging of SAR signal processor and SAR system setting and real?time monitoring are discussed. Based on solving the key software techniques, the real?time communication between upper computer and signal processor is realized, and all functions of the upper computer software are realized based on the hardware platform. The actual test result shows that the upper computer not only accelerates the signal processor debugging, it is also a convenient visualized tool for system operating control and data record.

Keywords: signal processor;upper computer; C#; Matlab

0 引 言

合成孔径雷达(Synthetic Aperture Radar,SAR)是一种二维高分辨成像雷达,是对地观测的最重要手段之一[1?2]。SAR实时信号处理机是SAR的重要组成部分,可视化的调试和控制是其研制的难点之一,而上位机可以解决这一难题。

上位机系统由通信硬件平台和软件界面两部分构成。由于USB接口具有即插即用和热插拔的特性,而且传输速度较高,故可利用USB芯片控制读、写操作,实现信号处理机与上位机之间的通信[3]。如图1所示,硬件平台由信号处理机和USB芯片CY7C68053搭建,USB芯片主控通信过程,完成上位机指令的接收及处理结果的回传。

目前,用于开发界面的软件很多,典型的有VB、LabVIEW,VC++,C#等[4?6],由于C#对USB接口和界面设计的操作非常简便,相对开发周期更短,同时考虑到上位机对图形显示要求较高,而Matlab在数据处理、图形显示方面优势明显,因此,采用C#与Matlab混合编程的方案来完成上位机的开发。

图1 信号处理机与上位机通信结构

本文研究了SAR实时信号处理机的上位机软件设计。结合系统硬件平台,分析了SAR信号处理机快速调试以及SAR系统设置和实时监控的要求,通过解决多线程、混合编程以及通信协议等上位机关键技术,完成了上位机功能设计。

1 关键技术的实现

SAR信号处理机不仅需要实时处理海量数据,解决不同功能的实时响应,还要将其测试结果在上位机上实时、直观地显示。因此,数据量大,实时性高,直观性强等是上位机的设计难点。这些难点通过多线程技术、C#与Matlab混合编程技术以及通信协议设计可以解决。

1.1 多线程技术

多线程是指程序中包含多个执行流,可以同时运行多个线程来执行不同的任务,从而增强程序的响应能力和伸缩性[7]。在C#中可以通过调用函数thread.Start( )来启用创建的新线程,实现多线程。程序中一个实例如下:

Thread thread = new Thread(ThreadFuntion);

thread.IsBackground = true;

thread.Start( ); //启动线程

private void ThreadFuntion( )

{

while (true)

{

...... //线程执行的工作

}

}

在上位机设计中,由于上位机需要完成功能选择、参数设置以及回传结果的处理与状态显示等任务,并且多个任务需要并行执行,故在设计中使用多线程技术,可以极大地提高上位机运行的效率和实时性。

1.2 C#与Matlab混合编程技术

由于Matlab Compiler可以将Matlab函数转换为封装了Matlab代码的动态链接库(DLL)[8],故C#开发的程序可以直接访问其编译的Matlab函数,即C#调用Matlab生成的 DLL文件[9]。

本文在Microsoft Visual Studio 2010和Matlab R2012b编译环境下实现C#与Matlab混合编程。步骤如下:

第一步,进行Matlab编译器的设置。在Matlab的Command Window运行指令mbuild?setup,具体设置根据提示选择,其中编译器选择 Microsoft Visual C++ 2010。

第二步,DLL文件生成。编写M函数文件,运行指令deploytool,出现deployment tool窗口,new→Type选择.NET Assembly→Add classes→Add files→build。编译成功后,即可得到DLL文件。

第三步,设置VS2010编译环境。打开工程文件,将Matlab生成的DLL文件以及Matlab\toolbox\dotnetbuilder\bin\win32\v2.0目录下的MWArray.dll文件一起添加到引用中,并加入命名空间(Using...)。

第四步,添加程序代码。下面是程序中用到的实例代码:

demo myplot = new demo( );

double[,] plotValues = new double[m, n];

……

myplot.drawgraph((MWNumericArray)plotValues);

第五步,上位机程序移植。上位机要运行于客户端计算机,必须预先安装.netframwork 4.0与MCR。

至此,便实现了C#与Matlab的混合编程。其优势是不仅能利用Matlab强大的计算绘图功能,更可脱离开发平台独立运行。

1.3 通信协议设计

上位机与信号处理机之间要事先约定好通信协议,确定不同指令代表的功能[10],信号处理机才能对上位机传来的指令进行响应。在编写上位机软件和FPGA底层程序前,约定以下协议:

发送指令:字头(0XAFAF)| 指令标识(0x0042?0x0052) | 指令,4字节

返回结果:字头(0XAFAF)| 指令标识(0x0042?0x0052) | 返回结果

通信采用状态驱动模式,系统工作时,上位机发出指令, 信号处理机根据通信协议解读上位机发出的指令,执行相应的操作并返回结果;上位机读取返回结果,处理后直观显示出来。

2 软件设计与实现

上位机软件在SAR系统设计阶段主要是为方便信号处理机进行硬件调试和测试,而在SAR系统付诸使用阶段则是操作控制和数据记录的可视化工具,故需要很多的功能来满足SAR系统的需求。上位机功能结构如图2所示。

图2 上位机软件结构图

主要实现的功能有:

(1) 参数设置。实现系统参数的设置和工作模式的选择。

① 工作模式:设置信号处理机的工作模式,不同模式对应的信号处理机波形和工作场景不同。

② 开关定时:实现系统的定时或遥控,无需人工值守。

③ 波形脉宽:对应雷达发射信号波形的脉冲宽度。

(2) 功能选择。针对SAR信号处理机快速调试和系统实时监控的要求,设计上位机功能。

① 录取数据:将SAR雷达回波原始数据读取存入CF卡中,为下一步的成像做准备。

② 地面测试:对一个PRT的回波数据进行处理,查看是否与实际场景信息吻合,判断能否进行实验。

③ 系统检测:检测SAR雷达波形模块、处理机以及收发模块的工作情况,检查系统硬件故障。

④ 数据回放:将保存于CF卡中的回波数据读出,实现成像,模拟空中试验过程。

⑤ 成像:实现SAR雷达回波原始数据的成像,并将成像数据存入CF卡中。

(3) 结果显示。上位机读取返回结果,处理后直观显示出来。

① CF卡查询:查看CF卡剩余容量,当CF卡容量不足时,将CF卡格式化。

② A/D采样:对接收到的回波数据,查看其时域和频域波形。由于C#的数值计算和绘图功能复杂,尤其数据量很大时程序的执行效率很低且难以直观地查看和分析数据的变化趋势。故采用C#与Matlab混合编程,C#接收数据后,转由Matlab函数处理,利用Matlab强大的计算绘图功能完成数据的处理和图形界面显示。

③ 系统状态:在上位机界面上显示系统工作状态,实时监测系统工作。由于系统工作状态的监测要一直进行,故采用多线程技术启用新进程来处理系统状态的显示工作,并将其设为后台进程避免与上位机其他功能的进程冲突。

④ GPS解算:接收GPS卫星数据并将解算后的信息显示。由C#解读经纬度、时间、卫星数、速度和高度信息,再传给Matlab函数绘出直观的GPS信息随时间变化曲线。

上位机软件使用界面如图3所示。

图3 软件界面图

3 测试结果与分析

为了验证上位机的功能,测试其是否能解决数据量大,实时性高,直观性强的难题,本文利用信号处理机对信号源输入12.5 MHz的正弦信号进行A/D采样,然后上位机回读数据,利用与Matlab混合编程处理后得到结果如图4所示。

经多次测试,A/D采样数据大小为100 KB时,从上位机发出A/D采样指令到回读数据、处理以及图形显示共耗时1 s,而且在此期间,还可同时操作其他功能指令,表明上位机很好地解决了大数据量传输与处理、实时性要求高、直观性好的难题。由图4(a)可知,信号处理机A/D采样出信号为正弦信号,由图4(b)可知采样信号频率为12.5 MHz,与信号源输入信号一致,说明数据传输正确。故上位机可用于对信号处理机的可视化调试,大大加快信号处理机的调试进度。

图4 A/D采样数据时域波形与频谱

最后,外场试验中,可以方便地利用上位机对SAR系统进行操作与控制。图5即为上位机录取、显示以及处理的实际雷达回波数据。其中图5(a)为原始回波,图5(b)为其频谱。从外场实验中,可以深深感受到上位机对SAR系统可视化操控的便利性。

4 结 语

上位机的设计与实现,对SAR系统信号处理机的调试和使用等具有重要意义。传统的调试方法结果不直观,较难发现问题,且操作也不方便,会造成进度缓慢等问题。本文从SAR系统功能和硬件电路出发,设计了上位机通信协议,实现了多线程、混合编程、通信协议等关键技术,利用C#与Matlab混合编程设计完成了SAR实时信号处理机的上位机开发。该上位机设计简单、开发周期短,在实际应用中大大加快了信号处理机调试的进度,方便了SAR系统的操作使用,具有重要的应用价值。

图5 上位机录取、显示及处理的实际雷达回波数据

参考文献

[1] 保铮,刑孟道,王彤.雷达成像技术[M].北京:电子工业出版社,2010.

[2] CUMMING I G, WONG F H.合成孔径雷达成像算法与实现[M].北京:电子工业出版社,2012.

[3] 钱峰.EZ?USB FX2单片机原理、编程及应用[M].北京:北京航空航天大学出版社,2006.

[4] 申伟强,马欣,李剑.C#与Matlab混合编程及其在气象数据可视化中的应用[J].创新科技导报,2013(3):56?57.

[5] 禹讯,叶林,许丹丹.机场地面结冰检测系统的上位机软件实现[J].计算机与数字工程,2013(6):993?995.

[6] 马林森,张文爱,王秀.基于PLC和Visual C#上位机的喷雾测试系统[J].农机化研究,2013(7):145?149.

[7] SHARP John.Visual C# 2010从入门到精通[M].北京:清华大学出版社,2010.

[8] 刘焕进,王辉,李鹏.Matlab N个实用技巧[M].北京:北京航空航天大学出版社,2011.

[9] 李诚刚,赵佳宝,陈兆荣.Visual C#与Matlab混合编程在可视化软件中的应用[J].软件,2012,33(2):78?83.

[10] 柯艳,李杰,孔祥雷.基于USB 2.0的多路数据采集系统上位机软件设计[J].测试技术学报,2010,24(2):351?356.

经多次测试,A/D采样数据大小为100 KB时,从上位机发出A/D采样指令到回读数据、处理以及图形显示共耗时1 s,而且在此期间,还可同时操作其他功能指令,表明上位机很好地解决了大数据量传输与处理、实时性要求高、直观性好的难题。由图4(a)可知,信号处理机A/D采样出信号为正弦信号,由图4(b)可知采样信号频率为12.5 MHz,与信号源输入信号一致,说明数据传输正确。故上位机可用于对信号处理机的可视化调试,大大加快信号处理机的调试进度。

图4 A/D采样数据时域波形与频谱

最后,外场试验中,可以方便地利用上位机对SAR系统进行操作与控制。图5即为上位机录取、显示以及处理的实际雷达回波数据。其中图5(a)为原始回波,图5(b)为其频谱。从外场实验中,可以深深感受到上位机对SAR系统可视化操控的便利性。

4 结 语

上位机的设计与实现,对SAR系统信号处理机的调试和使用等具有重要意义。传统的调试方法结果不直观,较难发现问题,且操作也不方便,会造成进度缓慢等问题。本文从SAR系统功能和硬件电路出发,设计了上位机通信协议,实现了多线程、混合编程、通信协议等关键技术,利用C#与Matlab混合编程设计完成了SAR实时信号处理机的上位机开发。该上位机设计简单、开发周期短,在实际应用中大大加快了信号处理机调试的进度,方便了SAR系统的操作使用,具有重要的应用价值。

图5 上位机录取、显示及处理的实际雷达回波数据

参考文献

[1] 保铮,刑孟道,王彤.雷达成像技术[M].北京:电子工业出版社,2010.

[2] CUMMING I G, WONG F H.合成孔径雷达成像算法与实现[M].北京:电子工业出版社,2012.

[3] 钱峰.EZ?USB FX2单片机原理、编程及应用[M].北京:北京航空航天大学出版社,2006.

[4] 申伟强,马欣,李剑.C#与Matlab混合编程及其在气象数据可视化中的应用[J].创新科技导报,2013(3):56?57.

[5] 禹讯,叶林,许丹丹.机场地面结冰检测系统的上位机软件实现[J].计算机与数字工程,2013(6):993?995.

[6] 马林森,张文爱,王秀.基于PLC和Visual C#上位机的喷雾测试系统[J].农机化研究,2013(7):145?149.

[7] SHARP John.Visual C# 2010从入门到精通[M].北京:清华大学出版社,2010.

[8] 刘焕进,王辉,李鹏.Matlab N个实用技巧[M].北京:北京航空航天大学出版社,2011.

[9] 李诚刚,赵佳宝,陈兆荣.Visual C#与Matlab混合编程在可视化软件中的应用[J].软件,2012,33(2):78?83.

[10] 柯艳,李杰,孔祥雷.基于USB 2.0的多路数据采集系统上位机软件设计[J].测试技术学报,2010,24(2):351?356.

经多次测试,A/D采样数据大小为100 KB时,从上位机发出A/D采样指令到回读数据、处理以及图形显示共耗时1 s,而且在此期间,还可同时操作其他功能指令,表明上位机很好地解决了大数据量传输与处理、实时性要求高、直观性好的难题。由图4(a)可知,信号处理机A/D采样出信号为正弦信号,由图4(b)可知采样信号频率为12.5 MHz,与信号源输入信号一致,说明数据传输正确。故上位机可用于对信号处理机的可视化调试,大大加快信号处理机的调试进度。

图4 A/D采样数据时域波形与频谱

最后,外场试验中,可以方便地利用上位机对SAR系统进行操作与控制。图5即为上位机录取、显示以及处理的实际雷达回波数据。其中图5(a)为原始回波,图5(b)为其频谱。从外场实验中,可以深深感受到上位机对SAR系统可视化操控的便利性。

4 结 语

上位机的设计与实现,对SAR系统信号处理机的调试和使用等具有重要意义。传统的调试方法结果不直观,较难发现问题,且操作也不方便,会造成进度缓慢等问题。本文从SAR系统功能和硬件电路出发,设计了上位机通信协议,实现了多线程、混合编程、通信协议等关键技术,利用C#与Matlab混合编程设计完成了SAR实时信号处理机的上位机开发。该上位机设计简单、开发周期短,在实际应用中大大加快了信号处理机调试的进度,方便了SAR系统的操作使用,具有重要的应用价值。

图5 上位机录取、显示及处理的实际雷达回波数据

参考文献

[1] 保铮,刑孟道,王彤.雷达成像技术[M].北京:电子工业出版社,2010.

[2] CUMMING I G, WONG F H.合成孔径雷达成像算法与实现[M].北京:电子工业出版社,2012.

[3] 钱峰.EZ?USB FX2单片机原理、编程及应用[M].北京:北京航空航天大学出版社,2006.

[4] 申伟强,马欣,李剑.C#与Matlab混合编程及其在气象数据可视化中的应用[J].创新科技导报,2013(3):56?57.

[5] 禹讯,叶林,许丹丹.机场地面结冰检测系统的上位机软件实现[J].计算机与数字工程,2013(6):993?995.

[6] 马林森,张文爱,王秀.基于PLC和Visual C#上位机的喷雾测试系统[J].农机化研究,2013(7):145?149.

[7] SHARP John.Visual C# 2010从入门到精通[M].北京:清华大学出版社,2010.

[8] 刘焕进,王辉,李鹏.Matlab N个实用技巧[M].北京:北京航空航天大学出版社,2011.

[9] 李诚刚,赵佳宝,陈兆荣.Visual C#与Matlab混合编程在可视化软件中的应用[J].软件,2012,33(2):78?83.

[10] 柯艳,李杰,孔祥雷.基于USB 2.0的多路数据采集系统上位机软件设计[J].测试技术学报,2010,24(2):351?356.

猜你喜欢
上位机
基于单片机的无线液位监测系统
基于单片机的远程控制智能浇水系统
论网络通信技术
基于云的短波发射机机房中央空调自动控制系统的设计与实现
基于上位机、NRF多点无线温度监控系统
可编程序控制器在粮食烘干机控制系统的应用
智能远程温室监控系统设计
基于ZigBee网络的Android平台粮情移动监测系统