基于COM组件混合编程的误差理论教学实验软件设计
- 格式:pdf
- 大小:1.10 MB
- 文档页数:4
基于COM航空试验软件组件的设计支超有, 李霞(第一飞机设计研究院,陕西西安 710089)摘要:基于COM设计的航空试验软件组件,不但具有更好的模块化,而且提高了软件的健壮性和可重用性,有利于测试软件开发效率的提高。
文章在讨论COM技术的基础上,提出了基于ActiveX控件航空试验软件组件的开发。
关键词:模块化;面向对象;软件组件;COM;ActiveX控件;接口1 软件模块化及面向对象程序设计随着以计算机技术为基础的虚拟仪器技术的发展,自动测试系统正朝着标准化、模块化的方向发展,出现了标准的测试总线,如VXI、PXI和PCI总线,这样在测试系统的组建时只需选择实现不同功能的标准模块。
硬件的标准化、模块化给测试系统的集成和使用带来极大的方便,那么软件能否象硬件那样设计成标准模块,通过组装实现完整的功能。
从软件的发展历程来看,程序设计方法经历了多次变革,从最初的功能分解法,到结构化程序设计方法,再到至今仍在广泛使用的面向对象程序设计方法。
对于大型、复杂系统的软件设计,从软件模型的角度来考虑,有效的办法就是把一个庞大的应用软件分成多个模块,每个模块保持一定的功能独立性,在协同工作时,通过相互之间的接口完成实际的任务。
由此提出了软件设计中模块化的思想。
软件设计的模块化降低了设计开发的复杂度并使设计步骤清晰,也有利于提高软件健壮性、灵活性、可复用性等。
进行模块化软件设计时应综合考虑模块的可分解性、可结合性、可理解性、连续性及模块保护几方面的要求。
模块的可分解性要求把一个大的、复杂的问题分解为一些小的、简单的问题,通过解决各个小问题来解决大问题;模块的可结合性要求不同时期、不同项目、不同环境下设计的模块应能自由地结合在一起构成新的系统;模块的可理解性要求通过某种方法设计的每个模块不需要参考相邻的模块就能被人看懂;模块的连续性要求通过某种方法设计出的模块,在需求发生变化时只影响一个或少数几个模块;模块保护则要求通过某种方法设计出的模块,在运行期间发生的错误被限制在这个模块内部或仅仅传播到少数几个摸块。
随机误差分析(实验1)学号:20091001118姓名:杜霜霜班级:076092--8 Ⅰ.实验要求根据第二章误差的基本性质与处理的内容,自行编写一项程序实现基本误差处理。
本次实验选择了等精度数据随机误差处理程序的编写,编译环境visual studio 2010。
Ⅱ.实验原理(一)随机误差产生的原因①测量装置②环境③测量人员(二)正态分布若测量列中布包含系统误差和粗大误差,则该测量咧中的随机误差一般具有以下几个特征:①对称性(正负误差出现次数相等)②单峰性(绝对值小的误差比绝对值大的误差出现的次数多)③有界性(随机误差的绝对值不会超过一定界限)④抵偿性(随机误差的算术平均值趋向于0)若随机误差呈正态分布(多数),则有:随机误差为δi = Li - L0分布密度函数为)2(2221)(σδπσδ-=ef数学期望为)(= =⎰∞∞-δδδdfE方差为⎰∞∞-=δδδσdf)(22平均误差为σθ54≈或然误差为σρ32≈(三)算术平均值由定义,易知:算术平均值1L nlx Ni i→=∑=残差 Vi = Li - x ¯(四)测量的标准差①贝塞尔公式法(n 适中)112-=∑=n v ni iσ②别捷尔斯法(n 适中))1(253.11-⨯=∑=n n vni iσ③极差法(n<10)m i n m a x x x n -=ωn n d ωσ=(n d 查表)④最大误差法(n<10)'maxniKv =σ ('nK 查表)(五)测量的极限误差测量列的算术平均值于被测量的真值之差称为算术平均值误差x δ ,即0L x x -=δ ,当多个测量列的算术平均值误差为正态分布时,根据概率论知识,同样可得测量列算术平均值的极限误差表达式为x x t σδ±=lim ,其中t 为置信系数,可根据正态分布表或t 分布表查询,x σ为算术平均值的标准差。
(六)测量的结果表示经过前五布步的分析计算 ,可将最终结果表示为:x x L lim δ±=Ⅲ.实验目的、过程及程序编写实验目的:根据学习到的解决等精度数据随机误差处理问题的方法,将数学语言转换为C 语言形式表达出来,利用计算机帮助我们解决这一类的问题,从而省掉解题中的繁琐步骤,且进一步锻炼我们的动手操作能力。
《混合编程实验》实验报告姓名: 赵广元学号: 1428403058学院: 电子信息学院班级: 电子信息工程混合编程实验一实验目的1.学习使用实时运行库2.熟悉用C和汇编混合编程的方法3.掌握混合编程的调试方法二实验环境1.TMS320VC5416DSK实验板s软件3.PC机三实验原理1.混合编程基础:高级语言(例如C语言)编程灵活自由,可以提高编程效率汇编语言可以充分利用DSP的硬件结构,运算性能优于高级语言所以可以用高级语言来编写主流程,汇编语言编写数据量大的数据处理模块这样的优点在于:既可以保证程序良好的运算能力,又可以给程序升级和维护带来方便所以在实际编程中,可以采用混合编程2.C语言调用汇编语言编写的函数时的编程规范:(1)变量和函数的命名规则:在C语言和汇编语言中均需要声明为全局变量对函数而言,还必须在C语言中给出准确的函数原型说明汇编语言中该名字需要加一个下划线作为前缀,但C语言中保持“自然”的命名(2)C语言调用汇编函数的函数调用规则C语言的程序主要是由编译器完成资源的分配,对于编程人员可以看做是一个黑盒,不必追究其内在细节汇编语言是由汇编人员手工安排资源,所以要特别注意其使用规则要与C语言保持一致(3)与C语言接口的汇编程序子函数而言,汇编语言中寄存器使用规则:在子程序中自由使用的有AR0,AR2-AR5,A,B,BRC,T等对于AR1,AR6,AR7,ST0,ST1这些寄存器,子子程序中如果要改变他们,需要先将他们在堆栈中保护起来,在程序结束时再从堆栈中弹出他们,恢复调用前的数值在C语言中,状态标志有固定的缺省数值,可以通过查表获得。
建议不要使用缺省数值,在汇编程序中最好按照自己的要求显示的设置状态位(4)C语言调用汇编程序子函数时,分析参数传递的规则:C语言和汇编的相互调用主要通过累加器A和堆栈来传递参数(c-int00函数将CPL 置一,利用SP进行直接寻址)在没有调用函数时,堆栈中先压入第二个参数以后的其他参数(包括第二个参数),最后一个参数压在堆栈的最下方,即按照逆序压栈然后将第一个参数放在A中并调用函数,这时程序的返回地址将自动被压入堆栈当函数有返回值时,在返回前被放在A中在函数返回时,按照反方向依次调整堆栈指针3.根据参数传递的规则,汇编函数设计方法:(1)保护现场(如ST0,ST1)举例:pshm ST1(2)调整SP指针,为函数局部变量申请空间Frame #-8(3)获取调用函数的传入函数第一个传入参数从A累加器获取MVDK *SP(8+1+1), AR3 ; 第二个参数MVDK *SP(8+1+2), AR3 ; 第三个参数(4)编写处理程序(5)将返回值赋给A累加器(6)恢复SP指针Frame #8(7)恢复现场popm ST1(8)RET四实验步骤1.用USB线连接PC和DSK5416,利用板上Emulator进行调试2.启动CCS,建立一个工程。
第41卷 第6期吉林大学学报(信息科学版)Vol.41 No.62023年11月Journal of Jilin University (Information Science Edition)Nov.2023文章编号:1671⁃5896(2023)06⁃0969⁃07误差理论与数据处理课程综合性实验平台设计收稿日期:2022⁃03⁃11基金项目:国家自然科学基金资助项目(42104142);吉林大学本科教改基金资助项目(2019XYB223);吉林省教育厅基金资助项目(JJKH20211052KJ)作者简介:刁庶(1986 ),女,长春人,无锡职业技术学院讲师,博士,主要从事电子信息技术研究,(Tel)86⁃151****1151(E⁃mail)diaoshu@;通讯作者:王春杰(1977 ),女,吉林东丰人,长春人文学院讲师,主要从事大学生创新创业研究,(Tel)86⁃130****1609(E⁃mail)249664606@㊂刁 庶1,蒋川东2,田宝凤2,王春杰3(1.无锡职业技术学院控制技术学院,江苏无锡214121;2.吉林大学仪器科学与电气工程学院,长春130062;3.长春人文学院理工学院,长春130117)摘要:针对 误差理论与数据处理”课程理论性强,计算公式多,而传统教学中存在重理论㊁轻实践问题,基于Matlab APP(Application)Designer,设计了综合性实验系统APP㊂分别实现了随机误差㊁系统误差和粗大误差等基本概念和最小二乘拟合等典型算法的快速实现和可视化㊂同时,依托 地面核磁共振”实际工程数据,设计了系统误差和粗大误差的去除方法㊂该综合性实验平台不仅能培养学生的应用能力,还能使科研与教学有机结合,便于学生理解和掌握抽象概念,提高学生的学习兴趣㊂关键词:误差理论与数据处理;最小二乘拟合;实验设计中图分类号:TP301.6;TH701文献标志码:ADesign of Comprehensive Experimental Platform for Error Theory and Data ProcessingDIAO Shu 1,JIANG Chuandong 2,TIAN Baofeng 2,WANG Chunjie 3(1.School of Control Technology,Wuxi Institute of Technology,Wuxi 214121,China;2.College of Instrumentation and Electrical Engineering,Jilin University,Changchun 130062,China;3.Institute of Technology,Changchun Humanities and Sciences College,Changchun 130117,China)Abstract :For the course error theory and data processing ”,which is highly theoretical and has many calculation formulas,while traditional teaching focuses on theory and ignores practical problems,based on Matlab APP(Application)Designer,a comprehensive experimental system APP is designed.The basic concepts such as random error,systematic error and gross error and typical algorithms such as least square fitting are realized and visualized respectively.Based on the actual engineering data of ground nuclear magnetic resonance,the methods for removing systematic errors and gross errors are presented.This comprehensive experimental platform cultivates students’application ability and completes the organic combination of scientific research and teaching.The experimental platform is convenient for students to understand and master abstract concepts,and improve students’interest in learning.Key words :error theory and data processing;least square fitting;design of experimental0 引 言误差理论与数据处理”是测控技术及仪器专业的一门主要学科专业基础课,通过学习该课程,学生可以掌握误差的基本性质与处理方法㊁误差合成与分配㊁不确定度㊁最小二乘等相关基本概念,并对079吉林大学学报(信息科学版)第41卷其他专业课程以及科研工作的开展均具有重要的理论支撑作用[1⁃2]㊂但该课程概念抽象,内容较为单调㊁枯燥,且目前存在对实验环节重视不足等问题[3⁃4]㊂大学生的课堂教学在改革中不断追求新的突破,不再受限于书本上的理论知识,特别是对于工科学生在实施卓越工程师计划及国际工程认证的标准规范课程建设中,授课教师要做到一是对课程内容讲解应实现 渗透式”教学,将理论知识的精髓传达给学生,使其学到其根本,内化于心[5];二是进一步让学生更好理解理论,发散思维,将授课教师的实际科研工作经历溶于课程并将相关的科研案例引入到课堂教学中,做到理论来源于实践,并指导实践,且 实践是检验真理的唯一标准”,从而使理论与实践有机结合,贯穿于课程全过程,注重培养学生发现㊁提炼㊁分析和解决复杂工程问题能力[6]㊂为获得更高质量的育人效果,通过将工程教育理念定义为创新型㊁综合化及全周期,在大学生入校之初即全程㊁各环节优化人才培养质量,旨在培养学生的动手实践能力㊁创造性思维㊁建造和服务能力㊂着力提升学生解决复杂工程问题能力,加大课程整合力度,推广实施案例教学㊁项目式教学等研究性教学方法,注重综合性项目训练㊂因此,笔者设计了误差与数据处理课程的综合性实验APP(Application)㊂该实验平台不仅实现了随机误差㊁系统误差和粗大误差等抽象概念的可视化,以提高学生兴趣,同时还通过引入地面核磁共振数据,实现了最小二乘拟合和不确定度计算的工程实践应用,实现了教学与科研有机结合,以增强学生的理解和掌握能力,培养学生的应用能力㊂1 地面磁共振数据特征地面磁共振测深(MRS:Magnetic Resonance Sounding)是一种直接探测地下水的地球物理方法,其原理是基于水中氢质子的弛豫特性差异产生的核磁共振效应实现水体赋存状态探测[7]㊂在地面磁共振实际测量中,受环境和仪器系统的影响,测量数据不可避免地受到噪声的干扰,如下:V R=V MRS+V spike+V harmonic+V random,(1)其中V MRS为NMR(Nuclear Magnetic Resonance)信号,V spike为尖峰噪声㊁V harmonic为谐波噪声㊁V random为随机噪声㊂尖峰噪声㊁工频及其谐波噪声以及高斯噪声,即为对应的粗大误差㊁系统误差和随机误差[8⁃9]㊂V MRS 计算公式如下:V MRS=e0e-t/T*2cos(2πf L t+φ),(2)其中e0和T*2分别为初始振幅和弛豫时间,φ为初始相位,f L为拉莫尔频率,t为时间㊂尖峰噪声干扰是由噪声源偶然产生的,且没有固定频率和规律的尖峰噪声㊂尖峰噪声干扰源包括:大气噪声干扰,如雷电产生的火花放电,属于脉冲宽带干扰,其覆盖从几赫兹到100MHz以上㊂在时域具有持续时间短㊁幅度极大的特征,如下[10]:V spike=A sδ(t-t0)g R(t),(3)其中A s为尖峰噪声幅度,g R(t)为接收系统的脉冲响应㊂工频及其谐波是由高压输电线等电气设备产生的,由N个谐波相累加组成(工频为基频)㊂在频域,仅工频及其整数倍频点处具有较大能量,如下:V harmonic=∑N n=1A n cos(2πf0t+φn),(4)其中f0为谐波基频,A n和φn分别为第n个谐波的幅度和相位,N为谐波个数㊂2 APP设计与实现Matlab APP Designer作为一种基于Web技术的程序开发构建平台,与传统的GUI(Graphical User Interface)相比,具有可以在Web端运行的优点㊂因此笔者采用Matlab APP Designer设计了误差理论与数据处理课的综合性实验平台,不仅满足日常实验教学需求,同时为虚拟仿真实验课程建设奠定基础㊂APP界面主要包含函数菜单栏,历史记录,图形显示区和参数功能设置区,如图1所示㊂其中函数菜单栏包含信号与误差生成㊁误差消减㊁最小二程拟合及不确定度计算3部分㊂历史记录显示本次实验的时间及各个功能的使用记录㊂图形显示区分别在时域和频域对误差以及误差消减结果进行实时展示㊂参数功能设置区可以对噪声的生成㊁消除等方法的参数(幅度,频率等)进行设置㊂具体实现方法如下:首先,添加工具栏㊁选项卡组㊁坐标区㊁按钮㊁下拉框等组件,并设置其属性㊂其次,编写误差生成㊁误差消减㊁最小二程拟合及不确定度计算等函数代码,编写组件对应的回调函数㊂最后,运行并打包APP㊂图1 误差与数据处理课程的综合性实验APPFig.1 The comprehensive experimental APP of the error and data processing 3 实验内容设计笔者以地面核磁共振实际工程数据为例,结合误差理论与数据处理教材,实现多种误差基本概念和最小二程等典型算法的快速实现和可视化㊂主要模块如图2所示㊂粗大误差是由人为的或自然引发的,测量结果明显偏离真值误差,具有偶然性和破坏性㊂系统误差是由测量装置或方法的问题导致测量结果与真值之间的误差,包括恒定和变化系统误差㊂图2 误差与数据处理实验模块Fig.2 Error and data processing experimental module 随机误差是由很多因素引起的综合结果,与真值的差值可正可负,有大有小,不可预测,但满足一定的统计分布㊂根据误差性质可对3类误差进行消除或抑制,然后进行参数估计㊂通常参数估计可使用最小二乘方法,对非线性方程的参数估计,可将非线性方程线性化,进而使用最小二乘方法㊂参数估计后还需对估计结果的不确定度进行分析㊂分析思路是先对测量数据进行精度估计,获得测量数据的不确定度㊂然后利用误差合成方法,将参数估计的精度用测量数据的精度表示,从而获得参数估计值的不确定度㊂3.1 误差基本性质实验为配合误差理论与数据处理实验教学,使学生能正确认识误差的性质及产生的原因,掌握消除或减小误差的基本方法与措施㊂笔者结合实际工程中的地面磁共振测量数据,设置了随机㊁系统和粗大误差以及减小和消除方法实验内容,如图3所示㊂在误差基本性质分析实验中,首先在参数功能设置区signal 选项卡分别设置磁共振FID (Free Induction Decay)信号的幅度㊁弛豫时间㊁频率和相位信息,以产生FID 信号㊂APP 开始运行后,首先会读取参数组,判断读取的参数组数是否等于所设置数量,如果数量相等,则运行下一步,如不等,则往下继续读取参数组㊂在读取参数后,根据式(2)生成共振信号㊂根据所设置的共振信号数,将所生成的共振信号进行相加,则可以得到目标信号㊂随后判断信号生成部分是否设置了噪声,如存在噪声,将噪声和共振信号相加,并且在图形显示部分显示,如不存在噪声,则直接显示所生成的共振信号㊂其次,设置粗大误差的数量㊁幅度以及持续时间等参数㊂当粗大误差生成后,先读取粗大误差的生179第6期刁庶,等:误差理论与数据处理课程综合性实验平台设计成个数和影响时间,再根据使用randi 函数在影响时间内随机确定尖峰噪声的生成位置,然后生成模拟经滤波器采集后的尖峰噪声样式,获取粗大误差的最大幅值后,根据所设参数,最后生成粗大误差㊂设置系统误差的基频㊁幅度参数;当生成系统误差后,APP 依次往下读取系统误差的参数组,然后判断当前读取系统误差参数组数量是否等于所设置数量,如果不相等,则继续往下读取参数组,若相等则导入谐波的幅度和个数㊂当导入以上参数后,则可根据谐波表达式(4)生成单个系统误差,并将生成的单个系统误差进行相加,直到生成的单个系统误差个数等于所设置个数,则可将已生成的系统误差加入噪声部分,并将误差部分与FID 信号进行相加,则可得到加入系统误差的共振信号㊂当设置好随机误差的幅值与信噪比后,则可以按下按钮 RUN”运行程序,生成随机误差㊂最后通过勾选功能(add in)分别或同时增加3种不同误差,并在图形显示区,显示其时域和频域特征㊂图3 参数设置界面Fig.3 Parameter setting interface 文中设置FID 信号的初始振幅为100nV,弛豫时间为0.2s,拉莫尔频率为2330Hz,初始相位为45°㊂粗大误差的幅度为500nV,粗大误差长度为5ms(与实际磁共振测量数据相符),每组FID 数据中最大粗大误差个数为2㊂系统误差设置为基频是50Hz 的正弦波,幅度呈均值为10nV㊁方差为零的正态分布,相位服从(-π,π)间均匀分布,即模拟了实际工程中的工频及其谐波噪声㊂在随机误差生成部分中,设置的参数是随机误差的幅值和信噪比㊂随机误差的标准差设置为10nV,确定随机误差产生的范围,使用randn 函数生成随机误差㊂包含误差的数据的时间域和功率谱密度如图4中黑色曲线所示,由图4时域图可以明显看出粗大误差特征,即幅值远大于FID 信号且持续时间较短;由功率谱可以看出周期性系统误差特征,其频率固定为基频(50Hz)的整数倍频㊂图4 误差生成及消除图形显示结果Fig.4 Graphical results of error generation and elimination 279吉林大学学报(信息科学版)第41卷3.2 误差处理方法在误差数据处理实验中,在误差消减设置界面尖峰误差处勾选 enable”,设置其作用时间及阈值,由于尖峰噪声产生的时间是随机生成的,所以在设置作用时间时需要包括所有尖峰存在时间㊂粗大误差的判断采用能量运算方法[11],即通过计算MRS 信号能量E [V MRS (t )]和尖峰噪声能量E [V spike (t )],判断数据中是否存在粗大误差:E [V R (t )]=E [V MRS (t )]+E [V spike (t )]㊂(5) 当没有尖峰噪声时,E [V spike (t )]=0㊂由于尖峰噪声的瞬时能量远大于MRS 信号能量,因此当存在尖峰噪声时,E [V R (t )]结果大幅增加㊂剔除粗大误差后,利用自回归函数建模方法,计算尖峰噪声段的MRS 数据,以实现粗大误差的消除[12]㊂周期性系统误差采用基于工频谐波建模方法消除[13]㊂谐波建模原理是根据测量数据估计基频和每个谐波的幅度和相位,然后基于式(4)建立谐波噪声V harmonic 模型㊂但求解谐波参数是一个非线性的优化问题,可通过先搜索谐波基频,再求解幅值和相位的方法进行简化㊂搜索基频可采用均匀搜索或迭代搜索[14]方法㊂在使用工频建模方法前,首先要设置其谐波类型(单基频或双基频的工频谐波)㊂其次,选择目标信号的基频为50/60/16Hz㊂在设置完成后,运行( Run”)得到误差消减后结果如图4中蓝色曲线所示,可以看出粗大误差和系统误差均得到了较好的抑制,仅剩余少量随机误差㊂这是由于随机误差大小和方向都不固定,难以校正或采取某种技术措施的办法消除,只能通过多次叠加取平均方式减小㊂3.3 最小二乘拟合及不确定度计算实验由于MRS 信号的初始振幅和弛豫时间分别和地下含水层的含水量和孔隙度直接相关,初始相位和图5 最小二乘拟合及不确定度计算模块Fig.5 Least squares fitting and uncertainty calculation module拉莫尔频率分别和地下电阻率和地磁场直接相关,因此准确提取MRS 的上述4个参数具有重要意义㊂为加深对最小二乘法㊁回归分析理解,掌握不确定度计算方法,笔者设计了最小二乘拟合及不确定度计算模块,如图5所示㊂该模块可以选择非线性拟合,似然估计+马尔科夫链蒙特卡洛(MCMC:Markov Chain Monte Carlo)或总体最小二乘实现FID 参数估计[14⁃15]㊂文中以非线性拟合方法为例,初始振幅㊁弛豫时间㊁频率差和相位分别设置为50nV,0.1s,0Hz 和-180°;初始相位的最大和最小值为1000nV 和0,弛豫时间的最大和最小值为1s 和0.01s,频率偏量的最大值和最小值为2Hz 和-2Hz,初始相位的最大和最小值为180°和-180°㊂利用最小二乘精度估计方法得到其不确定度,磁共振信号经过包络检测后得到两个正交分量:x =e 0e -t /T *2cos(2πd f t +φ),(6)y =e 0e -t /T *2sin(2πd f t +φ),(7)其中d f =f T -f L 为频率偏差㊂首先将非线性表达式转换为线性表达式E =log(x 2+y 2)=log(e 0)-t /T *2,(8)F =arctan(y /x )=2πd f t +φ,(9) 利用线性最小二乘方法求解式(8)㊂对式(9)整理成矩阵形式Ax =b ,得到x 1和x 2,则e 0=e x 1,T *2=-1/x 2㊂为计算不确定度,对x 1和x 2进行精度估计㊂首先,测试数据的精度估计为σb =∑n i =1v 2i /(n -2),(10)379第6期刁庶,等:误差理论与数据处理课程综合性实验平台设计其中v∈V=Ax-b㊂通过计算C-1=(A T A)-1=d11d12d21déëêêùûúú22,得到σx1=d11σb和σx1=d22σb㊂再根据误差合成得到σe0=∂f∂x1σx1=e x1σx1和σT*2=∂f∂x2σx2=1T22σx2㊂同理,利用最小二乘方法求解式(4),只需修改b=[F1F1 F n],得到x1=φ,x2=2πd f㊂因此,φ=x1,d f=x2/2π㊂计算φ和d f的不确定度为σφ=∂f∂x1σx1=σx1和σd f=∂f∂x2σx2=12πσx2㊂拟合结果见图5中 Parameter estimation”模块(第1行),同时得到了参数的拟合结果和最大值㊁最小值㊂4 结 语笔者基于Matlab APP Designer,设计并实现了误差理论与数据处理课的综合性实验平台㊂该实验平台设置了误差基本性质与处理方法和最小二乘拟合及不确定度计算两大实验模块㊂通过结合实际工程中的地面磁共振测量数据,有助于学生加深随机误差㊁系统误差和粗大误差的理解,掌握最小二乘法和不确定度的计算方法㊂该实验平台不仅满足日常实验教学需求,启发学生思考和解决测量精度等科研问题的能力,同时为进一步的虚拟仿真实验课程建设奠定基础㊂参考文献:[1]费业泰.误差理论与数据处理[M].第6版.北京:机械工业出版社,2010.FEI Y T.Error Theory and Data Processing[M].Sixth Edition.Beijing:Machinery Industry Press,2010.[2]罗清华,焉晓贞,彭宇,等. 误差理论与数据处理”课程研究型教学探索[J].电气电子教学学报,2016,38(3):55⁃57.LUO Q H,YAN X Z,PENG Y,et al.The Research⁃Based Teaching Explore of Error Theory and Data Processing”Course [J].Journal of EEE,2016,38(3):55⁃57.[3]徐志玲,赵玉晓,金骥,等. 误差理论与数据处理”立体化课程设计与实践[J].实验室研究与探索,2014,33(11): 191⁃194.XU Z L,ZHAO Y X,JIN J,et al.A Stereo Design for the Course of Error Theory and Data Processing”[J].Research and Exploration in Laboratory,2014,33(11):191⁃194.[4]绳飘,张振华,闫勇刚,等.科教结合的 误差理论与数据处理”实验教学设计[J].实验技术与管理,2018,35(7): 213⁃216.SHENG P,ZHANG Z H,YAN Y G,et al.Teaching Design on Experiment of Error Theory and Data Processing”with Combination of Scientific Research and Teaching[J].Experimental Technology and Management,2018,35(7):213⁃216.[5]孙鹏,冯新宇,王蕴恒,等.误差理论与数据处理课程教学改革与实践[J].实践探索,2017(7/8):68⁃69. SUN P,FENG X Y,WANG Y H,et al.Teaching Reform and Practice of Error Theory and Data Processing Course[J]. Shijian Tansuo,2017(7/8):68⁃69.[6]田宝凤,蒋川东,易晓峰,等. 误差理论与数据分析”在卓越工程师培养计划下的教学改革研究[J].教育现代化, 2018,5(30):29⁃30,34.TIAN B F,JIANG C D,YI X F,et al.Research on Teaching Reform of Error Theory and Data Analysis”under the Excellent Engineer Training Plan[J].Education Modernization,2018,5(30):29⁃30,34.[7]林君,蒋川东,段清明,等.复杂条件下地下水磁共振探测与灾害水源探查研究进展[J].吉林大学学报(地球科学版),2012,42(5):1560⁃1570.LIN J,JIANG C D,DUAN Q M,et al.The Situation and Process of Magnetic Resonance Sounding for Groundwater Investigations and Underground Application[J].Journal of Jilin University(Earth Science Edition),2012,42(5): 1560⁃1570.[8]田宝凤,朱慧,易晓峰,等.基于谐波建模和自相关的磁共振信号消噪与提取方法研究[J].地球物理学报,2018,61 (2):767⁃780.TIAN B F,ZHU H,YI X F,et al.Denoising and Extraction Method of Magnetic Resonance Sounding Signal Based on 479吉林大学学报(信息科学版)第41卷Adaptive Harmonic Modeling and Autocorrelation [J].Chinese Journal of Geophysics,2018,61(2):767⁃780.[9]LARSEN JAKOB JUUL,BEHROOZMAND AHMAD.Processing of Surface⁃Nuclear Magnetic Resonance Data from Sites withHigh Noise Levels [J].Geophysics,2016,81(4):75⁃83.[10]LARSEN JAKOB JUUL,DALGAARD ESBEN,AUKEN ESBEN.Noise Cancelling of MRS Signals Combining Model⁃Based Removal of Powerline Harmonics and Multichannel Wiener Filtering [J ].Geophysical Journal International,2013(2):828⁃836.[11]万玲,张扬,林君,等.基于能量运算的磁共振信号尖峰噪声抑制方法[J].地球物理学报,2016,59(6):2290⁃2301.WAN L,ZHANG Y,LIN J,et al.Spikes Removal of Magnetic Resonance Sounding Data Based on Energy Calculation [J].Chinese Journal of Geophysics,2016,59(6):2290⁃2301.[12]JIANG C D,LIN J,DUAN Q M,et al.Statistical Stacking and Adaptive Notch Filter to Remove High⁃Level ElectromagneticNoise from MRS Measurements [J].Near Surface Geophysics,2011,9(5):459⁃468.[13]MÜLLER⁃PETKEMIKE,BRAUN MARTINA,HERTRICH MARIAN,et al.MRSmatlab A Software Tool for Processing,Modeling,and Inversion of Magnetic Resonance Sounding Data [J].Geophysics,2016,81(4):9⁃21.[14]LEGCHENKO ANATOLY,VALLA PIERRE.Processing of Surface Proton Magnetic Resonance Signals Using Non⁃LinearFitting [J].Journal of Applied Geophysics,1998,39(2):77⁃83.[15]蒋川东,常星,孙佳,等.基于L 1范数的低场核磁共振T_2谱稀疏反演方法[J].物理学报,2017,66(4):239⁃250.JIANG C D,CHANG X,SUN J,et al.Sparse Inversion Method of T2Spectrum Based on the L 1Norm for Low⁃Field Nuclear Magnetic Resonance [J].Acta Physica Sinica,2017,66(4):239⁃250.(责任编辑:刘东亮)579第6期刁庶,等:误差理论与数据处理课程综合性实验平台设计。
试验任务书试验题目:COM 组件对象的设计与应用试验目的:通过对简单COM 组件的编写,加深对COM 理论知识的理解,为更深层的COM 应用做准备。
试验任务:按照组件化程序设计方法,用Visual C++编写实现包含IAdd 、IStr 、IMul 三个接口的.dll 组件,并利用客户端应用程序完成对各接口的充分测试。
试验要求:独立完成COM 组件和客户端测试程序的编写。
在实验报告中记录相关实现代码,并在试验报告中记录试验结果。
要求客户端调用Cat 方法实现自己姓名字符串和班级学号字符串的连接,以及测试加法运算和乘法运算。
试验步骤:1.分析组件结构。
2.编写简单.dll 组件。
3.逐步添加接口。
4.编写客户端应用程序进行测试。
⑴用regedit 命令打开注册表⑵注销操作:RegSvr32 /u c:\XXXXX.dll ⑶注册操作:RegSvr32 c:\XXXXX.dll ⑷在运行客户程序前,必须先注册组件程序。
5.写出上机实验报告。
实验报告格式:1.画出实验所设计的COM组件的结构2.关键代码⑴组件部分的关键代码①idl文件内COM对象和接口的关键定义代码②C++文件中成员函数的关键实现代码⑵客户端测试程序中组件调用部分的关键代码3.实验结果实验参考一、建立ATL工程( 注意:和试验任务书要求的组件结构不同)IUnknown步骤1:建立一个工作区(WorkSpace)。
步骤2:在工作区中,新建一个A TL工程(Project)。
命名为SimpleCom(如图1),并选择DLL方式(如图2)。
图1 新建ATL工程图2 选择DLL类型说明:⑴Dynamic Link Library(DLL) 表示建立一个DLL 的组件程序。
⑵Executable(EXE) 表示建立一个EXE 的组件程序。
⑶Service(EXE) 表示建立一个服务程序,系统启动后就会加载并执行的程序。
⑷Allow merging of proxy/stub code 选择该项表示把“代理/存根”代码合并到组件程序中,否则需要单独编译,单独注册代理存根程序。
基于混合式学习的c语言程序设计课程的教学研究的开题报告一、研究背景和目的:随着信息技术的不断发展,计算机程序设计已经成为应用领域中不可或缺的技能。
在计算机科学与技术教育中,C语言是一门重要的编程语言,它在工程实践中有着广泛的应用。
然而,传统的C语言程序设计教学中,学生只是被要求掌握一些基本的语法规则和程序设计思想,缺乏实际的编程实践,无法真正理解程序设计的本质和过程。
因此,在教学实践中如何提高学生的编程实践能力是一个十分重要的问题。
本研究旨在通过混合式学习的方式,设计一门针对C语言程序设计的教学课程,引导学生深入理解程序设计的本质和过程,提高学生的编程实践能力和解决实际问题的能力,进而培养学生的综合素质和竞争能力。
二、研究内容和方法:1. 研究内容(1)对混合式学习的理论、教学模式及特点进行归纳和总结。
(2)探索基于混合式学习的C语言程序设计课程的设计原则和方法,构建合适的课程教学架构和教学资源,开发相应的教学软件和工具。
(3)通过教育实验和调查研究,评估混合式学习教学模式对学生学习效果和学生综合素质的提高作用。
2. 研究方法(1)文献调研法:对混合式学习教学模式和C语言程序设计课程的相关文献进行综合分析和比较。
(2)教学设计法:结合混合式学习的理论和实践,设计C语言程序设计的混合式学习课程,在课程教学中不断优化和完善教学资源和教学工具。
(3)实验验证法:选择具有一定专业基础的学生,对混合式学习教学模式进行教育实验。
通过比较实验组和对照组的学习效果和学生综合素质的提高情况,评估混合式学习教学模式的有效性和实用性。
三、研究意义和预期成果:1. 研究意义(1)推进C语言程序设计教育教学研究和教学改革。
(2)促进混合式学习在计算机程序设计教育中的应用。
(3)提高学生的编程实践能力和综合素质,培养具有较高应用能力的计算机人才。
2. 预期成果(1)混合式学习的C语言程序设计课程设计方案。
(2)混合式学习教学软件和教学工具。
基于com组件的VC和MATLAB混合编程一、MATLAB 下做COM组件由于MATLAB 的编译器只能对函数M文件进行编译, 所以如果原来的程序是脚本程序应改写成函数形式。
同一个M文件还可以包含多个函数, 此时将出现在文件中的第一个M函数称为主函数, 其余的函数称为子函数, M函数文件的名称一般与主函数的名称保持一致, 其它函数都必须按照函数的基本结构来书写, 例如建立一个M函数文件function [a]=msadd(x,y)a=x+y;保存文件名为msadd.m在MA TLAB 命令行中输入deploytool命令启动MATLAB Com Builder 图形用户界面, 在其文件菜单中选择File- >New Project点击最左上角新建一个工程:注意:工程保存路径最好在硬盘一级目录下,工程名尽量简单,不要超过8个字母。
新建一个M3add的工程在D盘下系统生成一个M3add.prj的文件和一个名为M3add的文件夹工程建好后,系统自动生成一个与工程名相同的类,下图中为M3add的文件夹,这个文件夹经编译后,导入VC就是一个类,注意:这里要把与工程名相同的类删除再增加一个不同名的类,或改名,总之工程名与类名不能相同,否则导入VC后,最后编译时会报错,overload 之类的。
这里新增加了一个M4add类,在这个类下面增加m函数文件。
注意:如果是神经网络,则只能是训练好的神经网络。
函数中最好不要用图形显示的语句。
图形显示和VC的交互更加复杂,这里暂不讨论。
然后编译:编译完成后,关闭Matlab。
Matlab的工作到此完成。
二、设置VC++1、准备文件:(1)如果未曾对mwcomutil.dll 进行过注册, 在系统开始->运行中输入cmd,则进入DOS 在Dos状态下输入regsvr32 mwcomutil.dll对其进行注册,mwcomutil.dll在<MA TLAB 目录>/bin/win32 下。