实时仿真

2024-10-16

实时仿真(共8篇)

实时仿真 篇1

摘要:随着计算机技术的不断发展, 船舶运动实时仿真系统的研究也来越多, 基于各种仿真软件的数字物理仿真系统也日趋完善。文中重点介绍了基于各种仿真软件的船舶运动仿真。

关键词:船舶运动,数字仿真,物理仿真

船舶运动实时仿真以其重要性和复杂性则成为国内外研究的热点领域。船舶运动的仿真有单机仿真 (数字仿真) , 双机仿真 (半物理仿真) 和物理仿真[2]。数字仿真和半物理仿真都是先建立起船舶操纵的数学模型, 再对其进行仿真, 成本相对较低, 且容易实观;物理仿真则是利用缩尺模型来代替实船进行各种实时实验, 这种情况下, 费用较大, 还由于影响船舶运动的环境因素较多, 难以实现。在仿真平台研制方面, 国内已开发用于船员操作训练的船舶运动控制操纵模拟器以及用于控制算法研究的船舶运动物理———数字仿真系统。

1 数字仿真

1.1 船舶操纵性数学模型的建立

本文以船舶水平面微幅机动运动为例。在描述船舶水平面运动时, 一般采用图1所建立的两种坐标系:固定坐标系ξEη和船体坐标系xGy。图1中X、Y、N为作用在船体上的外力和外力矩;u, v, r为船舶运动的速度分量和转首角速度;φ为航向角, δ为舵角;U为绝对速度。

建立水平面线性方程[3]:

式 (1) 、 (2) 、 (3) 中m、Jz分别是船舶的质量, 绕z轴的转动惯量;X0、Y0、N0分别是初始力和初始力矩;XT为推力;xG、yG分别是船体重心坐标值;U为船舶绝对速度;δr为舵角;u、v、r分速度和艏向角速度;u觷、v觷、r觷分别为分速度导数和艏向角速度导数;其他为水动力系数。根据以上方程列出状态方程, 根据初始条件用龙格—库塔法解微分方程即可。

1.2 基于各种仿真软件的实时仿真

Mathworks公司推出Matlab软件包越来越多地运用于工程系统的仿真, Matlab里面的Simulink模型具有超强仿真能力。国内许多研究者[3]对船舶运动控制进行了仿真研究, 实现了基于Simulink的船舶仿真模型, 所建立的仿真模型与实际船舶的运动规律相一致。此模型的建立为在Simulink环境下进行船舶操纵仿真计算提供了方便的手段。

厦门大学何金花等人[4]用视景仿真软件MultGen creator建立船舶的模型用Vega来动态模拟船舶在波浪中的运动, 系统效果逼真, 界面友好, 实现了船舶运动的交互性控制。该系统在Vega的海洋模块中建立海洋场景, 较真实地模拟了船舶在海面的运动情况。

还有基于3dsmax的船舶三维运动仿真[5], 3dsmax作为世界上广泛使用, 功能强大的视频动画制作软件, 其实时交互性非常成功。这种仿真方法在模拟机械零件运动、刚体碰撞等许多外界现象时, 快速而形象。但由于3dsmax的动力学仿真系统是线性保守系统, 所以不可能模拟出实体完全精确的运动状态。

哈尔滨工程大学陈虹丽等人[6]用matlab对船舶纵向运动控制进行实时仿真, 模型是基于切片理论, 依据水动力系数的水池实验测试结果来建立水动力模型, 通过仿真证明该模型完全能控、能观且稳定。

2 物理仿真

国内船舶运动控制的物理仿真平台研究也挺多, 主要是用于船员操纵训练。上海交通大学[7]研制船舶运动控制仿真平台通过实验试验表明, 平台设计合理, 性能可靠。已成功应用于某新型航迹自动舵的开发项目中。该操舵物理仿真平台采用PC机和多个单片机组成的上下位计算机结构。航向单元和舵角单元由单片机和相应的机电设备组成。该仿真平台可以进行防御决策, 利用友好的人机交互界面在实验定条件下对舰艇防御系统指挥人员进行训练。

3 结语

随着计算机技术的不断发展和船舶运动理论研究的不断深入, 船舶的运动及计算机娄值物理仿真研究也日趋成熟。

参考文献

[1]康凤举, 杨惠珍, 高立娥, 等.现代仿真技术与应用 (第二版) [M].北京:国防工业出版社, 2006.

[2]林叶锦.任光.基于Simulink的船舶运动控制的仿真研究[J].系统仿真学报, 2003 (6) :837-840.

[3]李殿璞.船舶运动与建模[M].哈尔滨:哈尔工程大学出版社, 1999.

[4]何金花, 彭侠夫, 王莺.船舶运动视景仿真系统研究[J].计算机仿真, 2007 (8) :198-200.

[5]卞钢, 刘寅东.基于3dsmax的船舶三维运动仿真[J].计算机仿真, 2004 (4) :216-219.

[6]陈虹丽, 王岩, 赵希人.船舶纵向运动控制模型的建立及仿真[J].应用科技, 2008 (1) :57-60.

[7]李文魁, 陈永冰, 田蔚风, 等.基于MATLAB的船舶运动控制实时仿真研究[J].系统仿真学报, 2007 (10) :4424-4427.

实时仿真 篇2

复杂动态系统实时仿真模型自动生成

提出了一种表示复杂动态系统数学模型的分层结构,探讨了模型变量与参数在实时仿真程序中的引用-赋值关系,提出了一个既包含了模型的.数学特征,又包含了模型实时运行所需的信息的实时仿真模型分层结构.在此基础上设计了一个实时仿真模型库及实时仿真模型自动生成系统.

作 者:孟晓风 王行仁 Meng Xiaofeng Wang Xingren 作者单位:北京航空航天大学自动控制系,北京,100083刊 名:航空学报 ISTIC EI PKU英文刊名:ACTA AERONAUTICA ET ASTRONAUTICA SINICA年,卷(期):19(Z1)分类号:V249关键词:实时仿真 分层模型 模型自动生成 模型库 动态系统

电力电子器件的实时仿真 篇3

电力电子器件是电力电子装置的基础, 其性能制约着电力系统中电力电子装置的性能。当前, 电力电子装置的实时仿真研究已经展开[1,2], 但这些实时仿真将电力电子器件视为理想开关, 这种简化固然不影响系统级的仿真精度, 但并不能预测电力电子器件的工作特性。而电力电子器件的电压尖峰、电流尖峰、开关损耗等工作特性非常突出, 这些问题恰恰是威胁电力电子器件乃至电力系统可靠性的重要因素。绝缘栅双极型晶体管 (insulated gate bipolar transistor, IGBT) 具有驱动功率小、开关速度快、导通电流大、功率损耗小等优点, 是目前技术成熟、应用广泛的电力电子器件。本文以IGBT构成电力电子电路的基本开关单元为例, 进行电力电子器件的实时仿真研究。

电力电子器件的模型有物理模型[3,4]和功能模型[5,6,7]2种。物理模型在物理本质上揭示载流子的运动规律, 模型精度较高, 但大多数生产商并不提供器件的物理参数, 且仿真速度慢, 不适用于实时仿真。功能模型将器件内部视为一个“黑匣子”, 按照仿真功能的需要从元件的外部电特性出发构造模型, 虽然精度不如物理模型高, 但参数易提取, 仿真速度快, 适合用于实时仿真。

目前, 国内外学者采用不同的方法对电力电子器件开展了功能模型研究。文献[5]采用线性化的方法, 但没有考虑器件开关过程中的电压尖峰和电流尖峰。文献[6]采用分段解析函数的方法, 但将续流二极管的反向恢复电流峰值视为恒定值。文献[7]采用实测数据的方法, 但对于不同型号的器件, 需要搭建不同的实验电路。本文根据IGBT和电力二极管的开关特性和换流过程, 建立IGBT和电力二极管的换流模型, 从器件数据手册获取参数, 采用分段插值的方法, 建立IGBT的实时仿真功能模型, 参数易于获取, 并且能够在很大的电压和电流范围内对电力电子器件开关过程中的关键指标进行仿真。

1 电力电子器件功能模型原理

文献[8]提出用替代定理来说明功能模型, 用电压源或电流源替代电力电子器件, 并提出了电压源和电流源的选取原则和确定方法:选取的电压源和电流源必须独立, 且选为电压源时需保证连续, 选为电流源时需保证导数连续。本文在建立电力电子器件的功能模型时也借鉴了这一思想, 并对文献[8]所建模型进行了改进, 去掉了IGBT杂散并联电容, 使模型更加便于仿真计算。

