рефераты бесплатно

МЕНЮ


Исследование эффекта автодинного детектирования в многоконтурном генераторе на диоде Ганна

Vs:=(1+0.265*Vs1/(1-T10*5.3E-4))/(1+Vs1*Vs);

Vs:=1.3E7*Eds*Vs/T10;

if y[3]3.6 then u:=y[3]+2

else begin

if f[3]>0 then u:=y[3]

else u:=y[3]+2;

end;

iv12:=sqr(sqr(u/eb/Lg));

iv11:=mm1*u/Lg+vs*iv12;

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=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:\tp-7\bgi');

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;

y[k]:=w[k]+h*f[k]/2;

end;

x:=x+h/2;

anna(y,f);

for k:=1 to n do begin

K1[k]:=K1[k]+2*f[k]*h;

y[k]:=w[k]+f[k]*h/2;

end;

anna(y,f);

for k:=1 to n do begin

K1[k]:=K1[k]+2*f[k]*h;

y[k]:=w[k]+f[k]*h;

end;

x:=x+h/2;

anna(y,f);

for k:=1 to n do begin

y[k]:=w[k]+(K1[k]+f[k]*h)/6;

w[k]:=y[k];

end;

end;

{ вычисление мощности }

power:=power+y[8]*y[2];

{ вычисление частоты по изменению знака производной }

if fsign > 0 then begin

if y[8]-old_cur = 0 then begin

if fcount = 0 then fpoint:=iii1;

fcount:=fcount+1;

fsign:=1;

end;

end;

old_cur:=y[8];

if fcount = 15 then begin { Частота сигнала }

fcount:=1;

mark:=1;

old_f:=frequency;

frequency:=(iii1-fpoint)/(h*4.2e3 * 5);

fpoint:=iii1;

power:=power *h*frequency/5;

str(power:5:4,s);

power:=0;

setcolor(0);

outtextxy(250,460,' ');

setcolor(11);

outtextxy(250,460,'Puhf = '+s+' W');

end;

{ вывод графиков токов и напряжений }

if(iii1>0) then begin

an3;

if(iii1=loop*1000) then begin

loop:=loop+1;

setfillstyle(0,0);

bar(xgmin+1,ygmin+1,xgmax-1,ygmax-1);

scal;

setwritemode(XORput);

setcolor(15);

line(visir_1,ygmin,visir_1,ygmax);

line(visir_2,ygmin,visir_2,ygmax);

setwritemode(COPYput);

str(d_visir*1e9:5:4,s);

outtextxy(540,255,s+' ns');

round:=round+1;

setcolor(0);

outtextxy(50,460,' ');

str(round*4:6,s);

setcolor(11);

outtextxy(50,460,'time = '+s+' ns+');

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));

end;

bn:=x*1e9;

y1:=y[1]-1;

xg:=xgmax-trunc((xmax-bn)*(xgmax-xgmin)/(xmax-

xmin));

xg:=xg-145-580*(loop-1);

yg:=ygmin-trunc((ymax-y[8]*10)*(ygmin-

ygmax)/(ymax-ymin));

setcolor(10);

line(oldx,oldy[1],xg,yg);

oldy[1]:=ygmin-trunc((ymax-y[8]*10)*(ygmin-

ygmax)/(ymax-ymin));

{ yg:=ygmin-trunc((ymax-frequency/1e10)*(ygmin-

ygmax)/(ymax-ymin));

setcolor(14);

line(oldx,oldy[2],xg,yg);

oldy[2]:=ygmin-trunc((ymax-

frequency/1e10)*(ygmin-ygmax)/(ymax-ymin));

}

yg:=ygmin-trunc((ymax-y1)*(ygmin-ygmax)/(ymax-

ymin));

setcolor(13);

line(oldx,oldy[3],xg,yg);

oldy[3]:=ygmin-trunc((ymax-y1)*(ygmin-

ygmax)/(ymax-ymin));

oldx:=xg;

end;

{ phas. portret }

if(iii1>0) then begin

an4;

di:=(y[8]-oldc1)*50*size_y;

yg:=ygmax-trunc((ymax-di)*(ygmax-ygmin)/(ymax-

ymin));

xg:=xgmin-trunc((xmax-y[8]*15*size_x)*(xgmin-

xgmax)/(xmax-xmin));

putpixel(xg+phas_x,yg+phas_y,10);

oldc1:=y[8];

if(iii1249) then begin

{ control circle }

if (mark=1) then begin

mark:=0;

setcolor(14);

circle(xg+phas_x,yg+phas_y,3);

setcolor(10);

end;

end;

