仿真方法

2024-09-23

仿真方法(共12篇)

仿真方法 篇1

1 引 言

合成孔径雷达(SAR)是一种在军事侦查领域应用广泛的雷达。它以其全天候、全天时、抗干扰和高角度分辨力的特点在近几年的战争中扮演着重要的角色。各国都在竞相研制开发高性能的SAR,我国也不例外。在研制过程中仿真必不可少,一个大型的SAR仿真平台可以为研发工作带来相当大的方便。

在SAR研制的同时,各国也必然在进行着SAR对抗的研究。由于SAR具有抗干扰等特点,因此有源干扰就成为了最有效的手段。所以现代的电子战环境仿真中有源干扰机的仿真是必不可少的。

有源干扰分为欺骗式干扰和压制式干扰,对于SAR欺骗式干扰尤为适宜。因为SAR使用的合成孔径技术使得其主瓣非常窄,干扰机大部分时间是在其副瓣内,如果使用压制式干扰则需要的功率极大,效果不理想。而欺骗式干扰则可以产生与雷达相匹配的信号,达到良好的干扰效果。

2 SAR成像基本原理

SAR与常规雷达一样,都是利用目标反射的电磁波对目标进行探测。之所以SAR能产生如此高的分辨力,要归功于线性调频信号,这种信号在压缩处理后可以产生很高的分辨力。

距离向的线性调频信号是雷达发射脉冲前就产生的,这和常规雷达并无不同之处,而方位向的线性调频信号则是SAR独有的。SAR在飞过目标时,飞机和目标的相对速度是变化的,所以目标回波的多普勒频移也是变化的,如此就产生了一个近似线性调频的信号,利用这个信号SAR可以产生很高的方位向分辨力。

SAR发射的信号归一化后为:

undefined

其中

undefined

。则回波信号为:

undefined

其中undefined为回波的延迟,R(τ)为目标与飞机的距离,c为光速。

因为τ为慢时间,因此在快时间域T(τ)近似为常数T0。因此上式中exp(jk(t-T(τ))2)⧋exp(jk(t-T0)2)为快时间域(距离向)的线性调频因子。

而exp(jωc(t-T(τ)))去载波后得到undefined。将R(τ)在目标位于波束中心的时刻τ0处泰勒展开并略掉二阶以上的高阶项:

undefined

因此:

undefined

这就是快时间域(方位向)的线性调频因子。对于最简单的正侧视SAR,undefined为多普勒中心频率,λ为波长)。因此undefined可化为undefined。

SAR成像就是通过对这两个线性调频项进行依次压缩而得到很高的距离分辨力和角度分辨力的,而具体的压缩算法因与干扰无关,本文不做描述。

3 SAR的欺骗式干扰原理及仿真方法

如图1所示,干扰机对雷达的回波信号为:

undefined

而假目标对雷达的回波信号应该为:

undefined

观察式(4)与式(5)容易看出,如果不考虑回波幅度,在式中令undefined则可以转化为式(5)。因此只需在干扰机的回波上加上一个延迟,就可产生xoy平面(地面)上任意点的假目标。

而在实际的仿真平台设计中,为了简化计算过程,信号采用了不带载波、已采样但未量化的形式。因此,干扰机的回波就变成了如下形式:

undefined

t(n)为n的线性函数,t(n)=Δt×n+t0(下文为了方便将τ(m)简记为τ)。同理,按上面的方法,令undefined,则undefined。式(6)可化为:

undefined

注意其中undefined这一项,没有载波,就无法通过延迟将其转化为undefined。因此,方位向的假目标需要另行处理。对比式(7)和式(5),可以看出如果将s0进行如下处理,得到的式(8)与式(5)所代表的目标点在成像后将有相同的位置。

undefined

其中关于R0(τ)-R1(τ)的计算,有两种不同的方法。首先可以将R0(τ)和R1(τ)泰勒展开并略去高阶项然后相减,这样可以避免由于计算每一时刻和每一目标点的R1(τ)而引入的非线性运算。但在仿真系统中,干扰模块并不是计算干扰机发出信号的幅度,而是雷达接收到的信号的幅度,由距离而产生的幅度的衰减也是由干扰模块来计算,因此R1(τ)的计算是不可避免的。所以直接计算将较为合理。

undefined

综上所述,undefined就是干扰机产生方位向干扰的因子,在干扰机的回波信号上乘上这个附加因子就可以产生方位向的假目标。

4 Matlab仿真效果

上述干扰仿真方法在Matlab上的仿真效果如图2所示,仿真中真实目标和假目标的后向散射系数均取1,每个脉冲采样1 024个点。

图2(a)中R1和R2为真实目标的像,F1和F2为干扰机产生的假目标的像,J为干扰机位置;图2(b)为成像后的幅度三维图,四个峰分别对应图2(a)中真实目标和假目标的四个像。从图中可以看出仿真的干扰机产生的假目标已经达到了干扰效果,图2(b)中假目标像的幅度也和真实目标相仿,证明了该方法能应用于实际的仿真系统。

参考文献

[1]孙云辉,陈永光,焦逊.星载SAR应答式欺骗干扰研究[J].电子对抗技术,2004,19(2):23-26.

[2]甘容兵,王建国.改进的对星载SAR的应答式欺骗干扰[J].电子科技大学学报,2005,34(5):614-617.

[3]叶映宇.合成孔径雷达干扰方法的研究[D].成都:电子科技大学,2005.

[4]刘永坦.雷达成像技术[M].哈尔滨:哈尔滨工业大学出版社,1999.

[5]George.W.Stimson.机载雷达导论[M].吴汉平,译.北京:电子工业出版社,2005.

仿真方法 篇2

目前对整个飞行区运行评估的研究较少,但又有迫切需求.采用网络模型描述飞行区结构,按照实体流图法对飞行区建模,选择下次事件时间推进机制进行仿真.通过对飞行时间和延误等仿真输出结果的.统计分析,对飞行区运行进行评估.结合上海浦东机场给出算倒,结果验证了评估方法有效性.

作 者:徐肖豪 臧志恒  作者单位:中国民航大学,空中交通管理研究基地,天津,300300 刊 名:中国民航大学学报  ISTIC英文刊名:JOURNAL OF CIVIL AVIATION UNIVERSITY OF CHINA 年,卷(期): 25(z1) 分类号:V351.11 关键词:机场   终端区   飞行区   仿真   评估  

仿真方法 篇3

(1. 上海海事大学 商船学院,上海 201306; 2. 江阴海事局,江苏 江阴 214431)

0 引 言

随着经济建设发展和科技水平的不断进步,航运业得到快速发展,船舶逐渐向大型化、高速化、综合化、智能化方向迈进.大量频繁活跃的船舶使港口、航道等水域交通流量急增,航行环境日益复杂.[1]因此,有必要对港口水域的交通风险进行分析和评估,为港航安全管理部门制定有针对性的预防措施提供依据.目前,国内外已有很多学者采用定性、定量以及定性定量相结合的方法从不同角度研究水上交通风险问题,如综合安全评估(FSA)法[2]、灰色系统理论法[3]、灰色马尔可夫链方法[4]等.这些方法在一定程度上提供定性和定量的决策依据,然而,对动态、线性的数据进行实时评估,需要更多的数据推理及模拟实验分析发展趋势.

本文在港口交通风险定量化评估的基础上给出交通事故率和事故后果的贝叶斯概率统计,接着建立港口交通系统风险的蒙特卡罗仿真模型,并通过马尔可夫链蒙特卡罗(Markov Chain Monte Carlo,MCMC)方法对风险模型的参数进行推断与优化,最后进行仿真实验.

1 港口交通系统风险建模

港口交通系统风险[5]是指在某一特定的客观状态下港口交通系统中人、船(货)、环境受到伤害的可能性和这种伤害的严重程度,可表示为

R|S=f(P,C)|S

(1)

式中:P为某一时间事故发生的可能性;C为事件发生的后果;S代表某一特定的客观状态;R|S为在S状态下分析对象的风险度;f为关于P和C的实数函数.可能性指事故发生的机会,用于描述概率或频率的性质.概率是理论值,由事件的本质决定,只能取唯一值,它能精确反映事件发生可能性的大小.称随机事件在一定时间内统计取得的发生次数为频率. 频率是试验值或使用时的统计值,具有随机性,可能取多个数值,因此只能近似反映事件发生可能性的大小.可能性

(2)

式中:i∈[1,n],i∈Z;P的物理意义是指在选取的样本中发生事故的频率;ai为年事故数;ai为每年船舶活动量.

后果是描述有害事件或非正常事件发生所造成损害的程度.在实际事故后果分析中,由于考虑不同的风险,常采用“事故等效后果”衡量.“事故等效后果”是经归一化以后事故的各种后果总和.

(3)

2 港口交通系统风险的MCMC仿真算法

2.1 MCMC方法及风险仿真模型

MCMC方法是最近发展起来的一种简单且行之有效的贝叶斯计算方法.其基本思想是通过建立一个平稳分布为π(z)的马尔可夫链得到π(z)的样本,基于这些样本作各种统计推断.其主要目的是借助贝叶斯概率估计,通过频率数据获取风险事件的概率.

将MCMC算法概括为3步:(1)在z上选一个“合适”的马尔可夫链,使其转移核为p(·,·),这里“合适”的含义主要指π(z)应是其相应的平稳分布;(2)由z中某一点Z(0)出发,用(1)中的马尔可夫链产生点序列Z1,…,Zn;(3)对某个m和n,任一函数f(z)的期望估计

(4)

采用文献[6]中所建立的模型作为风险仿真模型,即把要解决的目标问题抽象成一个概率模型R=f(P,C)(式中R表示风险度;P表示某一事件发生的概率;C表示事件发生的后果).分别对相关资料进行统计,获取P和C的样本信息;通过结合样本信息和模拟风险值确定概率模型;最后选定适当的模拟值个数N与次数M,对所获得的M·N个样本值进行统计分析,得到分布曲线和宏观风险的特征.

2.2 基于MCMC的贝叶斯推断及模型选择

主要步骤[7]如下:(1)收集、分析主客观先验信息,确定合适的先验分布形式以及先验参数.(2)结合试验数据确定第i个模型,利用Gibbs抽样对模型的后验进行MCMC模拟.(3)判断马尔可夫链是否已收敛、MC误差是否足够小.如果马尔可夫链已收敛、MC误差足够小则转入下一步,否则需进一步调试模型.重新确定抽样迭代次数及抽样方法等,若效果依然不尽如人意,则返回(2),重新考虑修改先验参数和模型.(4)修改(3)中的模型、选择更高一级的i+1个模型并返回(3),比较模型、选择相对更优秀的后验模型,进行模型的贝叶斯推断,并根据有关准则得出正确的结论.

基于MCMC方法的模型运行流程见图1.

2.3 参数优化

构建风险的贝叶斯多层对数正态模型:

