11/22/2006

10.7 電路中CR過濾器之計算

一組RC電路之組成亦可類比於並列之水桶中之水流。其電路圖如下:


依據歐姆定律及電荷守衡法則,電流與電壓間之關係為:

i1=(e1-e2)/R1
i2=(e2-e3)/R2
---
d(e2)/dt=(i1-i2)/C2
d(e3)/dt=(i2-i3)/C3
---

將前半部電流之公式代入後半部電壓梯度之公式,其結果將與並列水桶類似,即:

dE(i)=(E(i-1)-2*E(i)+E(i+1))*A*delT/C(i)

開始時電壓設為正弦曲線,即e1=sin(t),然後依時序之演進計算其他點之對應值。下面程式是根據此項法則進行演算。此程式中電容數比電阻數多一,但也可以向量的形式輸入。程式之執行與前述10.6節相同。執行完畢時,會有其電壓變化比較圖。

程式內容



function [ff]=crfilter(RR,CC,N,T,E)
% crfilter.m
% program to calculate a multiple R-C circuit.
% o----o----R---o--R---o--R---o-----o
% | | | | |
% C C C C C
% | | | | |
% o----o----o---o------o------o-----o
%
% E:Voltage, V
% RR:resistors, ohms
% CC:Capacitance, microfaras.
% T:time elapsed through the experiment.
% Designed by D.S. Fon, Bime, NTU, Date:Nov. 26,2006
while 1
if nargin==0,
RR=[1 1 1 1 1];CC=[1 1 1 1 1];N=400;T=[0 15];
elseif RR==1,
RRx=[1 1 1 1 1];CCx=[1 1 1 1 1];Nx=400;Tx=[0 15];
disp('Enter following values in vector==> ')
r1=input('Resistors,ohms==','s');
if isempty(r1), RR=RRx; else RR=str2num(r1);end
c1=input('Capacitance,fara== ','s');
if isempty(c1), CC=CCx; else CC=str2num(c1);end
T1=input('Input starting & ending time, seconds== ','s');
if isempty(T1), T=Tx; else T=str2num(T1);end
n1=input('Input number of time interval== ');
if isempty(n1), N=Nx;end
end
AA=1./RR;Ts=T(1);Te=T(2);
delT=(Te-Ts)/N;
nn=length(CC);
ff=zeros(N,nn+1);EE=ones(1,nn)*sin(Ts);
clf;
ff(1,:)=[0, EE];
tt(1)=0;i=0;
for i=2:N;
tt(i)=Ts+delT*(i-1);EE(1)=sin(tt(i));
for j=2:nn-1
dE(j)=(EE(j-1)-2*EE(j)+EE(j+1))*AA(j)*delT/CC(j);
end
dE(nn)=(EE(nn-1)-EE(nn))*AA(nn)*delT/CC(nn);
EE=EE+dE;
ff(i,:)=[tt(i) EE];
line(tt(i),EE,'Marker','.');
end
m=fix(N/2);
for i=2:nn+1
text(tt(m),ff(m,i),['e-',num2str(i-1)]);
end
xlabel('Time, seconds');
ylabel('Voltage, V');
grid on;figure(gcf);
yn=input('Continue?(Y/N)[Y]==> ','s');
if ~isempty(yn) & upper(yn)~='Y', break; end
end

執行結果:

>> crfilter

ans =

0 0 0 0 0 0
0.0375 0.0375 0.0014 0 0 0
0.0750 0.0749 0.0041 0.0001 0 0
0.1125 0.1123 0.0080 0.0002 0.0000 0
0.1500 0.1494 0.0130 0.0005 0.0000 0.0000
0.1875 0.1864 0.0191 0.0009 0.0000 0.0000
0.2250 0.2231 0.0260 0.0016 0.0001 0.0000
0.2625 0.2595 0.0339 0.0024 0.0001 0.0000
0.3000 0.2955 0.0425 0.0035 0.0002 0.0000
0.3375 0.3311 0.0519 0.0049 0.0003 0.0000
0.3750 0.3663 0.0619 0.0065 0.0005 0.0000
0.4125 0.4009 0.0725 0.0083 0.0007 0.0000
0.4500 0.4350 0.0837 0.0104 0.0009 0.0001
0.4875 0.4684 0.0954 0.0128 0.0013 0.0001
0.5250 0.5012 0.1075 0.0155 0.0017 0.0001
0.5625 0.5333 0.1200 0.0184 0.0021 0.0002
0.6000 0.5646 0.1329 0.0216 0.0027 0.0003
0.6375 0.5952 0.1461 0.0251 0.0033 0.0004
0.6750 0.6249 0.1595 0.0288 0.0040 0.0005
0.7125 0.6537 0.1731 0.0328 0.0048 0.0006
0.7500 0.6816 0.1869 0.0370 0.0057 0.0008

------------------------------------------
14.8875 0.7315 0.4883 0.2074 0.0435 -0.0182
14.9250 0.7054 0.4859 0.2118 0.0473 -0.0159
14.9625 0.6783 0.4828 0.2159 0.0511 -0.0135