{ управление экраном }

if keypressed=true then begin

c:=readkey;

case c of

{ пеpемещение фаз. поpepета }

'1': begin

an4;

setfillstyle(0,0);

bar(xgmin+1,ygmin+1,xgmax-1,ygmax-1);

end;

'4': begin

phas_x:=phas_x-10;

an4;

Size := ImageSize(xgmin+1, ygmin+1,

xgmax-1, ygmax-1);

GetMem(P, Size);

GetImage(xgmin+1, ygmin+1, xgmax-1,

ygmax-1, P^);

setfillstyle(0,0);

bar(xgmin+1,ygmin+1,xgmax-1,ygmax-1);

PutImage(xgmin+1-10, ygmin+1, P^,

NormalPut);

FreeMem(P, Size);

scal;

end;

'6': begin

phas_x:=phas_x+10;

an4;

Size := ImageSize(xgmin+1, ygmin+1,

xgmax-1, ygmax-1);

GetMem(P, Size);

GetImage(xgmin+1, ygmin+1, xgmax-1,

ygmax-1, P^);

setfillstyle(0,0);

bar(xgmin+1,ygmin+1,xgmax-1,ygmax-1);

PutImage(xgmin+1+10, ygmin+1, P^,

NormalPut);

FreeMem(P, Size);

scal;

end;

'2': begin

phas_y:=phas_y+10;

an4;

Size := ImageSize(xgmin+1, ygmin+1,

xgmax-1, ygmax-1);

GetMem(P, Size);

GetImage(xgmin+1, ygmin+1, xgmax-1,

ygmax-1, P^);

setfillstyle(0,0);

bar(xgmin+1,ygmin+1,xgmax-1,ygmax-1);

PutImage(xgmin+1, ygmin+1+10, P^,

NormalPut);

FreeMem(P, Size);

scal;

end;

'8': begin

phas_y:=phas_y-10;

an4;

Size := ImageSize(xgmin+1, ygmin+1,

xgmax-1, ygmax-1);

GetMem(P, Size);

GetImage(xgmin+1, ygmin+1, xgmax-1,

ygmax-1, P^);

setfillstyle(0,0);

bar(xgmin+1,ygmin+1,xgmax-1,ygmax-1);

PutImage(xgmin+1, ygmin+1-10, P^,

NormalPut);

FreeMem(P, Size);

scal;

end;

{ пеpеход на вычисление спектpа }

's': begin

goto 1;

end;

{ масштаб фаз. поpтpета }

'+': begin

an4;

setfillstyle(0,0);

bar(xgmin+1,ygmin+1,xgmax-1,ygmax-1);

size_x:=size_x+0.1;

size_y:=size_y+0.1;

end;

'-': begin

an4;

setfillstyle(0,0);

bar(xgmin+1,ygmin+1,xgmax-1,ygmax-1);

size_x:=size_x-0.1;

size_y:=size_y-0.1;

end;

end;

2: end;

end;

{ спектр }

1: SETCOLOR(15);

an2;

f0:=0;

Smax:=0;

sign0:=0;

setcolor(15);

for k:=1 to 200 do begin

s0:=0;s1:=0;

FOR i:=1 to 500 do begin

s0:=s0+(sign[i]-sign0)*cos(f0*i*6.28e-9/250);

s1:=s1+(sign[i]-sign0)*sin(f0*i*6.28e-9/250);

end;

if k=1 then begin sign0:=s0/500; s0:=0; end;

f0:=f0+2e8;

g1[k]:=s0*s0+s1*s1;

if g1[k]>Smax then Smax:=g1[k];

end;

ppp:=s0*s0+s1*s1;

f0:=0;

{ очистка поля и перерисовка визиров и цифр }

setfillstyle(0,0);

bar(xgmin+1,ygmin+1,xgmax-1,ygmax-1);

scal;

setwritemode(XORput);

if(d_visir<>0) then begin

line(trunc(visir_s),ygmin,trunc(visir_s),ygmax);

str((1e-9/d_visir):5:3,s);

outtextxy(540,35,s+' GHz');

end;

line(visir_3,ygmin,visir_3,ygmax);

setcolor(14);

line(visir_4,ygmin,visir_4,ygmax);

setwritemode(COPYput);

setcolor(11);

str(visir_f:5:3,s);

outtextxy(540,50,s+' GHz');

setcolor(14);

str(visir_f1:5:3,s);

outtextxy(540,60,s+' GHz');

Result;

{ рисование спектра }

moveto(xgmin,ygmax);setcolor(10);

for k:=1 to 200 do begin

