雷达信号模拟器主控台论文Word格式文档下载.docx
《雷达信号模拟器主控台论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《雷达信号模拟器主控台论文Word格式文档下载.docx(55页珍藏版)》请在冰豆网上搜索。
第5章场景文件设置21
5.1软件流程图21
5.2具体实现22
5.2.1数据库显示22
5.2.2信号选择22
5.2.3选择信号显示23
5.2.4选择信号保存24
5.2.5清空场景29
第6章试验控制设置31
6.1软件流程图31
6.2场景文件显示32
6.3场景文件打印33
6.3.1常见Excel对象介绍33
6.3.2打印设定34
6.4场景文件控制35
6.4.1串口概述35
6.4.2计算机的串口35
6.4.3串行通信控件MSComm37
6.4.4具体实现43
第7章设计心得与不足45
7.1设计心得45
7.2软件不足45
参考文献46
致谢47
外文资料原文48
外文资料译文60
第1章引言
1.1选题背景
在雷达技术的飞速飞速发展的今天,雷达信号环境已经变得十分复杂。
在新一代雷达对抗设备的研发、试验和鉴定过程中,已经不可能靠布置大量真实电子设备提供所需要的电磁场信号环境[1]。
因此,采用雷达信号环境仿真技术提供复杂、逼真、动态的电磁信号环境,评估雷达信号设备的性能,优化系统设计,具有非常重要的现实意义。
1.2研究现状
目前,雷达信号环境模拟器发展迅速。
大致可以分为射频,视频等类类型。
不过其主控台软件的设计是类似的。
有的模拟器主控台向下位传输的是场景描述,信号描述数据的生成由下位机完成,通常利用SP微处理器编程,将程序固化。
这种方法的优点是传输和运算难以增加新的模拟雷达体制[2]。
另一种是模拟器主控台向下位机直接传输信号描述数据,数据的生成由主控台软件完成。
这种方法的优点是功能易扩展,不足是运算速度和传输速度相对较慢,但在计算机技术和网络技术不断进步的今天,这方面问题已不会对设备性能造成明显影响。
本课题主要研究的是后面一种。
1.3研究重点难点
本课题主要是利用VB语言,开发一套雷达信号模拟器主控台软件,实现用户能够方便的在界面上输入所需模拟的辐射源的参数。
并以表格的形式将参数储存,并传输给下一系统。
主要难点包括用户界面设置,数据库管理,辐射源参数储存等等。
第2章编程工具简介
2.1VB6.0简介
本课题选取VB6.0作为编程工具。
VB6.0全称为VisualBasic6.0,是微软公司于1998年推出的可视化编程工具MSDN之一,是目前世界上使用最广泛的程序开发工具之一。
其结构简单,编写程序对系统的资源占有极低。
VB6.0是一款简单易学、功能强大的编程工具。
它不但在一般程序设计方面比传统的程序设计语言具有明显的优势,而且可作为多媒体创作工具,支持程序的跳转,即从静态目标跳转到音乐、声音、动画、图形等目标;
同时具有脱机播放动画的能力,能较好地控制动画的清晰度、运动速度和方向,并采用了动画过渡技术(如淡入淡出、渐隐渐现)等[3]。
VB6.0的几大优点:
1.可视化程序设计
用传统的程序设计语言设计程序时,必须通过大量的代码去描述界面元素的外观和位置,而且在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。
一个成功的界面需经反复多次编程——编译——修改才能完成,这种编程方式会大大影响编程效率。
VB提供了可视化的设计工具,把Windows下的界面设计的复杂性“封装”起来。
开发人员只需根据界面的设计要求,在Windows下建立一个“窗体”,并直接在窗体上画出各种“图形对象”,通过设置这些“图形对象”的“属性”来调整其在窗体界面中的位置、大小和样式,从而避免了为界面编写大量的程序代码工作,大大提高了程序设计的效率。
2.面向对象程序设计
在VB中,用来构成用户图形界面的可视化窗体及控件(如按钮、文本框、标签等)都是一个个对象。
编程时用户可直接引用这些对象,并可以直接使用系统和为对象封装好的各种功能,用户不必重新编写建立和描述每个对象的程序代码,只需根据实际需要及每个对象所提供的功能编写程序即可。
3.事件驱动的程序设计
传统的编程是面向过程、按规定顺序进行的。
应用程序执行时,从第一个语句开始执行,直到最后一个语句结束,这种程序结构完全由编程人员控制程序的执行。
而Windows下的应用程序,必须能让用户自由操纵程序的执行,需要采用事件驱动的程序设计方式完成。
与Windows下的其他开发工具一样,VB也采用事件驱动的编程机制,应用程序的执行是通过事件来完成的。
一个对象可能会产生
多个事件,每个事件都可以通过一段程序来响应。
例如,命令按钮是一个常用的对象,当用户用鼠标在它上面单击一下时,便会在该对象上产生一个鼠标单击事件(Click),VB会自动调用执行命令按钮上的Click事件过程,实现指定的操作。
在用VB设计应用程序时,没有明显的主程序概念,程序员所要做的工作是针对不同的对象分别填写它们相关的事件过程代码。
因此,整个应用程序是由若干个这样的过程程序组成的,从而降低了编程的难度和工作量,提高了程序的开发效率。
4.强大的数据库编程能力
利用VB的数据控件和数据库管理器等工具,可直接建立或处理MicrosoftAccess格式的数据库,还能直接编辑和访问其他外部数据库,如Dbase、Foxpro、Paradox等。
同时VB还提供开放式数据库访问(ODBC)功能,可通过直接访问或者建立连接的方式使用并操作远程服务器上的关系型数据库,如SQLServer、Oracle等。
使用结构化查询语言SQL,轻松访问并操纵远程服务器上的关系型数据库,运用应用程序向导,迅速创建标准的数据库应用程序。
2.2SQL2000简介
本课题选取的数据库为SQL2000。
SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统的一个版本。
它具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindowsxp的大型多处理器的服务器等多种平台使用。
SQL2000具有以下几个特点:
Internet集成。
SQLServer2000数据库引擎提供完整的XML支持。
它还具有构成最大的Web站点的数据存储组件所需的可伸缩性、可用性和安全功能。
SQLServer2000程序设计模型与WindowsDNA构架集成,用以开发Web应用程序,并且SQLServer2000支持EnglishQuery和Microsoft搜索服务等功能,在Web应用程序中包含了用户友好的查询和强大的搜索功能。
可伸缩性和可用性。
同一个数据库引擎可以在不同的平台上使用,从运行MicrosoftWindows&
reg;
98的便携式电脑,到运行MicrosoftWindows2000数据中心版的大型多处理器服务器。
SQLServer2000企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大Web站点所需的性能级别。
企业级数据库功能。
SQLServer2000关系数据库引擎支持当今苛刻的数据处理环境所需的功能。
数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。
SQLServer2000分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是SQLServer2000数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。
复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。
可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。
SQLServer2000中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用SQLServer的过程。
SQLServer2000还支持基于标准的、与WindowsDNA集成的程序设计模型,使SQLServer数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。
这些功能使您得以快速交付SQLServer应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。
第3章数据库设计
3.1创建数据库
首先打开SQLServer2000企业管理器,展开服务器组,然后展开服务器,单机“数据库”/“新建数据库”命令,在弹出的“数据库属性”对话框中,输入数据库的名称。
我们这里取数据库名称为“毕设雷达信号“。
图3.1数据库界面
3.2创建新表
数据库创建完成以后,在SQLServer2000的企业管理器中展开“毕设雷达信号”,选中“表”选项,单机鼠标右键,在出现的快捷菜单中选择“新建表”选项。
在表设计器中,有如下操作步骤:
1.输入字段名。
在“列名”列表项中输入字段名。
这里要注意在SQLServer中,字段名是不允许重复的。
2.选择适当的数据类型。
我们这里长度用的是默认值。
3.在“允许空”列表中,我们这里都是选取的不允许空。
每个参数对于雷达信号都是很重要的。
4.完成这些操作以后,单机保存图标,修改表名。
一张表就成功的设计了。
图3.2数据库表格参数
注:
此图为常规脉冲信号的表格设计。
本软件一共建立了4张表格如下图:
图3.3数据库表格
3.3配置ODBC数据源与数据库
本软件采用MicrosoftOLEDBProviderforODBC作为数据源提供者。
在使用MicrosoftOLEDBProviderforODBC提供者之前应首先配置ODBC数据源,下面介绍ODBC数据源的配置。
单击“控制面板”/“管理工具”/“数据源(ODBC)”,打开“ODBC数据源管理器”,单击添加按钮。
如下图:
图3.4
然后,系统将准备添加一个用户数据源。
这时会弹出”创建新数据源“对话框。
我们这里选择了SQLServer类驱动程序。
图3.5
单击完成按钮,就进入“创建到SQLServer的新数据源”对话框:
图3-6
我们在名称文本框中输入数据源名,这里输入“uestc“作为新的数据源名称。
描述文本内输入是对数据源的描述,也可以为空。
这里没有输入,在服务器列表框中选择需要连接的服务器。
这里选择local。
单击下一步按钮进入到如下图:
图3-7
在”创建到SQLServer的数据源“对话框中,选定“使用用户输入登陆ID和密码的SQLServer验证”单选按钮。
在登陆ID一栏输入“sa“在”密码“一栏中输入空内容。
单击下一步:
:
图3-8
这里数据库选择“毕设雷达信号“点击下一步。
在下图对话框单击完成就成功完成了新数据源的配置:
第4章数据库维护设计
4.1软件流程图
由于4个个信号方法类似,在流程图里面只写出了一种。
图4.1数据库维护流程图
4.2具体设计
所谓数据库维护模块就是对前面所建立的数据库中的4个表格内容进行操作。
完成对4种雷达信号的删除,增加,修改等功能。
由于每种雷达信号的编写方式类似。
这里主要介绍常规脉冲信号模块的编程方法。
4.2.1控件选择
控件清单:
Command控件4个,frame控件2个,text控件2个(一个是text数组),adodc控件一个,DataGrid控件一个。
4.2.2数据库显示
这里数据显示过程是用Datagride表格显示数据库中的常规脉冲信号。
我们这里用的连接数据库的控件是ADOData.ADOData控件属于ActiveX控件,使用以前必须将其添加到工具箱中[4]。
添加方法如下:
单击“工程“/“部件”菜单项,弹出“部件”对话框。
在“部件”对话框中选择“microsoftADODataConctrol6.0(OLEDB)”列表项,单击确定按钮,即可将ADOData控件添加到工具箱中。
将鼠标移到工具箱中,将显示该控件的名称“Adodc”
双击工具箱中的ADOData控件图标或单击ADOData控件后在窗体上拖拽鼠标,即可将ADOData控件加到窗体中。
然后再设置ADOData控件连接Access数据库:
1.在窗体上面添加一个ADOData控件以后,单击该控件,在右侧的属性列表中找到ConnectionString属性,单击【…】按钮,将弹出下图对话框。
图4.2
2.在属性页对话框中选择“使用连接字符串“连接数据库
3.单击生成按钮,选择“MicrosoftOLEDBProviderforODBCDrivers“
图4.3
4.单击下一步注意数据源名称选择uestc,登陆服务器用户名sa密码空白。
图4.4
5.测试连接。
弹出连接成功对话框说明完成连接配置。
图4.5
我们这里要连接的是数据库中的常规脉冲信号表格。
所以还要在RecordSourse中设置一下如下图:
图4.6
这样就成功的连接上数据库了。
要将数据库表的内容显示出来只要把Datagride中的DataSourse输入Adodc1即可。
4.2.3数据添加删除
雷达信号的数据的添加,删除主要是通过工具栏的ButtonClick事件过程来实现的。
添加数据如下图:
图4.7
当输入数据符合要求的时候雷达编号自动加1,界面显示添加成功。
当添加数据不满足信号要求的时候如下图:
图4.8
删除信号如下图:
图4.9
当要删除的信号不存在时如下图:
图4.10
4.2.4数据库操作方法
本课题对数据库操作主要是使用的ADOData控件的提供的方法来实现的。
4.2.4.1ADOData控件的AddNew方法向表中增加一条记录
功能:
为可更新的Recordset对象创建新记录。
语法:
recordest.AddnewFieldList,Values
参数说明:
Fieldlist可选。
新记录中字段的单个或一组字段名称或者序列位置。
Values可选。
新记录中字段的单个或一组值。
如果Fields是数组,那么Values也必须是有相同成员数的数组,否则将发生错误。
字段名称的次序必须与每个数组中的字段值得次序想匹配。
4.2.4.2ADOData控件的RecordSource属性查询记录
RecordSource属性用来返回或者设置语句或返回一个记录集的查询.
obiect.RecordSourse[=value]
Object一个对象表达式,其值为“应用于”列表中的一个对象
Value一个字符串表达式,他指定了一个记录源
4.2.4.3ADOData控件的Delete方法删除一条记录
删除当前记录或者记录组
recordset.DeleteAffectRecords
AffectRecordsAffectEnum值,确定Delete方法所影响的记录数目。
4.2.4.4ADOData控件的Updata方法修改记录。
保存对Recordset对象的当前记录所做的所有更改.
recordset.UpdateFields,Value
Fields可选。
变体型,代表单个名称;
或者变体型数组,代表需要修改的字段(单个或者多个)名称或序号位置。
变体型,代表单个值;
或者变体型数组,代表新记录中字段(单个或多个)值。
修改记录应该分为4步:
1.通过一个唯一的字段查询要修改的记录。
2.将该记录中要修改的数据显示在文本框中,给用户修改。
3按.照1步中的字段,查询表中的记录。
4.如记录存在,修改该记录,将文本框中的值赋给对应的字段。
常规脉冲信号增加代码:
PrivateSubCommand2_Click()
DimiAsInteger
Adodc1.RecordSource="
select*from常规脉冲信号"
i=Adodc1.Recordset.RecordCount
i=i+1
IfText2(0).Text>
2AndText2(0).Text<
20AndText2
(1).Text<
2000AndText2
(2).Text>
500AndText2
(2).Text<
300000AndText2(3).Text>
5AndText2(3).Text<
60AndText2(5).Text<
360AndText2(6).Text>
2AndText2(6).Text<
7AndText2(4).Text>
0Then
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields(0)=i
Adodc1.Recordset.Fields
(1)=Text2(0).Text
Adodc1.Recordset.Fields
(2)=Text2
(1).Text
Adodc1.Recordset.Fields(3)=Text2
(2).Text
Adodc1.Recordset.Fields(4)=Text2(3).Text
Adodc1.Recordset.Fields(5)=Text2(4).Text
Adodc1.Recordset.Fields(6)=Text2(5).Text
Adodc1.Recordset.Fields(7)=Combo1.Text
Adodc1.Recordset.Fields(8)=Text2(6).Text
Adodc1.Recordset.Update
MsgBox"
添加成功"
Else
输入有误"
EndIf
EndSub
2.常规脉冲删除代码:
PrivateSubCommand1_Click()
DimjAsInteger
DimkAsInteger
j=Text1.Text
select*from常规脉冲信号where雷达编号="
+Text1.Text+"
"
Adodc1.Refresh
IfAdodc1.Recordset.RecordCount>
Adodc1.Recordset.Delete
Fork=j+1Toi
&
k&
"
Adodc1.Recordset.Fields(0)=Adodc1.Recordset.Fields(0)-1
Nextk
删除成功"
该记录不存在"
到这里基本上实现了对数据库维护的工作。
其他几种雷达信号操作基本类似。
这里不做过多说明了
第5章场景文件设置
5.1软件流程图
由于4个信号的场景设置是一样的,这里只写出了一种信号的场景设置流程图
图5.1场景设置流程图
5.2具体实现
场景文件的选择是本次设计的重点之一,关系到信号模拟参数。
在本课题设计中起着承上启下的作用。
5.2.1数据库显示
这里我们还是利用控件Adodc连接数据库,DataGrid显示数据库表格信息。
图5.2
具体设置前面介绍过了,这里不做过多介绍。
5.2.2信号选择
这里通过雷达编号对雷达进行选择。
当选择了存在的雷达信号的时候如下图:
图5.3
如果选择的雷达信号数据库中不存在如下图: