ИССЛЕДОВАНИЕ ЭФФЕКТА АВТОДИННОГО ДЕТЕКТИРОВАНИЯ В МНОГОКОНТУРНОМ
ГЕНЕРАТОРЕ НА ДИОДЕ ГАННА Введение.
В связи с развитием современных технологий, требующих непрерывного
контроля за многими параметрами технологического процесса,
состоянием оборудования и параметрами материалов и сред становится
всё более актуальной задача создания неразрушающих бесконтактных
методов измерения и контроля параметров материалов и сред.
Измерения на СВЧ позволяют определить электропроводность, толщину,
диэлектрическую проницаемость и другие параметры материалов и сред
без разрушения поверхности образца, дают возможность
автоматизировать контроль параметров материалов. Для этого в
настоящее время широко используются методы, основанные на
использовании эффекта автодинного детектирования в
полупроводниковых приборах.
Применение эффекта автодинного детектирования в полупроводниковых
СВЧ-генераторах для контроля параметров материалов и структур
основано на установлении зависимости величины продетектированного
СВЧ-сигнала от параметров контролируемых величин: толщины,
диэлектрической проницаемости, проводимости [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] 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 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_f10) 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_f0) 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_visir0) 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 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 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_visir0) 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 =-
}
В заключении хочу выразить благодарность доценту кафедры физики
твёрдого тела Саратовского госуниверситета Скрипалю Александру
Владимировичу и аспиранту той же кафедры Бабаяну Андрею
Владимировичу за оказанную помощь и внимательное отношение к
выполнению дипломной работы.
Эффект автодинного детектирования
210
0
16 минут
Понравилась работу? Лайкни ее и оставь свой комментарий!
Для автора это очень важно, это стимулирует его на новое творчество!