No BSD License  

Highlights from
EC-SIM 1.1

image thumbnail
from EC-SIM 1.1 by Rasmus Anthin
Design circuits, simulate (steady-state and sweep) and define your own models.

bptest.m
n=nan;
clear j Vo
sch=[0 0 n n n n n n
   0 3+j n n n n n n
   1 2j 0 n n n n 10
   7 2j 2+2j n n n n 100
   8 2+2j 3+2j n n n n 1.6e-6
   -2 3+2j 3+4j n n n n n
   -2 6+4j 6+1.5j n n n n n
   8 3+3j 6+3j n n n n 1.28e-9
   7 3+4j 6+4j n n n n 1e3
   -1 3+3j n n n n n n
   -1 6+3j n n n n n n
   10 3+j 3+2j 6+1.5j n n n n
   -2 6+1.5j 7+1.5j n n n n n
   -3 7+1.5j n n n n n n];
schplot(sch)
net=sch2net(sch);
%[G B C D Is Ibl Vs Vvv Vcv Vcc Voa Vbl]=net2mat(net,0);
%[vn,vbl,ivs,ivv,icv,icc,ioa,ibl]=mat2val(G,B,C,D,Is,Ibl,Vs,Vvv,Vcv,Vcc,Voa,Vbl);
%valplot(sch,vn,ivs,ivv,icv,icc,ioa)

w=logsp(1,1e7);
h=waitbar(0,'Sweeping frequency...');
tic
for i=1:length(w);
   [G B C D Is Ibl Vs Vvv Vcv Vcc Voa Vbl]=net2mat(net,w(i)/2/pi);
   [vn,vbl,ivs,ivv,icv,icc,ioa,ibl]=mat2val(G,B,C,D,Is,Ibl,Vs,Vvv,Vcv,Vcc,Voa,Vbl);
   Vo(i)=vn(4);     %node 4 is the output terminal
   waitbar(i/length(w))
end
toc      %time elapsed when sweeping

close(h)
figure
semilogx(w,20*log10(abs(Vo/10)),'.-')
xlabel('\omega [rad/s]')
ylabel('|H(j\omega)| [dB]')
title('Bode plot')
grid

Contact us at files@mathworks.com