基于Matlab的雷达系统仿真软件包设计与实现

时间:2010-10-15来源:网络

C语言的MEX文件源程序主要由两个部分组成:第一部分是算法程序,用于完成实际工作;另一部分是入口子程序,它是算法程序与Matl-ab的接口。入口子程序实现接口功能是通过在输入指针数组中获得算法程序所需的数据,同时也能把计算结果返回到输出指针数组。在这里mexFunction有着输入/输出与变量转换的作用。参照本文编写的mexrun.cpp文件,需要注意以下几点:
(1)void mexFunction(int nlhs,mxArray*plhs[],int nrhs,const mxArray*prhs[])。函数头中nlhs是Matlab命令行方式下输出参数的个数;*plhs[]是一个mxArray结构体类型指向所有输出参数的指针数组;*prhs[]也是是一个mxArray结构体类型指向所有输入参数的指针数组;nrhs是输入参数的个数。
(2)还需定义以下几个变量:char*input_arg1,*input_arg2;int len1,len2,status1,status2。其中:*input_arg1,*input_arg2是两个字符指针;len1,len2表示分配空间长度;status1,status2是两个数据空间变量。
(3)输入的必须是单行字符串,行矢量,如下:

(4)把输入的字符串拷贝到C字符串里面,如下所示:

按照上述流程设置好编译环境和源程序后就可以编译此工程,编译成功后,在debug文件夹中会生成mexrun.dll链接库文件。实验结果表明,只要把mexrun.dll链接库文件放在Matlab的当前工作区中,就可以在GUI设计中的m文件编写中直接调用。

2 系统模块的设计与实现
雷达系统软件包的总体结构采用分离式的多模块结构,即各功能模块彼此相互独立,分别完成一定的功能。从方便用户的角度出发,设计的雷达系统软件包采用多层次的分级菜单驱动形式,先由主菜单选择进入各功能模块的子菜单,在每一个功能模块的菜单下,可以选择参数设置、程序运行、获取帮助和返回上级菜单等操作。
2.1 系统实现方法
图形用户界面(graphical user interfaces,GUI)是用户与计算机进行信息交流的方式。计算机在屏幕显示图形和文本,用户通过输入设备如键盘、鼠标等与计算机通信。GUI中包含各种控件,通过对控件设置一些事件响应函数,这些函数可以在控件创建或删除等事件发生时执行,从而实现特定事件触发下需要的某些功能。这些事件响应函数即是句柄图形对象的回调函数。
本文使用GUIDE界面来对各种控件进行布局,并利用属性编辑器对每个控件进行设置。软件包的实验界面主要有登陆界面、主界面和各部分子界面。下面以登陆界面为例,说明图形用户界面的设计过程。
2.2 登陆界面设置
图2表示GUIDE界面下对登录界面进行设置,其中包含了按钮、静态文本框、编辑框和坐标轴。在对每种控件的属性编辑器进行编辑时,Matlab对于每个控件都会在其相应的m文件中初始化出一个回调函数。


首先,可以通过调用混合编程实现的mexrun.dll库文件打开help文档、MP3文件和MP4文件。以video按钮为例,打开它的属性编辑器可以看到其对应的Tag属性pushbuttonl,在其回调函数中加入如下代码。video按钮打开后是关于软件包使用说明的一段简单视频。

其次,编写坐标轴控件的属性和构造函数,这里的坐标轴函数是用来显示一张JPEG格式的静态图片。Matlab提供imread()函数和imshow()函数来读取和存放静态图片,函数中的X是一个矩阵。

1 2 3

关键词: Matlab 雷达 系统仿真 软件包

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版