登录
首页 » Others » VINS论文推倒及代码解析

VINS论文推倒及代码解析

于 2020-12-07 发布
0 201
下载积分: 1 下载次数: 3

代码说明:

VINS 的功能模块可包括五个部分:数据预处理、初始化、后端非线性优化、闭环检测及闭环优化。代码中主要开启了四个线程,分别是:前端图像跟踪、后端非线性优化(其中初始化和 IMU 预积分在这个线程中)、闭环检测、闭环优化。、总体框架Measurement PreprocessingInitializationCamera(30hz)Feature Detectionnd rackerVisual-lnertialInitializedis- onlySfMAlignmentIMU (100hMU Pre-integrationLocal Visual-Inertial: OldestSliting WindowNewestNonli+、 Keyframe?OptimizationBundle Adjustment II Loop detectionwith RelocalizationStates from Loop ClosureFealure retrievel oop Deleted二二1---11------22===Global Pose Graph4-DoF Pose Graph OptimizationKeyframe DatabaseOptimization图1VINS框架ⅵINS的玏能模块可包括五个部分:数据预处理、初始化、后端非线性优化、闭环检测及闭环优化。代码中主要开启了四个线稈,分别是:前端图像跟踪、后端非线性伉化(其中初始化和IMU预积分在这个线程中)、闭环检测、闭环优化各个功能模块的作用上要有:1.I图像和MU预处理●图像:提取图像 Harris角点,利用金字塔光流跟踪相邻帧,通过 RANSAC去除异常点,最后将跟踪到的特征点push到图像队列中,并通知后端进行处理●IU:将IMU数据进行积分,得到当前时刻的位置、速度和旋转(PVQ),同时计算在后端优化中将用到的相邻帧的预积分增量,及预积分误差的 Jacobian矩阵和协方差项。1.2初始化首先,利用SFM进行纯视觉佔计滑窗內所有帧的位姿及3D点逆深度,最后与IMU预积分进行对齐求解初始化参数1.3后端滑窗优化将视觉约束、IMU约束和闭环约束放在·个大的目标函数中进行非线性优化,求解滑窗内所有帧的PVQ、bias等。L M States in the sliding windowIMU:k States from loop clos1Camera:冷 MU measurements>visual measurements★ Catur图2滑窗优化示意图14闭环检测和优化利用D)BoW进行闭环检测,当检测成功后进行重定位,最后对整个相机轨迹进行闭环优化。U预积分VisionIMUVision图3MU预积分示意图21当前时刻pVQ的连续形式将第k唢和第kl帧之间的所有IMU进行积分,可得第kHI帧的位置、速度和旋转(PVQ),作为视觉估计的初始值,这里的旋转采用的四元数。v△t+k+1∈[k,k+1]rW(at-ba ) -owletbk JtE[k, k+1]n(,-bdt∈[k,k+1]其中,a2和O为ⅠMU测量的加速度和角速度,是在Body自身坐标系, world坐标系是IMU所在的惯导系,上式的旋转公式推导可参考附录10.1。22当前时刻PVQ的中值法离散形式公式(1)给出的是连续吋刻的相机当前PVR的达代公式,为了跟代码致,下面给出基于中值法的公式,这与 Estimator:; processIMg(O函数中的Ps]、Rs]和Vs是一致的,IMU积分出来的第j时刻的物理量可以作为第j帧图像的初始值。tr t+a26t(2)ka,St其中q(a1-ba)-g"+q:+1(a+1-ba)(a;+o;+1)2.3两帧之间PVQ增量的连续形式通过观察公式(1)可知,IvU的预积分需要依赖与第k帧的ν和R,当我们在后端进行非线性优化时,需要迭代更新第κ唢的ν和R,这将导致我们需要根据每次迭代后值重新进行积分,这将非常耗吋。因此,我们考虑将优化变量从第k帧到第κ+1帧的IU预积分项中分离开来,通过对公式(1)左右两侧各乘Rb,可化简为:R(+p2k-=2△)+ak+1b其中DtElk, k+1t∈[k,k+1R k(at-bar)ldt)Wendtt∈[kk+1这样我们就得到了连续时刻的MU预积分公式,可以发现,上式得到的MU预积分的值只与不同时刻的a2和o相关。这里我们需要重新讨论下公式(5)预积分公式,以ab,为例,我们发现它是与MU的bias相关的,而bias也是我们需要优化的变量,这将导致的问题是,当每次迭代时,我们得到一个新的bias,又得根据公式(巧5)重新对第k帧和第k+1帧之间的IMU预积分,非常耗时。这里假设预积分的变化量与bias是线性关系,可以写成:ab,+/6n6ba+/16b+8 8ba +p(6)k+1sb24两帧之间PVQ增量的欧拉法离散形式面给出离散时刻的IMU预积分公式,首先按照论文中采用的欧拉法,给出第i个MU时刻与第i1个IMU时刻的变量关系为b+1k+的6t+元R(P)(1+R(P")(a2-bbn)δt25两帧之间PⅤQ增量的中值法离散形式卜面给出代码中采用的基」中值法的IMU预积分公式,这与 Estimator: processIMUO函数中的 Integration Base: push backo上是一致的。注意这里跟公式(2)是不一样的,这里积分出来的是前后两顿之间的IU增量信息,而公式(2)给出的当前帧时刻的物理量信息+1+B k St +=a, &tbb+1Bi + au1其中a,=slqilai-bai)+qiDi t aitl2.6连续形式下PVQ增量的误差、协方差及 JacobianIMU在每个吋刻积分出来的值是有误差的,下面我们对误差进行分析。首先我们直接给出在t时刻误差项的导数为:sa00016a000000-82(066hkR;0006|=00-(a-bh)0-1192k|+|000|mLL000016ba00101n000018b000F+ozk+ Gt其中:F25×15,G215×2,62x1,n12×,上式推导可参考附录102。下面我们讨论它的作用,将其可以简写为:6之k=F62z+Gtnt根据导数定义可知:62b=1m24-6262+8=62+628t=(+F6t)6z+(Gt6t)nt(11)这里我们对公式(1)的IMU误差运动方程再说明,将上式和EKF对比可知,上式恰好给出了如EKF一般对非线性系统线性化的过程,这里的意义是表示下一个时刻的IMU测量误差与上一个时刻的成线性关系,这样我们根据当前时刻的值,可以预测出下一个时刻的均值和协方差,而公式(1)给出的是均值预测,协方差预测公式如下Pb+6=(1+Ft)P(+Fl6t)7+(G,t)Q(G18t)ot(12)上式给出了协方差的选代公式,初始值Pk=0。其中,Q为表示噪声项的对角协方差矩阵000003000另外根据(11)式可获得诀差项的 Jacobian的迭代公式:(I+F26t)(14)其中 Jacobian的初始值为bk=12.7离散形式的PVQ增量误差分析我们首先直接给出PVQ增量误差在离散形式下的矩阵形式,为了与代码一致,我们修改下变量顺序,这和代码中 midPointIntegration(函数是一致的。(但不知为何计算的V中与前四个噪声项相关的差个负号?)1t fo660f106t‖loeBk+1=0f211f20016bδb0[6b102001rnot000kRkotk+1(15006t0n0000δt其中,推导可参考附录10.3:stE(ak-ba)02-4B+1(kk+121k+1b.)6t|6t2(Rr+ rk+18t2Stn=71=Rk+1(a+1-b)6tWr+ wf1=Ik+11+Gb。)δt-Rn+1(ak+121=-2配+1Stl st21(RK+Ruts)4rula1RrotstStR+1(a1R,+114/+11t28离散形式的PVQ增量误差的 Jacobian和协方差将公式(15)简写为:k+1F15×158215×1+V15×13Q则 Jacobian的迭代公式为k+15×15=F/k(16)其中, Jacobian的初始值为/k=l。这里计算出来的k+1只是为了给后面提供对bias的acoblar。协方差的迭代公式为P+15×15=FPFr+vQv(17)其中,初始值P=0。Q为表示噪声项的对角协方差矩阵:00000000aa000Q18×180a00(18)000000三、后端非线性优化31状态向量状态向量共包括滑动窗口内的n+l1个所有相机的状态(包括位置、朝向、速度、加速度计bias和陀螺仪bias)、 Camera到IMU的外参、m+1个3D点的逆深度X=[xr=pw,vb bpc,q3.2目标函数吗+(喻,2)+2(19)其中三个残差项即误差项分别为边缘化的先验信息、IMU测量残差、视觉的重投影残差。三种残差都是用马氏距离表示。根据《十四讲》中高斯牛顿法,若要计算目标函数的最小值,可以理解为,当优化变量有一个增量后,目标函数值最小,以IU残差为例,可写成如下所示:nin lre2bk, X+8Xrk x)+HSⅩDk+1oXk+1k+1其中HB,为B关于 XIK Jacobian,将上式展开并令关于6X的导数为0,可得增量δx的计算公式:H k 8X=k+1TB那么,公式(28)可写成+∑+∑Tk∑1rc上式中,B为MU预积分噪声项的协方差,P为vual观测的噪声协方差。当MU的噪声协方差P越大时,其信息矩阵Pk,将越小,意味着该MU观测越不可信,换句话说,因MU噪声较大,越不可信IMU预积分数据,而更加相信 visual观测。注意,这里的IMU和vsua协方差的绝对值没有意义,因为考虑得是两者的相对性可将上式继续简化为:(Ap+AB +Acox=bp +bB +bc其中,Ap,AB和Ac为 Hessian矩阵,上述方程称之为增量方程。33MU约束1)残差:两帧之间的PVQ和bias的变化量的差△tx+k+1bk qbk+1bR+1 xyz+g"△t)-Bk(20)sbbbb其中各增量关于bias的 Jacobian可从公式(16)的大 Jacobian中的相应位置获得。上面与代码中 Integration base: evaluateD对应,2)优化变量pb, 0W, Svb ,8ba:,bor Opb,, 80W ,Swb,, bakr, Sba3)Jacobian:计算 Jacobian时,残差对应求偏导对象分别为p6e,6vB,6h,ba],6b,6b

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • WPF C# 人事管理系统
    水晶报表,xaml,人事管理增删改查等等,基本功能都有,包括数据库,很齐全
    2020-11-30下载
    积分:1
  • excel导入Oracle数据库工具 非常强大
    一款很好用的excel导入Oracel的工具,找了好久,试了很多,这个最好用了,拿出来跟大家分享下
    2020-12-12下载
    积分:1
  • 高速目标距离走动校正 keystone 插值算法
    高速目标距离走动校正,matlab工程代码,保证实用,毕设必备。假如有人需要,话可以上传keystone-DFT-IFFT算法实现的与keystone-CZT-IFFT算法资源。
    2020-12-10下载
    积分:1
  • 基于ITK、VTK与MFC读取DICOM图像
    基于ITK,VTK以及MFC读取DICOM图像的文献@ErtoRwww.crter.org吕哧琪,等于1K、K和MC的DCOM图像读写及显示文章是在视类的构造函数及其析构函数中实现它们的初始化及善后工作的。其次,改写视图类的虚函数Ocrea(),以下为关键代码ren Win->AddRenderer(ren);renWin->Setwindowld(m hWnd)iren->SetRenderWindow(ren Win)最后,在视图类的 OnDraw函数中添加绘制代码Render()当然窗口的尺寸也可以在这里进行调整。Figure 5 Unintegrated display effect此,可以在MFc应用稈序视图区域中实现与VTK图5未集成显示效果渲染对象的父互和鼠标响应操作,并可以利用MFC界面控件来进行参数控制,本文程序中鼠标按下会弹出一个对于VTK与MFC的集成已有相关文献介绍,分为快显示图像上象素坐标及象素值的消息框(见图7,8)借以速集成和深度集成两种集成方式。图6是作者将图5对应说明鼠标响应交互操作的实现,至此完成了TK与MFC序做了怏速集成后 DICOMA像的显示。集成过程只需的深度集成。读者也可以参考ⅤTK工具包 Examples设置 vtk RenderWindow类中的 SetParent函数为当前 GUlIn32MFC下的例程,实现更丰富的集成。该视图或对话框句柄即可,关键代码如下所示和集环覓下的面显示将结合后续DCOM文件显示tkRenderwindow部分给出。FrenWin=vtkRenderWindow: NewovtkRenderWindowlnteractoriren=vtkRenderWindowInteractor Newothis->renWin->SetParentld(this->m hWnd);this->iren->SetRenderWindow(this->renIn);Figure 7 Display effect of vik depth integration图7深度集成环境下VTK显示效果Figure 6 Display effect of fast integration图6快速集成显示效果快速集成屏蔽」MFC的鼠标响应和消息传递,不便于后续编程实现更复杂的功能。VTK与MFC集成的请为:0007000根本目的是实现更实用、更灵活的交互界面,以弥补VTK自身在该方面的缺憾,那么就要求不仅要将TK的渲染窗口嵌入于MFC应用程序视图区域,而且还要Figure 8 Display effect after flipping图8翻转后VTK显小效果使其融为一体,即拥有一个统一的具有友好交互能力的界面。在此,重点介绍下作者尝试实现VTK与MFC深度集成的另一种方法,具体步骤如下:首先,在视类中增2D|cOM图像的读写与显示加可视化管道中会用到的类,用这些类实例化对象,文章用到的对象有:渲染对象ren)、渲梨窗口( renin)、2.1DCOM图像的读写文章中的数据对象是一维交互对象(ren)、演员( BrainActor)、映射( Brain Map)等, DICOM图像。读与DCOM文件的功能使用∏TK提供的范o1994-2011ChinaAcadcmicJournalElcctronicPublishingHousc.Allrightsroscrved.http://www.cnki.nctcn.zglckf.com2418P.O. Box 1200, Shenyang 110004吕烧琪,等干K、VTK和MFC的DCOM图像读写及显示CRTOR Ww. cRTER org函功能来实现,在∏K中,DCOM的范函性由GDCM厍写DcOM文件是一件非常精密的操作,因为所要处理的提供。这个开放的源码厍由INSA_Lyon的 creats团队发是大量重要的有关患者详细而精确的数据,并且涉及到展的。实验使用: GDCMImagelO类来建立与GDCM库患者的隐私问题。所以在写的过程中,一定要核实出你的连接,实现读取 DICOM图像的功能。|TK数据处理管的代码所生成的头文件信息不会给患者的治疗和诊断道中的三种处理对象具休为:Sσurce采用带来风险,要确休沿着数据处珄管道正桷地传递DC○Mik: itklmage SeriesReader类; Filter来用了ik∷文件的细节信息,从而才能保证正确地将原D|COM文件Curvature FlowImage Filter; Mapper采用了itk:的这些信息写入新的DcOM序列图像文件。以下便是实itkImageFileWriter类。现该部分内容的主要代码:单张二维DCOM图像的读写:本部分实现单张二维首先定义图像类型,并明确所选象素类型和维度,p|c○M图象以 DICOM格式读入与以DCOM格式写入从而定义序列图像读取类型。的工作。首先声明象素类型和图像的维数,以它们作为typedef signed short PixelType模板参数来实例化读入图像的类型,用该图像类型作为const unsigned int Dimension=3;模板参数再实例化读取器 Reader的类型并创建一个typedef itk: Image< PixelType, DimensionReader,将读入图像的文件路径和文件名作为参数传给 mage Type;Reader,并为 Reader关联 GDCMImagelO对象,调用typedef itk: Image SeriesReader< Image TypeUpdate(函数更新读取过程,DcOM图像就已读入内存 ReaderType中。用 Reader的 Getoutput()方法可以获得图像数据的接下来声明并实例化实际读写DCOM图像的指针。月前的焦点是如何再一次将图像在新文件中保存k: GD CMImagelC对象和为所有切片生成文件名并排成DCOM格式。具体的,先实例化一个 Image File Writer序的tk: GDCMSeries fileNames对象,并创建相应智能类型,并创建指针 Writer,将写入的图像的文件路径和指针 gdcmIO和 names Generator。文件名作为参数传给 Writer,并为其关联ImageloType: PointerGDCM| magelo对象,这个对象是知道DCOM格式的内 gdcmIo= magelOType:New()部结构的,最后用 Update()来触发写入程序。文章在读Names Generator Type: Pointer写过稈中对图像进行了保留边缘的平滑去噪处珥,以下 names Generator= Names GeneratorType:|New()为主要代码names Generator->SetInputDirectory(argvImageloType: Pointer生成读入文件的文件名gdcmImagelo=ImageloType: NeW(const ReaderType: FileNames Containerreader->Setlmagelo(gdcmImagelO)filenames=namesGenerator->GetInput FileNames():reader> SetFileName(argv):∥参数为文件路径实例化 Reader Type对象并创建智能指针 reader,读及文件名取DcOM格式序列图像。writer->Setlmagelo(gdcmImagelO)reader->Setlmagelo(gdcmlO)rwriter->SetFileName(argv2);∥将平滑后图像以reader->SetFileNames(filenames )D|COM格式写入到参数所指定的文件中。最后用 reader的 Update()触发读取程序,最好放在try/catch问询块中,在此不再赘述。CurvatureFlowImageFilterType: Pointer至此,可以开始写数据了。首先把确定存在的输出smoother= rvatureFlowlmageFilterType:|New();∥目录传给 outputDirectory指针。实例化一个平滑滤波器的对象const char outputDirectory=argv;smoother-> SetNumberoflterations(5):W平滑滤波然后,实例化 SeriesWritertype对象并创建智能指器的迭代次数设为5针 series writer,将 reader的输出写为D|COM格式序列smoother-> SetTime Step(0.125);∥平滑滤波器的像时间步长设为0125series Writer->SetInput(reader->Getoutput()smoother->SetInput(reader->Getoutputo)series Writer->Setlmagelo(gdcmIO)writer->Setlnput(smoother->GetOutputO)现在可以设置 G DCMSeriesFileNames在至此完成DCOM单张图像的读写。outputDirectory下产生新的文件名,然后将最新生成的序列二维DCOM图像的读写:这部分}要实现以文件文件传递给 seriesWriter集的方式读取一个DCOM序列图像,并在保持头文件信namesGenerator->SetoutputDirectoryoutputDire息不变的情况下保存为另一个DCOM序列图像的工作。 ctory);/S SN 1673-8225 CN 21-1539/R CODEN: ZLKHAH2419C1994-2011ChinaAcadcmicJOurnalElcctronicPublishingHousc.Allrightsrcscrved.http://www.cnki.nct@RterwWw.crtEr. org吕晓琪,等基于1K、VK和MFC的DCOM图像读写及显示seriesWriter->SetFileNames(names Generator->GetOutputFileNames();3结论最后一步也是最关键的一步,用 reader读取MetaDataDictionary并传递给 seriesWriter。之所以关键TK是算法设计者的一个有力助手,是医学图像处是因为 Meta Data Dictionary包含」所有输入的DcoM理工作者的案例研究算法仓厍,遺憾的是不提供Ul文件的头文件。VTK软件开发包强大的图形处理和可视化功能,却缺乏seriesWriter> SetMetaData Dictionary Array( reade实用、灵活的交互界面,而MFC具有强大的U开发能力。r->GetMetaData DictionaryArray ()结合三者的特点,作者通过对DCOM医学图像的读取与末了调用 seriesWriter的 Update)触发写程序,放在显小,将TK、VTK和MFC有机的结合起来,扬长避短,try/catch问洵块中,在此不再赘述。为三者集成环境下的软件开发做了一个初步的尝试,而22DCOM图像的显示本部分主要介绍在前述方法对于在此基础之上一者更强大功能的实现(诸如医学图实现的∨TK、ITK和MFC集成环境卜DCoM图像的显示像的分割与准、三维可视化、虚拟手术导航等)有待方法。在此,将利用丨TK读取的DC○M文件用VTK显示深入探讨与研究。在MFC单文档视图区,因为旨在说明方法所以未给出复杂的交互界面。4参考文献VTK薮据处理管道中采用了vkD|cOM|mageReader:类、 teNderer类、 vtkRenderwindow类、[1 Kitware Inc. NLM Insight Segmentation and registration ToolkitEB/OL」2005.http:/www.itκOrgtkRenderwindowInteractor类、 traCtor2D类、[21 Ackerman MJ. the visible human project. Proceedings of thelEEE,1998;863):501-504.v+ < Mapper类,并实例化各个类的对象并创建相21/mD(Q小用m时应智能指针。图7为显示效果,相应关键代码如下计算机技术发,200816(4=515 NEMA. The DICOM standard. Technical report, NEMA,Brain Map->SetInput(vtkreader->Getoutput()http://medial.nemaorg,2004[61http:/www.itk.org/courseWare/training/gettIngstartedl-webpageBrainActor->SetMapper (BrainMap);ren->AddActor(BrainActor)http:ww.kitwvare.comiproducts/books/vtkquide.htmlBenoit Regrain EricBoix, Mathieu and Jean Pierre roux. the「TK所读取的图像一经VTK显示后图像发牛了翻GDCM Library. CNRS, INSERM, INSALyon, UCBLyonhttp://www-creatis.insa-lyon.fr/publIc/gdcm转,并且是上下翻转而左右并不发生翻转,原因是ITK的坐标系统和VTK的坐标系统Y轴是相反的,所以为了来自本文课题的更多信息能正确显示图像还需要将Y轴进行翻转,可见这种翻转墓金资助:国家自然科学基金资助项目(60761002)可以发生在两种情形,一种是在K读入图像的时候翻作耆贡:笫一作者进行实验设计及评估,实验实施转即改变文件的读取方式,该种方式可参考∏TK的为笫二作者,资料收集为笫三作者,第二作者成文,第FliplmageFilter类,该类可以实现翻转任何坐标轴中的作者审校并对文章负责图像,对于本文屮情形可以使用一个[0,们翻转排列,列益冲突:课题未涉及任何厂家及相关雇主或其灺经表示X轴保持不变时对Y轴进行翻转;另一种是在K图济组织直接或间接的经济或利益的赞助像薮据凵经转换为ⅥTK图像数据后将新的TK图像数本文创新性:于201101以文章关键词为检索关键词据Y轴鄱转,这也正是本文实现的图像翻转方法。相应在CNK丨欻捃库、维普中文科技期刊数据库、万方学位论关键代码:文全文数据库, ELSEVIER数据库等多个数据库中检索未flipY->SetFilteredAxis(1)见具有相同创新点文章flipY->SetInputConnection(vtkreader->Getoutput方法创新:为医学图像读写及显示后一系列的玉学Eort()像处理工作搭建了灵活实用的实验平台,进而得到相关基BrainMap->SetInput(flipY->GetOutput():金资助。以上便是集成环境下的D|COM图像显小。o1994-2011ChinaAcadcmicJournalElcctronicPublishingHousc.Allrightsroscrved.http://www.cnki.nctCn.zg/ckf.com2420P.O. Box 1200, Shenyang 110004
    2020-12-01下载
    积分:1
  • allan方差的MATLAB实现
    大部分是allan方差的MATLAB实现,11种,全死网上下的,仅供参考
    2020-12-06下载
    积分:1
  • 通信原理MATLAB仿真实验指导书
    通信原理MATLAB仿真实验指导书V3.0最终版内容很全的实验指导书通信原理仿真实验指导书林志谋目录实验:基础实验的建模仿真实验:信道与噪声仿真实验:调制与解调仿真实验:调制与解调仿真实验调制与解调仿真实验编码与解码仿真实验:单极性码与双极性码眼图仿真实验调制与解调仿真实验调制与解调仿真实验调制与解调仿真实验:循环码的差错控制系统仿真综合实验:通信系统的仿真附录程序设计通信原理仿真实验指导书林志谋实验:基础、实验目的:.熟悉开发环境掌握矩阵、变量、表达式的各种基本运算熟悉和了解图形绘制程序编辑的基本指令;熟悉掌握利用图形编辑窗口编辑和修改图形界面,并添加图形的各种标注掌握等指令格式和语法二、实验原理:基础知识程序设计语言简介的缩写,是由公司升发的一套用科学工程计算的可视化髙性能语言,具有强大的矩阵运算能力。与大家常用的和等高级语言相比,的语法规则更简单,更贴近人的思维方方式,被称为“草稿纸式的语言”软件主要由主包、仿真系统()和工具箱()主大部分组成。界面及帮助基本界面如图所示,命令窗口包含标题栏、菜单栏、工具栏、命令行区、状态栏、垂盲和水平波动条等区域。标题栏菜单栏工具栏命令行区状态栏垂直和水平瘕动条)ATLA日? Ntt Dr ivory C MATLA86A5B=iwuEy1山具C2 dPubLe wrE田用田田3TZ doublE Wra面自172自的272 double ra9 dpublE rsa double wremn■double r电田ydoubl mri1.00000mm-0.1.0>I Workspace cuuneniDIncnpiF国]47【7.193,E,日:151117笔k【7,19B,z,B1,45图基本界面()菜单栏在主窗凵的菜单栏,共包含和个菜单项菜单项:菜单项实现有关文件的操作。通信原理仿真实验指导书林志谋菜单项:菜单项用于命令窗∏的编辑操作。菜单项:菜单项用于设置集成环境的显示方式。菜单项:菜单项用于设置的操作。菜单项:主窗口菜单栏上的菜单,只包含一个子菜单用」关闭所有打开的编辑器窗凵,包括和窗凵。菜单项菜单项用于提供帮助信息()工只栏主窗∏的工具栏共提供了个命令按钮。这些命令按钮均有对应的菜单命令,但比菜单命令使用起来更快捷、方便,()命令行区按以下顺序对输入命令进行解释:检查它是否是工作空间中的变量,实则显示变量内容检查它是否是嵌入函数,是则运行之。检查它是否是子函数。检查它是否是私有函数检查它是否是位于搜索路径范围內的函数文件或脚本文件甲有以下几种方法可获得帮助()帮助命令()是查询函数相关信息的最直接方式,信息会直接显示在命令窗中键入,会显示相关信息命令可以从键入的关键字列出所有相关的题材,和/相比覆盖范围更广,可查找到某个主题所有词组或短语。()帮助窗凵()提供与帮助命令相同的信息,但帮助窗凵界面更为方便直接。()帮助桌面()通过在命令窗口中选择帮助菜单的“选项或键入命令即可进入帮助桌面。()在线帮助页是帮助桌面的在线帮助均有相应的格式文件。网站,对于连接入的用户通过公司的网站询问有关问题。熟悉环境桌面和命令窗口、命令历史窗、帮助信息浏览器、工作空间浏览器文件和搜索路径浏览器。掌握常用命令除命令窗口中内容清除工作空间中变量对所选函数的功能、调用格式及相关函数给出说明查找具有某种功能的函数但却不知道该函数的准确名称査询工作空间中的变量信息变量与运算符变量命名规则如下()变量名可以由英语字母、数字和下划线组成()变量名应以英文字母开头()长度不大于个()区分大小写中设置了一些特殊的变量与常量,列于下表。表的特殊变量与常量变量名1功能说明变量名功能说明默认变量名,以应答最小的正实数最近一次操作运算结果通信原理仿真实验指导书林志谋或虚数单位无穷大圆周率不定值(浮点数的相对误差网数实际输入参数个数最大的正实数函数实际输出参数个数运算符,通过下面几个表来说明的各种常用运算符表算术运算符操作符功能说明操作符功能说明矩阵左除数组左除矩阵乘矩阵右除数组乘数组右除矩阵乘方矩阵转置数组乘方数组转置表关系运算符操作符功能说明等于不等于大于小于人于等于小于等于逻辑运算符逻辑运算符逻辑运算说明逻辑与逻辑或逻辑非逻辑异或表特殊运算符号功能说明示例符号功能说明例分隔行分隔列注释构成向量、矩阵调用操作系统命令构成单元数组用于赋值1的一维、二维数组的寻访通信原理仿真实验指导书林志谋表了数组访问与赋值常用的相关指令格式指令格式指令功能数组中指定行、指定列之元素组成的子数组数组中指定行对应的所有列之元素组成的了数组数组中指定列对应的所有行之元素组成的了数组数组中各列元素首尾相连组成的“维长列”了数组维长列了数组中的第个元素数组中指定行、指定列之元素组成的子数组的赋值数组仝元素赋值,保持的行宽、列长不变,、两组几素总合应相同的基本运算表两种运算指令形式和实质内涵的异同表数组运算矩阵运算指令含义含义非共轭转置共轭转置把标量赋给的每个元素标量分别与元素之和标量分别与元素之差标量分别与元素之积标量分别与每个元素之积标量分别被的元素除阵的逆乘的每个元素自乘次阵为方阵,自乘次对各元素分别求非整数幂方阵的非整数乘方对应元素相加矩阵相加对应元素相减矩阵相减对应元素相乘内维相同矩阵相乘的元素别的对应元泰除右除与上相同左除以自然数为底,分别以的元素为的矩阵指数函数指数,求幂对的各元素求对数「的矩阵对数函数对的各元素求平方根的矩阵平方根函数的常用函数表标准数组生成函数指令含义含义对角形数组(对高维不适用)生均匀分布随机数组单位数组(对高维不适用)E正态分布随机数组产生魔数组(对高维不适用)生全数组产生全数组返回指定矩阵的行数和列表数组操作函数通信原理仿真实验指导书林志谋指令含义提取对角线元素,或生成对角阵以数组“水平中线”为对称轴,交换上下对称位置上的数组儿素以数组“垂直中线”为对称轴,交换左右对称位置上的数组元素在总元素数不变的前提下,改变数组的“行数、列数”矩阵逆时针旋转度方阵的行列式值矩阵的秩三、实验内容和步骤学习使用命令例如在命令窗口输入,然后根据帮助说明,学习使用指令(其它不会用的指令依照此方法类推学习使用观察和等窗口的变化结果,执行前后有什么不同?初步程序的编写练习新建,保存(自己设定文件名,例如……),学习使用的基木运算符、数组寻访指令、标准数组生成函数和数组操作函数。注意:每一次的修改后,都要存盘。二维曲线绘图基本指令演示。指令基本操作演示问题:本例运作后,再试验观察产生图形的有什么不同,为什么?问题:本例运作后,再试验观察产生图形的有什么不同,为什么?问题:本例运作后,再试验观察产生图形的有什么不同,为什么?用图形表示连续调制波形及其包络线。通信原理仿真实验指导书林志谋0∈问题请查找的的帮助,想想怎么用行语句来代替卜面这行一句绘制标准三维曲面。函数的调用格式为:凶数的调用格式为还有一个函数,称为多峰函数,常用于三维曲面的演示。图像如下:四、实验报告要求:回答实验内容和步骤上面所有的问题。并总结本次实验遇到了哪些问题?你是怎么解决的?如何避免下次实验再遇到同样的问题?如何在帮助窗口,帮助命令,帮助演示中查找的相关命令和演示程序?软件由几部分组成?各有什么作用?通信原理仿真实验指导书林志谋实验的建模仿真、实验目的熟悉工作环境及特点.掌握线性系统仿真常用基本模块的用法掌握的建模与仿真方法二、实验原理:简介提供的用于对动态系统进行建模、仿真和分析的工具包。提供了专门用」显示输岀信号的模块,可以在仿真过程中随时观察仿真结果。同时,通过的存储模块,仿真数据可以方便地以各种形式保存到工作区或文件中,供用户在仿真结束之后对数据进行分析和处理。另外,把具有特定功能的代码组织成模块的方式,并且这些模块可以组织成具有等级结构的子系统,因此具有内在的模块化设计要求。基于上述优点,成为一种通用的仿真建模工具,)泛应用于通信仿真、数字信号处理、模糊逻辑、神经网终.机控制和虚拟现实等领域。它使用户把精力从编程转向模型的构造。随着实验的不断深入,你们会发现它为用户省去了许多重复的代码编写工作,用户就不必、步步地从最底层廾始编写。如果把动态系统建模仿真过程比作建造房子,那么用高级语言或语言编写的仿真程序的方式就如同是从一堆沙子开始造房子。这不但麻烦,而且有许多重复操作,建造者的精力会大量地浪费在一些相同地例如把沙子变成砖块的事情上,以及如何把它们组在一起变成房子这些技术性的事情.而不能把更多的精力集中用到房子的设计上,这在计算机仿真里,就等于是把精力厦多地投入到某一个具体的算法的设计上,而不是用到模型的设计构造本身,的目的就是让用户能化更多的精力投入到模型设计本身。它首先提供了些基本模块,这些模块就放在上面的库浏览器里.用户可以调用这些模块,而不必再从最基△的做起的每个模块对用户而言都是透明的,用户只需知道模块的输入输出以及模块旳功能,而不必管模块内部是怎么实现。于是,留给用户的事情就是如何连接这些模块来完成自的仿真任务。连接的方式在里是很简单的,例如要连接两个摸块只需要将一个模块的输入和另一个模块的输岀用一根直线连起米就行了。模型构造好之后,用户可以进行仿真、等待结果、或者改变参数,再运行。至于像各个模块在运行时如何执行,时间是如何采样离散系统,事件足如何驱动等等细节性问题,用户可以根木不用去关心,都替你做好了。总之,把那些最没有意思、最烦人的细节都屏蔽掉了,而留绐用户的是一个友好的环境,让用户以最轻松、最有效的万式完成他们感兴趣的东西。启动的方法有很多种,按照的传统方式,只要在的命令窗口中键入:个称为的窗口就会弹出,如下图所示:
    2020-12-09下载
    积分:1
  • 4*4矩阵键盘+四位数码管PCB图
    4*4矩阵键盘+四位共阳数码管PCB图,包括矩阵键盘的PCB图和四位共阳数码管驱动电路的原理图,是51单片机学习的小模块
    2020-12-03下载
    积分:1
  • 汽车自动驾驶技术完整源代码
    美国天才计算机大牛的汽车自动驾驶技术完整源代码,包含完整源代码、深度学习训练好的数据和算法原理PDF。该软件为实践过的,汽车已经在高速路上跑过了!
    2021-05-06下载
    积分:1
  • Labview串口通信
    用Labview写了两个基本的串口通信程序,一个是简单的读串口程序,另一个是读写串口程序,对于学习有极大的帮助。
    2019-07-24下载
    积分:1
  • VCU 自动代码生成
    采用快速开发原型建模,包括硬件驱动,CAN接收发送,串口发送,定时器,及应用层代码
    2020-12-05下载
    积分:1
  • 696518资源总数
  • 104349会员总数
  • 32今日下载