Hi
I was using a laplace_nd function to realize a CTLE block as follows
V(vp) <+ laplace_nd((0.5*(V(INP)- V(INN)))*rl*gmn , hn , hd);
V(vn) <+ laplace_nd((0.5*(V(INN)- V(INP)))*rl*gmn , hn , hd);
whre hn, hd are declared as "real hn[0:2], hd[0:3];"
It worked well without any sort of convergence difficulties in bot AC and transient simulations. But since I wanted to change the values of hn and hd in between the transient simulation, I changed the laplace_nd function into equivalent differential equation as given below
V(vp) <+ ((0.5*gmn*rl*(hn[0]*V(vip)+hn[1]*V(vipd)+hn[2]*V(vipdd)))-hd[1]*V(vpd)-hd[2]*V(vpdd)-hd[3]*V(vpddd))*(1/hd[0]);
V(vn) <+ ((0.5*gmn*rl*(hn[0]*V(vin)+hn[1]*V(vind)+hn[2]*V(vindd)))-hd[1]*V(vnd)-hd[2]*V(vndd)-hd[3]*V(vnddd))*(1/hd[0]);
where
V(vip) <+ V(INP)- V(INN);
V(vin) <+ V(INN)- V(INP);
V(vipd) <+ ddt(V(vip));
V(vipdd) <+ ddt(V(vipd));
V(vind) <+ ddt(V(vin));
V(vindd) <+ ddt(V(vind));
V(vpd) <+ ddt(V(vp));
V(vpdd) <+ ddt(V(vpd));
V(vpddd) <+ ddt(V(vpdd));
V(vnd) <+ ddt(V(vn));
V(vndd) <+ ddt(V(vnd));
V(vnddd) <+ ddt(V(vndd));
The modified model showed exactly same AC response without any convergence difficulties. But it is showing convergence difficulties in transient simulations of same conditions (blowup parameter of nature Voltage was increased to accommodate high values coming to third derivative terms in the differential equation). How can I make the differential equation as convergable as the laplace_nd function.
Thanks and Regards
Quilon