本文以IGBT构成电力电子电路的基本开关单元为研究对象, 建立IGBT和电力二极管的功能模型。基本开关单元如图1 (a) 所示, 包括一个IGBT、电力二极管、电压源和电流源, 其中, 电压源和电流源为电压源型电路和电流源型电路的替代, 图中:S为IGBT的驱动信号。在换流瞬间认为U和I保持不变, 在开关过程中IGBT的电流波形相对简单, 因此选为电流源;根据选取的电压源和电流源必须独立的原则, 电力二极管选为电压源;IGBT和电力二极管分别用受S控制的电流源和电压源替代;同时, 考虑了线路的杂散电感LS1, LS2, 等效电路如图1 (b) 所示。

列写基尔霍夫电压和电流方程, 有

式中:iC为IGBT的集电极电流;uR为二极管的反向电压;iF为二极管的正向电流;uCE为IGBT的集射极电压。

由式 (2) 解得, 二极管电流iF=I-iC, 代入式 (1) , 有

令LS=LS1+LS2, 则

等效电路进一步简化为图1 (c) , 解得IGBT栅射极间电压为:

可见, 只要给出受控的电流iC和电压uR, 便可以求得iF和uCE。

下面分别从IGBT开通和关断2个过程, 采用分段插值的方法建立基本开关单元的器件模型。其基本思想是:假设已知开关过程的电压、电流波形上的一些关键点, 如起始点、极值点、拐点、不可导点, 然后用简单解析函数分段描述开关电压电流波形。

2 基本开关单元功能模型

基本开关单元的开关过程分为IGBT的开通过程和关断过程, 其功能模型从IGBT的开通和关断2个过程分别建立。

2.1 IGBT开通过程模型

图2为IGBT的开通过程模型。在t=t0 (on) 时刻驱动IGBT开通。IGBT的开通过程也是电力二极管的关断过程, 由于电力二极管反向恢复过程的存在, IGBT的集电极电流iC在开通过程中会出现电流尖峰。IGBT的开通过程主要分为4个阶段:开通延迟阶段[t0 (on) , t1 (on) ]、电流上升阶段[t1 (on) , t2 (on) ]、反向恢复阶段1[t2 (on) , t3 (on) ]和反向恢复阶段2[t3 (on) , t5 (on) ]。

由图2可以得到部分阶段时刻的表达式为:

式中:trr为二极管反向恢复时间;kD为常数, 且0

下面对各阶段IGBT的集电极电流iC和电力二极管的反向电压uR进行插值。

1) 开通延迟阶段:IGBT仍处于关断状态, 电力二极管仍处于导通状态, 漏电流和通态压降数值较小, 予以忽略, 视为0, 即iC=0, uR=0。

2) 电流上升阶段:IGBT的集电极电流iC从0上升至其幅值I, 电力二极管的正向电流iF相应减小但仍然处于导通状态, uR=0。

根据电流导数连续的原则, IGBT的集电极电流iC用经过点1 (t1 (on) , 0) , 点2 (t0 (on) +td (on) , 0.1I) , 点3 (t0 (on) +td (on) +tr, 0.9I) 和点4 (t2 (on) , I) 并且在点1处的导数为0的二次函数进行插值, 得到:

式中:a1 (on) 为系数。

结合器件数据手册中IGBT开通延迟时间td (on) (从驱动电压uGE的前沿上升至其幅值的10%到集电极电流iC上升至其幅值的10%的时间) 和电流上升时间tr (iC从其幅值的10%上升至90%的时间) , 在建立基本开关单元的器件模型时, 认为驱动信号S电平变化的时间为0, 可以推导出系数a1 (on) 和阶段时刻t1 (on) 和t2 (on) , 即

代入式 (7) 有:

3) 反向恢复阶段1:IGBT电流由于电力二极管的反向恢复过程继续上升, 由其幅值I升至其峰值I+IRM, 但上升速率变慢, 电力二极管反向电压uR从0上升至其幅值U。IGBT电流用经过点4 (t2 (on) , I) 和点5 (t3 (on) , I+IRM) , 并在点5导数为0的二次函数进行插值, 得到:

为简化计算, 假定电力二极管反向恢复电流峰值IRM与正向电流I呈比例关系, 即, 则由电力二极管在额定电流IFN下的反向恢复电流峰值IRMN, 可以得出。

IGBT电流可以进一步表示为:

电力二极管反向电压uR用经过点8 (t2 (on) , 0) 和点9 (t3 (on) , U) 的一次函数进行插值, 得到:

4) 反向恢复阶段2:IGBT集电极电流iC随电力二极管反向恢复电流的下降而由其峰值I+IRM下降至其幅值I, 由于线路杂散电感的存在, 电感两端将感应出反向压降, 并与电压源U一起作用于电力二极管上, 在二极管两端产生电压尖峰。遵循电流连续的原则, IGBT电流分两段, 即[t3 (on) , t4 (on) ]和[t4 (on) , t5 (on) ], 用经过点5 (t3 (on) , I+IRM) , 点6 (t4 (on) , I+IRM/2) 和点7 (t5 (on) , I) 并且在点5和点7导数为0的二次函数进行插值。其中t4 (on) =t3 (on) + (1-kD) trr/2。

在[t3 (on) , t4 (on) ]上的插值函数为:

在[t4 (on) , t5 (on) ]上的插值函数为:

二极管反向电压uR=U-LSdiC/dt, 则在[t3 (on) , t4 (on) ]上, 有

在[t4 (on) , t5 (on) ]上, 有

t5 (on) 之后, IGBT处于开通状态, 二极管处于关断状态, iC=I, uR=U。

2.2 IGBT关断过程模型

图3为IGBT关断过程模型。在t=t0 (off) 时刻驱动IGBT开通。IGBT的关断过程也是电力二极管的开通过程, 这个过程主要分为3个阶段:关断延迟阶段[0, t1 (off) ]、电压上升阶段[t1 (off) , t2 (off) ]和电流下降阶段[t2 (off) , t4 (off) ]。

由图3可以得出部分阶段时刻的表达式为:

式中:kud为常数, 且0

1) 关断延迟阶段:IGBT仍处于开通状态, 电力二极管仍处于关断状态, iC=I, uR=U。

2) 电压上升阶段:IGBT电压从0增大到其幅值U, 电力二极管反向电压相应减小并仍然关断, IGBT电流保持其幅值I不变, 即iC=I。

电力二极管反向电压用经过点3 (t1 (off) , U) 和点4 (t2 (off) , 0) 的一次函数进行插值, 得到:

3) 电流下降阶段:IGBT集电极电流iC从其幅值I下降至0, 电力二极管电流iF相应上升, 遵循电流导数连续的原则, IGBT电流分两段用二次函数进行插值。

在[t3 (off) , t4 (off) ] (t4 (off) =t3 (off) +1.5tf, 其中tf为电流下降时间, 集电极电流iC从其幅值的90%下降至10%所需时间) 上, 类比于开通过程IGBT电流上升阶段, 有

在[t2 (off) , t3 (off) ]上, 用经过点1 (t2 (off) , I) , 点2 (t3 (off) , 0.9I) 并在点1导数为0, 在点2导数与在[t3 (off) , t4 (off) ]上相等的二次函数进行插值, 得到:

忽略电力二极管正向恢复过程, 则电力二极管反向电压, uR=0。t4 (off) 之后, IGBT处于关断状态, 电力二极管处于开通状态, iC=0, uR=0。

综上所述, IGBT集电极电流iC和电力二极管反向电压uR的模型为:

式中:fi (on) (t) , fi (off) (t) , fu (on) (t) , fu (off) (t) , gi (on) (t) , gi (off) (t) 的具体取值见附录A。

可以看出, 该模型为工作电压U、工作电流I和时间t的函数, 只要给定U, I和驱动信号S发生电平跳变的时刻, 便可以确定IGBT的集电极电流iC和电力二极管的反向电压uR, 进而得出IGBT集射极间电压uCE和电力二极管的正向电流iF。iC用二次函数进行插值, uR用一次函数进行插值, 具有较快的计算速度, 可以满足实时仿真的要求。

3 仿真结果

在现场可编程门阵列 (field programmable gate array, FPGA) 中对模型进行了实时仿真, IGBT和电力二极管的型号为三菱公司的IGBT模块CM1200DC-34N, 杂散参数LS=100nH, 工作点U=850V, I=600 A, IGBT和电力二极管开关过程的仿真结果见附录A图A1。

IGBT模块的开关电压、电流得到以后, 可以通过积分运算获得开关损耗能量, 即

同样, 对850V电压下, IGBT的开通损耗Eon、关断损耗Eoff和电力二极管的反向恢复损耗Erec随电流的变化进行了仿真, 将仿真结果与数据手册所给的典型值[9]绘在一起, 如图4所示。

开关损耗仿真结果均能落在典型值附近。仿真结果表明, 本文IGBT和电力二极管的实时仿真能够反映电力电子器件开关过程中的电压、电流尖峰和开关损耗等关键指标。

4 结语

