AMESIM中代数环的问题-Error detected in DASSL

本文解释了在数字计算仿真中出现的代数环现象及其解决方法,特别是在使用AMEsim时遇到的问题。介绍了直接馈入模块的概念,并给出了两种有效的解决代数环问题的技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

代数环:在数字计算仿真中,当输入信号直接取决于输出信号,同时输出信号也直接取决于输入信号,由于数字计算的时序性,会出现由于没有输入无法计算输出,没有输出也就无法得到输入的“死循环”,就是代数环。

在AMEsim中,当前输出依赖于当前时刻的输入的模块为“直接馈入模块”,所有其他模块称为“非直接馈入模块”。对于直接馈入模块,如果输入口没有输入信号,则无法计算该模块的输出信号。

即,模型的输出直接反馈到模型或子系统的某个输入端,如果这个模型是直接馈入的,则在同一时刻,“输出”与“输入”值都要进行求解,但是又需要对方先求解出来,互相依赖,但是哪一方都不能完成求解,使得计算过程无法进行,形成了代数环。

在下列两种情况下,系统模型中会产生代数环:

1.具有直接馈入特性的模块的输出口直接由此模块的输出驱动;

2.具有直接馈入特性的模块的输入口由其他具有直接馈入特性的模块所构成的反馈回路间接驱动。

解决办法

方法一:打断反馈回路中的直接馈入,消除信号直接同一时刻求解的状况。或者替换、重构直馈回路,消除代数环。

       例如,在直接馈入的回路中添加时间延时模块(delay)。也可采用其他打断直馈回路的方法。

方法二:

按“代数环”的概念讲,这两个模型均形成了代数环,但一个可以在AMESIM中求解,一个无法求解,其根本原因是不是因为“代数环”无法计算,而是本身就有错误。 

总之,如果在AMESIM中求解时,如果报错出现“Error detected in DASSL”而无法计算时,是因为系统无解,需要仔细检查系统模型自身的问题,也就是说,不管存不在代数环,只要系统有解,在AMESIM中就可以计算

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值