概述
代数环:在数字计算仿真中,当输入信号直接取决于输出信号,同时输出信号也直接取决于输入信号,由于数字计算的时序性,会出现由于没有输入无法计算输出,没有输出也就无法得到输入的“死循环”,就是代数环。
在AMEsim中,当前输出依赖于当前时刻的输入的模块为“直接馈入模块”,所有其他模块称为“非直接馈入模块”。对于直接馈入模块,如果输入口没有输入信号,则无法计算该模块的输出信号。
即,模型的输出直接反馈到模型或子系统的某个输入端,如果这个模型是直接馈入的,则在同一时刻,“输出”与“输入”值都要进行求解,但是又需要对方先求解出来,互相依赖,但是哪一方都不能完成求解,使得计算过程无法进行,形成了代数环。
在下列两种情况下,系统模型中会产生代数环:
1.具有直接馈入特性的模块的输出口直接由此模块的输出驱动;
2.具有直接馈入特性的模块的输入口由其他具有直接馈入特性的模块所构成的反馈回路间接驱动。
解决办法:
方法一:打断反馈回路中的直接馈入,消除信号直接同一时刻求解的状况。或者替换、重构直馈回路,消除代数环。
例如,在直接馈入的回路中添加时间延时模块(delay)。也可采用其他打断直馈回路的方法。
方法二:
按“代数环”的概念讲,这两个模型均形成了代数环,但一个可以在AMESIM中求解,一个无法求解,其根本原因是不是因为“代数环”无法计算,而是本身就有错误。
总之,如果在AMESIM中求解时,如果报错出现“Error detected in DASSL”而无法计算时,是因为系统无解,需要仔细检查系统模型自身的问题,也就是说,不管存不在代数环,只要系统有解,在AMESIM中就可以计算。
最后
以上就是迷人大米为你收集整理的AMESIM中代数环的问题-Error detected in DASSL的全部内容,希望文章能够帮你解决AMESIM中代数环的问题-Error detected in DASSL所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复