IGBT和电力二极管的实时仿真方法可以推广至其他电力电子器件, 如电力晶体管 (GTR) 、电力场效应晶体管 (MOSFET) 、集成门极换流晶闸管 (IGCT) 等。电力电子电路的基本开关单元通过组合可以构成电力系统中各种斩波电路和逆变电路[10]。因此, 本文IGBT和电力二极管的实时仿真方法能够实现电力系统各种斩波电路和逆变电路中电力电子器件的实时仿真。

附录见本刊网络版 (http://aeps.sgepri.sgcc.com.cn/aeps/ch/index.aspx) 。

摘要:电力电子器件在开关过程中的电压尖峰、电流尖峰以及功率损耗等问题是威胁电力电子器件乃至电力系统中电力电子装置可靠性的重要因素。文中以技术成熟、应用广泛的绝缘栅双极型晶体管 (IGBT) 构成电力电子电路的基本开关单元为例, 进行电力电子器件的实时仿真研究。根据电力电子器件的开关特性, 分析了电力电子器件间的换流过程, 建立电力电子器件的实时仿真功能模型, 并在现场可编程门阵列 (FPGA) 中实现电力电子器件的实时仿真。仿真结果能够反映电力电子器件开关过程中电压尖峰、电流尖峰以及功率损耗等关键指标。

关键词:电力电子器件,实时仿真,电压尖峰,电流尖峰,开关损耗

参考文献

[1]LUCA O, URRIZA I, BARRAGN L A, et al.Real-time FPGA-based hardware-in-the-loop simulation test bench applied to multiple-output power converters[J].IEEE Trans on Industry Applications, 2011, 47 (2) :853-860.

[2]杨达亮, 卢子广, 杭乃善.电力电子系统实时仿真综合平台及设计方法[J].电力自动化设备, 2011, 31 (10) :139-143.YANG Daliang, LU Ziguang, HANG Naishan.Design of integrated real-time simulation platform for power electronic system[J].Electric Power Automation Equipment, 2011, 31 (10) :139-143.

[3]LU Liqing, BRYANT A, HUDGINS J L, et al.Physics-based model of planar-gate IGBT including MOS side two-dimensional effects[J].IEEE Trans on Industry Applications, 2010, 46 (6) :2556-2567.

[4]杜明星, 魏克新.一种考虑IGBT基区载流子注入条件的物理模型[J].物理学报, 2011, 60 (10) :722-727.DU Mingxing, WEI Kexin.A physics-based model of insulated gate bipolar transistor with all free-carrier in-jection conditions in base region[J].Acta Physica Sinica, 2011, 60 (10) :722-727.

[5]PARMA G G, DINAVAHI V.Real-time digital hardware simulation of power electronics and drives[J].IEEE Trans on Power Delivery, 2007, 22 (2) :1235-1246.

[6]陈雨林, 许军, 马晓军, 等.绝缘栅双极晶体管 (IGBT) 的实时仿真研究[J].电气开关, 2010 (5) :21-24.CHEN Yulin, XU Jun, MA Xiaojun, et al.Study on real-time simulation of the insulated-gate bipolar tran-sistor (IGBT) [J].Electric Switchgear, 2010 (5) :21-24.

[7]MYAING A, DINAVAHI V.FPGA-based real-time emulation of power electronic systems with detailed representation of device characteristics[J].IEEE Trans on Industrial Electronics, 2011, 58 (1) :358-368.

[8]范子超.链式静止同步补偿器的混合数字仿真研究[D].北京:清华大学, 2007.

[9]Mitsubishi Electric.Cm1200dc-34ndatesheet[R].2005.

实时仿真 篇4

1 WAMS仿真子站

WAMS仿真子站是在Windows平台下基于VC++6.0开发的仿真软件系统,用于模拟安装在重要发电厂和变电站的PMU装置或由多个PMU构成的子站系统,其具有6大功能。

a.可灵活配置子站的PMU及PMU包含的通道。通道包括相量通道、模拟量通道、频率通道、频率变化通道、开关量通道;配置的项目包括通道的名称、数值、转换因子、通道幅值和相角变化的规律等。

b.可生成各个通道的实时动态数据,存储动态数据,模拟PMU装置对现场数据的实时采集功能;模拟子站生成子站配置文件、离线数据文件等。

c.基于套接字(socket)的网络通信模式,仿真子站通过以太网接入实际主站,由数据管道实现实时动态数据的传输、命令管道实现命令帧的交互、配置帧的传输;离线数据管道实现离线数据文件的传输。

d.通过对现场WAMS子站或PMU装置的模拟,实现对现场子站的仿真。可接入WAMS主站系统,完成对主站的功能测试、处理能力测试。

e.按电力系统实时动态监测系统技术规范[11,12,13],实现对WAMS主站的通信规约测试、通信功能测试、数据误码率等通信性能测试。

f.可解析COMTRADE格式的故障录波数据,实现COMTRADE波形回放,上送低频振荡数据或扰动数据,测试主站对低频振荡或扰动现象的识别能力。

WAMS仿真子站能够模拟现场的PMU装置对电网参数中的相量数据、模拟量数据、频率、频率变化率以及开关量数据的实时采集和存储功能,并按照规约格式组织数据帧通过以太网上传至WAMS主站系统,可以实现对WAMS主站的功能测试、规约测试、性能和处理能力测试。图1是WAMS仿真子站的实现框图。

2 实时数据通信

WAMS的主要功能是实现电力系统的动态监测和动态稳定控制,主站和子站间实时可靠的数据通信是保证WAMS运行的最基本条件。实际运行过程中,子站将以25、50或100帧/s的速率向主站传送实时动态数据,100帧/s时要求子站以10 ms的时间间隔向主站上传实时数据。

WAMS仿真子站是基于Windows操作系统平台下开发的应用软件系统。由于Windows是非实时操作系统,因此,如何在Windows平台下实现仿真子站向主站上传动态数据达到100帧/s,并且保证数据传输的实时性是仿真子站实现的难点。

按照25、50、100帧/s且连续传送的要求,需要设计一个40、20、10 ms的周期定时器,在定时溢出时刻将一帧数据上传,实时数据传输的常规实现流程如图2所示。

然而,调试结果表明,Windows窗口定时器的定时精度远远达不到要求,定时器消息的处理会出现较大的延时,严重影响了系统的实时性;另外,当数据帧写入socket的发送缓冲区时,若数据帧的帧长较短,TCP传输控制并没有立即将数据帧发送出去,而是出现了数据帧积压,导致多包数据同时到达主站。显然,Windows下的上述的普通实现方案不能满足仿真子站的实时通信要求,必须寻找新的解决方法。

3 实时通信实现

3.1 精确定时与多线程方法

3.1.1 精确定时方法

Windows窗口定时器的定时精度远远达不到要求,每次定时均产生较大的延时,严重影响数据帧发送的实时性和发送时间的准确性。采用Windows的多媒体定时器可以较好地满足精确定时的要求,这种定时器的定时精度可以达到1 ms并且运行在一个独立的线程,当定时时间溢出时,操作系统直接调用该定时器的回调函数,因此它具有较快的响应时间,不会出现普通窗口定时器的延时响应。

3.1.2 多线程技术

基于NT技术的Windows操作系统,采用线程作为基本调度单位,一个多线程应用程序允许多个任务并发执行,因而可以执行某些实时性或随机性很强的操作,提高对CPU和其他资源的利用率,加快信息处理速度。在仿真子站中,采用多媒体定时器的精确定时线程负责处理实时数据帧的发送,而动态数据生成、存储、显示由另一独立线程处理,以提高系统数据通信的实时性。

3.1.3 实现方法

多媒体定时器运行在一个独立的线程,并且具有较高的定时精度,可以满足仿真子站最短10 ms的定时周期。当定时时间溢出时,操作系统调用该多媒体定时器的回调函数,实时响应该定时器的处理函数。

仿真子站开辟发送线程,由多媒体定时器定时,负责周期发送实时数据帧。主线程负责实时动态数据帧的生成,并将实时数据保存至实时数据库。当发送线程执行发送数据帧时,需要访问实时数据库,获取系统当前的数据,因此实时数据库是整个进程的共享资源。为了解决各线程对共享资源访问的竞争问题,采用了互斥对象Mutex做为线程的同步对象,当共享资源正被一个线程占用时,另一线程只有在资源释放后才能使用,避免访问冲突。图3给出了该方案的实现原理图。

3.2 TCP/IP协议层解决方法

仿真子站系统运行中,主站往往一次接收到仿真子站多个数据包,而不是按照仿真子站发送的时间间隔收到数据。经分析,导致主站同时接收多包数据的原因,是仿真子站网络通信套接字socket中的TCP/IP协议层采用了Nagle算法,影响了数据发送。

3.2.1 TCP的时延确认[14]

当TCP收到发自TCP连接另一端的一帧数据时,它将发送一个确认ACK,通常情况下,该确认帧ACK并不是立即发送,而是推迟发送,以便将ACK与需要沿该方向发送的数据一起发送,绝大多数实现采用的时延为200 ms,即TCP将以最大200 ms的时延等待是否有数据一起发送。

3.2.2 TCP的Nagle算法[14]

Nagle算法是Jone Nagle提出的用于减少TCP/IP网络中小分组数过多和提高网络吞吐量的一种算法[15],该算法要求一个TCP连接上最多只能有1个未被确认的未完成的小分组,在该分组的确认到达前不能发送其他的小分组,相反,TCP收集这些少量的分组,并在确认到来时以一个大分组的形式发送出去。

3.2.3 时延确认和Nagle算法产生的问题及解决

WAMS仿真子站通过数据管道向WAMS主站上传实时数据帧,主站的数据管道只负责接收数据帧,而不向子站下发数据帧。在子站上传的数据帧帧长较短时,Nagle算法将不允许子站在收到主站返回上一数据帧的确认前继续发送下一个数据帧。主站方面,由于一直没有数据下发,将等待时延定时器溢出时才向子站返回确认,此延时会达到200 ms左右。另外,在主站延时返回确认帧期间,子站又有多个数据帧需要发送(最大发送数据帧间隔40 ms),故导致了数据帧在子站的发送缓冲区积压。

显然,上述现象严重影响了子站向主站传送数据的实时性,针对WAMS主站和子站数据管道传输的特点(主站只接收实时数据帧,不向子站下发数据帧),解决方法是关闭TCP的Nagle算法,允许TCP交互过程中一个分组的确认未到达前继续发送下一个分组,图4给出了未关闭Nagle算法和关闭Nagle算法时数据管道的TCP交互流程。

4 实验结果与分析

为了验证上述方法的可行性,在实验室环境下将WAMS仿真子站和WAMS仿真主站(模拟主站运行的测试软件)接入到局域网,建立仿真子站与仿真主站的数据管道,由仿真子站向仿真主站传送实时动态数据。在仿真主站中解析数据管道接收的数据,判断接收的数据帧是否实时到达并计算流量(主站数据管道每秒接收的总帧数),进而分析仿真子站数据管道发送数据的实时性。

首先完成了窗口定时器单线程、多媒体定时器结合多线程技术2种方法的对比实验,在给定上传速率下主站数据管道接收流量的对比结果如表1所示。表中,v为仿真子站的上传速率;n1、n2分别为采用普通定时器和单线程及采用多媒体定时器和多线程时主站每秒接收的总帧数。

从表1中的数据可见,采用多媒体定时器的精确定时配合多线程技术,能够实现100帧/s的传送速率,而采用普通定时器和单线程时根本无法达到要求。

其次,在采用多媒体定时器配合多线程技术下,完成TCP/IP协议层中Nagle算法关闭前后的对比实验,设定仿真子站上传动态数据的速率是100帧/s,主站接收数据帧情况的对比结果如表2所示。

注:t为接收时间间隔,理论值为10 ms;仿真子站上传的动态数据帧帧长为38Byte;n3为接收的总字节数;n4为每次接收的总帧数。

从表2可以看出,当仿真子站向主站上传的动态数据帧的帧长较短时,TCP的时延确认和Nagle算法对数据帧传送的实时性有较大的影响,而关闭了Nagle算法后,每个数据帧都实时发送出去,不会出现数据积压。另外,从表2的接收时间间隔数值可以看出,子站以10 ms的定时周期依次上传实时数据帧,定时精度较高,进一步验证了精确定时和多线程方案的可行性。

5 结语

声纳目标模拟器实时仿真系统开发 篇5

声纳目标模拟器是一个联机工作的数字仿真系统,它的主要作用是根据设定的海洋环境实时地仿真水听器基阵接收到的运动目标发出或发射的相应信号,以产生鱼雷自导仿真或水声对抗实验所必须的阵元域数据。声纳目标模拟器的使用将有效缩短数字声纳的研发周期,大大减少湖试和海试的次数[2],因此它的研制已经成为声纳技术发展过程中一个重要组成部分。某型声纳目标模拟器实现了多部声纳基阵信号的仿真任务,其系统结构框图如图1所示。目标模拟器借助于通用阵列信号处理平台,实现了对目标的辐射噪声、侦察脉冲的回波信号、本舰或鱼雷的自噪声、来自环境的背景噪声,以及对传播信道和声纳基阵(最多48个基元)等大量仿真算法的实时处理。显控台是仿真系统显示和控制的终端设备,具有可视化的数据显示、控制和图形输出功能,可以实时控制模拟器处理系统的工作流程。为了实现数据的远传,系统将直接输出阵元域数据。比起通常的设计中通过模拟器加DA板输出模拟信号,很大程度上提高了对数据实时传输能力的要求。本设计利用反射内存网解决上述问题,并选用基于ADSP-TS201S高速阵列信号处理平台(以下称为阵列信号处理平台,由北京中科海讯数字信号处理技术有限公司研制)为整个系统的硬件设计和软件开发都提供了很高的可靠性和方便性。

2 系统硬件环境

本模拟器主要在海军第二代标准信号处理机上完成。该处理机含有信号处理板、信号集成装置、网络接口板和主控板等,系统结构如图2所示。不但要完成目标和环境模拟所需要的数字信号处理运算,而且还要实现与其他分系统的网络数据交换与控制。该平台具备内存反射网和千兆以太网两种网络接口,可支持同时两种网络数据交换模式。

信号处理板是处理机的核心部分,该板选用6片主频为600MHz的ADSP-TS201S芯片,峰值浮点运算能力可达21.6GFLOPS,任何一个DSP都可以通过LINK口将数据传送给其它DSP,每个LINK口最高速度为600M字节/秒,且不占DSP处理器时间,这样在DSP间进行数据传递将会有较高的传输率;系统总线使用CPCI总线,最高传输速率高达133M(字节/秒);板内采用3片ALTERA公司的STRATIX-II系列FPGA实现访问DSP外总线的主机接口,ADSP TS201S在外部总线和主机处理器之间通过外部端口提供了方便和可配置的接口。为了能和各种主机处理器配合工作,主机接口支持流水线或慢速的协议,用于从机访问。每种协议带有可编程的传输参数,例如空闲状态、流水深度、插入等待状态等。

反射内存(RFM)网是一种基于环状或者星状的高速复制型共享内存网络。它能够通过局域网在互连的计算机间提供高效的数据传输,因此要求强实时网络的设计人员已经越来越多地采用这种技术。利用它构建实时局域网十分简单,就是设计一种网络内存板,在分布系统中实现内存至内存的通信,并且不需要额外的软件开销

3 主要功能模块仿真说明

3.1 目标辐射噪声仿真模块的设计

被攻击目标噪声的产生是利用白噪声作为激励噪声源,通过自回归滤波器,得到的具有一定的谱状的信号序列。其中白噪声采用混合乘同余法产生。自回归滤波器系数需要首先得到目标的功率谱分布,目标幅度需要先计算目标到声阵之间的传播损失。

目标功率谱以频率-谱级数组的形式给出,能够反映目标的类型和运动状态,由目标噪声模型或目标噪声数据库确定。

声传播损失根据环境条件、工作频段和敌我空间位置,通过声传播信道仿真模块计算出来的。计算出传播损失后,用目标辐射声源级减去声传播衰减就可得到阵元接收到的目标噪声级。然后再根据阵元接收噪声级对仿真舰船噪声进行谱级控制,使得模拟器输出的目标噪声具有与阵元接收级相对应的幅度。

3.2 声传播信道仿真模块设计

该模块能够根据射线模型计算声线轨迹和声传播损失分布,将信道传递函数和目标回波信号、目标辐射信号,生成含有声传播信道信息的水听器基阵仿真信号。可以反映出海深、海况、海底底质、海底地貌、声速梯度分布、工作频率、敌我双方空间位置、不同传播途径以及插入气幕弹等因素变化。模拟频率10kHz~40kHz。

仿真分为窄带与宽带两类。宽带情况下,从环境特性数据库中调取经过校验的声传播模型,并调取给定海区、给定季节或月份的水声环境参数,结合声纳工作频段,计算声场衰减分布,从而提供了任意机动过程中实时计算目标能量变化的可能。

窄带情况下,针对频段的离散频点用经过校验的模型计算声场的幅度与相位,再用傅里叶反变换得到声信道脉冲响应函数。在离散频点上的声场幅频、相频计算过程中引入实测的水声环境参数、实际的声纳参数、以及目标距离和深度信息。水声信道的脉冲响应与源信号卷积后成为自导声纳阵元接收波形。

3.3 主动目标回波仿真模块设计

由于侦察脉冲和主动回波信号都是确定性信号可以用显函数表示[1],通常是按照函数表达式计算产生。本仿真采用迭代算法产生各种单频信号和调频信号,然后通过改变迭代参数产生具有不同特性的单频脉冲和调频脉冲信号。

3.4 主动混响仿真模块设计

混响经过简化处理可以被看作是一个可平稳化的高斯随机过程,它的瞬时值符合高斯分布,其包络为指数形式衰减。在仿真中我们用高斯白噪声通过窄带滤波器来模拟混响,混响的带宽与发射信号相比存在着频率扩展,这一方面与海洋中散射体的多普勒和随机相移有关,另一方面也和发射信号包络的时间长度与形状以及声纳系统发射信号的波束宽度有关。海洋混响仿真还以瑞利分布反映混响包络的起伏特征。

3.5 反波束仿真模块设计

反波束形成首先根据基阵结构和目标方位计算入射波到达各基元的时延,并把时延值量化。然后采用存储器寻址方法和从任意时延原型滤波器出发,采用窗函数方法设计内插FIR滤波器,通过选择参数控制误差,可以实现高精度的宽带时延。

4 实时多任务软件的设计与开发

系统的基本功能模块包括:目标信号仿真模块,基阵仿真模块(48路),背景噪声仿真模块(48路)、混响仿真以及传播信道仿真模块。其结构框图如图3所示。

为了提高系统的实时性,本设计采用多DSP系统对各个功能模块进行并行运算处理。综合考虑各功能模块的运算量,系统选用5块DSP板,另外再加上反射内存网卡、光纤网卡和主控板卡总共8块板卡组成。每个板卡中所定义的节点及所实现的功能如表1所示。

5 声纳目标模拟器显控软件的开发

显控软件是声纳目标模拟器仿真系统中最主要的人机接口。主要完成仿真过程的三维视景演示、参数设置、操作控制和软硬件自检等功能。该它软件基于Windows操作系统,应用Microsoft Visual C++的IDE开发而成。三维视景演示采用建模软件MultiGen Creator进行视景建模,利用Vega进行驱动,并结合Vega的附加模块Vega Marine增强对海洋环境模拟的逼真效果。

6 结束语

本文介绍了某型声纳目标模拟器实时仿真系统的设计与开发过程,目前该系统已经研制工作已经获得成功,并顺利通过了军方的验收。实践证明它能够提供了非常好的仿真结果。

摘要:该文以通用的阵列信号处理系统为运行环境,详细介绍了一种声纳目标模拟器的系统设计与开发过程。并提出了一种基于反射内存网的实时数据传输的解决方案。实践证明,该系统能够很好的模拟出作战目标在设定的海洋环境下的声学特性。

关键词:目标模拟器,反射内存网,并行,DSP

参考文献

[1]李启虎.数字式声纳设计原理[M].合肥:安徽教育出版社,2002.

[2]李蕾,吴永清.声纳基阵信号模拟器实时软件的开发[J].声学技术,2004(3).

[3]杨日杰.现代水声对抗技术与应用[M].北京:国防工业出版社,2008.

实时仿真 篇6

1建立海浪模型

计算出海浪高度场。

2生成海水网格

本文工作是完成大面积海域在移动平台的模拟, 对实时性要求比较高, 鉴于目前移动平台的处理能力, 本文采用的是将海面定义成6*6个海洋网格块, 每块网格的三角形数量是32*32, 每块网格的大小是128*128。建立网格无缝拼接, 为了消除不同细节层次网格边缘的裂缝, 采用的是细节层次 (LOD) , 最大分层为4, 保证它们之间LOD级别相差1之内即可。然后基于快速傅里叶变换 (FFT) 海水仿真算法生成动态的海水高度场, 并将高度场存入到定点纹理中, 然后在顶点着色器中通过取顶点纹理的值对网格进行扰动, 形成动态的海水效果。海面网格如图2-1, 图2-2海浪在风力作用下的效果图。

3 GPU渲染图

为了提高在移动端的运行效率本文通过GPU对浮点纹理进行双线滤波和法线计算, 然后再利用这张经过滤波处理和法线预计算的浮点纹理作为顶点着色器的高度场和法线纹理进行高度扰动, 形成海浪效果。同时对海面光照, 反射以及折射也通过GPU处理, 从而减轻了移动端CPU处理数据的压力, 优化了效率。折射效果如图3-1和3-2所示。

4结论

实时仿真 篇7

以电力电子器件为基础的柔性交流输电系统(FACTS)技术作为实现输电网参数和变量的柔性化控制的有效手段,近20年来得到广泛研究和应用[1]。实时仿真是电力系统进行试验研究、规划设计、调度运行和状态安全评估的重要工具。现有的电力系统实时仿真平台可分为机电暂态和电磁暂态过程仿真。机电暂态仿真的步长一般在毫秒级,典型步长为10 ms,电磁暂态仿真的步长一般在微秒级,典型步长为50μs[2]。但由于仿真步长及接口,众多仿真软件无法对含有FACTS控制器的复杂电力系统进行动态性能研究[3],文献[4]利用实时数字仿真系统RTDS(Real Time Digital Simulator)组建了风力发电开发测试平台,仿真步长50μs,可对多组控制器进行控制测试。但RTDS主要是面向整个电力系统的仿真,且价格昂贵。目前FACTS控制器和电力驱动的开发测试,通常先进行离线仿真以验证算法,然后通过数字信号处理器(DSP)和现场可编程门阵列(FPGA)等嵌入式控制器实现复杂算法的实时控制[5,6,7,8,9,10,11,12,13,14]。随着电力电子的发展和控制数字化的实现,课程重构也使现有的实验教学方法面临新的改革,构建快速开发实验平台是一种有效的方法[15]。

d SPACE平台作为国际上通用的快速控制原型RCP(Rapid Control Prototype)和硬件在回路仿真HILS(Hardware-In-the-Loop Simulation)标准开发测试平台,在航空航天、工业控制、汽车等领域得到广泛应用[16,17,18],目前只有少数院校在此平台上进行电力系统的相关研究[19]。本文研制的实时仿真综合平台,以d SPACE平台为核心,通过建立实时仿真模型和设计模块化体系结构,实现对中小功率电力电子和电力驱动控制系统的实时仿真和快速开发,仿真步长可设20μs,满足电力电子器件对速度的要求。

1 实时仿真综合平台结构框架

根据应用于电力系统的FACTS技术和面向电机控制的电力驱动要求,结合V型开发流程中HILS和RCP的技术规范,本文提出图1所示的实时仿真平台总体结构框图。整个综合仿真平台以d SPACE平台为核心,采用模块化结构设计,分为硬件结构和软件结构两大部分。

1.1 平台硬件结构

平台硬件主要由d SPACE硬件和主电路组成。平台控制器是d SPACE硬件的主要组成部分,其构成实时仿真平台硬件的控制核心;由功率器件构成的主电路是硬件电路的基础,实现能量传递和交换;另有电源电路、测量电路、驱动电路、保护电路和电网接入等辅助电路。根据不同的应用对象(电网或电机)和控制目的,通过选择器件类型和电路结构等方式,可以灵活改变主电路拓扑,从而快速实现有源电力滤波器(APF)、动态电压恢复器(DVR)、配电网静止同步补偿器(DSTATCOM)、变频和励磁等多种功能。

本实验平台主要用于配电网电能质量控制器研发和电机的驱动控制。根据应用系统的技术指标,实际平台控制器选用d SPACE单板系统DS1104,其主CPU为MPC8240,可直接进行浮点运算,带有DSP TMS320F2407,可以直接输出三相PWM控制脉冲。另有ADC、DAC、UART、增量编码器和I/O等常用外设接口。

主电路功率器件为:MOSFET模块FB180SA10,用于汽车的电机控制测试;2.2 k W智能功率模块PS12036,用于学生实验验证;IGBT功率模块PM300DVA120用于低压静止无功发生器、有源电力滤波器等产品研制实时控制仿真实验。

在此基础上,用户可根据实际功能需要,按照平台的硬件结构对电路进行更换、扩展,或通过通信总线组成多处理器复杂系统,以满足不同的测试要求。

1.2 平台软件结构

平台软件结构由Matlab/Simulink软件、d SPACE软件和实时仿真模型库组成。Matlab/Simulink用于建立系统模型、设计控制算法和进行离线仿真,是平台软件结构的基础。实时仿真模型库是平台的核心技术之一,在Matlab/Simulink环境下建立,分为系统模型和控制算法两大部分。系统模型实现对电路结构的数学描述,在离线仿真时取代实际的物理模型;控制算法在分析系统模型基础上,通过选取的控制策略实现对应的控制性能。采用实时仿真系统子模型,可以进行离线仿真和算法验证。d SPACE软件体系主要实现实时代码生成、下载软件和测试软件,其中代码生成及下载软件集成于Matlab中,实现与Matlab的无缝连接。通过d SPACE实时接口(RTI),用硬件接口关系代替原先的逻辑连接关系,构成闭环测试系统,实现实时仿真功能。

基于图1结构实现的实时仿真综合平台,可以快速对电路结构模型进行闭环测试,以验证所建模型是否与实际物理原型相符;也可以对不同的算法进行测试,从而得到更适合系统实现的控制程序。

2 实时仿真综合平台主要技术

2.1 平台实时仿真模型库设计

要进行实时仿真,首先要建立起系统的数学模型。基于Matlab/Simulink环境开发的电力系统仿真模型Sim Power Systems等是面向离线仿真应用的,无法利用d SPACE平台测试软件对其内部描述变量进行动态分析,因此,要首先建立以面向实时仿真应用的系统模型。

考虑到实时仿真系统的变结构、非因果特性[19],对整个闭环控制系统采用分割处理的办法,采用输入-输出描述法建立各个具有因果关系的子系统。采用面向对象的设计方法,可以不断封装和派生出更多的子模型。各个子系统模型既可应用于离线仿真,也可应用于实时仿真。

2.2 功率开关器件的硬件电路设计

功率开关模块构成平台的硬件基础,受控制器输出的PWM信号驱动,又直接与高压大电流系统相连,若设计不当极易烧坏,因此开关器件电路设计是硬件设计的重点,主要技术措施有4项。

a.裕量设计:器件选型时留有一定的裕量。

b.缓冲吸收电路设计:实验结果表明,设计合理的缓冲电路,可以减少开关冲击,将du/dt从0.3减少到0.15以下。

c.驱动电路设计:采用高速光耦器件,以实现控制脉冲对开关管的精确控制。严格控制上升时间,以保证死区时间生效;PWM的光耦驱动信号与功率模块的连接距离2 cm以下,减少干扰,防止误触发。

d.保护电路设计:当检测到主电路有短路、过压、过热和欠压等异常情况发生时,实现多级保护。通过硬件保护、软件保护方式同时封锁PWM信号输出,通过跳闸保护实现主电路与电网分离。

2.3 平台数字化控制和实时仿真步长

数字化控制因控制灵活,输出性能稳定,在实时控制中得到广泛应用。本平台实现数字化控制,其中系统实测信号通过测量电路由A/D进行模拟到数字的转换;通过实时代码生成工具RTW(Real-Time Workshop)产生可在平台控制器上运行的标准C代码程序;RTI实现物理系统与离线仿真系统的信息数字化交换;通过数字脉宽调制(DPWM)输出功率开关管的控制脉冲,实现对系统的目标控制。随着电力系统和电力驱动对控制性能要求的不断提高,非线性控制、模糊控制、自适应控制等算法被应用到控制系统中。通过平台数字化控制技术,以图形化的方式完成参数调整、指令输入、结果显示存储等所有功能,为复杂算法的实现提供了有利的环境。

基于Matlab/Simulink的离线仿真数据交换在计算机的CPU与存储器之间进行,数据处理时间没有严格的边界。实时仿真平台要在仿真计算机、平台控制器与外部物理系统之间进行数据交换,其数据处理要受外部实物系统真实时间约束,有严格的时间边界。平台通过PWM控制技术,实现对功率变换模块的控制,其输出速度决定系统的响应速度,通常要求在一个PWM周期内完成控制算法以及平台控制器和仿真计算机之间的数据交换,以获得较好的响应速度,满足实时仿真需要。DS1104控制器的DPWM输出频率高达5 MHz,但实现上受功率模块的频率限制,目前中小功率器件的开关频率最高约为20 k Hz。采用DS1104控制器,通过实时内核和RTI可实现仿真周期为20μs的实时仿真,满足对速度的要求。

3 平台实时仿真设计实现

PWM整流器可实现网侧电流正弦化,且运行于单位功率因数及能量可双向传输,在静止无功发生器(STATCOM)、APF、统一潮流控制器(UPFC)等柔性交流输电系统广泛应用[20]。下面给出以PWM整流器为控制对象的系统设计过程及其控制实验结果。

3.1 PWM整流器模型

三相电压型PWM整流器的电路结构如图2所示。图中,ua、ub、uc为三相对称电源相电压;ia、ib、ic为网侧相电流;udc为直流侧电压;L和R为滤波电抗器的电感和电阻;idc为直流侧电流;iL为负载电流。

记Sk=Sk+-Sk-(k=a,b,c),其中Sk±=1表示开关管导通,Sk±=0表示开关管截止。不计开关损耗,并考虑电网及PWM电路为三相对称系统,对于交流侧,由基尔霍夫电压定律(KVL)可得:

对于直流侧,由基尔霍夫电流定律(KCL)可得:

其中,idc=(Saia+Sbib+Scic)/2。

根据功率不变原则,可以对应转换成αβ坐标系或dq坐标系下的数学模型,以方便系统的控制设计。

3.2 PWM整流器控制策略

采用PWM整流器作为电路结构的电力电子控制系统通常是通过控制PWM整流器的电流来实现其控制目标(如稳定电压、补偿无功和抑制谐波等),因此,对PWM整流器的电流控制成为系统软件设计的核心。通常,对PWM整流器电流控制方法可分为间接电流控制和直接电流控制,其中直接电流控制具有控制精度高、动态性能好等优点。直接电流控制方法有滞环控制、定时比较控制、三角波比较及无差拍控制等[21]。本实验采用基于坐标变换的三角波比较直接电流控制,其控制方案如图3所示。

PWM整流器的实测三相输出电流ia、ib、ic经过dq变换与控制电流生成无功和有功电流指令。其中有功电流的参考值指令id*与电路拓扑结构有关,采用自励启动方式时可由直流侧电压调节器输出给定,采用他励启动方式时可直接给定。指令由电流控制器进行算法运算,经过dq反变换得到控制开关管的PWM指令信号。通过坐标变换,使参考指令和反馈值在稳态时均为直流信号,因此可通过调节器进行无稳态误差的电流信号跟踪,从而消除系统的静态误差,提高系统对PWM整流器电流的控制精度。

3.3 实验结果

为验证平台的结构设计及其对PWM整流器的控制性能,搭建了50 k V·A PWM整流器及其控制电路。实验结构如图4所示。

三相交流电源经自耦变压器T1以及隔离变压器T2、T3接入系统。

实验主电路主要参数如下:IGBT功率模块为PM300DVA120;整流模块为DF100AA160;交流侧连接电抗为1 m H/100 A;直流侧电容为2个10000μF/450 V电容串联;系统线电压为380 V/50 Hz。

PWM参数为开关频率6 k Hz,死区时间5μs。为减少器件开关对输出的抖动,采用中断的CPU处理方式,以保证数据采集与PWM周期同步。用TDS2014型4通道示波器对波形进行实时记录。

图5给出了指令电流为40 A(有效值)时实验平台对PWM整流器输出电流实时控制的稳态结果。从图中可以清楚看出,电力电子实时仿真综合平台对PWM整流器的电流流向实现了精确控制,可实现容性无功或感性无功的产生;同样也可控制PWM整流器工作于整流或逆变状态,实现能量的双向流动,从而实现PWM整流器的四象限运行控制。

图6是用FLUKE434测试输出无功电流时的电流波形结果。图7是指令电流动态变化时系统瞬时响应的实验结果。

从图6可以看出,PWM整流器输出无功电流相序正确,频率通过相位控制和电网保持一致,电流谐波含量非常低,波形已经接近正弦。

图7表明,PWM整流器的输出电流响应仅为数毫秒,没有明显的振荡调整过程,反映出实验平台对PWM整流器的控制具有良好的性能。

4 结语

光电经纬仪实时可视化仿真系统 篇8

通过系统仿真的方法对光电经纬仪的工作过程进行模拟,可对实际系统的使用、测试、分析与设计产生积极的意义。目前,对经纬仪的仿真包括视景仿真与模型数值仿真。前者多为半实物仿真:首先通过相关三维视景软件开发场景仿真系统,渲染出包含目标、背景的运动场景;然后通过相关接口将实际系统的方位和俯仰角度信息传递给场景仿真系统,用于控制场景中的视点姿态,使得目标位于场景中心从而模拟跟踪过程。这类仿真多用于操作手训练[1]和经纬仪测试[2],通过虚拟场景代替外场实验极大地节约了训练和测试的成本,且十分灵活,但其不足之处在于:仿真中还是要接入实际系统,代价还是比较高昂;二是缺少对系统跟踪控制特性的模拟,达不到系统仿真的目的,无法进一步对系统的分析和设计起到作用。模型数值仿真一般是通过matlab/simulink建立经纬仪跟踪控制系统的数学模型进行仿真,是对跟踪控制系统进行分析和设计的主要手段,不足之处在于缺少视觉效果,不具有直观性。

本文研究的经纬仪实时可视化仿真系统是上述视景仿真和模型数值仿真的一种结合:通过实时三维视景仿真软件Multi Gen-Vega及Open GL开发了场景仿真平台,实时渲染出运动场景;通过用Open GL着色语言(GLSL)编写的着色器为场景实时添加仿真所需图像效果;建立了经纬仪跟踪控制系统simulink模型,并通过Real-Time Workshop(RTW)生成模型代码,对代码进行改写最终生成跟踪状态解算模块;手动跟踪时,操作手拉动单杆驱动场景中视点姿态进行目标跟踪;自动跟踪时,仿真系统获取目标脱靶量信息,并传递给跟踪状态解算模块得到跟踪状态,模拟经纬仪跟踪过程。

1 仿真系统总体结构

对于经纬仪实时可视化仿真系统,虚拟目标运动场景的实时渲染、场景中所需图像效果的实时添加、符合经纬仪跟踪控制系统特性的跟踪过程模拟是三个最主要的部分。在对以上三部分的关键技术的研究的基础上,结合实际经纬仪工作过程,设计的仿真系统的功能总体结构如图1所示,包括了虚拟场景仿真、图像效果添加和跟踪状态解算三个主要模块,以及用户操作界面、系统参数调整、操控台数据读取、跟踪数据显示保存等模块。场景仿真主要是通过Vega和Open GL实时渲染目标运动场景;图像效果添加模块主要是利用着色器为渲染出来的场景实时添加需要的效果,如灰度化场景、模糊、噪声等;跟踪状态解算模块通过传入的脱靶量信息进行解算得到经纬仪的跟踪状态;用户操作界面模块是对实际系统操作界面的模拟,是人机交互的接口;系统参数调整模块让用户可以调整系统各个参数以模拟不同条件下的工作情形;操控台数据读取模块通过计算机串口读取操控台上按钮和单杆的信号供仿真系统使用,手动跟踪时就是利用单杆信号来进行场景视点驱动;数据显示保存模块用来对跟踪情况进行评估与分析。本文将主要对虚拟场景仿真、图像效果添加和跟踪状态解算等关键技术进行研究。

2 虚拟场景仿真

Vega是Multi Gen-Paradigm公司专门针对可视化仿真应用特点而开发出来的实时可视化三维视景仿真软件系统,最基本的功能是驱动、控制和管理虚拟场景。本文使用Vega及其底层Open GL构建了虚拟场景仿真模块。

2.1 虚拟CCD相机

经纬仪系统通过CCD相机对目标进行拍摄,即Vega渲染的场景必须符合CCD相机的成像特性。实际上,Vega渲染虚拟场景是通过其底层Open GL完成的。Open GL使用多种矩阵变换实现从三维场景到二维图像的变换[3,4],一个三维物体模型上的点经过模型矩阵M的旋转、平移和缩放变换,进入像方空间坐标系中,再经过投影矩阵P的投影变换、透视除法及视口变换F获得屏幕二维坐标,其成像过程如图2所示,其成像公式为

只要将摄影测量的成像参数设置到Open GL中的投影矩阵、视口矩阵和模型矩阵中,Open GL与摄影测量的成像过程就完全一致[4]。具体到本系统中的虚拟CCD相机,可如下设置:首先,将CCD相机的焦距f、分辨率(rx,ry)、像素尺寸(sx,sy)(得到窗口尺寸(lx,ly))和视锥体空间位置设置到Open GL视锥体设置函数gl Frustum(left,bottom,right,top,near,far)中,得到如式(2)所示的透视投影变换矩阵P,其中D,d分别为视锥体远、近剪裁面距视点的距离,(x0,y0)为显示窗口左下角坐标;然后将相机拍摄位置(xe,ye,ze)和姿态(A,E)设置到视口变换函数glu Look At(xeye,yeye,zeye,xc,yc,zc,xup,yup,zup)中,(xeye,yeye,zeye)为相机位置(xe,ye,ze);场景中心参考点(xc,yc,zc)为视点朝向上任意一点;向上矢量(xup,yup,zup)通常取(0,1,0)。由此,渲染出来的虚拟场景将符合CCD的成像特性[2]。

2.2 目标轨迹仿真

通过Vega进行场景渲染时可以方便地载入目标三维模型,并可控制三维世界中模型与视点的位置和姿态。得到目标的运行轨迹是模拟运动场景的基础,本系统通过两种方法来实现。

第一种方法是直接根据实际外场实验数据得到轨迹。经纬仪外场实验数据中包含了时间、目标相对仪器的方位角A、俯仰角E以及距离R(测距系统)等,测量模型如图3所示。通过坐标变换可得对应时间下目标在三维世界中的坐标,变换公式如式(3)。其中x轴为正东方向,y轴为正北方向,经纬仪方位角A在正北方向为0。

经过坐标变换后得到了目标空间位置序列,若此序列中时间间隔不符合场景仿真帧率或间隔过长导致场景中目标“跳动”现象,可以对数据进行插值处理,可选用拉格朗日插值或三次样条插值等。

第二种方法是采用直接描述动力学模型作用结果的目标运动模型来设计目标运行轨迹,可将目标运行分为不同阶段,各阶段使用不同的运动模型,如匀速、匀加速、变加速直线运动模型及其它各种运动模型的组合等。采用这种方法的好处是目标轨迹灵活多变,可以设计出满足特定角速度和角加速度要求的目标轨迹。

2.3 目标脱靶量求取

跟踪状态解算模块需要得到目标在场景中的脱靶量来进行解算。在渲染出的虚拟场景中,目标的空间位置、视点的位置和姿态、视场的分辨率及大小均为已知,故可以求出目标在场景中的理论脱靶量。此理论脱靶量既可以用来检验通过图像跟踪算法提取的脱靶量,也可以直接作为跟踪状态解算模块的输入使用。图4为Vega透视投影成像原理图,只有处于视椎体(Frustum)内的物体才会被渲染出来。

不失一般性,可设视点O在世界直角坐标系OX'Y'Z'中为坐标原点(0,0,0),其姿态(即经纬仪方位和俯仰角)为(A,E),目标O1在世界坐标系中的坐标为(x0,y0,z0)。首先,将目标O1在世界坐标系OX'Y'Z'中的坐标转换为视点坐标系OXYZ中的坐标(x1,y1,z1)。视点坐标系相当于将世界坐标系绕Z'轴旋转角度A和绕X'轴旋转角度E,由坐标变换可推出:

由此可得视点坐标系OXYZ下目标与视点连线OO1方程为

视椎体近剪裁面中心点坐标为(0,Nnear,0),其平面方程为

联立式(5)和式(6)可得视点与目标连线与视椎体近剪裁面交点O2(x2,y2,z2)满足:

结合交点O2与近剪裁面中心点的坐标,可以推出脱靶量(Δx,Δy)满足:

其中:W×H为场景分辨率大小,α×β为场景视场大小。

2.4 背景云图模拟

Vega环境效果模块提供了薄云(box clouds),片状云(Hinged clouds)和天顶盒(sky box)等背景云图模型,在Vega渲染中选择不同的云纹理、渲染方式、天空颜色和模型参数等就可以实现各种不同的云图效果。利用粒子系统来模拟背景云图也是一种有效的方法[5],Vega附加的特殊效果模块中就包含有粒子系统,通过设定粒子的数量、生命周期、形状、大小、纹理、颜色和运动方式等就可以模拟出不同的云朵效果。Perlin噪声也可以用来模拟背景云图[6],它是一种伪随机梯度噪声,适合于模拟连续变化的背景,运用下一节阐述的场景图像效果实时添加的方法,编写GLSL着色器为场景添加Perlin噪声,控制好Perlin噪声的各个参数就能模拟出背景云图的效果。

3 实时图像效果添加

为了让渲染出来的场景更符合实际经纬仪场景,需要为仿真场景添加实际经纬仪场景所包含的一些图像效果。如经纬仪CCD所成像为灰度图像,则仿真场景也必须是灰度的;经纬仪光学系统成像后必然存在一定的噪声,则仿真场景也应添加相应的噪声效果;目标对焦不准时存在模糊现象,则仿真场景也要显示出这种模糊效果等。单纯利用Vega的功能模块无法实现上述的图像效果添加,必须进行二次开发。简单的考虑是先将帧缓存中的场景读入内存,进行相应图像处理操作后再写回帧缓存中。但这样做的问题是无法满足实时性的要求,原因有两点,一是存在图像数据在帧缓存和内存之间的转移,随着图像尺寸的增大,这将是一份不小的开销;二是普通CPU不适合于进行图像处理运算。

相对CPU,现代图形处理单元(Graphics Processing Unit,GPU)针对图像处理优化了浮点数运算且能进行并行处理,具有强大的图形能力,同时还具有可编程性。本文正是基于这两点,通过GLSL编写着色器实现了对场景所需图像效果的实时添加,具体步骤如下:

1)通过GLSL编写实现相应图像效果的着色器[6]。