R[i]~d lnorm(μ,σ)//风险服从对数正态分布

R[i]<-P[i]*C[i]//风险由概率和后果确定

P[i]~d lnorm(μ,σ) //可能性服从对数正态分布

C[i]~d lnorm(μ,σ) //后果服从对数正态分布

μ~d norm(0,1.0E-6) //超参数服从正态分布

σ~d gamma(0.01,0.001) //超参数服从伽马分布

sigma<-1/sqrt(σ) //符号函数

图1 基于MCMC方法的模型运行流程

利用WinBUGS软件对各参数进行迭代计算,从而获得其后验分布和数学特征值.

2.4 基于仿真数据的检验

仿真数据检验方法主要采用文献[8]中的变异因数,即通过判断估计值与待定值的收敛性检验仿真数据的可靠性,

V=σ/m

(5)

式中:σ为仿真样本的风险标准差;m为仿真样本的风险平均值.

3 应用算例

用我国某港口的交通事故数据[2]进行应用测试.由于事故数据样本量较少,属于小样本事件,为获取港口交通系统风险事件发生的可能性往往只能用频率进行估计,通过蒙特卡罗方法获取概率.后果采用因数进行换算.文献[8]用基于对数正态的蒙特卡罗模型进行风险推理.本文则通过MCMC算法先修正概率,进而对风险事件数据进行仿真.

WinBUGS是英国剑桥公共卫生研究所推出的用MCMC方法来分析复杂统计模型的贝叶斯推理软件.其基本原理就是通过Gibbs sampling和Metropolis算法,从完全条件概率分布中抽样,从而生成马尔可夫链,通过迭代最终估计出优化后的概率参数[9].

在对风险事件样本数据整理之后,得到先验分布数字特征,然后利用WinBUGS软件进行MCMC参数计算[10],获得所建模型各参数的后验分布数字特征,见表1.

表1 各参数的后验分布数字特征

利用表1中的参数进行蒙特卡洛仿真,结果见图2.图中实心点为样本数据,圆圈表示仿真获得的随机数据.

3.1 港口交通系统风险MCMC仿真结果分析

从图2(b)中可以看出,样本量得到有效增加,新增加样本对原样本有较好的覆盖.从图2(c)和2(d)中可见高风险出现的概率明显较小.通过扩充样本信息量,在风险合成后可得到整体风险.

当模拟运行1 000次后(每次抽取样本100个),仿真结果相差极小.经统计可得出该港口水域频率均值为1.279 3×10-4,后果均值为0.764 2,后果均值与实际情况也较为符合,风险平均值为0.975 1×10-4,风险标准差小,为2.518 2×10-4,说明仿真的风险值稳定性很好,仿真结果可信.

图2经优化后的港口水域样本及模拟样本仿真风险分布

利用上面得到的模拟风险值(1 000个),可以画出一个统计直方图,见图3.

(a)直方图 (b)三维离散图

图3多次模拟样本的仿真风险

按照文献[8]的模型,对数正态下的概率参数与MCMC优化参数后的概率参数的风险统计特征值见表2.

表2 风险统计特征值

从图3可得到以下结论:(1)该港口不同水域不同事故类型的平均风险为0.975 1×10-4,风险值标准差较小,稳定性较好.(2)风险值主要集中在0.4×10-4~1.5×10-4之间,峰值主要集中在0.95×10-4处,与风险均值接近重合.该水域的风险值是较为典型的对数正态分布的随机变量.(3)利用统计数据,对风险进行分级.根据二八定律,可将低风险、合理可行风险、高风险等3类风险度的阈值进行重新划分,进一步保证相对风险分级的可行性.(4)与参数优化前MC仿真的结果相比较,参数优化对仿真结果起到一定的优化作用,主要表现在所获得的参数本身具有更强的稳定性,仿真所得的频率均值、风险均值及后果均值与实际结果更为接近,同时风险值区间上下限值有所扩大,较高风险可能性增大,更能提醒相关职能部门和船舶驾驶人员防范交通风险.

3.2 仿真样本差异性分析

从第3.1节风险信息(N=100,M=1 000)中随机抽取100次仿真数据进行变异因数计算,得到图4(其中稳定数据线为样本的变异因数,波动数据线为仿真样本变异因数).

图4 基于WinBUGS软件的仿真风险的变异因数

图4中,虽然仿真样本的数据曲线振荡幅度较为显著,但是样本的统计结果基本落在仿真样本的变异因数的变化范围之内,两种样本的关联性较强.

4 结束语

应用MC方法建立的仿真模型能够有效扩展小样本问题分析数据,为确立风险分级标准提供依据.利用WinBUGS软件通过MCMC方法能够实现对风险模型中概率参数的优化,更加接近风险事件发生的可能性.实例表明,参数优化后的风险模型具有更强的稳定性,与实际结果具有较好的一致性.如何利用MCMC方法实现风险的动态转移是后续的研究工作.

参考文献:

[1] 徐广波, 轩少永, 尤庆华. 基于熵权的模糊集对模型在港口水域通航风险评价中的应用[J].上海海事大学学报, 2012, 33(1): 7-11.

[2] 方泉根, 胡甚平. FSA 在船舶引航风险评估中的应用[J]. 哈尔滨工程大学学报, 2006, 27(3): 329-334.

[3] 周丽丽, 胡甚平. 船舶引航风险成因灰色综合评价模型[J]. 上海海事大学学报, 2008, 29(3): 21-25.

[4] 赵佳妮, 吴兆麟. 基于灰色马尔可夫模型的水上交通事故预测[J]. 大连海事大学学报, 2005, 31(4): 15-18.

[5] 胡甚平. 不确定性信息下的海上交通风险评估方法及应用研究[D]. 上海: 上海海事大学, 2010.

[6] 高帅. 基于蒙特卡罗方法的沿海水上交通风险仿真[D]. 上海: 上海海事大学, 2011.

[7] 林静. 基于MCMC的贝叶斯生存分析理论及其在可靠性评估中的应用[D]. 南京: 南京理工大学, 2008.

[8] 胡甚平. 海上交通系统风险蒙特卡洛仿真[J].上海海事大学学报, 2011, 32(4): 7-11.

[9] 余芳. 基于 MCMC 方法的 WinBUGS 软件应用[J]. 经营管理者, 2010(15): 15.

仿真方法 篇4

模拟仿真教学法,是指在教师指导下,学生模拟扮演某一角色进行技能训练的一种教学方法。模拟教学能在很大程度上弥补客观条件的不足,为学生提供近似真实的训练环境,提高学生职业技能。

2《山西导游讲解》课程分析

2.1 课程性质

本课程是中等职业学校旅游服务与管理专业的一门专业核心课程,是学生从事导游服务岗位工作所需掌握的必修课程。其功能在于让学生在熟悉山西概况以及主要景区景点的基础上,掌握导游讲解的基本规范和技巧,具备从事导游服务工作相关的职业能力。

2.2 课程定位(教材三部曲)

01年教材叫《山西导游》--学院派教材,本书介绍了山西的107个景点,虽较为全面、系统、翔实地反映了我省旅游景观的基本情况,但书中学术性过强。02年叫《走遍山西》———精英导游词。选取山西的22个景点,即山西著名景区景点导游词选萃,不足之处就是缺少沿途导游词、专题导游词,不能满足实际导游的需要。05年至今叫《情系山西·旅行社导游词选编》,按工作过程编写,将原来的景区景点导游词,改编扩展为基本旅游线路导游词。全书分四部分编撰:专题文化、沿途讲解、基本旅游线路上的主要旅游区(点)讲解、旅游者较为关注山西的其他讲解资料。选取两条线路讲授(古建宗教游、晋商文化游)。

3 模拟教学应用于山西导游教学中的优点

3.1 创设情境激发学生学习的兴趣,吸引学生主动参与

教学活动的主体是学生,让学生动起来,积极参与到教学过程中。不仅有助于更好地理解知识,更主要的是激发学生的生命活力,促进学生成长的需要。因此,激发学生学习的动力,培养他们的好奇心、求知欲,就应根据学生的身心发展规律,创设学生感兴趣的情境,只有这样学生才会产生好奇心和求知欲,才能积极主动地投入到学习中去。情境的创设既要符合学生的身心特点,让学生有兴趣参与其中,又要落实课堂目标,并使二者有机统一起来,使学生通过情境探究活动,既激“兴趣”,更增“知识”强“技能”。我在模拟平遥古城导游词讲解中:按照“接团”→“旅游车上的讲解”→“景点讲解”顺序讲解。这些情境既同导游员的实际讲解接近,又贴近学生生活,容易激发学生的兴趣,同学们以小组为单元情景模拟,各个积极主动参与,最后顺利地实现课程目标。

3.2 发挥教师的引导、示范作用,师生共同参与

在模拟教学中,倡导学生主动参与、积极探究、充分发挥学生各种潜能,但这并不意味着教师在课堂教学中被动地跟着学生的思维转。相反,模拟教学法更需要教师做好学生引导,并且教师的引导应贯彻课堂的始终,教师在学生模拟前要做到亲身示范,示范后做到精导妙引,否则学生的探究活动会显得漫无目的,最终使课程目标难于实现。怎样引导?关键在于师生共同参与和巧用提问。我在教显通寺导游词讲解中,先教师亲身示范,然后用佛教音乐导入,带学生进入情境,然后分小组,用多媒体课件上的图片给同学们直观的感受,情景模拟。

3.3 促进学生间合作与竞争

在教学中以小组合作的形式学习,能让每个学生主动地参与到学习活动中去。合作学习既能使学生之间取长补短、互通有无、优势互补,集众人的智慧,更好地解决问题,同时还能增强学生之间的合作意识,能使学生学会尊重他人,由此还能提高学生人际交往的能力。为此,我在实行模拟教学的时候,也用了合作学习的方式,教师示范后分小组模拟操作,教师巡回指导。把竞争引进课堂,既能活跃课堂气氛,提高学生的学习兴趣和课堂效率,又能培养学生的竞争意识,这样他们才会更好地适应今后竞争日趋激烈的社会。在这堂课中,我通过评选“最佳导游”、“最有创意导游”、“文明游客”等奖项,以鼓励学生间和小组间的相互竞争。

4 模拟教学在《山西导游讲解》中的应用

在教学的过程中,以工作任务模块为教学单元,按导游人员完成讲解工作项目的要求和岗位操作规范来组织教学。每单元中用“我知道吗?”“我会/能吗?和”我能熟练流畅地讲解吗?“来体现不同层次的教学要求。并运用情景模拟仿真教学等方法。以《山西导游讲解》为例,分成四个工作任务,从课程内容及教学要求、情景模拟设计上举要。

4.1 山西简介

(1) 能介绍山西的地理位置、地形特点、面积人口、气候特征、行政区划。 (2) 熟知山西的历史沿革,能介绍现代山西的风貌。 (3) 知道山西的主要旅游资源和山西主要的旅游线路。 (4) 理解晋文化的基本内涵及表现。 (5) 能介绍山西的民俗风情。 (6) 能介绍山西的饮食文化。 (7) 知道山西(太原、大同)主要城市的交通、住宿等旅游服务设施。

