summaryrefslogtreecommitdiff
path: root/339/CH9/EX9.14/ex9_14.sce
blob: ae26754a00ed1996ee1bdb5d153e8b9b59cf5425 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
global Z0;
Z0=50;

//define the S-parameters of the transistor
s11=0.3*exp(%i*(+30)/180*%pi);
s12=0.2*exp(%i*(-60)/180*%pi);
s21=2.5*exp(%i*(-80)/180*%pi);
s22=0.2*exp(%i*(-15)/180*%pi);

//pick the noise parameters of the transistor
Fmin_dB=1.5
Fmin=10^(Fmin_dB/10);
Rn=4;
Gopt=0.5*exp(%i*45/180*%pi);

//compute a noise circle
Fk_dB=1.6;
Fk=10^(Fk_dB/10);


Qk=abs(1+Gopt)^2*(Fk-Fmin)/(4*Rn/Z0) //noise circle parameter
dfk=Gopt/(1+Qk); //circle center location
rfk=sqrt((1-abs(Gopt)^2)*Qk+Qk^2)/(1+Qk) //circle radius
 

//plot a noise circle
a=[0:360]/180*%pi;
mtlb_hold on
plot(real(dfk)+rfk*cos(a),imag(dfk)+rfk*sin(a),'b','linewidth',2);

// plot optimal reflection coefficient
plot(real(Gopt),imag(Gopt),'bo');


//specify the desired gain
G_goal_dB=8;
G_goal=10^(G_goal_dB/10);
K = 1.18; 
//find the constant operating power gain circles
go=G_goal/abs(s21)^2; // normalized the gain
dgo=go*conj(s22-conj(s11))/(1+go*(abs(s22)^2)); //center

rgo=sqrt(1-2*K*go*abs(s12*s21)+go^2*abs(s12*s21)^2);
rgo=rgo/abs(1+go*(abs(s22)^2));

//map a constant gain circle into the Gs plane
rgs=rgo*abs(s12*s21/(abs(1-s22*dgo)^2-rgo^2*abs(s22)^2));
dgs=((1-s22*dgo)*conj(s11-dgo)-rgo^2*s22)/(abs(1-s22*dgo)^2-rgo^2*abs(s22)^2);

//plot a constant gain circle in the Smith Chart
mtlb_hold on
plot(real(dgs)+rgs*cos(a),imag(dgs)+rgs*sin(a),'r','linewidth',2);



//choose a source reflection coefficient Gs
Gs=dgs+%i*rgs;
plot(real(Gs), imag(Gs), 'ro');
//text(real(Gs)-0.05,imag(Gs)+0.08,'\bf\Gamma_S');

//find the actual noise figure
F=Fmin+4*Rn/Z0*abs(Gs-Gopt)^2/(1-abs(Gs)^2)/abs(1+Gopt)^2;

//print out the actual noise figure
Actual_F_dB=10*log10(F)