2)基于Vega的回调机制,通过其API为场景建立“绘制后”回调函数。Vega使用双缓存模式进行场景渲染,场景先在后缓存中绘制好,然后交换到前缓存显示出来。建立此回调函数后,每当前后缓存将要进行交换时,此函数会被调用,此时场景在后缓存中绘制好了但还未显示在屏幕上,可在此时对场景进行图像处理操作。

3)在回调函数中,通过Open GL相关函数将场景保存为二维纹理。

4)启用着色器,并画与场景同样大小的矩形覆盖场景,应用纹理映射将保存的场景纹理应用到此矩形上。由于启用了着色器,Open GL的固定纹理映射功能将被着色器代替。在完成纹理映射的同时,场景纹理也被着色器进行了相应的处理。纹理映射结束后应暂时禁用着色器,否则会影响到下一帧原始场景的绘制。回调函数结束后,前后缓存交换,显示的就是添加了图像效果的场景了。

以上利用GLSL编写的着色器对场景纹理进行处理的过程由GPU完成,实时性得到了保证。

4 跟踪状态解算

跟踪状态解算模块是根据仿真系统送来的目标脱靶量信息进行解算,得到经纬仪相应的跟踪状态。首先为实际经纬仪跟踪控制系统建立其matlab/simulink仿真模型,接下来的工作就是要在仿真系统中实现对simulink模型的调用以进行仿真运算得到跟踪状态。调用simulink模型最简单的方法是使用matlab引擎库的方法,在仿真系统主程序中包含相应的matlab库文件即可方便地调用simulink模型进行解算。但使用这种方法时,matlab在后台运行造成效率低下,且调用方式不灵活,做了许多不需要的运算,无法满足仿真系统实时性的要求。

