投稿者:大熊 正
投稿日:2009年 2月 9日(月)12時12分3秒
|
|
|
大熊です。
前回投稿したのですが、4X4行列が対称でないのが気に食わず、
5x5にし、そのうち4X4は対称で、5行目に一括して増幅器
の増幅度Kの関係を入れるように改良しました。
このようにすれば、入力ミスが少なく、後はマトリクスが自動で
答えを出してくれる・・・??。
敬具。
10 OPTION ARITHMETIC COMPLEX
LET j=SQR(-1)
OPTION BASE 1
OPTION ANGLE DEGREES
DIM FREQ(100,5)
LET FREQ(1,1)=10
LET FREQ(2,1)=12.25
LET FREQ(3,1)=15
LET FREQ(4,1)=17.32
LET FREQ(5,1)=20
LET FREQ(6,1)=24.5
LET FREQ(7,1)=30
LET FREQ(8,1)=34.6
LET FREQ(9,1)=40
LET FREQ(10,1)=50
LET FREQ(11,1)=60
LET FREQ(12,1)=70
LET FREQ(13,1)=80
LET FREQ(14,1)=90
FOR I=1 TO 14
LET P=I
LET FREQ(I,1)=FREQ(P,1)
NEXT I
FOR I=15 TO 28
LET P=I-14
LET FREQ(I,1)=FREQ(P,1)*10
NEXT I
FOR I=29 TO 42
LET P=I-28
LET FREQ(I,1)=FREQ(P,1)*100
NEXT I
FOR I=43 TO 56
LET P=I-42
LET FREQ(I,1)=FREQ(P,1)*1000
NEXT I
LET FREQ(57,1)=100000
! FOR I=1 TO 57
! PRINT "FREQ(";I;",1)=";FREQ(I,1)
! NEXT I
! ┌─C2─┬──────┐ 「注意」
! │ │ ┌──┐ │ 山中さんの回路と
! │ └─┤- │ │ 1番端子番号が
! │ │ K├─⑤─小さい。
! ┌─①─R1─②─R2─③─R3─④─┤+ │ ↑ V5
! ↑ ↑V1 ↑V2 ↑V3 ↑V4└──┘ │
! Is Rs C1 C3 │
! ↑ │ │ │ │
! ┴─0───┴───────┴──────┴─
! │
! ≡アース
! GND=0 !アース
! V1=1V !入力端子① Rs=0.1オームに定電流源Is から10A流して1V。
! V5=⑤ !出力端子⑤ V5=K*V4
20 ! CR 3段回路
LET FF=1000 !Fの単位はヘルツ
LET R1=51000 !Rの単位はオーム
LET R2=82000
LET R3=39000
LET C1=0.00685/(10^6) !Cの単位はuF,
LET C2=0.022/(10^6) !Cの単位はuF,
LET C3=330/(10^12) !Cの単位はPF,
LET Y1=(2*PI*FF*C1) !Yの単位はモー
LET Y2=(2*PI*FF*C2)
LET Y3=(2*PI*FF*C3)
LET ω=(2*PI*FF)
LET Rs=0.1 !Rsの単位はオーム ①とアースに入れる。
LET IS=10 !Isの単位はアムペア Rsを1Vにする。
LET NP=5
DIM A(NP,NP)
DIM T(NP,NP)
DIM EOUT(NP,1)
DIM B(NP,1)
LET K=1
!*********** データーと計算方法*****************
!方法-1
! ミルマンの定理やキルヒホッフの法則なぞを多用、直接解く。
!方法-2B
! 回路の①端子とアース間に0.1オームの抵抗、アドミッタンスGsをとつける。
! 電流源 10A を入力にして①端子とアース間の(Gs)に加えて V1を約 1V。
! 以下は、想定の回路につなげ、端子間のアドミッタンスを考え節点方程式。
! ①ー②にR1,②ー③にR2,②ーアースに容量C1,③ー④にR3,④ーアースに容量
! C3、C3の電圧V4を増幅器に入力。⑤にはV5=K*V4の電圧がでる。
! ③に増幅器の出力V5を、⑤から容量C2で ③に正帰還,・・・ V5=K*V4
! ②端子の電圧をV2,③端子の電圧をV3,④端子の電圧をV4,⑤端子の電圧をV5
! 総てアドミッタンスで計算。
! ①①,②②,③③,④④等 Gij(i=j)はその節点に接続されるアドミッタンス和
! ①-②, ②-③ 等 Gij(i?j)は接続されてるアドミッタンスに-1を掛けて代入
! Ampを除き、要素のみを考えると対称行列になり,ノードの数が行列の大きさ
! 行列は 5x5 で4x4 の部分は対称に成る。 これが利点。
! 行列の 5行目に E5=K*E4の関係をいれる。これが利点。
! Kは A(5,4)=-K A(5,5)=1 B(5,1)=0 で増幅器の出力を関係付ける。
! 最終の行列は 5x5 の非対称に成るが、Kが直接指定できる利点があるようだ
! 結果はKの値に敏感で K=0.9875~1.0125までで、K=1 が最適。
!方法-3
!文献や投稿を参照
!***********************方法-2Bの計算 今回はこれで挑戦*****************
FOR K=0.9875 TO 1.0125 STEP 0.0125 !KはAMPのゲイン。
FOR P=1 TO 57
LET FF=FREQ(P,1)
LET ω=(2*PI*FF)
LET A(1,1)=(1/Rs)+(1/R1) !①①端子のアドミタンスの合計
LET A(1,2)=-(1/R1) !①②端子のアドミタンスの -1
LET A(1,3)=0
LET A(1,4)=0
LET A(1,5)=0
LET A(2,1)=-(1/R1)
LET A(2,2)=(1/R1)+(1/R2)+ω*C1*j !②②端子のアドミタンスの合計
LET A(2,3)=-(1/R2)
LET A(2,4)=0
LET A(2,5)=0
LET A(3,1)=0
LET A(3,2)=-(1/R2)
LET A(3,3)=(1/R2)+(1/R3)+ω*C2*j!③③端子のアドミタンスの合計
LET A(3,4)=-(1/R3) !A(4,3)と値が同じくし対称行列にする。
LET A(3,5)=-ω*C2*j
LET A(4,1)=0
LET A(4,2)=0
LET A(4,3)=-(1/R3) !A(3,4)と値が同じくし対称行列にする。
LET A(4,4)=(1/R3)+ω*C3*j !④④端子のアドミタンスの合計
LET A(4,5)=0
LET A(5,1)=0
LET A(5,2)=0
LET A(5,3)=0
LET A(5,4)=-K ! ここにKの値を入れ V5=K*V4 を反映。
LET A(5,5)=1 ! ここに1の値を入れ V5=K*V4 を反映。
LET B(1,1)=10 ! 電流源から10Aを流す。①端子は1V。
LET B(2,1)=0 ! キルヒホッフの法則から ゼロである。
LET B(3,1)=0 ! キルヒホッフの法則から ゼロである。
LET B(4,1)=0 ! キルヒホッフの法則から ゼロである。
LET B(5,1)=0 ! ここに0の値を入れ V5=K*V4 を反映。
MAT T=INV(A)
MAT EOUT=T*B
! PRINT "FF=";FF
! MAT PRINT EOUT
LET EE1=EOUT(1,1)
LET EE2=EOUT(2,1)
LET EE3=EOUT(3,1)
LET EE4=EOUT(4,1)
LET EE5=EOUT(5,1)
PRINT
LET FREQ(P,2)=20*LOG10(ABS(EE5))
! LET FREQ(P,3)=20*LOG10(ABS(EE3))
LET G5=(ATN(IM(EE5)/RE(EE5)))
IF FF>750 THEN LET G5=G5-180
IF G5>0 THEN LET G5=G5-180
LET FREQ(P,4)=G5
! LET G3=(ATN(IM(EE3)/RE(EE3)))
! IF FF>750 THEN LET G3=G3-180
! LET FREQ(P,5)=G3
NEXT P
PRINT "K=";K
PRINT "番号 周波数 E5 E3 θ5 θ3"
FOR I=1 TO 57
PRINT USING "###": I;
PRINT USING " ###,###.#" : FREQ(I,1);
PRINT USING " ####.### dB": FREQ(I,2);
PRINT USING " ####.### dB": FREQ(I,3);
PRINT USING " ####.### 度": FREQ(I,4);
PRINT USING " ####.### 度": FREQ(I,5)
NEXT I
!ここからは、山中様のグラフプログラムを参照。
SET WINDOW 0.5,5.5, -55,5 !表示領域
DRAW grid(1,5) !左端の目盛り
FOR f=1 TO 6 !x軸が対数目盛 f=1 TO 5 で100k まで目盛る。
SET COLOR 1 !1は黒色
PLOT TEXT ,AT f-0.1,+0.15: mid$("10 100 1k 10k 100k ",4*(f-1)+1,4)
NEXT f
FOR f=1 TO 6 !y軸が直線目盛り
SET COLOR 1 !1は黒色
PLOT TEXT ,AT 0.8,-10*(f-1)-2: mid$(" 0 -25 -50 -75 -100-125 ",4*(f-1)+1,4)
NEXT f
FOR I=1 TO 57 STEP 1 !周波数[Hz]
SET COLOR 1
PLOT LINES:LOG10(FREQ(I,1)) ,FREQ(I,2)/2.5; !利得[dB]
NEXT I
PLOT LINES
! FOR I=1 TO 57 STEP 1 !周波数[Hz]
! SET COLOR 5 !5は水色
! PLOT LINES: LOG10(FREQ(I,1)) ,FREQ(I,3)/2; !利得[dB]
! NEXT I
! PLOT LINES
FOR I=1 TO 57 STEP 1 !位相角度[度]
SET COLOR 4 !4は赤色
PLOT LINES:LOG10(FREQ(I,1)) ,0.125*FREQ(I,4); !角度[度]
NEXT I
PLOT LINES
! FOR I=1 TO 57 STEP 1 !位相角度[度]
! SET COLOR 3 !3は緑色
! PLOT LINES:LOG10(FREQ(I,1)) ,0.25*FREQ(I,5); !角度[度]
! NEXT I
! PLOT LINES
FOR f=1 TO 6 !y軸が直線目盛り
SET COLOR 4
PLOT TEXT ,AT 5.1,-10*(f-1)-2: mid$(" 0 -80 -160-240-320-400 ",4*(f-1)+1,4)
NEXT f
PRINT
NEXT K ! ここで,利得 Kを変化させる。
END
|
|
|
投稿者:SECOND
投稿日:2009年 2月19日(木)11時24分57秒
|
|
|
> No.267[元記事へ]
大熊 正さんへのお返事です。
! Rsを付加するのは、良くありません。
! 下の2つの回路は、同じものです。テブナンの定理を。
! ┌─C2─┬──────┐
! │ │ ┌──┐ │
! │ └─┤- │ │
! │ │ ├─⑤─
! ┌─R1─①─R2─②─R3─③─┤+ │ ↑ V5
! ↑ ↑V1 ↑V2 ↑V3└──┘ │
! Vin C1 C3 K=1 │
! │ │ │ │
! 0───┴───────┴──────┴─
!
! |(1/R1)+(1/R2)+ω*C1*j -(1/R2) 0 | |V1| |Vin/R1|
! |-(1/R2) (1/R2)+(1/R3)+ω*C2*j -(1/R3)-K*ω*C2*j| |V2|=| 0 |
! |0 -(1/R3) (1/R3)+ω*C3*j | |V3| | 0 |
!
! ┌─C2─┬──────┐
! │ │ ┌──┐ │
! │ └─┤- │ │
! ┌─────┐ │ │ ├─⑤─
! │ ┌─R1─①─R2─②─R3─③─┤+ │ ↑ V5
! ↑ │ ↑V1 ↑V2 ↑V3└──┘ │
! Is=Vin/R1 │ C1 C3 K=1 │
! ↑ │ │ │ │
! ┴─0───┴───────┴──────┴─
!
! K≒1は、ボルテージフォロアとしての利得で、AMP自体の電圧利得は、10E6 程度に極めて大きい。
! 回路上で、K<>1にするには、
! V5~Amp(-in)間に、減衰器を挿入→ K>1、減衰器出力内部抵抗は、大きくても可。
! V5~C2 間に、減衰器を挿入→ K<1、減衰器出力内部抵抗は、十分に小さい事。
!
OPTION ANGLE DEGREES
OPTION ARITHMETIC COMPLEX
LET j=COMPLEX(0,1)
LET NP=3
DIM FREQ(57,5), A(NP,NP), T(NP,NP), EOUT(NP,1), B(NP,1)
!----
! 周波数10Hz~100KHz、等比ステップ
FOR i=1 TO 57
LET FREQ(i,1)=10^(1+4*(i-1)/56)
NEXT i
!----
! CR 3段回路
LET R1=51000 !Ω
LET R2=82000 !Ω
LET R3=39000 !Ω
LET C1=0.00685/(10^6) !F
LET C2=0.022/(10^6) !F
LET C3=330/(10^12) !F
!----
SET WINDOW 0.5,5.5, -55,5
DRAW grid(1,5)
FOR K=1-0.0125 TO 1.0125 STEP 0.0125
FOR P=1 TO 57
LET ω=(2*PI*FREQ(P,1))
!
LET A(1,1)=(1/R1)+(1/R2)+j*ω*C1
LET A(1,2)=-(1/R2)
LET A(1,3)=0
!
LET A(2,1)=-(1/R2)
LET A(2,2)=(1/R2)+(1/R3)+j*ω*C2
LET A(2,3)=-(1/R3)-K*j*ω*C2
!
LET A(3,1)=0
LET A(3,2)=-(1/R3)
LET A(3,3)=(1/R3)+j*ω*C3
!
LET Vin=1 !1V
LET B(1,1)=(Vin/R1) !電圧源Vin 直列抵抗R1を、電流源Vin/R1 並列抵抗R1 に変形。
LET B(2,1)=0
LET B(3,1)=0
MAT T=INV(A)
MAT EOUT=T*B
LET EE1=EOUT(1,1)
LET EE2=EOUT(2,1)
LET EE3=EOUT(3,1)
!
LET Gv=K*EOUT(3,1)/Vin
LET FREQ(P,2)=20*LOG10(ABS(Gv))
LET Pv=arg(Gv)
IF Pv>0 THEN LET Pv=Pv-360
LET FREQ(P,4)=Pv
NEXT P
!------
!リスト
PRINT "K=";K
PRINT "番号 周波数 E5 θ5"
FOR i=1 TO 57
PRINT USING "###": i;
PRINT USING " ###,###.#" : FREQ(i,1);
PRINT USING " ####.### dB": FREQ(i,2);
PRINT USING " ####.### 度": FREQ(i,4)
NEXT i
!------
!グラフ
FOR f=1 TO 6
SET TEXT COLOR "black"
PLOT TEXT ,AT f-0.1, 1: mid$("10 100 1k 10k 100k ",4*(f-1)+1,4) !x軸 10Hz^100kHz
PLOT TEXT ,AT 0.8,-10*(f-1)-2: mid$(" 0 -25 -50 -75 -100-125 ",4*(f-1)+1,4) !左y軸 0~-125dB
SET TEXT COLOR "red"
PLOT TEXT ,AT 5.1,-10*(f-1)-2: mid$(" 0 -80 -160-240-320-400 ",4*(f-1)+1,4) !右y軸 0~-400°
NEXT f
SET LINE COLOR "black"
FOR i=1 TO 57
PLOT LINES:LOG10(FREQ(i,1)) ,FREQ(i,2)/2.5; !利得[dB]
NEXT i
PLOT LINES
SET LINE COLOR "red"
FOR i=1 TO 57
PLOT LINES:LOG10(FREQ(i,1)) ,0.125*FREQ(i,4); !位相角度[度]
NEXT i
PLOT LINES
NEXT K
END
|
|
|
投稿者:大熊 正
投稿日:2009年 2月20日(金)14時06分15秒
|
|
|
> No.284[元記事へ]
SECONDさんへのお返事です。
> ! Rsを付加するのは、良くありません。
> ! 下の2つの回路は、同じものです。テブナンの定理を。
> !
> ! |(1/R1)+(1/R2)+ω*C1*j -(1/R2) 0 | |V1| |Vin/R1|
> ! |-(1/R2) (1/R2)+(1/R3)+ω*C2*j -(1/R3)-K*ω*C2*j| |V2|=| 0 |
> ! |0 -(1/R3) (1/R3)+ω*C3*j | |V3| | 0 |
> !
> ! ┌─C2─┬──────┐
> ! │ │ ┌──┐ │
> ! │ └─┤- │ │
> ! ┌─────┐ │ │ ├─⑤─
> ! │ ┌─R1─①─R2─②─R3─③─┤+ │ ↑ V5
> ! ↑ │ ↑V1 ↑V2 ↑V3└──┘ │
> ! Is=Vin/R1 │ C1 C3 K=1 │
> ! ↑ │ │ │ │
> ! ┴─0───┴───────┴──────┴─
> !
> LET NP=3
> DIM FREQ(57,5), A(NP,NP), T(NP,NP), EOUT(NP,1), B(NP,1)
> !----
> ! 周波数10Hz~100KHz、等比ステップ
> FOR i=1 TO 57
> LET FREQ(i,1)=10^(1+4*(i-1)/56)
> NEXT i
> !----
>
大熊 です。
お忙しいところ、色々御検討頂きまして有難うございます。
(1)入力にRsが無くてもよいことや、
(2)周波数10Hz~100KHz、等比ステップでプログラムが
簡素に綺麗になることなど勉強させていただきました。
このプラグラムをコピーして、直ぐに動かしました。
綺麗にグラフを描いてくれました。
本当に有難うございます。
今後とも御指導のほどよろしくお願いいたします。
敬具
|
|
|
投稿者:SECOND
投稿日:2009年 2月22日(日)01時18分14秒
|
|
|
> No.284[元記事へ]
!<<付録>>
! トランジスタ1つのエミッタ・フォロアなどを使用する場合、利得Gv が
! 十分でなく、入力のイマジナル・ショート扱いが出来ない場合も、あります。
! Gv=10~100位の小さい時、下図のKで計算します。
! 直列帰還型 Negative.Feed.Back amp
! Gv →∞、K →1 の簡易ベクトル図
! ┌─R1─① ──────→V3
! ↑ → ────→(Ei)+(Ei)*Gv =V3
! Vin (Ei) (Ei)*Gv =V5
! │ K=V5/V3
! 0 ┌───────────┐
! │ ┌──────┐│ ※(Ei)は、
! 同上 C2 │ ┌───┐││ +~-の差分
! │ └─┤- │││
! ┌─────┐ │ (Ei)│利得Gv├┴⑤─
! │ ┌─R1─①─R2─②─R3─③─┤+ │ ↑ V5
! ↑ │ ↑V1 ↑V2 ↑V3└───┘ │
! Is=Vin/R1 │ C1 C3 K=Gv/(1+Gv)│
! ↑ │ │ │ │
! ┴─0───┴───────┴───────┴─
!
! | 1/R1+1/R2+j*ω*C1 -1/R2 0 | |V1| |Vin/R1|
! |-1/R2 1/R2+1/R3+j*ω*C2 -1/R3-K*j*ω*C2| |V2|=| 0 |
! | 0 -1/R3 1/R3+j*ω*C3 | |V3| | 0 |
!
OPTION ANGLE DEGREES
OPTION ARITHMETIC COMPLEX
LET NP=3
LET rss=10 !14 周波数、10倍毎のステップ数
!
DIM FREQ(0 TO rss*4, 4), A(NP,NP), T(NP,NP), EOUT(NP,1), B(NP,1)
!----
! 周波数10Hz~100KHz、等比ステップ
FOR p=0 TO rss*4
LET FREQ(p,1)=10^(1+p/rss)
NEXT p
!----
! CR 3段回路
LET R1=51E3 !Ω
LET R2=82E3 !Ω 51E3 ! 以下、右側の数値でGv=100でも、ほぼ平坦に戻る。
LET R3=39E3 !Ω
LET C1=0.00685E-6 !F 0.0047E-6
LET C2=0.022E-6 !F 0.033E-6
LET C3=330E-12 !F 270E-12
!----
SET WINDOW 0.5,5.5, -55,5
DRAW grid(1,5)
!----
! 目盛り
FOR p=0 TO 5
SET TEXT COLOR "black"
PLOT TEXT ,AT p+0.9, 1 :mid$("10 100 1k 10k 100k", 4*p+1, 4) !x軸 10Hz~100kHz
PLOT TEXT ,AT 0.7,-10*p-2 :mid$(" 0 -25 -50 -75 -100-125", 4*p+1, 4)!y軸 0~-125dB 左
SET TEXT COLOR "red"
PLOT TEXT ,AT 5.1,-10*p-2 :mid$(" 0 -80 -160-240-320-400", 4*p+1, 4)!y軸 0~-400°右
NEXT p
!----
FOR Gv=10 TO 100 STEP 10
LET K=Gv/(1+Gv)
PRINT USING "Gv=### K=.####" :Gv, K
PRINT "番号 周波数 E5 θ5"
!----
FOR p=0 TO rss*4
LET ω=2*PI*FREQ(p,1)
!
LET A(1,1)= 1/R1+1/R2+COMPLEX(0,ω*C1)
LET A(1,2)=-1/R2
LET A(1,3)=0
LET A(2,1)=-1/R2
LET A(2,2)= 1/R2+1/R3+COMPLEX(0,ω*C2)
LET A(2,3)=-1/R3-K*COMPLEX(0,ω*C2)
LET A(3,1)=0
LET A(3,2)=-1/R3
LET A(3,3)= 1/R3+COMPLEX(0,ω*C3)
!
LET Vin=1
LET B(1,1)=Vin/R1
LET B(2,1)=0
LET B(3,1)=0
!
MAT T=INV(A)
MAT EOUT=T*B
!
LET Af=K*EOUT(3,1)/Vin
LET Pf=arg(Af)
IF Pf>0 THEN LET Pf=Pf-360
LET FREQ(p,2)=20*LOG10(ABS(Af))
LET FREQ(p,4)=Pf
!------
!リスト
PRINT USING "### ###,###.# ####.### dB ####.### 度": p, FREQ(p,1), FREQ(p,2), FREQ(p,4)
!------
!グラフ
IF 0<p THEN
SET LINE COLOR "black"
PLOT LINES:LOG10(FREQ(p-1,1)),0.4*FREQ(p-1,2); LOG10(FREQ(p,1)),0.4*FREQ(p,2) !利得[dB]
SET LINE COLOR "red"
PLOT LINES:LOG10(FREQ(p-1,1)),0.125*FREQ(p-1,4); LOG10(FREQ(p,1)),0.125*FREQ(p,4) !位相[度]
END IF
NEXT p
NEXT Gv
END
|
|
|
投稿者:大熊 正
投稿日:2009年 2月22日(日)14時41分46秒
|
|
|
> No.288[元記事へ]
SECONDさんへのお返事です。
> !<<付録>>
> ! トランジスタ1つのエミッタ・フォロアなどを使用する場合、利得Gv が
> ! 十分でなく、入力のイマジナル・ショート扱いが出来ない場合も、あります。
> ! Gv=10~100位の小さい時、下図のKで計算します。
>
> ! 直列帰還型 Negative.Feed.Back amp
> ! Gv →∞、K →1 の簡易ベクトル図
> ! ┌─R1─① ──────→V3
> ! ↑ → ────→(Ei)+(Ei)*Gv =V3
> ! Vin (Ei) (Ei)*Gv =V5
> ! │ K=V5/V3
> ! 0 ┌───────────┐
> ! │ ┌──────┐│ ※(Ei)は、
> ! 同上 C2 │ ┌───┐││ +~-の差分
> ! │ └─┤- │││
> ! ┌─────┐ │ (Ei)│利得Gv├┴⑤─
> ! │ ┌─R1─①─R2─②─R3─③─┤+ │ ↑ V5
> ! ↑ │ ↑V1 ↑V2 ↑V3└───┘ │
> ! Is=Vin/R1 │ C1 C3 K=Gv/(1+Gv)│
> ! ↑ │ │ │ │
> ! ┴─0───┴───────┴───────┴─
> !
> ! | 1/R1+1/R2+j*ω*C1 -1/R2 0 | |V1| |Vin/R1|
> ! |-1/R2 1/R2+1/R3+j*ω*C2 -1/R3-K*j*ω*C2| |V2|=| 0 |
> ! | 0 -1/R3 1/R3+j*ω*C3 | |V3| | 0 |
> !
>
大熊です。
お忙しい所、色色と御指導頂き有難うございます。
スマートなプログラムや方程式の考え方について
勉強させていただいております。
今後ともよろしく御願いいたします。
敬具
|
|
|
投稿者:SECOND
投稿日:2009年 2月23日(月)16時03分38秒
|
|
|
> No.288[元記事へ]
!<<付録2>>
! 節点方程式:キルヒホッフ第1法則 …1点への電流 総和=0
! 網路方程式:キルヒホッフ第2法則 …閉回路の電位差総和=0
! 余計ですが、網路方程式(第2法則)の方を、使った例。
!
! ┌───────────┐
! │ ┌──────┐│
! C2 │ ┌───┐││
! ││i3 └─┤- │││
! │└───┐│利得Gv├┴┼─
! ┌─R1─┬─R2─┴─R3─┬┼┤+ │ ↑ Vout=K*(i2+i3)/(j*ω*C3)
! ↑ ┌→ │ ┌→ │↓└───┘ │
! Vin│i1 C1 │i2 C3 K=Gv/(1+Gv)│
! │ └ │ └ │ │
! 0───┴───────┴───────┴─
!
! | R1+1/(j*ω*C1) -1/(j*ω*C1) 0 | |i1| |Vin |
! |-1/(j*ω*C1) 1/(j*ω*C1)+R2+R3+1/(j*ω*C3) R3+1/(j*ω*C3) | |i2|=| 0 |
! | 0 R3+1/(j*ω*C3) 1/(j*ω*C2)+R3+1/(j*ω*C3)| |i3| |Vout|
! | R1+1/(j*ω*C1) -1/(j*ω*C1) 0 | |i1| |Vin|
! |-1/(j*ω*C1) 1/(j*ω*C1)+R2+R3+1/(j*ω*C3) R3+1/(j*ω*C3) | |i2|=| 0 |
! | 0 R3+1/(j*ω*C3)-K/(j*ω*C3) 1/(j*ω*C2)+R3+1/(j*ω*C3)-K/(j*ω*C3)| |i3| | 0 |
!
OPTION ANGLE DEGREES
OPTION ARITHMETIC COMPLEX
LET NP=3
LET rss=10 !14 周波数、10倍毎のステップ数
!
DIM FREQ(0 TO rss*4, 4), A(NP,NP), T(NP,NP), IOUT(NP,1), B(NP,1)
!----
! 周波数10Hz~100KHz、等比ステップ
FOR p=0 TO rss*4
LET FREQ(p,1)=10^(1+p/rss)
NEXT p
!----
! CR 3段回路 ! (Gv=1000000) ! (Gv=100)
LET R1=51E3 !Ω
LET R2=51E3 !Ω 82E3 ! 51E3
LET R3=39E3 !Ω
LET C1=0.0047E-6 !F 0.00685E-6 ! 0.0047E-6
LET C2=0.033E-6 !F 0.022E-6 ! 0.033E-6
LET C3=270E-12 !F 330E-12 ! 270E-12
!----
SET WINDOW 0.5,5.5, -55,5
DRAW grid(1,5)
!----
! 目盛り
FOR p=0 TO 5
SET TEXT COLOR "black"
PLOT TEXT ,AT p+0.9, 1 :mid$("10 100 1k 10k 100k", 4*p+1, 4) !x軸 10Hz~100kHz
PLOT TEXT ,AT 0.7,-10*p-2 :mid$(" 0 -25 -50 -75 -100-125", 4*p+1, 4)!y軸 0~-125dB 左
SET TEXT COLOR "red"
PLOT TEXT ,AT 5.1,-10*p-2 :mid$(" 0 -80 -160-240-320-400", 4*p+1, 4)!y軸 0~-400°右
NEXT p
!----
FOR Gv=10 TO 100 STEP 10
LET K=Gv/(1+Gv)
PRINT USING "Gv=### K=.####" :Gv, K
PRINT "番号 周波数 Vout/Vin θ"
!----
FOR p=0 TO rss*4
LET ω=2*PI*FREQ(p,1)
!
LET A(1,1)= R1+1/COMPLEX(0,ω*C1)
LET A(1,2)=-1/COMPLEX(0,ω*C1)
LET A(1,3)=0
LET A(2,1)=-1/COMPLEX(0,ω*C1)
LET A(2,2)= 1/COMPLEX(0,ω*C1)+R2+R3+1/COMPLEX(0,ω*C3)
LET A(2,3)= R3+1/COMPLEX(0,ω*C3)
LET A(3,1)=0
LET A(3,2)= R3+1/COMPLEX(0,ω*C3)-K/COMPLEX(0,ω*C3)
LET A(3,3)=1/COMPLEX(0,ω*C2)+R3+1/COMPLEX(0,ω*C3)-K/COMPLEX(0,ω*C3)
!
LET Vin=1
LET B(1,1)=Vin
LET B(2,1)=0
LET B(3,1)=0
!
MAT T=INV(A)
MAT IOUT=T*B
!
LET Af=K*((IOUT(2,1)+IOUT(3,1))/COMPLEX(0,ω*C3))/Vin
LET Pf=arg(Af)
IF Pf>0 THEN LET Pf=Pf-360
LET FREQ(p,2)=20*LOG10(ABS(Af))
LET FREQ(p,4)=Pf
!------
!リスト
PRINT USING "### ###,###.# ####.### dB ####.### 度": p, FREQ(p,1), FREQ(p,2), FREQ(p,4)
!------
!グラフ
IF 0< p THEN
SET LINE COLOR "black"
PLOT LINES:LOG10(FREQ(p-1,1)),0.4*FREQ(p-1,2); LOG10(FREQ(p,1)),0.4*FREQ(p,2) !利得[dB]
SET LINE COLOR "red"
PLOT LINES:LOG10(FREQ(p-1,1)),0.125*FREQ(p-1,4); LOG10(FREQ(p,1)),0.125*FREQ(p,4) !位相[度]
END IF
NEXT p
NEXT Gv
END
!下図は、i3 を逆方向にしたもので、全く同じものです。各式の負号に注意!
!
! ┌───────────┐
! │ ┌──────┐│
! C2↑ │ ┌───┐││
! ││i3 └─┤- │││
! │└───┐│利得Gv├┴┼─
! ┌─R1─┬─R2─┴─R3─┬┼┤+ │ ↑ Vout=K*(i2-i3)/(j*ω*C3)
! ↑ ┌→ │ ┌→ │ └───┘ │
! Vin│i1 C1 │i2 C3 K=Gv/(1+Gv)│
! │ └ │ └ │ │
! 0───┴───────┴───────┴─
!
! | R1+1/(j*ω*C1) -1/(j*ω*C1) 0 | |i1| | Vin |
! |-1/(j*ω*C1) 1/(j*ω*C1)+R2+R3+1/(j*ω*C3) -R3-1/(j*ω*C3) | |i2|=| 0 |
! | 0 -R3-1/(j*ω*C3) 1/(j*ω*C2)+R3+1/(j*ω*C3)| |i3| |-Vout|
! | R1+1/(j*ω*C1) -1/(j*ω*C1) 0 | |i1| |Vin|
! |-1/(j*ω*C1) 1/(j*ω*C1)+R2+R3+1/(j*ω*C3) -R3-1/(j*ω*C3) | |i2|=| 0 |
! | 0 -R3-1/(j*ω*C3)+K/(j*ω*C3) 1/(j*ω*C2)+R3+1/(j*ω*C3)-K/(j*ω*C3)| |i3| | 0 |
!
! i3 逆方向の、差し替え部分( 左端!を外して使用。)
! LET A(1,1)= R1+1/COMPLEX(0,ω*C1)
! LET A(1,2)=-1/COMPLEX(0,ω*C1)
! LET A(1,3)= 0
! LET A(2,1)=-1/COMPLEX(0,ω*C1)
! LET A(2,2)= 1/COMPLEX(0,ω*C1)+R2+R3+1/COMPLEX(0,ω*C3)
! LET A(2,3)=-R3-1/COMPLEX(0,ω*C3)
! LET A(3,1)= 0
! LET A(3,2)=-R3-1/COMPLEX(0,ω*C3)+K/COMPLEX(0,ω*C3)
! LET A(3,3)= 1/COMPLEX(0,ω*C2)+R3+1/COMPLEX(0,ω*C3)-K/COMPLEX(0,ω*C3)
! !
! LET Vin=1
! LET B(1,1)=Vin
! LET B(2,1)=0
! LET B(3,1)=0
! !
! MAT T=INV(A)
! MAT IOUT=T*B
! !
! LET Af=K*((IOUT(2,1)-IOUT(3,1))/COMPLEX(0,ω*C3))/Vin
!ここまで
!
|
|
|
戻る