xg:=xgmax-trunc((xmax-f0/1e9)*(xgmax-xgmin)/(xmax- xmin));

yg:=ygmin-trunc((ymax-100*g1[k]/SMAX)*(ygmin-

ygmax)/(ymax-ymin));

lineto(xg,yg);

f0:=f0+2e8;

end;

{ конец спектра }

repeat

c:=readkey;

case c of

{ перемещение визиров }

'9': begin

an3;

setwritemode(XORput);

setcolor(15);

line(visir_1,ygmin,visir_1,ygmax);

visir_1:=visir_1+1;

line(visir_1,ygmin,visir_1,ygmax);

v12;

setwritemode(COPYput);

end;

'7': begin

an3;

setwritemode(XORput);

setcolor(15);

line(visir_1,ygmin,visir_1,ygmax);

visir_1:=visir_1-1;

line(visir_1,ygmin,visir_1,ygmax);

v12;

setwritemode(COPYput);

end;

'6': begin

an3;

setwritemode(XORput);

setcolor(15);

line(visir_2,ygmin,visir_2,ygmax);

visir_2:=visir_2+1;

line(visir_2,ygmin,visir_2,ygmax);

v12;

setwritemode(COPYput);

end;

'4': begin

an3;

setwritemode(XORput);

setcolor(15);

line(visir_2,ygmin,visir_2,ygmax);

visir_2:=visir_2-1;

line(visir_2,ygmin,visir_2,ygmax);

v12;

setwritemode(COPYput);

end;

'3': begin

an2;

setwritemode(XORput);

setcolor(11);

line(visir_3,ygmin,visir_3,ygmax);

visir_3:=visir_3+1;

line(visir_3,ygmin,visir_3,ygmax);

visir_f:=(visir_3-xgmin)*(xmax-

xmin)/(xgmax-xgmin);

setcolor(0);

outtextxy(540,50,'___________');

setcolor(11);

str(visir_f:5:3,s);

outtextxy(540,50,s+' GHz');

setwritemode(COPYput);

Result;

end;

'1': begin

an2;

setwritemode(XORput);

setcolor(11);

line(visir_3,ygmin,visir_3,ygmax);

visir_3:=visir_3-1;

line(visir_3,ygmin,visir_3,ygmax);

visir_f:=(visir_3-xgmin)*(xmax-

xmin)/(xgmax-xgmin);

setcolor(0);

outtextxy(540,50,'___________');

setcolor(11);

str(visir_f:5:3,s);

outtextxy(540,50,s+' GHz');

setwritemode(COPYput);

Result;

end;

'.': begin

an2;

setwritemode(XORput);

setcolor(14);

line(visir_4,ygmin,visir_4,ygmax);

visir_4:=visir_4+1;

line(visir_4,ygmin,visir_4,ygmax);

visir_f1:=(visir_4-xgmin)*(xmax-

xmin)/(xgmax-xgmin);

setcolor(0);

outtextxy(540,60,'___________');

setcolor(14);

str(visir_f1:5:3,s);

outtextxy(540,60,s+' GHz');

setwritemode(COPYput);

Result;

end;

'0': begin

an2;

setwritemode(XORput);

setcolor(14);

line(visir_4,ygmin,visir_4,ygmax);

visir_4:=visir_4-1;

line(visir_4,ygmin,visir_4,ygmax);

visir_f1:=(visir_4-xgmin)*(xmax-

xmin)/(xgmax-xgmin);

setcolor(0);

outtextxy(540,60,'___________');

setcolor(14);

str(visir_f1:5:3,s);

outtextxy(540,60,s+' GHz');

setwritemode(COPYput);

Result;

end;

' ':begin

goto 2;

end;

end;

until (c='q');

end. { -= EOF =- }

В заключении хочу выразить благодарность доценту кафедры физики

твёрдого тела Саратовского госуниверситета Скрипалю Александру

Владимировичу и аспиранту той же кафедры Бабаяну Андрею Владимировичу за

оказанную помощь и внимательное отношение к выполнению дипломной работы.

-----------------------

[1] Справочная информация: PВЫХ=10 мВт, IПИК=270 мА, RПОТ=3-20 Ом., L=1.7

нГн., UПСТ=8.5 В., f=13 ГГц.

[2] Справочная информация: UОБР=30 В., IОБР=10 мкА., UПР=2.5 В.,

IПР/ИМП=0.02/0.2 А., f=350 МГц.

-----------------------

4

5

2

1

3

1

2

3

4

5

6

7

8

9

Страницы: 1, 2, 3


Copyright © 2012 г.
При использовании материалов - ссылка на сайт обязательна.