RTW是matlab/simulink的一个重要的补充功能模块,它是一个基于simulink的代码自动生成环境。它能直接从simulink模型产生优化的、可移植的代码[7]。因此可以用RTW来完成仿真系统主程序与经纬仪跟踪控制系统simulink模型之间的混合编程。

首先,通过RTW生成系统模型的C代码。在进行生成之前,需要根据仿真需求,仔细设置RTW各个选项和配置:选择定步长解算方式、选择合适的解算器类型和步长、选择合适的优化选项等;为了可以在仿真运行时在线调整系统模型的各个参数,将需要调整的参数设为全局变量。生成的代码中包含了众多的C文件和头文件,其中最重要的是model.c和model.h两个文件(model为simulink模型名),它们包含了模型进行仿真运算的主要代码。按仿真需求对这些文件进行改写,使得其可以接收仿真主程序送来的脱靶量输入信号,并能将每一个步长的解算结果返回给仿真程序。为了简化程序结构,可将这些文件生成为动态链接库供仿真主程序调用,由此形成了跟踪状态解算模块。实验表明,此解算模块进行解算得到的结果与直接在matlab下运行simulink模型得到的结果是一致的。同时,在仿真系统中使用此基于优化代码构建的解算模块进行解算,计算量小速度快,满足实时性要求。

