Ñòóäåíòàì > Êóðñîâûå > Èññëåäîâàíèå ýôôåêòà àâòîäèííîãî äåòåêòèðîâàíèÿ â ìíîãîêîíòóðíîì ãåíåðàòîðå íà äèîäå Ãàííà
Èññëåäîâàíèå ýôôåêòà àâòîäèííîãî äåòåêòèðîâàíèÿ â ìíîãîêîíòóðíîì ãåíåðàòîðå íà äèîäå ÃàííàÑòðàíèöà: 4/7
iv1:=q1*n123*s123*iv11/(1+iv12);
end;
procedure kzp; { ÊÇÏ }
var ll2:FL;
begin
l1:=0.2e-9;
c1:=0.1e-12;
llv:=ll0/sqrt(1-sqr(ll0/llk));
z:=z0*Sin(6.28*lll/llv)/Cos(6.28*lll/llv);
if z<0 then begin
ll2:=abs(z)/6.28e10;
l1:=l1*ll2/(l1+ll2);
end
else c1:=c1+1/(z*6.28e10);
}
end;
Procedure anna(y:tt; var f1:tt);
begin
current;
f[1]:=(y[6]-y[7]-y[12])/c5; { Uag }
f[2]:=(y[7]-y[8]-y[9])/c4; { Ubg }
f[3]:=(y[8]-iv1)/c3; { Ucc'}
f[4]:=(y[9]-y[4]*r1-y[10])/c1; { Udg }
f[5]:=0; { Ueg }
f[6]:=(eds-y[1]-y[6]*r4)/l1; { i1 }
f[7]:=(y[1]-y[2])/l4; { i2 }
f[8]:=(y[2]-y[3]-y[8]*r3)/l3; { i7 }
f[9]:=(y[2]-y[11]-y[4])/l2; { i6 }
f[10]:=y[4]/l1; { iL1 }
f[11]:=y[9]/c2; { Uc2 }
f[12]:=(y[1]-y[13]-y[14])/L7; { i3' }
f[13]:=y[12]/c6; { Uc6 }
f[14]:=(y[12]-y[15]-y[14]/r5)/c7; { Ukg }
f[15]:=y[14]/L6; { iL6 }
end;
procedure an2; { spector }
begin
XMIN:=0;XMAX:=40;YMIN:=0;YMAX:=100;
YGMIN:=25;YGMAX:=200;XGMIN:=350;XGMAX:=630;
nx:=4;ny:=5;
setcolor(7);
OutTextxy(XGMIN,YGMIN-10,'Ñïåêòð òîêà íà äèîäå');
OutTextxy(XGMAX-50,YGMAX+20,'f,GHz.');
setcolor(15);
moveto(xgmin,ygmax);
end;
procedure an3; { u,i }
begin
XMIN:=0;XMAX:=4;YMIN:=-4;YMAX:=10;
YGMIN:=240;YGMAX:=420;XGMIN:=50;XGMAX:=630;
nx:=8;ny:=7;
setcolor(7);
OutTextxy(XGMIN,YGMIN-10,'i7-green, Uag-magenta');
OutTextxy(XGMAX-50,YGMAX+20,'t, ns.');
setcolor(15);
end;
procedure an4; { phasa i7 }
begin
XMIN:=-4;XMAX:=8;YMIN:=-15;YMAX:=5;
YGMIN:=25;YGMAX:=200;XGMIN:=50;XGMAX:=320;
nx:=1;ny:=1;
setcolor(7);
OutTextxy(XGMIN,YGMIN-10,'di7/dt Ôàç.ïîðòðåò òîêà íà äèîäå');
OutTextxy(XGMAX-50,YGMAX+20,'i7');
setcolor(15);
end;
procedure
Result; { âû÷èñëåíèå è âûâîä îòíîøåíèÿ ÷àñòîò }
begin
if (visir_f>=visir_f1) then
begin
if (visir_f1<>0) then
begin
setcolor(0);
outtextxy(540,75,'___________');
setcolor(13);
line(540,70,620,70);
str((visir_f/visir_f1):5:3,s);
outtextxy(540,75,s);
end;
end
else begin
if (visir_f<>0) then
begin
setcolor(0);
outtextxy(540,75,'___________');
setcolor(13);
str((visir_f1/visir_f):5:3,s);
outtextxy(540,75,s);
end;
end;
end;
procedure
v12; { âûâîä èíôîðìàöèè ôèçèðîâ 1 è 2 }
begin
d_visir:=1e-9*abs(visir_2-visir_1)*(xmax-xmin)/(xgmax- xgmin);
setcolor(0);
outtextxy(540,255,'___________');
outtextxy(540,35,'___________');
setcolor(15);
if(d_visir<>0) then begin
an2;
line(trunc(visir_s),ygmin,trunc(visir_s),ygmax);
visir_s:=xgmax-trunc((xmax-1/(d_visir*1e9))*(xgmax- xgmin)/(xmax-xmin));
line(trunc(visir_s),ygmin,trunc(visir_s),ygmax);
str((1e-9/d_visir):5:3,s);
outtextxy(540,35,s+' GHz');
end;
str(d_visir*1e9:5:4,s);
outtextxy(540,255,s+' ns');
end;
BEGIN
oldc1:=0;
oldc2:=0;
gd:=0;
InitGraph(gd,gm,'E: p-7gi');
an2; scal;
an4; scal;
an3; scal;
setcolor(11);
current;
kzp;
{
Íà÷àëüíûå óñëîâèÿ }
dh:=4;
dj:=2;
x:=0;
h:=8e-13;
y[1]:=eds;
w[1]:=eds;
y[3]:=eds; y[6]:=iv1;
w[3]:=eds; w[6]:=iv1;
y[2]:=eds; y[7]:=iv1;
w[2]:=eds; w[7]:=iv1;
y[5]:=eds; y[8]:=iv1;
w[5]:=eds; w[8]:=iv1;
y[4]:=eds; y[6]:=iv1;
w[4]:=eds; w[6]:=iv1;
y[11]:=eds; y[10]:=0;
y[9]:=iv1; w[9]:=iv1;
w[11]:=eds; w[10]:=0;
y[12]:=0; w[12]:=y[12];
y[13]:=eds; w[13]:=y[13];
y[14]:=0; w[14]:=y[14];
y[15]:=0; w[15]:=y[15];
loop:=1; { íîìåp pàçâåpòêè òîêà }
phas_x:=0; phas_y:=0; { ñäâèã ôàçîâîãî ïîpòpåòà
}
size_x:=1;size_y:=1; { ìàñøòàá ôàçîâîãî ïîðòðåòà }
an2;
visir_s:=800;
visir_3:=xgmin;
visir_f:=0;
visir_4:=xgmin;
visir_f1:=0;
an3;
visir_1:=xgmin;
visir_2:=xgmin; { âèçèðû }
count:=1;
mark:=0;
round:=0;
old_cur:=iv1;
fcount:=0;
fsign:=1;
fpoint:=1;
frequency:=1e10;
old_f:=1e10;
Smax:=0;
power:=0;
oldx:=xgmax-trunc((xmax-0)*(xgmax-xgmin)/(xmax-xmin));
for aaa:=1 to 10 do
oldy[aaa]:=ygmin-trunc((ymax-y[8]*10)*(ygmin- ygmax)/(ymax-ymin));
{ Ðóíãå-Êóòò }
for iii1:=-249 to maxpoint do begin
for iii:=0 to 4 do begin
anna(y,f);
for k:=1 to n do begin
K1[k]:=f[k]*h;
|