情景模拟设计:活动一:山西概况介绍。设计一个为某个初到山西的旅行团简单地介绍山西概况的工作任务,组织学生在课堂上演示,然后师生共同点评。

活动二:沿途风光讲解。设计一个场景:某个导游刚刚从太原武宿机场接到一个旅行团,目前他们乘坐的旅行车正在前往酒店(国贸酒店)的路上。请同学们分别扮演“旅行团”和“导游”,由“导游”进行沿途风光讲解,教师点评。

活动三:沿途风光讲解。设计一个场景:某个导游刚刚从河南焦作接到一个团,目前他们乘坐的旅行车正在前往山西的路上,已经进入山西段,需要给他们进行沿途导游讲解。

活动四:太原夜景讲解。设计一个场景:某个导游准备按接待计划带一个旅行团到汾河公园看夜景。

请同学们参与游戏,一个学生扮演导游,一组学生扮演旅行团。通过角色扮演,模拟情境,引导学生对沿途导游讲解的要领进行讨论,并予以点评。

4.2 山西景区景点举要

(1) 熟知晋祠景点的基本情况。 (2) 熟知平遥古城景点的基本情况。 (3) 熟知双林寺景点的基本情况。 (4) 熟知王家大院景点的基本情况。 (5) 熟知乔家大院景点的基本情况。

情景模拟设计:活动一:晋祠景点现场教学。组织学生到晋祠景点现场教学,使学生掌握该景点的讲解要领。

活动二:平遥古城景点的讲解。某个导游准备按接待计划带领游客去平遥古城参观游览。通过角色扮演,模拟情境,引导学生学会讲解平遥古城。并掌握讲解平遥古城的要领。

4.3 口语表达基础训练

(1) 掌握导游讲解中口头表达的基本要求。 (2) 能在导游讲解中运用恰当的语调、语气、节奏来帮助表达。 (3) 知道发声吐字的技巧。 (4) 能根据讲解的内容、游客的多少、场所的不同来调节音量。 (5) 能根据讲解的内容、游客的理解力及现场反应来控制语速、恰当停顿、遣词造句,并运用恰当的修辞手法。 (6) 能在导游讲解中恰当地运用眼神、手势、表情、体态等辅助性语言。 (7) 能在导游讲解中克服不良的口语习惯。 (8) 能运用口语表达技巧来讲解晋祠等五大景点。

情景模拟设计:活动一:口语表达训练。选取上一模块的相关内容,利用导游模拟实训室和录像、录音等实训设备,就口语表达中发声、吐字、语音、语调、语速、停顿的技巧,以及手势、表情、体态等辅助性语言的运用进行训练。

活动二:导游讲解竞赛。设定不同的讲解命题(以晋商文化游中的5大景点为主)采用当场抽签的形式,组织学生开展一次导游讲解竞赛。引导学生对导游词的撰写、表达的要领进行讨论,并予以点评。

4.4 导游讲解技巧训练

(1) 掌握导游讲解应遵循的基本原则。 (2) 掌握陈述法、问答法、渗透法、情景法、类(对)比法、虚实法、悬念法、意境法、重点法等导游讲解技巧及其运用时的注意点。 (3) 能恰当地运用导游讲解技巧来讲解晋祠等五大景点。 (4) 知道影响导游讲解的心理因素,并能在导游讲解实践中避免其影响。

情景模拟设计:活动一:旅游亲身体验。组织学生参加旅行团到平遥、乔家旅游,提高学生对导游服务工作的兴趣,增加对导游讲解技巧的感性认识。

活动二:导游讲解技巧实例分析。通过多媒体课件或音像资料展示导游对游客讲解的服务过程,组织学生就其中所运用的导游讲解技巧进行点评。

将模拟教学应用于《山西导游讲解》中,以此提高学生学习的兴趣,调动学生学习的积极性,有效地提高教学质量。最终实现理论联系实践,更好地服务游客。

摘要:《山西导游讲解》这门课程是中等职业学校旅游服务与管理专业的一门专业核心课程, 是学生从事导游服务岗位工作所需掌握的必修课程。同时也是山西省旅游局导游资格证考试中口试必考科目, 本课程还承担着山西省的技能大赛考核。本文重点探讨了模拟仿真教学法在这门课程中的应用, 以激发学生学习的积极性。

关键词:模拟仿真教学法,山西导游讲解,应用

参考文献

[1]董长清, 严振华.加强模拟仿真教学提高人才培养质量[J].空军雷达学院学报, 2011 (01) .

[2]陈立双.高等院校模拟教学实习的调查与分析[J].高等农业教育, 2012 (12) .

仿真方法 篇5