5 仿真系统实现

5.1 系统硬件结构

结合图1的系统总体功能结构,本着经济实用、简化结构的原则,建立了如图5所示的系统硬件结构和实际物理平台,由操控台、一台配备两显示器的主控计算机(配备可编程GPU),和其它一些辅助设备组成。一台显示器用于显示用户操作界面,另一台显示虚拟场景。操控台仿制实际系统操控台,其按钮和单杆信号通过串口传递给主控机。

5.2 仿真系统实现

基于VC++、Vega、Open GL及GLSL开发出经纬仪实时可视化仿真系统。图6所示为仿真系统模拟飞机起飞过程的某一帧的虚拟场景,由显示器2显示。虚拟场景分为4个区域,1至4号区域分别为经纬仪探测视场、粗跟踪视场、精跟踪视场和模型显示视场。前3个区域模拟了各视场中目标运动画面,并且都添加了灰度化、噪声和模糊等效果;模型显示视场则显示了系统跟踪目标时机架的转动情形。根据所仿真的经纬仪系统的实际情况,虚拟场景的组成也可进行相应的调整,如只有粗跟踪视场而没有精跟踪视场。

仿真系统运行时,虚拟场景的显示状态根据用户操作界面设置及操控台信号进行调整,如各个视场的大小、添加的CCD噪声效果的大小等。场景中目标运动轨迹按2.2节中的方法进行设定,视点姿态即经纬仪方位和俯仰角的设定则分为手动跟踪模式和自动跟踪模式。

