정보통신실험
03주 - 소신호 증폭기
부록 A: BJT CE 증폭기의 프로그래밍에 의한 특성계산

그림: BJT CE 증폭기
vs = 1 kHz, zero offset, 100 mVpp with A-A' terminal open-circuited
Rs = 50 Ω, Ci =
0.1 μF, R1 = 200 kΩ, R2
= 33 kΩ, RC = 4.7
kΩ
RE = 750 Ω, CE
= 1 μF, CC = 0.1
μF, RL = 10 kΩ, Q1 = 2SC945, VCC = 12 VDC

그림: BJT CE 증폭기
full equivalent circuit
(for 2SC945 트랜지스터)
![]()
(input impedance)
(voltage gain)
![]()
(current gain)
Output impedance:
위 수식을 프로그래밍하여 계산:
![]()
1) 소스코드 제시 (10점)
Fortran 90 프로그램
! bjt-ce-amp.f90
! calculation for
capacitor-coupled BJT CE amp
! Vcc: bias voltage(V)
! R1,R2: base bias
resistor(ohm)
! Rs: source
resistance(ohm)
! Ci: input coupling
capacitor(F)
! RE: emitter
(feedback) bias resistor
! CE: emitter shunt
capacitor(F)
! RC: collector
resistor(ohm)
! Cc: output coupling
capacitor(F)
! RL: load
resistance(ohm)
! rpi: tranistor input
resistance(ohm)
! beta: transistor current
gain
! Vbe: base-emitter
voltate(V)
!
! DC bias analysis
real IB,IC,IE
complex
j,Ribb,RiB,Ri,vi,is,ibb,iL,vL,Av,Ai,Ro
j=(0.,1.)
pi=3.14159265
write(*,*)'BJT CE Amp
Analysis'
! DC Analysis
Vcc=12.; R1=200.e3;
R2=33.e3
RC=4.7E3; RE=0.75e3
beta=200.; Vbe=0.62
write(*,*)'DC bias
analysis:'
IB=(Vcc-(1.+R1/R2)*Vbe)/(R1+(1.+R1/R2)*(beta+1.)*RE)
IC=beta*IB
VC=Vcc-RC*IC
IE=(beta+1.)*IB
VE=IE*RE
VCE=VC-VE
VB=Vbe+VE
write(*,*)'IB,IC,IE(A)=',IB,IC,IE
write(*,*)'VB,VC,VE(V)=',VB,VC,VE
write(*,*)'VCE(v)=',VCE
! AC Analysis
vs=50e-3; Rs=50.
Ci=0.1e-6; Cc=0.1e-6;
CE=1.e-6
rpi=6.e3
RL=10.e3
2
write(*,*)'f(Hz)=';read(*,*)f
write(*,*)'CE(F)=';read(*,*)CE
write(*,*)'Ci=Cc(F)=';read(*,*)C0
Ci=C0; Cc=C0
w=2.*pi*f
RB=R1*R2/(R1+R2)
Ribb=rpi+(beta+1.)*RE/cmplx(1.,w*RE*CE)
RiB=RB*Ribb/(RB+Ribb)
Ri=RiB-j/(w*Ci)
vi=vs*Ri/(Ri+Rs)
is=vi/Ri
ibb=is/(1.+Ribb/RB)
iL=-beta*ibb/(1.+(RL-j/(w*Cc))/RC)
vL=RL*iL
Av=vL/vi
Ai=iL/is
Ro=RC-j/(w*Cc)
write(*,*)'Ri(ohm)=',Ri
write(*,*)'Ro(ohm)=',Ro
call
RECPOL(vi,0,1,zmag,zphs)
write(*,*)'mag(vi),phs(vi)=',zmag,zphs
call
RECPOL(vL,0,1,zmag,zphs)
write(*,*)'mag(vL),phs(vL)=',zmag,zphs
call
RECPOL(Av,0,1,zmag,zphs)
write(*,*)'mag(Av),phs(Av)=',zmag,zphs
call
RECPOL(Ai,0,1,zmag,zphs)
write(*,*)'mag(Ai),phs(Ai)=',zmag,zphs
goto 2
end
!
! RECPOL: Convert a
complex number into a polar form.
! Input
! Z: complex number to
be converted
! IMAG: unit of ZMAG. 0
= linear, 10 = 10*log(Zmag), 20 = 20*log(Zmag)
! IPHASE: unit of
ZPHASE. 0 = radian(from -pi to pi) , 1 = degree
! Output
! ZMAG: magnitude of Z
! ZPHASE: phase of Z
!
SUBROUTINE
RECPOL(Z,IMAG,IPHASE,ZMAG,ZPHASE)
COMPLEX Z
ZMAG=CABS(Z)
IF(ZMAG.EQ.0.) THEN
IF(IMAG.GT.0)
ZMAG=-1000.
ZPHASE=0.
ELSE
ZPHASE=ACOS(REAL(Z)/ZMAG)
IF(AIMAG(Z).LT.0.)
ZPHASE=-ZPHASE
IF(IPHASE.EQ.1)
ZPHASE=ZPHASE*180./3.141592654
IF(IMAG.EQ.10)
ZMAG=10.*ALOG10(ZMAG)
IF(IMAG.EQ.20)
ZMAG=20.*ALOG10(ZMAG)
ENDIF
RETURN
END
2) CE에 따른 Av, Ai 변화 (10점)
|
CE (μF) |
Av |
Ai |
|
0.01 |
4.049 (-167.4°) |
9.741 (-171.6°) |
|
0.1 |
4.453 (-145.8°) |
10.72 (-153.6°) |
|
1 |
18.36 (-101.9°) |
35.29 (-137.0°) |
|
10 |
81.41 (-132.8°) |
52.13 (-168.5°) |
|
100 |
99.47 (-153.2°) |
52.46 (-173.3°) |
3) Ci = CC 에 따른 Av, Ai 변화 (10점)
|
Ci = CC
(μF) |
Av |
Ai |
|
0.001 |
0.1928 (26.25°) |
3.265 (-58.4°) |
|
0.01 |
8.071 (-37.71°) |
24.09 (-95.9°) |
|
0.1 |
18.36 (-101.9°) |
35.29 (-137.0°) |
|
1 |
19.25 (-111.6°) |
35.50 (-142.5°) |
|
10 |
19.33 (-112.1°) |
35.50 (-143.1°) |
4) 주파수에 따른
Av, Ai 변화 (10점)
|
f (kHz) |
Av |
Ai |
|
0.1 |
2.469 (-76.1°) |
7.313 (-112.5°) |
|
1 |
18.36 (-101.9°) |
35.29 (-137.0°) |
|
10 |
92.20 (-150.2°) |
52.44 (-174.1°) |
|
100 |
106.4 (-176.7°) |
52.76 (-179.4°) |