跟踪虚拟目标是光电经纬仪性能测试的一种全新手段,虚拟目标的运动特征直接关系到测试的效果.针对光电经纬仪的测试需求,提出了一种虚拟目标运动特征的可视化仿真方法.基于科学计算可视化方法学,将目标的运动模型和光电经纬仪的测量模型相结合,得到了用于目标运动特征仿真的`可视化设计模型.以目标的基本飞行参数和光电经纬仪的测试目的做约束条件.使用该模型可快速设计出运动特征符合要求的目标轨迹和姿态.结果表明,该方法是一种高效率的目标运动特征仿真手段.

作 者:王成刚 蒋平吴钦章 WANG CHENGGANG JIANG PING WU QINZHANG 作者单位:王成刚,WANG CHENGGANG(610209,四川成都,中国科学院光电技术研究所;100049,北京,中国科学院研究生院)

蒋平,吴钦章,JIANG PING,WU QINZHANG(中国科学院光电技术研究所,四川成都,610209)

仿真方法 篇6

【关键词】工程光学 光学仿真 教学改革

【中图分类号】O435.1 【文献标识码】A 【文章编号】2095-3089(2015)14-0070-01

1、引言

光电信息科学与工程专业是由光学、光电子、微电子等技术结合而成的多学科综合技术专业。为了培养学生在光电信息工程领域具有光纤传输系统与光电传感技术、光电检测与控制技术、信息光电子应用技术与光电图像处理技术等方面的专业知识。光电信息科学与工程专业所开设的课程包括工程光学、光电子技术、信息光学、光纤通信技术、激光原理与器件等基础课[1]。

工程光学是光电信息科学与工程专业的必修基础课,也是光学设计、光电检测、光学测量和光电成像技术等其他专业课的先修课程,所以课程在学科中的地位极其重要。通过这门课程的学习,学生能对光学的基本概念、基本原理和典型光学系统的结构有较为深刻的认识,为学生今后学习光学系统的设计、光信息理论和从事光学研究打下坚实的基础[2-3]。工程光学是本专业学生所接触的第一门光学专业基础课,由于课程具有知识点多,理论性强,公式多等特点,让学生学习起来难以理解通透,并且感到乏味。为了提高教学质量、培养学生的学习兴趣与学习能力,有必要对该门课程的教学方法做出适当的改革。该门课程传统的教学方法是讲授法,我们在教授法的基础上引入了对光学的基本原理和基本现象进行仿真模拟的实践教学内容,让学生在仿真模拟中对课程里重要的公式内涵有更深刻的理解以及对一些重要光学现象有直观认识。

2、仿真模拟的教学内容

工程光学的内容包含两部分:应用光学和物理光学。应用光学部分介绍了几何光学的基本定律与成像理论,理想光学系统和平面成像系统的光学参数和成像特性、光度学和色度学的基本原理、光线光路计算和像差基本理论以及典型的光学系统的成像特性和设计。物理光学部分介绍了光的电磁性质、光在各向同性介质界面上的传播规律和光波的叠加与分析、光波的干涉和衍射的基本原理以及光的偏振。在教学内容中选取的仿真模拟内容即要是一些重点知识点同时内容的模拟难度还不能太大。因为学生刚进入大学二年级,接触的计算机语言是C语言,对语言的熟练程度尚不足以模拟复杂的物理问题。因此,我们选择了以下内容进行仿真模拟:

(1)实际光学系统的光路计算。通过课堂的学习,学生知道可以用图解法和解析法求解一个光学系统的基点和基面,这两种方法各有利弊。图解法能让学生直观的看到光线经过光学系统之后的光路,但是利用这种方法求解多个光组组合系统的基点和基面是很复杂和繁琐的。解析法没有图解法那样直观,但是通过对公式的反复利用,可以求解出每组光组的像方截距和像方孔径角以及整个光组的基点的位置参数。而在解析法中对公式的反复计算问题利用计算机程序语言中的循环和迭代运算可以很轻松的解决。通过这个例子不仅让学生加深公式的理解,同时体会到程序设计的优势。此外,有能力的学生可以将其做成界面交互的软件形式,启发学生的创新意识,体会创作的乐趣。

(2)光的衍射和干涉现象。这部分知识是物理光学的主要内容,也是重点和难点知识所在,在实验课上会有相关的验证实验。在理论授课和实验课程中增加仿真模拟环节,可以让学生将生涩的数学表达形式转化为图像的表现形式,同时也使学生能更清楚的理解实验原理的来龙去脉。在实验中采用单色光源和白光光源,得到不同光源的干涉与衍射图像。首先编写出光栅衍射仿真程序,然后通过改变输入参数而达到利用一个程序同时仿真干涉与衍射实验的目的。最后编写操作性很强的人机交互界面,具有很強的实践性。

(3)光纤中的光传播特性。对于学有余力的学生,可以让学生尝试光纤或者激光器专题的仿真模拟。这部分知识在理论课上只做了浅显的讲解,学生若感兴趣,可以通过仿真模拟进一步学习光波导的知识。学生可以模拟光场的传播演化过程,考虑不同的光纤结构对光场损耗的影响。此外,可以模拟高斯光束与光纤耦合的情况。从光纤端面辐射到自由空间中的光场是发散的,对于单模光纤其端面辐射光场可以近似为高斯光束,因此,要深入了解高斯光束的传输特性,以及它与光纤连接的光功率损耗情况。

总之,在选择模拟仿真内容时应根据学生的能力,注重理论联系实际。突出课程的工程应用背景,为了培养学生的动手设计能力,积极利用一些仿真软件(例如zemax)加强学生的技能。此外,自60年代激光器发明以来,在光学领域涌现出新课题、新概念和新技术,使光学知识更加斑斓多彩。为了拓宽学生的知识面,应向学生介绍本领域的最新科研成果以及基础知识在生产实践的应用,开展光学前沿知识讲座,讲授与光学相关的知识点,使枯燥的理论学习变得丰富生动,既调动了学生的积极性又开阔了视野,使他们的知识结构更趋合理,让学生意识到这门课程的价值。

3、结束

工程光学作为光电信息工程专业的基础课,在培养学生的素质和专业能力方面发挥重要的作用。本文针对课程的特点,提出在工程光学教学中引入光学仿真的教改方法,并列举了部分仿真模拟的内容,希望通过教学手段和教学内容的改进,找出适合人才发展的课程教学方法,可以更好的提高教学水平,达到教学效果,为社会培养优秀的、需要的人才,为光信息专业人才培养奠定良好的基础。

参考文献

[1]郭婧.运用现代教学手段,改进工程光学教学.中国现代教育装备[J].2010,1:57~59

[2]雷丽巧,夏豪杰. 《工程光学》探究式多媒体网络教学方法研究. 中国科教创新导刊[J].2010,34

仿真方法 篇7

1 三维模型的绘制

本系统以杭州地铁为资料依据,运用3ds Max、Sketch Up软件以及相关插件,将盾构机在地下施工方式用动画的形式表现出来,其具体制作流程为:

1.1 盾构机的绘制

1.1.1 软件选取

3ds Max软件作为目前应用最为广泛的三维软件,其功能十分强大。在本系统的建立过程中我们将用到它的两大优点:1)3ds Max营造的三维空间非常符合人们的视觉心理,用户可以很自然地将3ds Max所营造的虚拟场景与现实生活场景联系起来,增加系统的真实性。2)具有快速制作动画的能力。工具栏中的曲线编辑器、约束路径编辑器以及摄影表等功能都可以帮助我们高效、准确的创作动画[1]。

1.1.2 模型分解

盾构机是一个独立的工作系统,结构复杂,若作为一个整体直接建模将十分繁琐,因此需要对它进行功能模块分解。参照盾构机的工作原理,可以将盾构机的工作模式简单归纳为;刀盘转动切削泥土由管道送出,管片拼装机完成管片拼装,最后由液压千斤顶推动机身前进。由此可以将其分解为刀盘、管片拼装机和机身三大功能模块分别建立模型,最后利用3ds Max的文件合并命令将所有模型合并到一个场景文件中。

1.1.3 建模技巧

模型的生成一般有3种方法,即多边形、面片及NURBS建模[2],盾构机模型的绘制采用多边形建模,这样可以描述足够的细节,创建任何表面。在模型的绘制过程中需要注意必要的操作技巧以帮助简化制作步骤,营造一个良好的模型环境。在建模过程中应注意:

1)为避免在合并文件中出现重名或重新修改编辑时因找不到元素出现混乱,在给每个部件模型命名时应注意规范,尽量与实际名称相吻合,3ds Max软件按名称选择功能可以帮助快速选中部件模型。同一功能模块上的相同的部件模型要成“组”,以便于后期调用。

2)盾构机模型内部机构部件较多,绘制时很容易发生误操作。在处理这种情况时可以采用“孤立编辑”命令,只对单个部件修改操作而其他部件暂时隐藏,不仅方便我们对模型的修改,也更加清晰的看到模型的效果。

3)3d max所默认的单位是美制建筑图的英寸,这不符合我们日常使用习惯。为真实的仿真盾构机大小尺寸等,我们要将单位改成十进制的“厘米”或“毫米”。

4)绘制模型需要熟练的掌握3d max各种命令操作,学会利用特殊命令简化模型的绘制过程。如利用“圆形矩阵”命令复制相同的刀具组,用“可渲染线条”直接制作管道等,这些命令不但使模型制作效果更加真实,也大大缩短了模型的制作时间。

5)3d max的各种插件功能强大,可以有效的帮助绘制模型,如vray渲染器插件,超级布尔插件等。结合自己所需要绘制的模型,了解各种插件所具有的功能,正确使用插件以达到事半功倍的效果。

1.2 辅助模型建模方法

为了使系统更加真实,需要绘制大量的辅助模型,例如地面上的各种景观等。在建立辅助模型时,对模型的精确程度要求不高,但需要快速大量的制作。3ds Max在建立模型后在渲染部分需要耗费大量的精力,且制作过于精细后场景文件将过于庞大,对计算机性能的要求较高,不利于本系统的推广和使用[3]。Sketch Up软件界面简洁简单易用,制作的模型文件较小,自有的材质编辑器也能够满足简单的模型渲染,同时强大的软件接口,使其能够与多种主流设计软件交换数据,如Auto CAD,3ds Max,Piranesi等,在完成建模后可以轻松的转化为3ds文件。

下面以地面上一栋居民建筑楼为例简单介绍模型制作过程。首先要在软件的场景信息中设置系统单位,与3ds Max中单位保持一致,便于导入3ds Max后的修改[4]。用线工具做出模型大体轮廓后,使用推拉工具即可生成三维模型,绘制出门窗的轮廓线,运用材质浏览器创建模型需要的材质并赋予,一栋居民楼的制作就完成。需要特别注意的是,将Sketch Up模型导入转为3ds文件后会生成部分jpg格式的图片,这些都是原模型的材质贴图,需要将他们与模型文件放在一起保留。

2 模型优化法

盾构仿真三维模型所包含的模型数量较多,为提高仿真效果,对场景模型优化必不可少,这里简单介绍几种常见手段。

1)尽量减少分段数

在不影响模型显示效果的前提下,分段数越低越好。如系统中的远景以及盾构机中若干细小的输送管道等。

2)采用标准几何图形建模

标准几何体的节点较规则,不会产生过多的线、面等,有利于降低文件的数据量。

3)减少冗余面

冗余面是指删除后对效果图影响不大的面,如楼房的底面,冗余面的去除可以降低场景的复杂度。

3 精确制作掘进动画

3.1 动画制作的分类与选择

3ds Max制作动画主要包括角色动画、路径动画和关键帧动画三种。角色动画是指按照表现对象的形状尺寸建立模型及场景后,再根据要求设定模型的运动轨迹、虚拟摄像机的运动和其他动画参数,最后让计算机自动运行生成动画的一种方式[5]。路径动画的最大特点就是它可以按照指定路径制作动画,参数调节在属性面板中完成。关键帧动画是制作动画的主要方法,只要设置对象在关键帧处的位置坐标,电脑将自动连接完成动画。

本系统对盾构机的运动形式较为简单,可简化为沿直线运动的同时刀盘发生转动,但对旋转速率、掘进速度等参数调节要求严格。因此我们选择制作关键帧动画,运用曲线编辑器调节各种参数。

3.2 运用函数曲线制作动画

根据地质勘探和实验结果分析数据,我们可以预测出盾构机工作时间与掘进深度的关系,以时间轴为横轴,掘进深度为纵轴绘制出曲线图。在软件中选定刀盘为操作对象,将其世界坐标归零,打开曲线编辑器,选择对象—位置,将曲线图绘制在帧数-位置的坐标轴上,再运用相同的操作方法在对象-旋转窗口中完成刀盘旋转动画,最后将盾构机其他部分与刀盘相关联,动画即制作完成。

4 结论

地下交通工程规模庞大,盾构施工技术也复杂且难以掌握。虚拟现实技术所再现的三维场景将可以形象而具体的展示这门技术要领,加深对整个施工过程的印象,这是传统手段如文字、效果图甚至动画所不能实现的。此外,仿真系统建立的模型都是基于真实数据资料,严格遵循了工程项目设计标准,能够真实地再现地下施工场景。设计人员可以在三维场景中仔细观察,因而使得许多不易察觉的设计缺陷能够发现。随着时代的发展,虚拟仿真三维建模技术将会得到越来越广泛的运用。

参考文献

[1]何晓田.基于3D MAX实现虚拟校园场景建模[J].电脑知识与技术,2011(8):5365-5366.

[2]王蔚.3ds max在三维城市景观建模中的应用研究[J].福建电脑,2011(4):73-74,91.

[3]沈威,姚歌,冯思硕.基于3d max煤炭地下气化的仿真[J].煤炭技术,2012(9):165-167.

[4]夏思文,甘淑,陈功凯.基于SketchUp建模的虚拟楼盘设计与实现关键技术研究[J].河南科技,2011(5):607-609.

仿真模拟器制作方法探讨 篇8

对于仿真模拟器的的制作只要摸清设备的属性,掌握操作步骤,并且能熟练使用工具软件就能够加以制作,可以从以下几个步骤入手。

1 素材的准备

素材的准备是制作模拟器的最主要最繁琐的部分。前期的素材准备是仿真模拟器能否高质量完成的决定因素,主要包括图片素材、声音素材以及相应的动画素材。

图片素材前期主要是利用数码相机拍摄高质量的图片,包括机器面板、开关、按钮、指示灯、插孔的位置及形态等等。后期则要利用Photoshop、3Dmax进行处理或在此基础上进行绘制。力求逼真、清晰、有立体感,有特殊需要的还要把内部结构、电路板、线路连接等进行拍摄处理。声音素材的准备最好利用专业的录音设施将机器的告警声、通话声进行录制,后期利用Mp3kingsetup、Kmplayer等进行处理剪辑为Mp3格式。动画素材的准备主要是使用Flash、3DMax等软件制作或直接采用录制Mpg格式的视频文件,将机器显示屏上的显示、操作动作的演示或外部设备的动作、触发的行为,以便在模拟器的运行过程中能形象的对整个操作进行模拟。

2 功能了解,动作设置

素材准备好了,还要对所要模拟的设备进行充分的功能了解,而后根据动作进行程序编写的设计,再决定是利用图形变化还是程序编写来完成所需要显示的功能。

如图1所示,在交直流电开关转换的时候是交流优先,即交直流开关同时打开的时候,交流电通,交流电指示灯亮,而直流电不通,指示灯不亮。

在设计的时候将每个开关和指示灯分别用2个Image图片框来表示(开关分别为开、关两张图片,指示灯分别为亮、灭两张图片),即从左到右为Image1-Image8。关系利用程序可表示如下:

3 主辅的关系处理

对于一台设备来说,开关的相互影响、相互制约是最常见的。例如总开关和各分支开关之间的关系,总开关断电,各分支开关就不起作用,这主要是数据处理的一些普通方法。如果只牵扯在一个界面内,只要声明一个变量就可以了。

如图2所示,command1和command2为总电源开关,command3为动作开关,Image1为动作指示灯,设一变量aa为String变量。程序如下:

当然一个普通的仿真模拟器牵扯的东西不会太少,除了电源部分外还有信号部分、附属部分,界面也很多,这就需要利用到数据库来支持了。

4 接收信号、动作响应

对于以计算机软件程序作为主要对象的仿真模拟器来说,最简单的信号接收方式就是利用Text文本框的Change属性来响应键盘动作,然后利用显示器输出指示灯、数字、仪表、开关的反应动作。

如图3所示,文本框为Text1,指示灯为Image1和Image2,文本框的Maxlength属性为1。假设利用键盘上的字母“a”代表外部信号1,利用键盘上的字母“b”代表外部信号2,则程序如下:

对于仿真模拟器的制作来说,绝不仅仅是以上几个步骤就能完成的,有的还要考虑与或非关系,这就需要在制作的过程中不断地去探索和研究。

参考文献

[1]李廷文.Visual Basic开发答疑300问.人民邮电出版社,2004.

一种动态红外烟幕图像仿真方法 篇9

关键词:红外仿真,红外烟幕,动态图像

在红外成像制导对抗技术中,施放烟幕是一种应用广泛、简便有效的无源干扰手段。烟幕剂扩散系数小,所产生的烟幕对光信号有较大的吸收和散射作用,对红外、可见光等均有很强的消光效应,衰减了目标与背景各点的红外辐射能量,使热成像系统的信噪比降低以至于得不到清晰的热图像,从而起到保护目标的目的。

研究红外烟幕对目标的遮蔽能力,不仅受到各种气象因素的影响,而且伴随着外场实验周期长,重复试验次数多等因素的制约[1,2,3]。因此如何进行红外烟幕的模拟仿真,减少昂贵的外场实验,成为了越来越受关注的研究课题。

国外评价烟幕模拟大多采用“物理-化学”法、装备效益法及数学模型法等[4],但由于仿真时计算数据量大,完成一帧的仿真需要很长时间,影响了仿真速度和质量。文中通过粒子系统及Billboard技术相结合的方法,建立了烟幕的扩散模型、消光模型和温度衰减模型,通过调用在GPU中执行的代码来实时计算烟幕各点的红外辐射量,并将其量化显示为仿真红外动态的烟幕图像。通过GPU强大的并行处理数据的能力,提高了仿真速度,满足了实时性和逼真度要求。

1 烟幕物理模型的建立

1.1 烟幕消光模型

烟幕是由固体和液体的微粒悬浮于大气中所形成的烟幕体系。当目标发出的红外辐射入射到烟雾中时,烟幕对其产生吸收和散射,红外能力就遭到衰减。理论研究和实验结果表明,烟幕对红外的消光作用是烟幕微粒对红外吸收和散射共同作用的结果。

按照经典的振子理论,热辐射是由组成物质的原子和分子的热运动产生的一种电磁辐射。每个原子和分子都可看做是在其平衡为主附近振动的振子。当振子发生共振时,就要吸收入射的辐射能量,从而增加振子的振动能量,这就是烟幕的红外吸收作用。这种作用的结果使烟幕介质本身的红外辐射强度提高了。烟幕遮蔽红外辐射原理图,如图1所示。

辐射在红外烟幕中传输时,受到粒子的散射和吸收作用,产生了衰减。红外烟幕对被动红外成像系统产生的干扰反映在光谱透过率上,按照朗伯——比尔定律,透过率可表示为[4]

τΙR=ΙΙ0=exp[-αe(λ)ΝL](1)

式中,I0为I分别表示入射光强和透射光强;αe(λ)为烟幕的质量消光系数;λ为辐射波长;N为烟幕的颗粒浓度;L为烟幕的厚度。

由于烟幕质量消光系数计算复杂,通常在8~12 μm的红外波段,在一定的烟幕粒子质量密度下,文中取烟幕粒子质量密度ρ=400 kg/m3,αe(λ)≈0.04[5],为简化计算则式(1)变为

τΙR=ΙΙ0=exp[-0.04ΝL](2)

1.2 烟幕大气扩散模型

大气是烟幕的传播介质,气象条件是制约烟幕在大气中的输送、扩散、稀释、转化、消光的重要因子。因此,评价和预测烟幕的遮蔽/干扰效果,首先要分析研究评价/使用区域的气息背景[5]。

边界层内的大气运动是一种湍流运动,释放到大气中的烟幕在湍流的作用下迅速的分散,这一现象成为烟幕的大气扩散。烟幕扩散的结果造成了烟幕浓度在空间和时间上的分布,进而造成对观瞄器材,制导武器不同的遮蔽及干扰效果。因此,如何建立烟幕的大气扩散模型是整个仿真工作的重点,文中采用高斯扩散模型作为大气扩散模型进行仿真研究。

高斯扩散模式是以梯度传送理论及统计理论为基础的。假设地面无吸收和吸附作用,烟幕本身无沉降被动成分,地面对烟幕的作用相当于一个全反射体,风速>1 m/s,风向恒定,地面水平,可推导出连续点源烟幕浓度高斯扩散的数学表达式[1](风向沿正向,坐标原点为烟幕释放地点对应地平面的点)

C(x,y,z,Η)=Q2πuσyσzexp(-y22σz2){exp[-(z-Η)22σz2]+exp[-(z+Η)22σz2]}(3)

σy=γ1xα1 (4)

σz=γ2xα2 (5)

式中,C(x,y,z,H)为点(x,y,z)处的烟幕浓度;Q为源强;u为释放期间的平均风速;H为烟流的有效高度;H=施放点高度H0+烟流抬升高度ΔH;σyy方向的大气扩散方差(m);σzz方向的大气扩散方差(m);γ1,γ2,α1,α2为与大气稳定度及地形相关的参数。

为了方便计算,令Q=20 g/s,u=4 m/s,烟幕高度H=10 m,σy=1 m,σ2=1 m计算烟幕的高斯扩散模型。

1.3 烟幕温度衰减模型

在烟幕仿真时,由于烟幕粒子的温度变化,在烟的内部,由于温度高的部分受浮力大,上升速度快。而与之相反,温度低的部分受浮力小,上升速度慢。因此,烟幕在不断扩散的过程中,由于温度的差异,也会表现出烟幕红外辐射特性的变化。

采用以下方程来描述烟幕粒子的温度衰减过程

T(t)=(T0-Te)×e-ct+Te (6)

其中,T(t)是t时刻烟雾粒子的温度;T0是烟雾粒子的初始温度;Te是环境温度;c是温度衰减的控制系数[6]。对于烟幕粒子,温度越高,所受浮力就越大,上升就越快。采用下面公式表示温度对浮力的影响

f=H×(T(t)-Te) (7)

其中,ft时刻粒子受到的上升力,T(t)为t时刻的粒子温度Te为环境温度,H为上升力的控制系数。

令环境温度Te为300 K,温度衰减系数c为0.005,量化范围设为160~240,计算得到的烟幕温度量化随时间变化曲线,如图2所示。

由图2可见,随着烟幕的扩散,烟幕粒子温度量化值逐渐降低,最终趋于环境温度量化值。

2 烟幕三维建模和动态红外烟幕的仿真计算

2.1 烟幕的三维建模

由于烟幕属于可变流体,没有具体的外形,不能利用普通的几何建模方法来模拟烟幕形状。因此采用了粒子系统与Billboard相结合的技术来建立烟幕的三维模型。

粒子系统是公认的模拟不规则物体最成功的方法之一,1983年Reeves提出了用粒子系统模拟模糊物体[7]。粒子系统的方法是采用某种图元来定义物体的体积而不是采用多边形来定义物体表面的方法。一个粒子系统是由大量称为粒子的图元构成的,每个粒子有自己的属性,粒子不断地改变形状和运动,表现景物的形态和特征变化。Billboard是一种图形渲染技术,它依赖于渲染时摄像机(视口)的方向,既Billboard技术会根据摄像机(视口)的位置调整角度,使得渲染的图元总是近似地朝向摄像机的方向,利用这种技术模拟出三维物体在二维平面中的逼真显示。

通过在Billboard模型上映射图3所示的可见光烟幕纹理,作为粒子系统中所用到的烟幕粒子图元。在程序中实时变换烟幕纹理的纹理映射坐标来模拟烟团的旋转变换效果,同时Bllboard也展现烟幕粒子的细节信息如透过率,不同区域浓度等。

在程序中设置烟幕粒子图元的数量,发射速率和烟幕粒子图元的生命周期,根据高斯扩散模型,通过在一定的区域空间同时显示大量的烟幕粒子图元,模拟出烟幕的整体效果。在仿真过程中发现,通过粒子系统与Billboard相结合的方法建立三维烟幕模型,更加适用于对动态烟幕的仿真研究。

2.2 动态红外烟幕仿真

烟幕表面的辐射随时间不同而变化,形成目标动态红外辐射场,动态红外辐射场的计算是动态红外图像仿真的关键。首先将烟幕的可见光纹理运用纹理映射技术,映射到烟幕的Billboard模型上,形成可见光烟幕粒子图元。然后通过红外纹理生成软件将可见光烟幕粒子图元转换为数据纹理,利用GPU脚本代码对数据纹理进行解析量化,生成红外烟幕纹理图元,最后叠加上大气效应和大气路径辐射,形成真实的动态红外烟幕,具体方法如下。

根据烟幕表面的红外辐射特性,需要生成烟幕粒子图元的表面温度分布,表面发生率分布。由于烟幕温度是随时间变化的,因此先设定烟幕图元的初始温度值,然后通过在粒子系统中对温度衰减模型所生成的温度变化纹理进行采样,体现烟幕的温度随时间变化。而烟团的发射率在文中简单地认为不随时间变化,是一个定值。

烟幕仿真过程中的遮蔽效果体现在烟幕的透过率上。通过在烟幕图元中各像素点计算烟幕的消光模型,并结合可见光烟幕图元各点像素值的调制作用来确定烟幕图元中每一像素点的透过率值,计算方法如式(8)所示。最后在程序中的量化输出,实现烟幕的可遮蔽目标的效果。

τΙRi=ΙΙ0=exp[-0.04ΝL]×n(i)(8)

式中,I0,I分别表示入射光强和透射光强;N为烟幕的颗粒浓度;L为烟幕的厚度;n(i)为图元中第i个像素点的像素值。

当添加气象参数(如风的作用效果)时,粒子系统内部通过调用高斯扩散模型预先计算好的二维运动轨迹网格区域,将发射器中每个烟团粒子随机发射到二维空间网格中的任一位置,通过这种方法,逼真的模拟出在气象条件下烟幕的形态。

分析可知,红外烟幕图元中每一个像素都应包含温度辐射信息、发射率信息、透过率信息等。采用Direct3D的DDS纹理格式实现以上数据编码。如上所述,表面红外纹理每个像素应包含烟幕的温度辐射值、发射率、透过率等内容。因此,组织成4通道32位浮点型DDS纹理以保证数据的精度,如图4所示。在纹理像素的G通道保存温度辐射值信息,B通道保存发射率信息,剩余A通道作为烟幕透过率信息,而R通道未定义。

2.3 红外烟幕实时仿真的实现

红外烟幕图元每个像素的G,B,A通道包含了不同的红外数据信息,在仿真过程中,如果对每一红外烟幕图元像素进行实时计算,不仅计算量过大而且严重影响仿真效率。利用GPU强大的并行处理数据的能力,将预先计算好的8~12 μm波段下烟幕红外数据组织成数据纹理,保存到相应的红外纹理通道中,将消光模型,辐射量化计算等写入Cg脚本,在GPU中并行处理每个像素点的红外辐射数据和透过率数据的量化显示。同时在GPU中对烟幕温度衰减模型生成的温度变化纹理,以及预先计算生成的黑体温度-辐射量映射纹理图进行纹理采样,达到提高烟幕仿真逼真度的效果。表1为列出的部分烟雾的红外数据信息。

对于温度衰减模型,由于不同时刻温度变化进行采样速度慢,影响仿真结果,因此通过温度衰减模型预先计算生成一维的温度量化纹理,如图5所示。图中,温度量化范围为160~240 K在烟雾量化输出时,通过GPU内采样器对量化图像进行采样取值,实现烟幕的温度变化。

由于从温度到辐射量需要进行积分过程,在仿真时对每一像素实时积分,工作量大,影响仿真的速度。根据黑体辐射理论,同温黑体同波段的辐射量是相同的,因此计算出仿真波段内不同黑体温度对应的辐射量,并组织成纹理,通过纹理采样器传入GPU,根据实时计算的温度值,查询纹理获取相应的辐射值,该方法能够提高仿真速度。如图6所示为温度范围在273~373 K,间隔0.001 K的黑体温度-辐射量映射表,纵向表示温度的整数部分,横向表示温度的小数部分。

3 仿真结果

在环境温度为300 K、上午12时、波段范围为8~12 μm的仿真条件下,烟幕各仿真结果,如图7~图10所示。

在图7~图10中,以坦克为观察目标,通过仿真的结果图,明显的看出烟幕的干扰效果。透过率消光模型主要反映了烟幕对辐射的衰减作用,并不能反映烟幕对光能的再分配作用,既烟幕遮蔽前后空间频域信息的变化情况。随烟幕厚度的不同,目标识别能力也不同,如在无风条件下,当烟幕厚度达到20 m时,坦克目标几乎不可见。当考虑风的影响时,由于烟幕自身辐射能量降低,导致其对目标干扰效果降低,目标识别能力有所增强。随着时间的变化既发烟点处的烟幕与扩散到一定距离处的烟幕对目标的遮蔽效果也不相同,体现了温度衰减模型对干扰效果的影响。从以上各图看出,文中所述的仿真方法,能够实现红外烟幕仿真中的动态变化。通过各模型的建立,与实拍的红外烟幕图像做对比,发现仿真结果与实际情况符合。但是,文中的仿真方法仅以二维数据场来体现烟幕的辐射信息,没有考虑到三维数据场的情况,并且烟幕粒子图元与周围环境的纹理过度不够平滑,这些都是研究中应当改进的地方。

4 结束语

面向对象的蠕虫仿真方法研究 篇10

随着现代互联网的飞速发展,网络规模不断扩大,互联网在给人们带来方便的同时,也给人们带来了诸多的安全威胁,其中蠕虫的威胁尤其严重,它能在短时间内攻破大量主机,导致网络大面积瘫痪,严重影响正常业务的运行,对社会和经济造成重大损失,所以网络蠕虫的研究与防范成为当今网络安全方面研究的重点。

1 蠕虫研究方法

目前人们对蠕虫的研究主要从两个层次进行:微观方面,人们通过对蠕虫个体进行各种动静态分析来剖析蠕虫,以提取对应的特征信息,便于今后对该蠕虫的查杀;宏观方面,人们通过采集蠕虫爆发时给互联网上的相关数据来研究蠕虫的特征,通过对这些宏观数据的分析人们可以了解许多从微观分析方面所无法了解到的蠕虫特征信息,比如蠕虫发作时给互联网所带来的影响等。通过两个层次的分析与综合,人们才能对所研究蠕虫有个较全面的认识,才能制定出较为完整的防范措施。

在微观方面,人们已经有了较多的辅助工具,如用于静态分析的工具有winhex,ultraedit,URSoft w32DASM等,用于动态跟踪分析的工具有ollydbg,SoftICE等,以及其它一些反汇编与反编译软件等。而在宏观方面,由于受基础设施装备与蠕虫爆发的突发性及短期性的影响,实际上很少有单位或研究机构能在准确时间里获取足够的宏观数据来研究蠕虫在宏观方面的特征。同时由于蠕虫的破坏性作用,又不可能允许我们在实际网络中将其不断再现以进行研究,而且现实中也不可能有这么多设备供我们研究使用。

为了解决研究需求与现实危害之间的矛盾,人们想出借助仿真实验来研究蠕虫的方法。本文以NMS(Network Modeling and Simulation)为基础系统介绍了该方法的基本原理。

2 仿真环境的构造

根据计算机网络的定义:“按照网络协议,以共享资源为主要目的,将地理上分散且独立的计算机互相连接起来形成的集合体”,我们可以看出,网络实际上是由一定量主机通过必要的连接设备(如光纤、网关、路由器等)连接在一起所形成的一个网状结构。为了简单起见,我们此处刻画的“网络”更像是图论中的“网络”,按此约定,网络是主机的集合,而主机又是不同软件的集合体(只有安装了软件的主机才能真正为用户提供服务),不同主机间的通信我们用消息来刻画,所以蠕虫仿真环境的构造主要就是对“网络、主机、软件、消息”四种构成因子的建模与仿真。由于每种因子都有其自身的特征与行为,所以用面向对象的方法进行建模与仿真比较恰当,实现起来也比较方便。

2.1 网络

根据实际网络的情况和研究内容的需要,网络主要由以下特征来刻画:

用于刻画主机对象的数组:它包含了组成该网络的所有主机。

消息数:用于描述在该网络中流通的所有消息的数目,用于仿真网络的总体流量信息。

有效消息数:在实际的网络中,并不是蠕虫发出的所有数据包都能有相应的主机与之对应,当目标主机不存在时,相应的数据包会被网络设备自动抛弃,这种包我们认为是无效的。因为要对蠕虫感染主机的情况进行研究,所以有必要对那些有效数据包的数量加以统计,以研究蠕虫发作时对整个网络所可能造成的影响。所以要用一个单独的成员来刻画这个数据,即:有效消息数。

随机数种子:现实网络中每台主机都有惟一的IP地址与之对应(假设每台主机只有一块网卡),在实验中我们可以用互不相同的随机数来代表对应的IP地址,通过选择一个精确的PRNG(Pseado Random Number Generator)就可生成我们所需要的所有主机随机数地址。

最大地址空间:用于控制仿真网络的规模。

构造函数:用于根据用户输入的参数对仿真网络进行初始化,包括网络规模设置、关键成员的清零等。

随机地址生成函数:用它为每台加入网络的主机随机生成互不相同的随机数地址,类似于实际网络中的IP地址自动分配。

主机添加函数:用于向构造函数初始化好的网络框架中添加主机,充实该网络框架。

网络运转驱动函数:该函数通过对主机中相应驱动函数的调用来仿真各主机正处于运转状态之下,从而使整个网络处于运转状态之下。

消息接收函数:用于记录、缓存网络上的通信数据流。

仿真结果输出函数:该函数的作用是将仿真实验所得到的相关数据及时输出。

2.2 主机

主机是人们日常工作的直接操作对象,通过主机人们不仅可以完成本地的操作,还可以通过将主机接入网络与其它的主机进行通信。综合主机的这两个主要应用,一台主机的特征可以用如下的成员变量来加以描述:

主机系统类型标识:是一个用于标识本机所装系统平台类型的字符串,比如:标识“Linux-x86”标识本机所装的是LINUX平台,这样用于攻击WINDOWS系统的蠕虫就对其无影响。

IP地址:用伪随机数生成器生成的随机数来充当,用于定位该主机在网络中的位置。

软件数组:用于存储本机所有安装的软件。

网络标识:用于标识该主机所隶属的网络对象。

接收消息计数:用于描述本机接收到的所有消息的数量信息,为了便于研究又将这些数据分成四类:本机收到的总消息数;与本机系统平台相对应的消息数;被本机软件接收的消息数;对攻击本机真正起作用的消息数。这四类消息数量依次递减。

发送消息计数:用于记录本机所发出的消息数量,由于被感染主机往往会在短时间内向外发送大量的数据包,通过记录本机发送消息的数目可以判断主机是否被感染提供依据。

一台运行着的主机的行为主要是“应用环境搭建、软件运行、网络通信”,所以对于主机的行为可以用以下几个主要的方法进行描述:

构造函数:用于初始化主机对象。

软件添加函数:用于向初始化好的主机对象中加入相应的软件对象。

软件删除函数:从主机上删除某个软件,它与软件添加函数结合全面刻画了软件在主机中的动态变化情况。

随机地址生成函数:实际上它是通过调用对应网络中的随机数地址生成函数来为自己生成随机数地址,这就保证了所有主机地址在整个网络中的惟一性。

消息发送函数:用于描述主机向外发包的过程。

消息接收函数:用于描述主机接收来自外部的数据包的过程,它与消息发送函数结合就描述出了主机间通信的过程。

进程驱动函数:它用于驱动每台主机所安装软件的运行,网络对象类中的运转驱动函数通过对它的调用来模拟整个网络中所有主机运行着不同软件的运转状态。

2.3 软件

软件是一台主机的重要组成部分,借助各种软件,人们来完成各种不同的工作。随着人们对软件需求的增长,软件系统的复杂性越来越高,软件设计由于时间、设计等多方面的原因漏洞无法避免,蠕虫正是利用这些漏洞进行破坏与传播。

根据研究的需要,仿真中软件的特征主要用下面几个成员来刻画:

软件标识:蠕虫往往是借助一个或者几个软件中存在的漏洞来进行传播的,一个蠕虫出现后它所针对的漏洞软件也同时被确定了下来,所以要进行蠕虫仿真,必须要对软件进行标识。

函数代码:由于蠕虫需要在攻下新的主机后将自身的副本传给新感染主机,所以需要在软件的属性中添加一个表示软件的代码的属性。

脆弱性标识:现实中通过打补丁,可以修复系统中软件存在的漏洞,所以并不是所有蠕虫针对的软件都会被攻击,这就要求我们在仿真中添加一个系统中软件是否具有蠕虫所利用的脆弱性的标识。

探测地址:蠕虫为进行传播,都会包含有一定的生成探测地址的机制,用于当一台主机被感染后以此为出发点,不断去探测网络中其它具有相应漏洞的主机。

对于软件的行为,可以用下面几个方法函数加以刻画:

构造函数:构造一个软件对象只要三个参数:软件名称、软件代码、布尔值。

软件运行函数:用于刻划软件在主机系统上的运行。

2.4 消息

消息的主要属性有:

目标地址:消息被发送到的目标主机。

目标系统标识:用于标识可以接收该消息的目标主机的操作系统平台;只有当对方系统的类型与该属性相一致时,该消息才会被目标主机所接收。

目标软件标识:它标识的是该消息所针对的软件,当消息被目标主机接收后,只有目标主机装有该属性所标识的目标软件时,该消息才能起到真正的作用,否则也最终会被抛弃。

函数代码:该属性模拟的是蠕虫个体从一台主机向其它主机传播的过程。

因为在网络中消息充当的角色是信息的载体,没有自主的行为,所以在仿真实验中可以只用一个构造函数来描述它的产生过程。

至此,仿真环境的四个必要因子已经全部构造完成。在仿真实验中,通过以下几个过程就可以构造出一个较为简单的仿真环境:

生成消息对象;

生成软件对象;

生成主机对象,并用前面生成的软件对象将主机对象充实起来,形成一台真正能完成某些功能的个体;

生成网络对象,将前面生成的不同的主机对象加入该仿真网络中,形成一个真正的网络环境;

调用网络对象中的Run( )方法启动整个网络。

3 仿真网络的驱动动力

现实的网络是由不同的主机通过必要的链接设备互联而成的,有实实在在的电力在驱动着它的运转,那么对于一个仿真网络要使其真正运转起来也需要有一定的驱动措施,一种方法可以用循环来作为仿真网络的驱动动力,每一次循环过程作为一个时间单位来看待,循环的不断运行也就相当于仿真网络的不断运转。

因为是实验所以不可能完全像实际网络那样永远运行,为了限制仿真网络运行的时间,我们要用一些条件来约束其运转,这些因素包括:最大循环次数、已感染主机的比率(当所剩脆弱性主机的比率小于一定量时,实验就可终止,因为现实中网络蠕虫爆发时也不可能将所有脆弱性主机全部感染)等。

4 蠕虫仿真的基本过程

在现实网络中,蠕虫传播的基本过程是:蠕虫作者首先通过某些主机将蠕虫释放出来,然后从这些主机出发去搜索其它具有相应脆弱性的主机,发现后通过漏洞去感染新发现的主机,并通过它们间的通信将蠕虫不断向外传播,从而尽可能多地感染主机。仿真环境下蠕虫传播的基本过程也是如此,但不同的是现实中的蠕虫携带攻击代码;而仿真环境下的蠕虫并没有攻击代码,取而代之的是它所利用漏洞的标识,当一个蠕虫副本被传播到一台新的主机上时,若该主机具有相应的漏洞则标识该主机已被感染,否则不会被感染。

下面我们以对Msblast的仿真为例将上面的过程做一简单介绍。

首先,通过步骤(1)为仿真实验设置了各种必要的初始化参数;然后通过(2)生成了一个所需规模的仿真网络;步骤(8)和(9)则分别向前面生成的仿真网络中添加了具有脆弱性的主机和初始被感染的主机;至此,一个MSBLAST蠕虫爆发前的网络环境已经基本构造完成。

实验中,我们通过(10)所指示的循环来作为整个网络运转的动力来源,来模拟现实网络的运行。因为现实网络中蠕虫并不能最终感染所有具有相应脆弱性的主机,也并不是无限期的传播下去,所以我们设置了两个循环终止的条件:一个是网络运转了足够长的时间(用$steps表示),另一个是仿真网络中脆弱性主机的数目已经很小(用$stop_proportion表示)。

随着网络的运转,初始被感染的主机被调动起来,这时它们就会主动去探测其它具有相同脆弱性的主机,当所发出的探测包到达一台新的主机后,首先判断主机的操作系统是否是自己要感染的系统类型,如果是则继续判断主机是否安装有蠕虫所针对的软件,对安装有此次蠕虫所针对的软件的主机,通过判断主机中该软件的exploitable属性就可以知道这是否是一台可被进一步攻击的主机,当新的可感染主机(即:$Host->exploitable=1)被发现后也就进入了MSBLAST仿真代码中(7)所标示的阶段(用$Host::Init表示);随后已感染主机就会通过将蠕虫的副本传送到新被发现的脆弱性主机上去,即上面(6)所表示的阶段(用$Host::Init2表示);随着时间的延续,进入$Host::Init2阶段的新被感染的主机就会作为新的传播机器开始探测和攻击其它主机,即上面(5)所示的阶段(用$Host::Run表示)。随着网络的运转,这样的攻击过程在不断地重复,最终网络中大多数的脆弱性主机被感染。

上述仿真代码最后的部分是对仿真结果的输出。根据我们在P4 3G、256M内存主机上得出的实验数据,我们用GNUPLOT得出MSBLAST蠕虫传播仿真图(如图1),与有关机构根据实际网络采集到的数据得出的实际传播图(如图2)作比较可以看出,我们的仿真思路是正确的,因为它能正确反应出蠕虫传播的整个过程的变化情况。

5 网络蠕虫仿真实验的优缺点

网络蠕虫仿真是重现蠕虫爆发过程的有效工具,与其它的研究方法(比如:数学模型等)相比有其自身的优缺点:

优点:

仿真实验更加直观,好的仿真实验能够采集到高可信度的数据;

通过网络蠕虫的仿真能够及时预测蠕虫发展的趋势从而指导人们及时采取相应的防范措施;

因为整个仿真实验是在个别机器上进行的,而且去掉了蠕虫的攻击行为所以允许我们随意地重复实验,而不会对现实的网络有任何的负面影响;

搭建一个好的仿真环境要比搭建一个真实的网络环境成本要小的多,仿真具有更高的性价比。

缺点:

在仿真过程中为了减小计算复杂性,对所研究对象的内部机制进行了抽象化和近似化处理,因而有可能导致仿真的结果与实际情况有较大差别。优化的方法是对现实中已经观察过的对象进行仿真,通过比较仿真结果与实际情况来改进仿真过程。

由于现实网络的复杂性,仿真实验不可能对网络的各个方面都能很好地涉及,这种不完善性或多或少地造成仿真结果与现实数据的差别。

6 总结

本文通过对仿真网络组成因子的剖析及一个简单蠕虫仿真环境的实际搭建的介绍,叙述了网络蠕虫仿真的基本思路,并通过对Msblast蠕虫的仿真验证了该思路的正确性。相信只要在此思路基础上不断细化仿真的各种环节就可以构造出一个能实现更多仿真功能的仿真平台。

参考文献

[1]Zhang Yu,Zhang Hongli,FANG Binxing.A Survey on Internet-Topology Modeling[J].Journal of Software.2004.

[2]文伟平,卿斯汉,蒋建春,王业君.网络蠕虫研究与进展[J].软件学报.2004.

[3]郑辉.Internet蠕虫研究[D].南开大学信息技术科学学院.2003.

[4]王跃武,荆继武,向继,刘琦.基于拓扑结构的蠕虫防御策略仿真分析[J].计算机学报.2007.

[5]许长伟,向继,鲍春杰,荆继武.蠕虫软件仿真技术研究与进展[J].计算机仿真.2006.

仿真方法 篇11

关键词:高层体系结构;数据收集;内存数据库; TimesTen

中图法分类号:TP319文献标识码:A 文章编号:1009-3044(2007)15-30596-02

The Research of Main Memory Database in Data Collection based on HLA simulation

XIANG Fang

(Anyang Normol University,Anyang 455000,China)

Abstract: In this paper a few methods of data collection on HLA simulation are analyzed. The article puts forword a general method of establishing simulation results database through main memory database. The principle of creating database and the methods of main memory database are detailed.

Key words:data collection;Main Memory Database;high level architecture;distributed simulation; TimesTen

随着计算机技术的飞速发展,计算机仿真在军事、教育、科学研究等领域正得到日益广泛的应用。在基于HLA(High Level Architecture)的分布式交互仿真中,仿真应用必须对仿真过程中邦员的状态数据和邦员间各种交互行为数据进行及时、完整的收集,以便于在仿真中实时或仿真完成后为仿真参与者提供深入的关于仿真过程的各种信息。

数据库自身方便快捷的过滤、查询以及排序等功能,可以方便的辅助仿真过程中数据的存储、事后测试和评估,成为HLA仿真结果VV&A的重要手段。但是传统的数据库一般都是磁盘数据库,其数据需要按照一定的数据交换策略被调入内存缓冲区后才能被存取,在执行过程中受到磁盘I/O的束缚,事务的响应时间受等待延迟、查找延迟等限制。因此传统数据库几乎无法解决HLA仿真过程中实时的海量仿真数据的存储、检索和回放等操作。深入分析可知,用内存数据库作为实时事务的底层支持是较为理想的。内存数据库把数据全部或当前工作部分驻留内存中,消除了事务处理的I/O瓶颈问题,可以极大地提高系统的性能和吞吐量。论文针对这一问题,以Oracle数据库和TimesTen内存数据库为例,介绍了一种在HLA仿真数据收集过程中,仿真结果数据存储的方法。

1HLA仿真数据收集系统的框架结构

1.1 常用的HLA仿真数据收集方案

基于磁盘的关系数据库方案该方案是将仿真数据直接存入已经设计好的基于磁盘的传统关系数据库中。实时性是决定一个仿真系统能否顺利进行的最关键因素,这类数据收集方案主要从优化程序,充分利用成熟的关系数据库技术等几个方面解决HLA仿真数据的实时性问题。

自定义实时数据库系统方案该方案将收集到的数据写入一个文件或一系列的文件中,通过对这一个或一系列文件的管理,例如建立索引,构成一个实时数据库系统。实时数据库系统通常采用的存储方法是“文件头+定长记录”法。

基于时态数据库的方案该方案考虑仿真数据的时间概念,利用时态数据库实现记录的快速收集并按时戳有序存储,同时利用一定的索引技术实现实体属性、状态信息的实时查询。

1.2 内存数据库的简介

内存数据库(Main Memory Database)把数据全部或部分常驻在内存中,提高了内存和CPU的使用效率,消除了I/O瓶颈。由于事务处理无需进行磁盘访问,使用内存数据库的应用系统性能得到极大提高。与磁盘数据库相比,内存数据库的优点如下:

完成同样的功能,所需机器指令大大降低。

不再需要缓冲区管理器,消除了磁盘和内存之间额外的数据拷贝开销。

在数据与索引的组织管理中,广泛使用指针,简化了内存管理,降低了内存开销。

1.3 HLA数据收集系统的体系结构

在具体的仿真平台上,可以在不同功能域中分别放置TimesTen内存数据库系统作为数据收集系统的后台数据库支持,充分利用内存数据库的高实时性和系统吞吐量,解决仿真过程中数据收集的时间延迟问题。由于在HLA仿真中要保存大量的数据,仅仅使用内存数据库是不够的,考虑到磁盘数据库在管理大量数据的优越性,我们设计了使用磁盘数据库作为数据收集的永久存储单元。为此,作者设计了如图1的数据收集体系结构。TimesTen内存数据库系统通过TimesTen Cache Connect to Oracle连接到磁盘Oracle 数据库。当仿真系统产生的数据量很大时,数据收集系统对内存和磁盘进行统一管理,通过定时写入磁盘Oracle数据库,以保证数据收集的实时性和完整性。

图1 数据收集体系结构图

2 内存数据库的应用

2.1 数据收集系统中内存数据库关系表的建立

HLA仿真结果数据如何与内存数据库关系表相关联是一个重要问题。HLA中的对象模型模板是联邦成员实现互操作所必须遵守的规范,它描述了各联邦成员间可交换的信息,使联邦成员对交换的信息有一致的理解。因此,无论仿真过程或参数如何变化,仿真结果数据的基本信息,都要接受OMT规范的约束。考察一般数据库中关系表的创建过程,其主要要素有三个:即关系表名称、字段名称以及字段类型。对于HLA仿真结果数据,则上述三要素分别对应于OMT规范中对象类和交互类名称,对象类属性和交互类参数名称,以及OMT规范中定义的基本数据类型。因此创建关系表的关键就是分别确定HLA仿真数据到关系表名称、字段名称和字段类型。

2.1.1 HLA对象模型模板

对象模型模板中对象类都由一个固定的属性类型集合来描述。这些属性是对象的部分命名状态,其值可随时间发生变化,如仿真平台的位置或速度等。HLA使用属性表来描述这些对象属性的信息,属性表的格式如表1所示。

表1 对象属性表

其中(1)Object列用来说明该属性属于哪一类对象。

(2)Attribute列用来标识属性名。

(3)Datatype列用来说明数据类型。

(4)Cardinality列用来记录属性的粒度。标识符“1”代表粒度为1,标识符“1+”代表粒度为大于等于2的正整数。

(5)Units列用来指定属性的单位。

(6)Resolution列用来指定属性的分辨率。

(7)Accuracy列用来说明属性的精度。

2.1.2 数据类型对应关系

使用对象类的属性表来创建内存数据库关系表,首先要考虑对象模型模板中定义的数据类型与内存数据库中数据类型的对应关系。由于对象模型模板中数据类型可能包含复杂数据结构,数据库建表时可以考虑采用面向对象的方式建表,但对事后测试与评估来说,仍然需要解析出对象的各项属性数据来进行分析,增加了事后测试与评估的负担。因此,为了减少不必要的麻烦,开始建表时就将复杂结构解析到底层简单数据类型,再分别与数据库中的数据类型相对应,事后测试与评估时,就可以直接利用表中的数据。OMT中数据类型与TimesTen数据库中字段类型对应关系如表4.3所示。其中,double、float以及string一般以数据库所能表示的最大长度及精度为限制,应用时根据实际情况再作适当的调整。any和sequence由于数据类型不定,数据库中没有具体的类型相对应,应用时需要转换为确定类型。

表2 OMT 中数据类型与TimesTen数据库中数据类型的对应关系

2.1.3 建表的其它注意事项

OMT中的对象类和交互类一般都有多层继承关系,形成一个复杂的树型结构。对于对象类数据来说,我们可以将对象类的名称做为关系表的名字,该对象类所有的对象实例均在此关系表中存放,此时需要为关系表增加一个对象标识字段,以区分不同的对象实例。对于交互类来说,由于不存在多个实例的问题,不需要增加额外的字段。关系表中的字段对应于OMT文件中对象类属性或交互类参数。根据OMT规范,HLA仿真成员的属性和参数可以分为单粒度和多粒度。对于单粒度情况,可直接以其属性名或参数名作为字段名,对于多粒度情况,应将其解析为简单数据类型,以便于存取数据。OMT1.3中定义的数据类型有三种:基本类型、枚举类型和复杂类型。经以上分析,最终建立表时,表中的字段均可以为基本数据类型。为了事后分析和处理的仿真数据,数据库关系表中还需添加必要的附加字段。如对于对于对象类和交互类来说,必须有仿真时间字段,只有标注了时戳的属性或参数才能有效地进行事后测试与评估。

TimesTen内存数据库支持SQL-92标准和一个扩展版本,因此和一般数据库数据定义语句一样,通过生成相对应的建表SQL语言脚本,即可完成TimesTen关系表的创建。

2.2 内存数据库的建立和连接

TimesTen数据库通过ODBC来访问。建立TimesTen数据库的ODBC步骤如下:

(1)在控制面板中打开数据源ODBC,选中系统DSN标签页。

(2)单击添加按钮,选择TimesTen Data Manager 7.0驱动程序。

(3)在TimesTen ODBC Setup窗口中选择data store标签页。输入系统DSN名字,data store 的存储路径(注意加文件名,不要扩展名),日志文件路径,选择字符集。

(4)在First Connection标签页上输入data store的永久内存区和临时内存区的大小。

(5)单击ok按钮。生成TimesTen数据库的ODBC数据源。

2.3 内存数据库的TimesTen Cache Connect to Oracle技术

TimesTen通过Cache Connect to Oracle可以作为Oracle数据库的缓存来使用,以此提高写入基于磁盘数据库的速度。具体来讲,通过建立Cache Group来缓存一个物理的Oracle表或者多个相关联的物理的Oracle表。

创建Oracle中表的高速缓存组可分三步。

(1)建立一个Oracle表。

(2)建立缓存组。先用ttIsql连接到TimesTen数据源,启动缓存代理:

call ttCacheUidPwdSet(用户名,密码);

call ttCacheStart();

然后用语句Create cache group来创建缓存组,例句为:

Create readonly cache group 缓存组名

Autorefresh interval 5 seconds

from 表名;

(3)装载缓存组。在ttIsql命令提示符下输入:

Load cache group 缓存组名 commit every 256 rows;

3 结论

本文在介绍内存数据库技术的基础上,提出了在HLA仿真过程中利用内存数据库对于实现仿真数据实时、完整地收集的一种方法。随着仿真技术越来越多的应用,利用通用内存数据库实时的数据处理能力,将有助于改善仿真技术的实用性能。

参考文献:

[1]刘云生,付蔚.主动实时内存数据库的组织与故障恢复[J].计算机工程与应用,2002(9):170-172.

[2]周忠丽,张建伟,陈鹏.采用内存数据访问对象提高数据库访问速度[J].四川大学学报,2002(6):435-438.

[3]蒋夏军,李蔚清,吴慧中.高级分布式仿真中数据收集技术研究[J].系统仿真学报,2004(8):1758-1767.

[4]鞠儒生,乔海泉.HLA中基于OMT文件创建数据库关系表的方法[J].计算机仿真,2006(5):119-122.

仿真方法 篇12

基于汽车碰撞仿真结果进行车身安全性设计和改进已经被国际上广泛接受[1]。上世纪30年代,国外已经开始利用汽车实车碰撞试验来检测和优化汽车安全性。但这种方式存在很多缺点,比如试验费用高、汽车样车制作困难、后期优化改进费用较高以及部分碰撞试验信息采集困难等[4]。如今,汽车碰撞数值模拟已经被广泛采用,比如ESI公司在CRAY1计算机上使用PAMCRASH数值模拟汽车碰撞[5,6]。计算机碰撞数值模拟方法以重复性好、费用低、开发汽车周期短、信息全面等优点受到各汽车研究和制造业的广泛欢迎。

当代,汽车碰撞数值模拟主要有三种:机械振动学法、多体系统动力学法和有限元法。多体系统动力学法是建立多体动力学方程,其优点是模型简单、编程难度小、计算速度快。[7,8]机械振动学法是基于质量点弹簧模型依据汽车碰撞各个质量点的位移情况,将汽车各个主要部件离散为一个弹簧-质量点振动系统,测定系统中弹性元件的力学特性后利用振动方程计算的方法求解碰撞系统运动学特性的方法,优点是程序简明、能够比较真实的反应变形体的弹塑性变形特性。有限元法就是将整个汽车实体结构分解为离散的有限元单元体通过专业的碰撞分析软件模拟变形和运动过程,其优点是方法专业、适用范围广、数据全面[3,4]。

在概念车开发初期,整车材料、形状和尺寸均未确定。在概念设计阶段对整车安全性能进行数值模拟,在上述三种碰撞分析方法之中,使用机械振动方程对安全性能进行定性计算是比较可行的[9,10]。其计算结果可以指导结构设计工程师合理地布局主要部件和它们的连接方式。因此,本文也才采用了上述机械振动。

在这个模型上,使用Wilson—θ法加强计算的稳定性。每次求解的振动方程中的刚度阵都是由刚度曲线上对应的点组装的总刚度阵,保证了计算的严谨性。

1 汽车碰撞简化模型

整车设计开发流程包括五个阶段:方案策划阶段、概念设计阶段、工程设计阶段、样车试验阶段、投产启动阶段[7]。在概念设计阶段需要考虑汽车总布置方案。从碰撞安全角度考虑,本文将整车碰撞模型如图1,整车各个主要部件连接力学特性如图2所示,忽略其他小质量部件,汽车碰撞简化成为一个弹簧质量的机械振动系统。该系统由动力总成、副车架、车身、左(右)前纵梁,左(右)前悬架及轮胎,左(右)后悬架和轮胎等部件,以及它们的弹性关系组成的质量弹簧系统。

在概念设计阶段,发动机、副车架、车身等主要部件的质量为固定值,其位置为设计值。各个部件连接按照弹性连接处理,如图2,其弹性连接力用刚度曲线表示。而刚度曲线就是由几个关键点确定的简化折线。图2中左侧为关键点坐标,人为输入后在右侧生成刚度曲线。每个弹性连接都有相类似的弹性曲线。在计算过程中,可以根据这种弹性关系曲线,插值得到该位置出的弹性力。图3中刚度(K1,K2,K3,……)相当于这些刚度曲线上的点。

2 软件模型举例

已知,某概念车的主要部件及布置简化模型(图2)。概念车进行仿真碰撞试验时间120毫秒,时速50公里/小时,主要部件距保险杠的初始设计距离和部件质量如表1。各个主要部件的连接力用图2中的关键点表示,具体关键点数值如表2。

设计参数:表1中所有部件的位置参数;表2中所有部件的刚度关键点值。

设计目标:计算车身的加速度曲线。

对比实车加速度曲线,如图5,和仿真车加速度曲线,如图4。可以发现,二者B柱加速度曲线变化趋势比较一致,峰值的偏差在10%以内。在概念设计阶段考虑到模型的不确定性,这些误差量是可以允许的。因此,本文所提出的整车碰车分析软件具有可行性。

3 总结

本文在汽车概念设计阶段,建立汽车碰撞简化模型,这使得在这一阶段进行被动安全设计成为可能。得到的主要部件布局,可以用于概念车详细设计之中。某概念车模型的车身加速度仿真分析进一步验证了该模型的可行性。

摘要:根据汽车性能指标进行汽车主要部件布局的概念性设计是汽车设计的重要方法。整车被动安全指标也是一个主要指标,比如,动力总成最大加速度、B柱最大加速度和乘员仓位移等。由此,本文提出基于被动安全的概念车简化模型下的主要部件布局的多目标优化设计方法。本文,首先用多质量弹簧系统等效成整车模型,再用弹簧刚度折线表示各个主要部件的受力关系,用最大相对位移量描述各个主要部件的相对位置关系,即整车结构布局参数。

上一篇:分型论治下一篇:滑膜细胞