手动跟踪模式下,系统读取操控台单杆信号驱动视点姿态,操作手操纵单杆使目标尽量位于视场中心,此过程可用来进行操作手训练。在我们的仿真系统中,还将单杆信号与经纬仪转速之间的关系拟合为不同的二次、三次或分段线性函数等,从而为操作手模拟出不同的单杆操作特性。

自动跟踪模式即为经纬仪跟踪模式,视场中视点姿态不再由单杆信号决定,而是取决于跟踪状态解算模块。仿真系统通过相关图像处理算法或2.3节中的脱靶量提取方法获取前一帧或几帧场景中目标的脱靶量信息,并传递给仿真解算模块进行解算,得到经纬仪跟踪状态返回给仿真系统,用于当前帧场景中视点姿态的设置。图6就是利用跟踪状态解算模块进行跟踪模拟的一帧图像,符合实际系统对目标进行跟踪的情形,达到了系统可视化仿真的目的。

除了以上进行经纬仪工作过程可视化仿真和操作手训练,本仿真系统还能为实际系统的相关测试和分析设计起到积极的作用。几种典型的扩展应用如下:

跟踪性能和精度测试:经纬仪常常需要测试在特定角速度和角加速度下的跟踪性能及精度,利用本仿真系统中的目标轨迹仿真,可以生成满足任意角速度和角加速度要求的运动轨迹供经纬仪进行跟踪测试,相比常用的旋转靶标测试方法[8],不仅更加方便快捷且不受靶标结构的限制,可以让目标的角速度和角加速度同时满足特定的测试要求。

