$B@0N.2sO)$N4J0W%7%_%e%l!<%7%g%s(B

$B#1!K(B
$B$$$D$b%0%i%UIA2h$K;HMQ$7$F$$$k$@$1$N%(%/%;%k$X$NF~Lg$b7s$M$F(B
$B!V(BExcel$B$G3X$V!!?.9f2r@O$H?tCM%7%_%e%l!<%7%g%s!W(B
$B=BC+F;M:!&EOn4H,0l!!6&Cx!!(B Ohmsha$B!J%*!<%` $B$r9XF~$7$?(B

$B4pACE*$J(BC$B!&(BR$B!&(BL$B2sO)$N%7%_%e%l!<%H$,]$G8eH>$K(B
$B4pACE*$J%*%Z%"%s%W2sO)$K$D$$$F$b>/$7=R$Y$F$"$k!JBg3X(B1$BG/8~$1!)!K(B

$B$B$K%(%/%;%k$r;H$&$H$$$&$N$,(B
$B$3$NK\$N
$B$3$l$+$i2<$K=q$/;v$bF1$8 $BL^O@!"K\$r$=$N$^$^0zMQ$7$?$N$G$OL5$/$F(B206$B%Z!<%8$+$iBj:`$rF@$F=q$$$?(B


$B:8$N%@%$%*!<%I$r4^$`@0N.2sO)$rDq93$GCV$-49$($F(B
$B$b$H$N%5%$%sGH$N2GH%5%$%sGH$,F~NO$G(B
Vin>Vc($B%3%s%G%s%5$NEE05(B)$B$J$i$P(BR1=3$B&8$NDq93(B
Vin<=Vc($B%3%s%G%s%5$NEE05(B)$B$J$i$P(BR1=100K$B&8$NDq93(B
$B$H8+$J$7$F1&$N2sO)$G6a;w$7$F9M$($k(B
$B!J%@%$%*!<%I$N=gJ}8~EE059_2<$J$I9MN8$7$FL5$$!K(B

R1$B$rN.$l$kEEN.$r!!(BI
C$B$rN.$l$kEEN.$r!!(BI1
RL$B$rN.$l$kEEN.$r!!(BI2
$B$HCV$/$H(B

I=I1+I2
I=(Vin-Vc)/R1
Vc=(1/C)$B!&"i(BI1dt
I2=Vc/RL

$B$3$l$+$i(BI2$B$r>C5n$7$F(B
Vc=(1/C)$B!&"i(BI1dt$B!!!J@QJ,$O;~9o(B0$B$+$i8=:_$^$G!K!!(B---(1)
I1=(Vin-Vc)/R1-Vc/RL$B!!(B---(2)
$B$3$3$G(BR1$B$O(BVin$B$H(BVc$B$NBg>.4X78$G$=$NCM$rJQ2=$5$;$k(B

$B%*!<%=%I%C%/%9$K$O<0(B(1)$B$rHyJ,$7$FHyJ,J}Dx<0$r:n$C$F2r@O$9$k$N$@$,(B
Excel$B$@$HA22=<0$NCM$r $B!JJT=8"*%U%#%k"*O"B3%3%T! $B!!!!(B(1)$B!!@QJ,$rN%;6OB$GCV$-49$($k(B
$B!!!!(B(2)$B!!<0(B(1)$B$G@QJ,$r0l$DA0$NN%;6;~9o$^$G$NOB$GBeMQ$7$F(B
$B!!!!!!!!(B $B1"8x<0$K$J$k$N$rHr$1$k(B

$B$H$$$&$3$H$GI=7A<0$G5a2r$9$kJ}K!$,>e5-$NK\$NKX$IA4$F$NLdBj$K(B
$BBP$9$kJ}?K$G$9(B

$B$D$^$j<0(B(1),(2)$B$rN%;62=$7$F(B($B@QJ,$NN%;62=4V3V!'-y(Bt)
Vc(n)={ I1(0)+I1(1)+$B!&!&!&(B+I1(n-1) }$B!&(B($B-y(Bt/C)$B!!(B---(3)
I1(n)={Vin(n)-Vc(n)}/R1-Vc(n)/RL ---(4)

$B$5$i$KA22=<0$N7A<0$G(B(3)$B$r=q$-49$($F(B
$B=i4|CM!!(BVc(0)=0,I1(0)=0$B!!$G=PH/$7$F(B
n=1,2,3$B!&!&!&$N;~$O(B
Vc(n)=Vc(n-1)+I1(n-1)$B!&(B($B-y(Bt/C)
$B!!!!!!(B =Vc(n-1)+I1(n-1)/(C/$B-y(Bt) ---(5)
$B$H(B
I1(n)={Vin(n)-Vc(n)}/R1-Vc(n)/RL ---(6)
$B$H$7$F;~9o(B n $B$K$*$1$k%3%s%G%s%5EEN.(BI1(n)$B$rF@$F(B
$B0J8e(B $B<0(B(5),(6)$B$r7+$jJV$7$F2sO)$r%7%_%e%l!<%H$7$F$f$/(B

$B$7$+$7<0(B(5)$B$r8+$l$PL@$i$+$J$h$&$KHV9f$:$i$7$r(B
$B=|$1$PHyJ,J}Dx<0$r(BEuler$BK!$G2r$$$F$k$N$HF1$8$@(B
(5/21)

2$B!K(B
Windows98$B0J9_$@$H!"$J$s$i$N%$%s%9%H!<%k:n6H$b$$$i$:(B
$BC/$G$bB(;H$($k%W%m%0%i%_%s%08@8l(BWSH$B"b(BBASIC$B8@8l$r(B
http://homepage1.nifty.com/th3/wsh.htm
$B$G>R2p:Q$_$J$N$G(BWSH$B$r;H$C$F#1!K$N(Balgorithm$B$r=q$/$H(B
$B2<$N$h$&$G$"$k(B

rem ************** initialize ********************
dim vin(1000),ic(1000),vc(1000)

n=1000
ic(0)=0
vc(0)=0

rfw=3
rrv=100000
RL=100
c=10

rem ************** input ********************
pi=3.141592653589793
for i=0 to n-1
   x=14*sin(2*pi*5/n*i)
   if x<0 then x=0
   vin(i)=x
next

rem ************** algorithm ********************
for i=1 to n-1
   vc(i)=vc(i-1)+ic(i-1)/c
   if (vin(i)>vc(i)) then
      ic(i)=(vin(i)-vc(i))/rfw-vc(i)/RL
   else
      ic(i)=(vin(i)-vc(i))/rrv-vc(i)/RL
   end if
next

rem ************** save to file ********************
set fs=CreateObject("Scripting.FileSystemObject")
set f1=fs.CreateTextFile("rect_sin.csv",true)

for i=0 to n-1
  f1.writeline(i&","&vin(i)&","&vc(i))
next

f1.close
$B0J>e$,(BWSH$B$G=q$$$?%W%m%0%i%`$G(B
$B$3$l$r%a%bD"$G=q$$$F(Brect.vbs$B$H$$$&L>A0$GJ]B8(B
$B%@%V%k%/%j%C%/$G5/F0$7$FAv$j!"%U%!%$%k(B rect_sin.csv$B$r=PNO(B
$B$^$?(Brect.vbs$B$r1&%/%j%C%/$7$FJT=8$rA*$Y$P=q$-49$($i$l$k(B

$B$[$H$s$I8+$?$^$^$G$9$,Dq93$NBg$-$5$O$=$N$^$^$J$N$K(B
$B%3%s%G%s%5MFNL(B1000$B&L(BF$B$,$J$<(Bc=10$B$K$J$C$F$$$k$N$+$O(B
$B9M$($kI,MW$,$"$k(B

$BF~NO$N(B sin(2*pi*5/n*i) $B$NItJ,$GA[Dj$7$?(B50Hz$B%5%$%sGH!J<~4|(B20$B%_%jIC!K(B5$BGH$r(B
1000$B8D$NG[Ns$K(B $BF~$l$F$$$k$N$G(B1000$B8D$NG[Ns$NAm =100$B%_%jIC(B=0.1sec$B$G$"$k(B
$B$3$l$O;~4V$N%o%s%9%F%C%W(B
$B-y(Bt=0.1sec/1000=0.1$B%_%jIC$H$$$&;v(B

$B$=$l$G!"(BC=1000$B&L(BF$B!"-y(Bt=0.1msec$B$@$H(B
C/$B-y(Bt=1000$B!_(B10^(-6)/(0.1$B!_(B10^(-3))=10
$B$=$l$G=i$a$+$i(BC/$B-y(Bt=c=10$B$H$7$F%3!<%G%#%s%0$7$F$"$k(B

$BF~Lg

$B0lHL$K(B
pi=3.141592653589793
n=1000
nw=5
for i=0 to n-1
v(i)=sin(2*pi*nw/n*i)
next
$B$H$9$k$H(B1000$B8D$NG[Ns(Bv( )$B$K(Bnw=5$BGH$N@589GH$,=q$-9~$^$l$k(B
$B$3$l$r(B50Hz$B$NGH$N0lIt$@$HA[Dj$9$k$H(B$B0lGH$G(B1/50=20*10^(-3)$BIC$@$+$i(B
20*10^(-3)*nw$BIC$,(Bn=1000$B8D$NG[Ns$KF~$k!#$=$l$GG[Ns$N;~4V4V3V(B
$B-y(Bt=20*10^(-3)*nw/n

$B7W;;7k2L$,%U%!%$%k(Brect_sin.csv$B$K=q$-=P$5$l$k$N$G(B
$B$3$l$r(B $B%0%i%U2=$7$F2<$rF@$k(B


3$B!K(B
$B%(%/%;%k$GF1$8;v$r$d$C$F$_$k!#;2>H(Bhttp://homepage1.nifty.com/th3/xls.htm

$B$^$:(B4$B9TL\$^$G$O(B$BJ8;z$H?tCM(B$B$rF~NO$7$F$*$/(B
A5$B$K(B1$B$r=q$$$?8e$G(BA4$B$+$i(BA1004$B$^$G%I%i%C%0$7$F(B
$BJT=8"*%U%#%k"*O"B3%G!<%?$N:n@.$H$7$FHV9f(B0$B$+$i(B1000$B$^$G$r:n$k(B

B5$B$K!!(B=$B$2*SIN(2*PI()*A5*$A$2/1000)$B!!$rF~NO$7$F%(%s%?!<%-!<$r2!$9(B
C5$B$K!!(B=IF(B5>=0,B5,0)$B!!$rF~NO$7$F%(%s%?!<%-!<$r2!$9(B
D5$B$K!!(B=IF(C5>G5,$D$2,$E$2)$B!!$rF~NO$7$F%(%s%?!<%-!<$r2!$9(B
E5$B$K!!(B=(C5-G5)/D5-G5/$C$2$B!!$rF~NO$7$F%(%s%?!<%-!<$r2!$9(B
F5$B$K!!(B=E4+F4$B!!$rF~NO$7$F%(%s%?!<%-!<$r2!$9(B
G5$B$K!!(B=F5/$F$2$B!!$rF~NO$7$F%(%s%?!<%-!<$r2!$9(B
$B!JA4$FEy9f$b4^$a$FF~NO$9$k!"%?%V%-!<$NJ}$,NI$+$C$?$+$b!K(B

B5$B$+$i(BG5$B$^$G%I%i%C%0$7$FA*Br!#(BG5$B1&2<$K=P8=$9$k%U%#%k%O%s%I%k!J9u==;z!K$r(B
$B%I%i%C%0$7$F(B1004$B9TL\$^$GA*Br$7$F(B
$B!J%I%i%C%0$;$:L>A0%\%C%/%9$K(BB5:G1004$B$H=q$$$F%(%s%?!<$G$bA*Br$G$-$k(B)
$BJT=8"*%U%#%k"*2
$BL>A0%\%C%/%9$K(BB4:B1004$B$H=q$$$F%(%s%?!<$7$F(B
$BL>A0%\%C%/%9$K(BG4:G1004$B$H=q$$$F(BCtrl$B%-!<$r:8$B%(%s%?!<$7$F(B
$BHt$SCO$G$"$kN>
$B%0%i%U%&%#%6!<%I$G@^$l@~$G%0%i%U2=$7$?$N$,2<(B



4$B!K(B
$B$3$l$^$?0JA0$K(B
http://homepage1.nifty.com/th3/blue_backs_spice.htm
$B$G>R2p$7$?(B
$B9VCL $B$G(Bdefault$B$N%@%$%*!<%I$r;H$C$F%7%_%e%l!<%H$9$k$H(B
$B!J

$B$F$J46$8$G$"$k(B

$BN)$A$"$,$j$,5^$G(Bmax$B$,(B13V$B$/$i$$$"$k!#%j%C%W%k$NI}$O$I$N%7%_%e%l!<%7%g%sCM$b(B
$B$[$\(B2V$B$G$"$C$F$$$k$,=gJ}8~$NEE059_2<$r9MN8$7$F$J$$4J0W%7%_%e%l!<%7%g%s(B
$B$NJ}$,(Bmax$B$NEE05CM$,Dc$$$N$O$J$
2002$BG/(B5$B7n(B19$BF|!!F|MK!!(Bup
$B%H%C%W%Z!<%8$XLa$k(B