毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

通信原理仿真实验系统设计与实现 第3页

更新时间:2009-6-5:  来源:毕业论文
通信原理仿真实验系统设计与实现 第3页
4 关键技术问题的提出和解决
4.1 如何在VB中调用MATLAB程序
虽然初步的设想简单,但MATLAB下只有供FORTRAN和c语言使用的编程接口,在VB中无法对其直接进行调用,因此,如何在VB中调用MATLAB程序就是我们所面对的问题。
为实现混合编程,Matlab5.0以后版本自带C语言编译器,可以把.m文件转换成.dll程序,方便VB调用。根据是否需要MATLAB环境可以将混合编程分成两大类:MATLAB在后台运行和脱离MATLAB单独运行。一般有以下几种方法[5]:
(1) MATLAB引擎采用C/S方式,通过Windows的ActiveX通道和MATLAB相结合。
(2) MIDEVA是MATHTOOLS公司推出的一种MATLAB集成编译开发平台,提供对.m文件的解释执行和开发环境支持。经过简单设置,可以把.m文件转换成C/C++代码,添加到MSVC,C++ Builder等的工程中。
(3) 利用MIDEVA直接生成EXE文件,在VB中通过Shell调用。
(4) 借用C++编译器把.m文件转换成DLL,VB可以直接调用。
(5) 在Matlab6.0以后,可通过Add-in实现混合编程。
(6) Matrix VB是一个包含MATLAB函数功能的COM库,可以在VB中直接调用。
以上方法中,(3),(4),(5),(6)方法可以脱离MATLAB环境运行,可移植性较好。另外几种方法则需要用户在计算机上安装MATLAB后才可使用。
由于本系统要求实现的功能单一,所以为了实现最终界面的统一,完成VB和MATLAB两者间的无逢连接我们决定采用ActiveX技术,即第一种方法。
4.2 ActiveX技术
ActiveX是Microsoft公司于1996年正式命名的一项技术,前身是Microsoft的OLE。ActiveX的基础是COM(Component Object Model:部件对象模型)。COM定义并实现了软部件机制,并把软部件统称为对象。ActiveX既不是一种编程语言,也不是一种操作系统,而是一种能使软部件作为对象进行交互作用的二进制标准。
ActiveX部件是将现有的、完善的程序片段组合在一起的强有力的手段。在VB中,可以使用各种类型的ActiveX部件,如ActiveX控件和代码部件等。也可以在VB应用程序内部通过编程来操纵支持ActiveX技术的应用程序所提供的对象,如Microsoft Excel电子表格和Microsoft Word文档等。此外,还可以创建自己的ActiveX部件。
4.3 ActiveX部件的创建
ActiveX部件的创建根据具体情况可分为三类,一:如果需要的部件是不可见的,则应该创建代码部件。代码部件即以前的OLE服务器,是用来封装对象的一种对象库,为代码重用提供了一种简便的方法。代码部件既可是ActiveX EXE,也可以是ActiveX DLL。如果要创建的部件可以和应用程序运行在一个进程中,则应创建Active DLL;如果要创建的部件能服务于多个应用程序并能在远程计算机上运行,则应创建ActiveX EXE。二:如果需要的是可视的部件并在设计时能被拖放到应用程序中去,则应创建ActiveX控件。三:如果需要的是可视的部件并在运行时能接管应用程序的窗口,则应创建ActiveX文档。
本文所利用的基本上属于第三种情况,由于MATLAB支持ActiveXAutomation服务器协议,该协议允许一个应用程序去控制另一个应用程序,因为VB也是支持该协议的,因此,一旦VB和MATLAB建立了ActiveXAutomation连接,VB即充当了控制端的角色,而MATLAB则作为服务器接收并处理VB发送的命令,实现了VB对MATLAB的调用。
4.4 ActiveX部件的使用
同其他对象一样,ActiveX部件创建后并不能直接使用,而必须通过一个变量,即将该部件对象引用赋值给变量,然后编写代码来使用对象的方法、属性与事件来完成对部件的使用,使用完后要释放对象。
部件对象引用如何赋值取决于两个因素:①部件是否提供类型库。若提供类型库,则使用之前,要在工程中添加对类型库的引用。类型库含有ActiveX部件提供的全部对象的定义以及全部可用方法、属性和事件的定义。换句话说,若没有加载类型库的话,所使用的部件的所有可实现的功能都必须自己定义并编写代码后才可调用。②对象是顶层对象、外部可创建对象,还是从属对象。如果是外部对象,则可以在Set语句中用New关键字、CreateObject或GetObject函数从部件外面将对象引用赋予变量。如果对象是从属对象,则需要使用高层对象的方法在Set语句中指定一个对象引用。
如图 4 1,由于MATLAB提供了相关的类型库,故本问所设计的仿真系统在使用VB设计时将库添加后即可使用MATLAB提供的相关方法、属性和事件。

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

通信原理仿真实验系统设计与实现 第3页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。