基于MATLAB的通信原理实验平台设计.docx
- 文档编号:4485063
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:13
- 大小:115.81KB
基于MATLAB的通信原理实验平台设计.docx
《基于MATLAB的通信原理实验平台设计.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的通信原理实验平台设计.docx(13页珍藏版)》请在冰豆网上搜索。
基于MATLAB的通信原理实验平台设计
基于MATLAB的通信原理实验平台设计
摘要
基于原始虚拟实验平台,本文对JMatLinkJava和MATLAB数字通信虚拟实验平台进行了设计和分析,虚拟平台的目标是为了解决教学当中出现的问题,促进软件开发成本的下降,促进教学目标得到实现,而且实验平台包括了服务器以及客户端,促进计算机性能的提升,而且使用的XML技术保存组件,MATLAB作为背景,对计算机的仿真能力进行分析,客户端使用的JavaApplet这种程序,可以通过组件技术对设备组件进行分析,平台的独立性比较好,而且软件也同样具有可扩展性,实验的结果可以进行动态显示,以平台为基础提出了PCM实验,分析了平台组件开发的过程以及操作机制,通过这个举例,积极的发挥了平台的可行性以及可操作性,实用价值比较高。
关键词:
虚拟试验平台;MATLAB;JMatLink;JavaBean组件
Abstract
Onthebasisoftheoriginalvirtualexperimentplatform,thispaperdesignsandimplementsthevirtualexperimentplatformbasedonJMatLinkintegratedJavaandMATLAB.Thevirtualplatformmainlysolvestheproblemoftheshortageoftheexistingexperimentalteachingresources,reducesthecostofsoftwaredevelopmentbasedoncomponents,andprovidesavirtuallaboratoryforteachinguse.Theexperimentalplatformisdividedintotwoparts:
serverandclientserverapplications,throughtheuseofmultithreadingtechnologyisagoodsolutiontomultiuseraccess,improvetheprocessingperformance,tosavethecomponentinformationbyXMLtechnology,andMATLABascomputingbackgroundtoimprovethesystemsimulationabilityoftheclient;;JavaAppletprogram,usingBeandevelopmentofexperimentalequipmentcomponenttechnology,softwarereuseisplatformindependent,andcanbeextended,andtheexperimentalresultscanbedisplayed.Basedonthisplatform,thispaperpresentsaPCMexperiment,anddescribesthedevelopmentprocessoftheplatformcomponentsandtheoperatingmechanismofthebackground.Throughtheexample,thefeasibilityandoperabilityoftheplatformisverified,andithasgoodpracticalvalue.
Keywords:
virtualtestplatform;;MATLAB;;JMatLink;;JavaBeancomponent
1引言
1.1研究背景
互联网在世界的飞速发展,获得了比较大的成功,在世界上覆盖范围比较大,而且信息资源比较丰富计算机信息网络,因为是信息高速公路的主体,互联网促进了世界科学的发展和进步,提升科研力量的技术水平,现代信息社会中,科研项目的数量越来越多,许多项目需要大型合作人才才能更好的解决;由于研究活动的成本上升,实验设备比较大,价格也比较高,所以需要实验设备共享还能够促进研究成本的下降,获得信息网络全球化以及通讯技术的新成果,积极地促进研究人员之间开展互动,做好技术协作以及资源共享,为不同领域的人员提供比较好的共享方法,能够更好地解决信息激增出现的各种问题,互联网产生对于教育以及科学研究来说具有重要的意义,由于新的技术创新,教育以及研究模式也在发生变化,远程教育就是比较典型的,互联网教育作为远程教育的典型例子,为委员程教育的发展提供了新的动力。
1.2研究意义
虚拟实验室比较开放而且比较直观,通过虚拟实验室就可以为学生进行远程学习,而且可以提供一种图文以及音像教育,形成了比较先进的传感器测量技术,使用电脑模拟,动画,缓慢或快速的过程缓慢,滥用或爆炸后的模拟可能会发生有毒有害污染环境和破坏性实验,能够在虚拟实验室中获得社会以及经济效益。
虚拟实验室更新的速度很快,能够进行维护以及操作。
当前的科学技术在不断的进步,越来越多的新技术以及设备不断的出现;另一个方面,高等教育的资金招生规模比较小,不能够购买高科技设备,能够对教学进行显示,不能够满足教学和研究的需求。
虚拟实验室可以随时打开,能够更好的满足学生的好奇心,不断地增强动手能力。
虚拟实验室促进资本成本的下降,极大地提升了教学研究的效果,实验室可以有效地减少了用品的消耗情况,避免产生重复购买的情况,促进教学以及研究效益的不断提升,实验室操作比较方便,而且不会受到条件的影响,没有实验时间进行限制,所以可以全面的进行资源共享。
1.3研究内容
第一章介绍。
主要是分析了互联网虚拟实验室的背景,阐述了基于Java和MATLAB的虚拟实验室平台开发的必要性和意义。
第二章积极的分析了通信平台的需求情况,主要对通信原理的实验特点开展的各方面的分析,通过相关的实验进行设计平台以及功能模块划分,获得了平台架构,有利于环境运行以及工具的开发。
第三章数字通信实验平台的建立。
本文主要分析了实验平台开发过程中的情况,而且分析Java以及MATLAB各种之间的沟通情况,每个模块的设计需要和客户端与服务器进行分开,然后实现的应用程序的集成目标,平台获得了可视化界面,可以进行后台的处理操作。
而且对于客户端而言,用户可以添加组件开展各项检查。
第四章介绍了“通信原理”课程的PCM实验过程,并且对实验过程进行了分析,内容以及原理,而且分析了实验的结果。
第5章总结。
分析设计开发工作,未来需要进一步的完善各种开发工作平台。
2数字通信实验平台的需求分析和总体设计
2.1平台需求分析及功能划分
2.1.1平台需求分析
从课程需求的角度考虑的话,《通信原理》作为课程理论的基础,大学本科的课程重要性是必不可少的,学生和教师要在教学中积极地发挥作用,不能够和实验环节进行分离,实验的实施是以课程为基础的,所以进行教学设计的过程中,必须要参加教育科学研究的课程,这样在某种程度上才能够发挥更大的效果。
从实验的环境全面来说,真实的环境受到工作人员,场地以及时间的限制,作文教学实验的限制因素。
所以要积极地掌握真实实验,分析数字通信的原理,这样才能够满足教学的需要,也能够满足用户使用的需求,最终能够克服物理设备产生的问题。
2.1.2平台功能划分
在对实验室需求考虑的基础上,需要对实验过程的功能进行分析,但是主要让实验室获得较多的实验设备,这对于平台的实施来说意义重大,所以在开发系统的过程中必须要获得比较多的设备件,这样才能获得比较多的数量。
以互联网数字通信原理构建的实验平台,主要是以服务器以及客户端进行划分的。
在服务器层面,功能主要是通过两个部分形成的,一个部分是设备的组件,另一个部分是获得远程用户的请求并且积极的处理,然后结果可以反映给远程用户。
由于服务器端请求更多的并发性,服务器端需要具有良好的后台调度机制来处理这些请求。
在客户端主要的功能包含了交互式实验界面,界面的设计实验,开展参数调整,促进过程的输出,注意流程以及进行在线提示,动态模拟是开发过程中必须要考虑的功能。
2.2平台体系结构
用户主要使用的浏览器通过虚拟机支持远程服务应用程序的下载,根据页面事件响应服务器的请求,这种请求需要类文件Java;
服务器需要客户提交XML文件,而且要对注册文件进行分析,然后将Java类文件返回给用户;
当用户获得了Java类文件之后,需要调用本地的初始化用户界面,然后在界面中根据实际的需要进行验证,然后需要将系统的服务器发送MATLAB满足函数功能的要求;
拦截到用户的请求,通过JMatLink调用MATLAB,并通过VLS计算结果返回给用户;
用户获得了服务器结果就要执行线程操作,而且有利于实验结果的实现。
图2.1数字通信原理虚拟实验平台体系结构
2.3平台运行环境
客户端操作环境:
虚拟实验室主要使用J2SE语言开发,而且具备的语言独特的平台,当计算机解释JAVA,可以在计算机上运行JVM,然后在所有流行的操作系统下进行运行。
如MicrosoftWindows系列,如Windows98,WindowsMe,WindowsNT.Windows2000系列,SunSolaris,Apple的Macintosh,以及Linux和Unix操作系统。
用户通过两种方法进入到实验室中,首先要获得JAVA浏览器。
但是,不同版本的Netscape和InternetExplorer支持不同版本的Java,因此使用IE和Netscape6.0或更高版本的浏览器需要用户安装相应版本的JavaPlug-in(JavaPlug-in)。
虚拟实验室使用的JDK的当前版本是1.4。
第二种方法是使用WebStart技术进入虚拟实验室,使用WebStart技术将自动安装适当的JDK操作环境。
服务器端操作环境:
Web服务器可以安装在Windows2000Server或WindowsNT的服务器端。
要在Windows2000Server或WindowsNT上安装服务器,可以选择IIS5.0或其他Web服务器。
您还可以选择另一个平台作为Web服务器,如Linux+Apache。
在这个平台上,我们使用Tomcat5.5相关组件,属性等文件发布。
3数字通信实验平台的具体设计与实现
3.1MATLAB的通信机制
3.1.1JMatLink简介
1999年,德国StefanMueller博士成功地建立了一种JMatLink新接口,有利于Java调用MATLAB算法库,由于这些年在不断的改进,出现了比较成熟的软件产品。
JMatLink的所有的方法都是本机方法,主要通过非语言进行编写。
这些方法是Windows95/98INT/2000,各种UNIX平台可以支持一些框架而无需更改源代码。
JMatLink被定义为继承自java.lang.Thread的类。
3.1.2JMatLink的内部机制
为了实现Java和MATLAB的通信,JMatLink主要使用JNI技术,因为和他JNI进行视图是比较轻松的而且要容易,可以开展实时的通讯,让连接服务器的问题得到更好的解决,主要包含了以下部分:
基础设施,提供了一种新的组件,可以知道系统的联合系统;
程序设计模型,要鼓励分布式服务产品的获得,
服务。
作为联合系统的一部分,为其他的成员提供功能。
3.2服务器端主要模块的设计与实现
3.2.1服务器管理界面
对于代理服务器管理模块而言要进行服务,积极地开展日常工作配置,进行控制以及维护以及MATLAB的开启和关闭等。
为了能够完成模块的功能,首先使用Swing技术开发服务管理界面,为操作员的图形界面提供一个窗口,方便使用。
管理界面执行以下功能:
(1)在Web服务器发布服务中,用户在打开接口发送呼叫之前初始化请求;
(2)当后台操作接受用户请求后,分析数据流后,显示相关信息,轻松管理视图,包括客户端地址,哪些组件连接;
(3)打开和关闭MATLAB计算引擎;
(4)其他辅助功能,包括配置,退出服务,日志显示。
3.2.2线程池的详细设计
很多服务器的应用程序被设计用来处理各种短任务,主要是通过某种方法的网络协议进入到服务器中,或者是通过数据查询库,不管请求是怎么样的,服务器应用程序经常会发送一个请求任务,请求的数量非常多.
建立服务器应用程序的模型主要的目标是为了创建一个新线程然后可以发出新的请求。
一般而言,这种方法对于原型设计非常有效,如果你使用了这种方法促进服务器的应用程序工作,那么这种方法的缺点是比较容易得到发现的,每个线程对于缺点是需要创建一个新的线程,然后要建立线程服务器还要回线程,,系统的资源损耗比实际用户花费了更多的时间。
除了建立开销,线程会消耗各种资源,导致内存出现不足的状况,最终会产生系统过载,为了避免出现资源不足,需要使用一些方法限制各种请求的处理。
线程池主要使用的多个任务的线程,线程创建成本实现的任务共享,如果线程出现的时候,那么请求获得的时候,获得的延迟就会取消,这样就可以进行请求服务,然后可以进行更好的响应,对线程数目进行调整,当请求的数量超过某个值的时候,强调其他新的请求需要及时的被处理,才能避免资源浪费。
3.2.3后台调度模块的设计
为异构对象提供调用服务。
在服务器端通过JMatLink创建引擎对象,实现对象方法可以打开,关闭MATLAB计算引擎基本调用方法;;单MATLAB计算引擎提供分布式通话服务;
任务调度和数据流分析。
用户的需求从任务队列中做好任务分析,可以调用MATLAB算法处理吧,对数据流计算进行分析,通过这种过程,客户端组件就可以获得以下的处理结果;
返回MATLAB计算的结果。
服务线程已被安排为单个任务,所以相应的请求将逐个返回结果。
在VLS中,JMatLink作为Java和MATLAB之间的桥梁。
JMatLink使用JavaJN技术定位和调用非Java方法(本地化方法),并将C/C++文件编译到JMatLink.dll中,该文件还引入了MATLAB库函数。
您可以轻松调用MATLAB函数,以便Java可以与MATLAB进行通信。
图3.21调用MATLAB请求的序列图
在平台上,主要是使用的通讯工具源代码编码,模拟数字调制解调器,主要通过特殊滤波开展数据的过滤,这些功能要根据开发过程的规则,积极的为对象提供服务,在现实生活中,需要解析远程客户的组件信息,然后要配备背景定义的组件类型,当配对完成之后,要通过引擎调用方法对执行对象的传递暂停值以及执行组建属性。
MATLAB计算引擎。
3.3客户端主要模块的设计与实现
3.3.1用户操作界面
在实现用户界面时,我们使用Swing用户界面组件技术来开发几个模块类,主窗口(MainWindow),主菜单(MainMenu),工具栏(ToolBar),实验设备载体(DeviceCarrier)实验设备连接器类(DeviceConnector),设计面板(DesignPane),属性编辑类(PropertyEditor)用户注册类(RegisterClassPane)和结果面板类(ResultPane)等,其中MainWindow类是实验平台的主要框架,它继承了JFrame类,整个数字通信虚拟实验用户界面平台布局。
在Ma.inWindow中我们加载了实验设计窗口,实验结果窗口,工具栏和菜单栏;;ToolBar分别创建了五个实例对象,分别运行,停止,创建,打开并保存实验过程;DeviceCarrier类创建对象是实验设备单元中的流,性别和一些属性值。
它具有设备名、引线、大小、实验设备的URL地址等属、PropertyEditor类完成了实验设备属性的编辑;设备的主要完成开始,执行,停止和显示结果。
3.3.2动态实验仿真效果
数字通信实验的特点表明,实验需要动态和现实的实验结果。
在设计和实现过程中,可以从实验设备中提取单个设备,具有相应的动态特性。
为了能够在平台上提供这些功能,我们从实验过程的数据生成和显示中显示实验模拟结果。
1.实验数据的动态产生
一,实验数字信号课程具有连续稳定的特点,在信号发生器的设计中应与此特征保持一致;那么信号接收信号的分量动态变化有正确的方法;最后,信号应准确符合实验要求。
在信号分量中,如动态正弦,余弦,正切等信号。
这些方法被封装在相应的组件方法中,例如产生正弦信号。
相应的方法是sinSignal(),为了能达到实验要求的精度,该方法返回类型定义为double型;;该循环用于动态生成预定义的数据数组N.在实验组件中,dataNum的值为36,结果存在result的定长数组中。
结果具有实验的准确性而且是一个固定长度的数组。
当一个组件获得一个线程运行时,它的方法被调用一次,一次生成一个数组的36个字节,然后传递给另一个组件进行处理,直到显示最后一个信号。
2.动态显示实验结果
实验的最终显示通过组件获得的,因为实验要求不同所以出现了不同的组件,这些组件会定义缓冲区对组件数据进行缓存,其长度是dataNum的整数倍。
setSourceData2(doublesource)方法在组件方法体中定义,接收的数组被缓冲到buffe:
array中,ScopeData数组从缓冲区数组(从头到尾)存储,后面是drawHistogram()方法调用ScopeData数组中的数据来绘制JlnternalFrame对象。
在组件中,为了在过程中动态显示信号变化,组件设计需要定义一个重要的属性sleepInterval,可以更好的反应信号的间隔情况。
当绘制时,相邻数据之间的间隔是用户可以设置sleepInterval的时间差。
这样,这样就能够发现显示屏信号的动态以前。
当后台线程继续运行时,显示组件继续从前一个组件获取数据,并连续填充缓冲区数组,使得最后显示的信号可以连续流动。
3.3.3设备Bean组件的设计
在对虚拟实验平台设备开发的时候,主要使用Java组件对象技术,技术和组件技术进行结合,有利于程序得到更好更快的开发,你在当前网络程序平台上得到使用,而且每个实验设备需要根据规范进行创建,而且获得了对接口调用,实践细节被封装在bean中,用户可以添加新的实验组件,在bean中实现的方法分别提供的属性读取以及改变,促进仪器组件属性的设置以及读取,主要使用的各种组件技术,用户可以对设备自行选择,对参数值进行设计,bean组建模型可以对虚拟实验平台进行开发。
一般来说,对于特定设备为了功能得到实现,我们需要根据组建方法进行访问,施工方法以及相同的那个平台,他主要负责变量的组件初始化工作,当系统后台程序运行的过程中,系统用户会设置默认值,;设计和实现基于其属性的访问方法访问和修改其组件的属性值。
以下是set和get组件属性的值。
3.3.4实验的运行流程
在客户端,用户在登录操作界面中定制了实验拓扑结构后,实验设备根据实验过程进行排队。
所有组件根据拓扑结构排列在节点队列中。
当实验开始并且实验运行时,节点队列中的元素会在系统分线程中运行,使用到服务器端,提交接收处理结果,当处理结果完成后线程就会开始工作,每个县城都要对数据接受及输出,而且结果会保留相关的结果,是输入数据的输入线程,为了促进后台更好的运行,开发了核心类Resultpane。
哪个是对的?
有没有标点符号?
要确定类,主要负责对用户的实验过程进行实验,形成了比较好的实验结果,调用的对象功能,不能够随时终止实验,需要恢复实验结果和操作过程,显示出了实验结果并且恢复了操作。
该类中的runExperiment方法用于运行用户在实验室面板中定制的实验流程。
3.3.5客户端组建添加的设计和实现
对于基于互联网的虚拟实验环境,丰富的实验组件至关重要。
开发商试图通过考虑平台的各个方面扩大实验设备组件。
然而,对于某些特定或特殊的用户组件,扩展组件可能不会出现在需要的组件中,有些不能够完成实验;另外一些研究人员在使用这个平台的时候,想在Platform上开发一类实验设备组件来测试组件的正确和模拟性能。
因此,客户端需要允许用户在本地添加组件。
为了更好的让用户对平台组件进行测试,专门为用户开发了相关的功能模块,这种技术开发规范以及新的平台组件模型为基础,用户可以根据组件进行技术开发以及平台的设计,而且根据的平台设计流程,扩展平台组件。
用户提交这些组件可以与现有的平台组件一起使用,以通过实验模拟结果验证和检测用户提交的组件。
图3-12显示了在用户选择要加载的bean的类路径之后,URLC1assLoader类完成了代码的加载。
Introspector类获取加载的bean的内部信息,并返回BeanInfo的对象。
该对象包含bean的属性和方法描述,并将信息发送到RegisteredClassPane对象。
RegisteredC}lassPane对象向用户组件注册列表添加一个新组件,该组件将新组件添加到组件列表中。
此时,用户可以选择平台上的组件,添加到测试和验证。
图3.2用户添加自定义组件的协作图
Applet数字签名的实现主要包括如下一些步骤:
(1)将客户端需要用到的各种Appletclass文件打成far包,即newlabaar;;
(2)在网页中嵌入Applet,即在平台上Entry.html文件中内嵌:
"vLab"WIDTH=200HEIGHT=150ALIGN=middle>的代码段;; (3)生成证书及签名(使用keytool和jarsigner命令),将产生一个newlab.store的密钥库文件和一个newlab.cert的证书文件,同时对上面已打包的文件进行签名;; (4)新建一个策略文件applet.policy,其内容如下: keystore"http: Il192.168.1.66: 80801virtual1abIDCPlnewlab.store""JKS";;grantsignedBy"newlab" {permissionjava.io.FilePermission"ALLFILES","read";;};; (5)修改{java.home}Ijrellib/security目录下的java.security的内容,在其中添加上面创建好的applet.policy文件。 通过Applet数字签名,用户有了访问本地资源的权限,可以在平台上添加自己的设备Bean组件到平台上来进行验证和测试。 4实例-PCM实验 4.1PCM的基本原理 在通信原理实验中,PCM脉码调制实验在教学中的作用比较重要,PCM通讯系统如图4.1,原理包括了以下三个过程: (1)取样。 模拟信号被转换为时间离散采样脉冲序列。 其模拟信号带宽是周期扫描频率的2倍以上,使时间连续信号进入时间离散信号。 模拟信号还包括了原始信号中的各种信息,所以原始模拟信号可以不断的恢复。 (2)量化。 离散时间连续幅度采样信号被转换成离散时间离散振幅数字信号。 量化分为均匀量化和不均匀量化。 均匀量化是在采样信号的范围内均匀地划分量化电平的量化方法。 所得到的量化噪声是均匀的,与采样点处的信号幅度无关。 因此,当信噪比低时,干扰信噪比高,干扰小,信号弱,会产生
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MATLAB 通信 原理 实验 平台 设计