图像处理算法测试:经纬仪图像处理系统需进行目标提取、目标姿态提取等处理,本仿真系统可渲染生成符合经纬仪跟踪特性的目标运动图像,可以提供给相关图像处理算法进行测试。

控制系统分析设计:本仿真系统中跟踪状态解算模块所用模型是根据实际经纬仪跟踪控制系统建立的,在仿真场景中可以直观观察到不同控制算法和参数条件下的跟踪状态变化情况,可根据此跟踪状态对控制算法及参数进行分析和调整,从而为实际经纬仪跟踪控制系统的分析和设计起到辅助作用。

结束语

本文研究的经纬仪实时可视化仿真系统结合了可视化仿真与模型数值仿真的优点,用Vega、Open GL及GLSL建立了实时虚拟场景仿真和图像效果添加模块,用RTW生成了系统模型代码并建立了实时跟踪状态解算模块,模拟出来的经纬仪工作过程比较符合实际情况。相比于以往的模拟训练方法,本仿真系统只需接入操控台而不需接入实际系统就能进行操作手训练,进一步节约了训练成本且更加灵活。同时,仿真场景中可以直观地观察到各种不同条件的跟踪情况,为实际系统的跟踪性能和分析设计起到辅助作用,这也是今后工作的方向和重点。

参考文献

[1]于正林,谭微,姜涛.基于视景仿真的光电经纬仪模拟训练器[J].吉林大学学报:工学版,2011,41(2):509-513.YU Zheng-lin,TAN Wei,JIANG Tao.Training simulator for photoelectric theodolite based on visual emulation[J].Journal of Jilin University:Engineering and Technology Edition,2011,41(2):509-513.

[2]张勇,蒋平,吴钦章.经纬仪测试场景仿真系统研究[J].光电工程,2009,36(3):39-45.ZHANG Yong,JIANG Ping,WU Qin-zhang.Virtual Test Simulation System for Theodolite[J].Opto-Electronic Engineering,2009,36(3):39-45.

[3]Dave Shreiner,The Khronos OpenGL ARB Working Group.OpenGL Programming Guide Seventh Edition[M].United States:Pearson Education,Inc,2010.

[4]苏国中,郑顺义,张剑清,等.OpenGL模拟摄影测量方法研究[J].中国图象图形学报,2006,11(4):540-544.SU Guo-zhong,ZHENG Shun-yi,ZHANG Jian-qing,et al.How to Relate the OpenGL Imaging Process with Exterior and Interior Parameters of Photogrammetry[J].Journal of Image and Graphics,2006,11(4):540-544.

[5]唐凯,康凤举,褚彦军.Vega中云的仿真方法[J].系统仿真学报,2005,17(9):2051-2053.TANG Kai,KANG Feng-ju,CHU Yan-jun.Cloud Simulation in Vega[J].Journal of System Simulation,2005,17(9):2051-2053.

[6]Randi J Rost.OpenGL着色语言[M].北京:人民邮电出版社,2006.

[7]樊晓丹,孙应飞,李衍达.一种基于RTW的实时控制系统快速开发方法[J].清华大学学报:自然科学版,2003,43(7):895-898.FAN Xiao-dan,SUN Ying-fei,LI Yan-da.Rapid development of real-time control system in C++based on RTW[J].Journal of Tsinghua University:Science and Technology,2003,43(7):895-898.

上一篇:绩效考核系统的开发下一篇:投资消费结构