Введение.
В связи с развитием современных технологий, требующих непрерывного контроля за многими параметрами технологического процесса, состоянием оборудования и параметрами материалов и сред становится всё более актуальной задача создания неразрушающих бесконтактных методов измерения и контроля параметров материалов и сред. Измерения на СВЧ позволяют определить электропроводность, толщину, диэлектрическую проницаемость и другие параметры материалов и сред без разрушения поверхности образца, дают возможность автоматизировать контроль параметров материалов. Для этого в настоящее время широко используются методы, основанные на использовании эффекта автодинного детектирования в полупроводниковых приборах.
Применение эффекта автодинного детектирования в полупроводниковых СВЧ-генераторах для контроля параметров материалов и структур основано на установлении зависимости величины продетектированного СВЧ-сигнала от параметров контролируемых величин: толщины, диэлектрической проницаемости, проводимости [1-6].
Однако, прежде чем создавать конкретный прибор на основе данного эффекта, необходимо провести моделирование его работы. Для этого необходимо рассмотреть принципы действия таких устройств.
При изменении уровня мощности СВЧ-излучения, воздействующего на полупроводниковые элементы с отрицательным сопротивлением, наблюдается изменение режима их работы по постоянному току, что можно понимать как проявление эффекта детектирования. В случае, если прибор с отрицательным сопротивлением является активным элементом СВЧ-генератора наблюдается эффект автодинного детектирования.
Одним из методов, позволяющих провести расчёт величины эффекта автодинного детектирования при реальных параметрах активного элемента и нагрузки, определить области значений контролируемых параметров материалов, в которых чувствительность автодина к их изменению максимальна, наметить пути оптимизации конструкции генератора, является метод, основанный на рассмотрении эквивалентной схемы СВЧ-генератора, в которой комплексная проводимость нагрузки определяется параметрами исследуемого материала и характеристиками электродинамической системы [7,9].
Целью дипломной работы являлось исследование эффекта автодинного детектирования в многоконтурных СВЧ-генераторах на диоде Ганна для создания измерителей параметров материалов, вибрации и выявления особенностей их работы.
Анализ возможности использования автодинов на полупроводниковых активных СВЧ-элементах для контроля параметров материалов и сред.
При изменении уровня СВЧ-излучения, воздействующего на полупроводниковые элементы с отрицательным сопротивлением, наблюдается изменение постоянного тока, протекающего через них, что можно понимать как проявление эффекта детектирования [2,7]. Если прибор с отрицательным сопротивлением является активным элементом СВЧ-генератора, этот эффект называют эффектом автодинного детектирования.
Исследование эффекта автодинного детектирования в полупроводниковых СВЧ-генераторах позволило создать устройства, совмещающие несколько радиотехнических функций в одном элементе (например, излучение и приём электромагнитных колебаний). Автодины на полупроводниковых генераторах, получившие к настоящему времени достаточно широкое применение, используются в основном для обнаружения движущихся объектов.
Важной областью применения автодинов является контроль параметров материалов и сред. Применение эффекта автодинного детектирования в полупроводниковых СВЧ-генераторах для контроля параметров материалов и сред основано на установлении зависимостей величины продетектированного СВЧ-сигнала от параметров контролируемых величин: диэлектрической проницаемости и проводимости. Измерения с помощью приборов основаны на сравнение с эталонами, а точность измерения в основном определяется точностью эталонирования.
Теоретическое обоснование возможности использования эффекта автодинного детектирования в диодных СВЧ-генераторах для контроля параметров материалов и сред проведено на основе численного анализа. Описание отклика диодного СВЧ-автодина может быть сделано на основе рассмотрения эквивалентной схемы генератора (Рис. 1.1), в которой комплексная проводимость Yn определяется параметрами исследуемого материала и характеристиками электродинамической системы, а Yd - средняя проводимость полупроводникового прибора.
Рис. 1. Эквивалентная схема автодина на полупроводниковом диоде.
Эта эквивалентная схема может быть описана соотношением (1.1), согласно первому закону Кирхгофа.
I1, U1 - комплексные амплитуды тока и напряжения первой гармоники на полупроводниковом элементе. Т.к. к обеим проводимостям приложено одно и то же напряжение U1, можно записать баланс мощностей:
т.е. Yd должна иметь отрицательную действительную часть при существовании в системе колебаний с ненулевой амплитудой. Наличие отрицательной проводимости характеризует трансформацию энергии: полупроводниковый элемент потребляет энергию постоянного тока и является источником колебаний ненулевой частоты.
Возникновение СВЧ-колебаний в электрической схеме с нелинейным элементом вследствие его детектирующего действия приводит к появлению дополнительной составляющей постоянного тока , то есть возникает так называемый эффект автодинного детектирования [18]. Величина определяется из выражения
Детекторный эффект наблюдается в СВЧ-усилителях на биполярных транзисторах, СВЧ-генераторах на лавинно-пролётных диодах (ЛПД), инжекционно-пролётных диодах (ИПД), туннельных диодах (ТД) и диодах Ганна (ДГ). В данной работе мы рассмотрим использование полупроводниковых диодов в качестве СВЧ-автодинов. Сравнительные характеристики полупроводниковых СВЧ-диодов приведены в таблице 1.
Таблица 1.
Диод Мощность КПД Смещение Шумы ЛПД десятки ватт до 15% десятки Вольт 25 дБ ИПД десятки милливатт единицы % сотни милливольт около 5 дБ ДГ десятки милливатт - единицы Ватт зависит от режима работы 4.5-11 Вольт 10-12 дБ ТД единицы и десятки микроватт единицы % сотни милливольт около 5 дБ
Процессы в полупроводниковых приборах описываются тремя основными уравнениями в частных производных [10]: уравнением плотности тока, характеризующим образование направленных потоков заряда; уравнением непрерывности, отражающим накопление и рассасывание подвижных носителей заряда, и уравнением Пуассона, описывающим электрические поля в полупроводнике.
Точное решение этих уравнений с учетом граничных условий в общем виде затруднительно даже на ЭВМ. Чтобы упростить анализ вводят эквивалентные схемы полупроводниковых приборов.
ТД представляют собой приборы, наиболее удобные для анализа, т.к. их эквивалентная схема более проста и точна, чем схемы других полупроводниковых приборов. С практической точки зрения ТД представляет собой интерес при создании маломощных автодинов в коротковолновой части сантиметрового диапазона.
ИПД (BARITT) обладает малой генерируемой мощностью [11], но из-за низкого уровня шумов и малого напряжения питания являются перспективными для допплеровских автодинов.
В работе [12] исследована возможность измерения диэлектрической проницаемости материалов по величине продетектированного работающем в режиме генерации ЛПД сигнала. Использовался генератор волноводной конструкции (канал волновода 23*10 мм.) с ЛПД типа АА707, установленным в разрыве стержневого держателя. Измерения продетектированного сигнала проводилось компенсационным методом. Исследуемые диэлектрики, с предварительно определёнными значениями диэлектрической проницаемости на СВЧ, прикладывались к отверстию на выходном фланце генератора.
Результаты проведённых исследований показали, что ход зависимости величины продетектированного сигнала от диэлектрической проницаемости зависит от конструкции измерительного генератора, в частности, от расстояния от плоскости расположения ЛПД до открытого конца волновода, к которому прикладывается исследуемых диэлектрик.
ЛПД обеспечивает наибольшие КПД и мощность колебаний. Однако,, в качестве недостатка можно отметить относительно высокий уровень шумов, обусловленный, в первую очередь, шумами лавинообразования.
В ряде работ [2,3,17,18] рассматривается возможность применения СВЧ-генераторов на диоде Ганна для измерения параметров материалов и сред. Отмечается преимущество данного способа измерения: исследуемый образец находится под воздействием СВЧ-мощности, а регистрация измерений производится на низкочастотной аппаратуре, имеющей высокую точность и отличающейся простой в эксплуатации.
В настоящее время разработаны и изготовлены устройства для неразрушающего контроля, принцип действия которых основан на эффекте автодинного детектирования: измерители толщины металлодиэлектрических структур и диэлектрической проницаемости [19,20]. Наибольшее практическое применение из разработанных приборов нашёл СВЧ толщиномер типа СИТ-40. На рисунке 1.2 приведена его блок-схема.
Рис. 2. Блок-схема СВЧ измерителя толщины.
В состав СВЧ толщиномера СИТ-40, предназначенного для измерения тонких плёнок из любого металла на изолирующей подложке и непроводящих покрытиях, в том числе разнообразных лакокрасочных, нанесённых на металлические поверхности, входит: 1 - СВЧ-датчик, представляющий собой СВЧ-генератор в микрополосковом исполнении и использующий в качестве активного элемента диод Ганна или СВЧ биполярный транзистор; 2 - предварительный усилитель; 3 - блок питания; 4 - система корректировки нуля; 5 - блок индикации.
Для уменьшения влияния дрейфа нуля на результат измерений предложены схемные решения, основанные на компенсации дрейфа его параметров в промежутках между измерениями и использовании напряжения в момент, предшествующий измерению, в качестве опорного в момент измерения [21].
С целью повышения чувствительности и существенного уменьшения веса и потребляемой мощности измерителей исследовалась возможность применения туннельных диодов в качестве активных элементов СВЧ-автодинов [22]. Исследования проводились в экспериментальных измерительных СВЧ-устройствах на серийных диодах типа ГИ 103Б, работавших на частоте 1.3 Ггц. В качестве детекторных диодов использовались диоды типа Д405. Конструктивно датчики измерительных устройств представляли собой отрезки полосковых линий передачи, выполненных на основе фольгированного фторопласта, в которых размещались генераторные и детекторные диоды, фильтры, НЧ и подстроечные элементы.
Разработаны устройства измерения толщины и электропроводности проводящих покрытий, а также толщины и диэлектрической проницаемости для изолирующих материалов. Принцип действия автодинного генератора на полупроводниковом СВЧ-элементе был использован при разработке нового способа контроля толщины плёнок в процессе вакуумного напыления. Для повышения точности измерения в датчике применён СВЧ-выключатель, обеспечивающий кратковременное отклонение генератора от измеряемого объекта [23].
Разработан новый способ радиоволнового контроля вибраций, основанный на использовании двух полупроводниковых СВЧ-генераторов, работающих в режиме автодинного детектирования и обеспечивающих возможность определения не только амплитуды, но и частоты вибраций [24]. Источники зондирующего СВЧ-излучения и одновременно приёмники провзаимодействующего с вибрирующим объектом сигналов представляют собой отрезки стандартных прямоугольных волноводов, которые с одного конца закорочены и имеют регулируемые подстроечные поршни, а другие концы соединены с камерами, изготовленными из металлической ленты, свёрнутой в кольцо. Связь по СВЧ-полю отрезков волновода с каждой камерой осуществляется через прямоугольное волноводное окно. В камерах помещается цилиндрический металлический стержень, перемещение которого внутри этих камер вызывает изменение продетектированного автодинами зондирующего СВЧ-сигнала.
Применение в автодинных генераторах диодов Ганна по сравнению с генераторами, использующими другие полупроводниковые активные элементы, позволяет обеспечить преимущества по совокупности таких параметров, как максимальная рабочая частота, выходная мощность, стабильность частоты, потребляемая мощность питания [13].
Экспериментальные исследования эффекта автодинного детектирования в многоконтурном генераторе на диоде Ганна.
Использование эффекта автодинного детектирования в полупроводниковых СВЧ-генераторах позволяет создавать простые в эксплуатации малогабаритные измерители толщины и диэлектрической проницаемости [17,18]. Для их нахождения используют результаты измерений на нескольких частотах. Осуществление многопараметрового контроля упрощается, если удаётся проводить измерения в условиях, когда на результаты измерений определяющим образом влияет только один из искомых параметров. Такая ситуация, в частности реализуется, если для измерения толщины и диэлектрической проницаемости диэлектриков в этом случае применяются измерители, работающие на различных частотных диапазонах, например СВЧ и НЧ. При проведении измерений на СВЧ результат зависит как от толщины, так и от диэлектрической проницаемости диэлектрика. Если измерения на НЧ проводить используя схему, в которой диэлектрик помещается в зазор между излучателем и металлическим основанием, то результат измерений будет определяться только толщиной диэлектрика и не будет зависеть от его диэлектрической проницаемости. Определив таким образом толщину диэлектрика, по её значению и показателям преобразователя на СВЧ можно определить диэлектрическую проницаемость.
Было проведено экспериментальное исследование зависимости величины продетектированного сигнала в автодинном генераторе на диоде Ганна, работающем в различных частотных диапазонах от положения СВЧ короткозамыкающего поршня. Использовался генератор волноводной конструкции с диодом типа АА703, помещённым в разрыв металлического стержневого держателя. К цепи питания диода Ганна через разделительный конденсатор параллельно диоду был подключен низкочастотный контур. Частота СВЧ-колебаний составляла ~10 ГГц, частота низкочастотных колебаний ~10 МГц. Для детектирования низкочастотных колебаний использовался диод типа КД503А. Для контроля СВЧ-колебаний использовался измеритель мощности типа Я2М-66. Кроме того, в ходе экспериментальных исследований регистрировался постоянный ток, протекающий через диод Ганна, по падению напряжения на резисторе с сопротивлением порядка 1 Ом, включённом в цепь питания диода Ганна.
Схема экспериментальной установки приведена на рисунке 3.1. Она включает в себя источник питания СВЧ-выключателя 1 для раздельного воздействия сигналами СВЧ и НЧ, источник питания диода Ганна 2, схему обработки информации и индикации 3, детекторный диод 4, разделительный конденсатор 5, СВЧ-выключатель 6, диод Ганна 7, конденсатор низкочастотного колебательного контура 8 и катушку индуктивности 9, располагающейся на поверхности выходного фланца волновода.
В результате экспериментальных исследований было обнаружено, что в режиме многочастотной генерации изменение нагрузки в СВЧ-цепи (т.е. изменение положения короткозамыкающего поршня) приводит к изменению сигнала, продетектированному в НЧ-цепи, а изменение нагрузки в НЧ-цепи (т.е. изменение индуктивности или ёмкости) приводит к изменению сигнала в СВЧ-цепи. При этом изменения продетектированных в этих цепях сигналов могут быть как одинакового, так и противоположного знаков. Как следует из результатов, приведённых на Pис. 3.2, зависимости величины продетектированных в НЧ- и СВЧ-цепях сигналов DUнч и DIсвч от перемещения короткозамыкающего поршня периодичны и имеют локальные максимумы и минимумы. На этом же рисунке приведена зависимость мощности выходного сигнала РCВЧ СВЧ- генератора на диоде Ганна от перемещения короткозамыкающего поршня.
Зависимости величины продетектированных в НЧ (1) и СВЧ (2) цепях сигналов и зависимость мощности выходного сигнала (3) от положения короткозамыкающего поршня.
Приложение1.
Эквивалентная схема автодина на диоде Ганна.
Вольт-амперная характеристика диода Ганна.
Теоретические зависимости величин продетектированных сигналов в СВЧ DUfg (1) и НЧ DUkg (2) цепях.
Приложение2. Текст программы для моделирования процессов в многоконтурном генераторе на диоде Ганна.
{$A+,B-,D-,E-,F-,G-,I+,L+,N+,O-,P-,Q-,R-,S+,T-,V+,X+}
program gist_f3;
uses crt,graph,AN;
label 1,2;
const
n=15;
q1=1.6e-19;
n123=1e21; c2=0.03e-12;
s123=1e-8; c3=0.3e-12;
mm1=0.6; c4=0.8e-12;
Lg=1e-5; c5=10e-12; { отсечение НЧ цепи }
Eb=4e5; c6=1e-6;
T10=300.0; c7=15e-12;
r1=0.01; l2=0.2e-9;
r3=1; l3=0.6e-9;
r4=0.0005; l4=0.01e-9; { крутим }
r5=100; l5=100e-9;
Eds=3.8; l6=35e-9;
l7=0.12e-9;
ll0=0.03; {sm}
llk=0.046; maxpoint=1000000000;
z0=39.43e3;
TypeFL=EXTENDED;
Type ry=array[1..1100]of FL;
Type tt=array[1..N]of FL;
var sign,g1,sign1,sign2,sign3:ry;
oldy1,oldy:array[1..10] of integer;
K1,y,f,w:tt;
delta_i,frequency,old_f,old_cur,di,oldc1,oldc2,c1,l1, sign0,d_visir,bn,iv1,iv11,iv12,x,h,vp1,smax,f0,s0,Vs,Vs1, y1,s1,ppp:FL;
mark,count,fcount,point,deltax,fsign,gd,oldx,oldx1,dh,dj,
visir_1,visir_2,visir_3,visir_4,k,aaa,i,ii,iii,phas_x, phas_y:integer;
round,fpoint,iii1,loop:longint;
visir_f,visir_f1,visir_s,power,size_x,size_y:real;
c:char;
P: Pointer;
Size: Word;
s:string;
Procedure current;
var U:real; { BAX }
begin
Vs:=eds/(Eb*Lg);
Vs1:=Vs*Vs*Vs;
Vs:=(1+0.265*Vs1/(1-T10*5.3E-4))/(1+Vs1*Vs);
Vs:=1.3E7*Eds*Vs/T10;
if y[3]<3.3 then u:=y[3];
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<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:tp-7bgi');
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
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
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 =- }
В заключении хочу выразить благодарность доценту кафедры физики твёрдого тела Саратовского госуниверситета Скрипалю Александру Владимировичу и аспиранту той же кафедры Бабаяну Андрею Владимировичу за оказанную помощь и внимательное отношение к выполнению дипломной работы.