QQ截图20130914192025.png (75.22 KB, 下载次数: 1) 下载附件 保存到相册 2013-9-14 19:20 上传
就是说变步长会根据模型状态的变化的快慢适当调节步长,也就是相邻仿真计算的时间间隔,这样在保证了一定精度的同时又减少了仿真的次数,从而减小了仿真时间。
对于continuous solver而言,可以人为设定max step size 和min step size,然后计算机自动选择积分步长h进行数值积分。以下是它的仿真solver(ODE表示常微分方法)
image117.jpg (25.74 KB, 下载次数: 6) 下载附件 保存到相册 2013-9-14 17:39 上传
②fixed step(固定步长)
QQ截图20130914192109.png (36.38 KB, 下载次数: 1) 下载附件 保存到相册 2013-9-14 19:21 上传
就是仿真从头到尾用同一个步长。Note:对于continuous solver而言固定步长可以认为任取;而对于dicretesolver而言固定步长可以auto(即仿真帮你取),若人为取必选要遵守和sample time之间的一定关系,下面会有介绍。
Note: 关于simulink中搭建一些 DSP,fpga等外设模块,仿真通过后自动生成代码,可在实际器件上运行时,此时simulation step一定要用fixed step(固定步长)。具体说明见下图:
image121.jpg (12.75 KB, 下载次数: 6) 下载附件 保存到相册
2013-9-14 17:39 上传 ③discretesolver
image123.jpg (5.62 KB, 下载次数: 6) 下载附件 保存到相册 2013-9-14 17:39 上传
image124.png (13.19 KB, 下载次数: 6) 下载附件 保存到相册 2013-9-14 17:39 上传
solver就是discrete算法,就是不断更新discrete block在各离散点的状态,步长的大小是与模型中的sampletime 有密切关系的,
由上面阐述的差分方程可知,差分方程中T采样时间是固定的,对于discrete solver而言不管是variable step 还是fixed step,simulation step(仿真步)必须要有出现在sample time所有的整数倍上,即simulation step的设置必须使simulator在1T、2T、3T要对模型进行计算仿真,以免错过主要状态的转化。
若一个离散仿真模型中具有多个sample time,那么要保证每个模型在其采用时间的1T、2T、3T都能进行仿真,那么最小步长只能取各个仿真时间的公约数,其中最大公约数又称为fundamental sample time,例子如下
假设仿真的离散模型中有两个采样时间T1=2e-6,T2=4e-6那么其公约数为1e-6和2e-6,而fundamental sample time=2e-6
image126.png (14.72 KB, 下载次数: 7) 下载附件 保存到相册 2013-9-14 17:39 上传
若采用fixed step步长,为了不错过模型在每个采样时刻状态的变化,要求simulator的仿真时间必须要包含每一个采样时刻的整数倍,因此其固定步长必须取各个sampletime 的公约数,可以是1e-6或2e-6,若写auto则为fundamental sample time=2e-6,若写出其他步长,则simulation会提示错误。
image129.jpg (6.48 KB, 下载次数: 6) 下载附件 保存到相册 2013-9-14 17:39 上传 上述仿真过程如下:
QQ截图20130914180941.png (10.64 KB, 下载次数: 6) 下载附件 保存到相册 2013-9-14 18:10 上传
箭头表示simulation step,就是simulator在每一个箭头处都会仿真计算一次;圆圈处表示模型采样时刻(sample time)处,其实只有在这一刻离散模型的状态才有可能发生改变,即差分方程的解才有可能发生改变;由上图可见这样设置步长保证了在每个sample time处simulator都进行了仿真。 若采用variable step步长,simulator会根据模型中的各个sample time自动调整步长,以使得仿真时间时刻等于sample time。
image132.png (12.77 KB, 下载次数: 6) 下载附件 保存到相册 2013-9-14 17:39 上传
此时又有一个max step size的限制,若如上图写的是auto,那么上述仿真过程如下:
QQ截图20130914181017.png (10.21 KB, 下载次数: 6) 下载附件 保存到相册 2013-9-14 18:10 上传
可见simulator只在sample time处才进行仿真计算,这样减少了仿真次数,节约了时间。 若max step size=0.7e-6,那么仿真过程又该如何?如下图:
QQ截图20130914181025.png (10.72 KB, 下载次数: 6) 下载附件 保存到相册 2013-9-14 18:10 上传
可见variable step时,即使有人为maxstep size的限制,simulator总会跟踪sampletime。一
般选择auto即可。
⑥关于powergui的作用
image138.png (1.27 KB, 下载次数: 6) 下载附件 保存到相册 2013-9-14 17:39 上传
image141.jpg (11.47 KB, 下载次数: 6) 下载附件 保存到相册 2013-9-14 17:39 上传
image143.jpg (7.4 KB, 下载次数: 6) 下载附件 保存到相册 2013-9-14 17:39 上传
powergui基本上在simpowersystem的仿真中有两个作用:
ⅰ:离散化系统中的一些连续模型,以便simulator采用discrete算法计算,注意:对本来就已经存在的离散模型不起任何作用,如下图:
image144.jpg (6.86 KB, 下载次数: 7) 下载附件 保存到相册 2013-9-14 17:39 上传
powergui的离散sample time为2e-6,而系统中还有离散模块的sample time为4e-6,powergui的离散作用对它没有影响。
ⅱ:提供各种graphical userinterface tools用于分析仿真过程中的信号以及数据(尤其是FFT分析)。