_WELCOMETO Radioland

Ãëàâíàÿ Ñõåìû Äîêóìåíòàöèÿ Ñòóäåíòàì Ïðîãðàììû Ïîèñê Top50  
Ïîèñê ïî ñàéòó



Íàâèãàöèÿ
Ãëàâíàÿ
Ñõåìû
Àâòîýëåêòðîíèêà
Àêóñòèêà
Àóäèî
Èçìåðåíèÿ
Êîìïüþòåðû
Ïèòàíèå
Ïðîã. óñòðîéñòâà
Ðàäèî
Ðàäèîøïèîíàæ
Òåëåâèäåíèå
Òåëåôîíèÿ
Öèôð. ýëåêòðîíèêà
Äðóãèå
Äîáàâèòü
Äîêóìåíòàöèÿ
Ìèêðîñõåìû
Òðàíçèñòîðû
Ïðî÷åå
Ôàéëû
Óòèëèòû
Ðàäèîëþá. ðàñ÷åòû
Ïðîãðàììèðîâàíèå
Äðóãîå
Ñòóäåíòàì
Ðåôåðàòû
Êóðñîâûå
Äèïëîìû
Èíôîðìàöèÿ
Ïîèñê ïî ñàéòó
Ñàìîå ïîïóëÿðíîå
Êàðòà ñàéòà
Îáðàòíàÿ ñâÿçü

Ñòóäåíòàì


Ñòóäåíòàì > Êóðñîâûå > Èññëåäîâàíèå ýôôåêòà àâòîäèííîãî äåòåêòèðîâàíèÿ â ìíîãîêîíòóðíîì ãåíåðàòîðå íà äèîäå Ãàííà

Èññëåäîâàíèå ýôôåêòà àâòîäèííîãî äåòåêòèðîâàíèÿ â ìíîãîêîíòóðíîì ãåíåðàòîðå íà äèîäå Ãàííà

Ñòðàíèöà: 5/7

                       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

         else 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(iii1<=500) then begin

                        Smax:=Smax+y[8];

                       sign[iii1]:=y[8];

               end

               else begin

                        Smax:=Smax-sign[1]+y[8];

                        for i:=1 to 499 do begin

                            sign[i]:=sign[i+1];

               end;

               sign[500]:=y[8];

            end;

        end;

 

     if(iii1>249) 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