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

Государственный комитет Российской Федерации по высшему образованию

Саратовский ордена Трудового Красного Знамени государственный университет им. Н.Г.Чернышевского

Кафедра физики твёрдого тела

ИССЛЕДОВАНИЕ ЭФФЕКТА АВТОДИННОГО ДЕТЕКТИРОВАНИЯ В МНОГОКОНТУРНОМ ГЕНЕРАТОРЕ НА ДИОДЕ ГАННА

ДИПЛОМНАЯ РАБОТА

студента 511 группы физического факультета

Каца Ефима Ильича

                                                                                        Научные руководители

                                                                                        к.ф.-м.н., доцент

                                                                                        Скрипаль А.В.,

                                                                                        аспирант

                                                                                        Бабаян А.В.

                                                                                        Зав. кафедрой ФТТ

                                                                                        профессор, академик МАН ВШ

                                                                                        Усанов Д.А.

г.Саратов - 1996 г.

Содержание.

Стр.

Введение

3

1. Анализ возможности использования автодинов на полупроводниковых активных СВЧ-элементах для контроля параметров материалов и сред.

5

2. Теоретическое исследование эффекта автодинного детектирования в многоконтурном генераторе на диоде Ганна.

12

3. Экспериментальные исследования эффекта автодинного детектирования в многоконтурном генераторе на диоде Ганна.

20

Заключение.

24

Список литературы.

25

Приложение. Текст программы для моделирования процессов в многоконтурном генераторе на диоде Ганна

28

Введение.

В связи с развитием современных технологий, требующих непрерывного контроля за многими параметрами технологического процесса, состоянием оборудования и параметрами материалов и сред становится всё более актуальной задача создания неразрушающих бесконтактных методов измерения и контроля параметров материалов и сред. Измерения на СВЧ позволяют определить электропроводность, толщину, диэлектрическую проницаемость и другие параметры материалов и сред без разрушения поверхности образца, дают возможность автоматизировать контроль параметров материалов. Для этого в настоящее время широко используются методы, основанные на использовании эффекта автодинного детектирования в полупроводниковых приборах.

Применение эффекта автодинного детектирования в полупроводниковых СВЧ-генераторах для контроля параметров материалов и структур основано на установлении зависимости величины продетектированного СВЧ-сигнала от параметров контролируемых величин: толщины, диэлектрической проницаемости, проводимости [1-6].

Однако, прежде чем создавать конкретный прибор на основе данного эффекта, необходимо провести моделирование его работы. Для этого необходимо рассмотреть принципы действия таких устройств.

При изменении уровня мощности СВЧ-излучения, воздействующего на полупроводниковые элементы с отрицательным сопротивлением, наблюдается изменение режима их работы по постоянному току, что можно понимать как проявление эффекта детектирования. В случае, если прибор с отрицательным сопротивлением является активным элементом СВЧ-генератора наблюдается эффект автодинного детектирования.

Одним из методов, позволяющих провести расчёт величины эффекта автодинного детектирования при реальных параметрах активного элемента и нагрузки, определить области значений контролируемых параметров материалов, в которых чувствительность автодина к их изменению максимальна, наметить пути оптимизации конструкции генератора, является метод, основанный на рассмотрении эквивалентной схемы СВЧ-генератора, в которой комплексная проводимость нагрузки определяется параметрами исследуемого материала и характеристиками электродинамической системы [7,9].

Целью дипломной работы являлось исследование эффекта автодинного детектирования в многоконтурных СВЧ-генераторах на диоде Ганна для создания измерителей параметров материалов, вибрации и выявления особенностей их работы.

1. Анализ возможности использования автодинов на полупроводниковых активных СВЧ-элементах для контроля параметров материалов и сред.

При изменении уровня СВЧ-излучения, воздействующего на полупроводниковые элементы с отрицательным сопротивлением, наблюдается изменение постоянного тока, протекающего через них, что можно понимать как проявление эффекта детектирования [2,7]. Если прибор с отрицательным сопротивлением является активным элементом СВЧ-генератора, этот эффект называют эффектом автодинного детектирования.

Исследование эффекта автодинного детектирования в полупроводниковых СВЧ-генераторах позволило создать устройства, совмещающие несколько радиотехнических функций в одном элементе (например, излучение и приём электромагнитных колебаний). Автодины на полупроводниковых генераторах, получившие к настоящему времени достаточно широкое применение, используются в основном для обнаружения движущихся объектов.

Важной областью применения автодинов является контроль параметров материалов и сред. Применение эффекта автодинного детектирования в полупроводниковых СВЧ-генераторах для контроля параметров материалов и сред основано на установлении зависимостей величины продетектированного СВЧ-сигнала от параметров контролируемых величин: диэлектрической проницаемости и проводимости. Измерения с помощью приборов основаны на сравнение с эталонами, а точность измерения в основном определяется точностью эталонирования.

Теоретическое обоснование возможности использования эффекта автодинного детектирования в диодных СВЧ-генераторах для контроля параметров материалов и сред проведено на основе численного анализа. Описание отклика диодного СВЧ-автодина может быть сделано на основе рассмотрения эквивалентной схемы генератора (Рис. 1.1), в которой комплексная проводимость Yn определяется параметрами исследуемого материала и характеристиками электродинамической системы, а Yd - средняя проводимость полупроводникового прибора.

                                                 Yd                                Yn

Рис. 1.1. Эквивалентная схема автодина на полупроводниковом диоде.

Эта эквивалентная схема может быть описана соотношением (1.1), согласно первому закону Кирхгофа.

                                         (1.1)

                                       (1.2)

I1, U1 - комплексные амплитуды тока и напряжения первой гармоники на полупроводниковом элементе. Т.к. к обеим проводимостям приложено одно и то же напряжение U1, можно записать баланс мощностей:

                                 (1.3)

Активная мощность на нагрузке (1.4) положительна  

                                  (1.4)

отсюда вытекает, что 

                               (1.5)

т.е. Yd должна иметь отрицательную действительную часть при существовании в системе колебаний с ненулевой амплитудой. Наличие отрицательной проводимости характеризует трансформацию энергии: полупроводниковый элемент потребляет энергию постоянного тока и является источником колебаний ненулевой частоты.

Возникновение СВЧ-колебаний в электрической схеме с нелинейным элементом вследствие его детектирующего действия приводит к появлению дополнительной составляющей постоянного тока  определяется из выражения

                                    (1.6)

Детекторный эффект наблюдается в СВЧ-усилителях на биполярных транзисторах, СВЧ-генераторах на лавинно-пролётных диодах (ЛПД), инжекционно-пролётных диодах (ИПД), туннельных диодах (ТД) и диодах Ганна (ДГ). В данной работе мы рассмотрим использование полупроводниковых диодов в качестве СВЧ-автодинов. Сравнительные характеристики полупроводниковых СВЧ-диодов приведены в  таблице 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 приведена его блок-схема.

4

                                                                4

1

2

5

3

Рис. 1.2. Блок-схема СВЧ измерителя толщины.

В состав СВЧ толщиномера СИТ-40, предназначенного для измерения тонких плёнок из любого металла на изолирующей подложке и непроводящих покрытиях, в том числе разнообразных лакокрасочных, нанесённых на металлические поверхности, входит: 1 - СВЧ-датчик, представляющий собой СВЧ-генератор в микрополосковом исполнении и использующий в качестве активного элемента диод Ганна или СВЧ биполярный транзистор; 2 - предварительный усилитель; 3 - блок питания; 4 - система корректировки нуля; 5 - блок индикации.

Для уменьшения влияния дрейфа нуля на результат измерений предложены схемные решения, основанные на компенсации дрейфа его параметров в промежутках между измерениями и использовании напряжения в момент, предшествующий измерению, в качестве опорного в момент измерения [21].

С целью повышения чувствительности и существенного уменьшения веса и потребляемой мощности измерителей исследовалась возможность применения туннельных диодов в качестве активных элементов СВЧ-автодинов [22]. Исследования проводились в экспериментальных измерительных СВЧ-устройствах на серийных диодах типа ГИ 103Б, работавших на частоте 1.3 Ггц. В качестве детекторных диодов использовались диоды типа Д405. Конструктивно датчики измерительных устройств представляли собой отрезки полосковых линий передачи, выполненных на основе фольгированного фторопласта, в которых размещались генераторные и детекторные диоды, фильтры, НЧ и подстроечные элементы.

Разработаны устройства измерения толщины и электропроводности проводящих покрытий, а также толщины и диэлектрической проницаемости для изолирующих материалов. Принцип действия автодинного генератора на полупроводниковом СВЧ-элементе был использован при разработке нового способа контроля толщины плёнок в процессе вакуумного напыления. Для повышения точности измерения в датчике применён СВЧ-выключатель, обеспечивающий кратковременное отклонение генератора от измеряемого объекта [23].

Разработан новый способ радиоволнового контроля вибраций, основанный на использовании двух полупроводниковых СВЧ-генераторов, работающих в режиме автодинного детектирования и обеспечивающих возможность определения не только амплитуды, но и частоты вибраций [24]. Источники зондирующего СВЧ-излучения и одновременно приёмники провзаимодействующего с вибрирующим объектом сигналов представляют собой отрезки стандартных прямоугольных волноводов, которые с одного конца закорочены и имеют регулируемые подстроечные поршни, а другие концы соединены с камерами, изготовленными из металлической ленты, свёрнутой в кольцо. Связь по СВЧ-полю отрезков волновода с каждой камерой осуществляется через прямоугольное волноводное окно. В камерах помещается цилиндрический металлический стержень, перемещение которого внутри этих камер вызывает изменение продетектированного автодинами зондирующего СВЧ-сигнала.

Применение в автодинных генераторах диодов Ганна по сравнению с генераторами, использующими другие полупроводниковые активные элементы, позволяет обеспечить преимущества по совокупности таких параметров, как максимальная рабочая частота, выходная мощность, стабильность частоты, потребляемая мощность питания [13].

2. Теоретическое исследование эффекта автодинного детектирования в многоконтурном генераторе на диоде Ганна.

В данной работе проводилось математическое моделирование процессов, происходящих в многоконтурном автодине на диоде Ганна. Для этого была составлена эквивалентная схема автодина (Рис. 2.1).

Теоретическое описание характеристик выходного сигнала СВЧ- генератора на диоде Ганна основывалось на математическом описании процессов в многоконтурной эквивалентной схеме, элементы которой моделируют полупроводниковую структуру диода Ганна в виде параллельно соединённых ёмкости С3 и активного нелинейного сопротивления, определяемого по ВАХ диода I(U), элементы корпуса диода L3 , C4 , СВЧ-резонатор в виде последовательного C2 , L2 и параллельного L1 , Y1 , C1 контуров, низкочастотную часть схемы, состоящую из последовательного  L7 , C6  и параллельного C7 , R5 , L6 контуров, дросселя L5 в цепи питания, шунтирующей ёмкости С5 и индуктивности связи L4 диода с НЧ-схемой.

Эквивалентная схема описывается системой из четырнадцати дифференциальных уравнений (2.1-2.14), составленных на основе законов Кирхгофа.

                 (2.1-2.4)

Эквивалентная схема автодина на диоде Ганна.

Рис. 2.1.

                                              

                         (2.4-2.14)

                                              

Эта система нелинейна и решалась численно методом Рунге-Кутта четвёртого порядка с автоматическим выбором шага [16]. При расчёте использовалась типичная ВАХ диода Ганна [15], которая аппроксимировалась выражением вида:

                           (2.15)                                                                 

где D=0, при U£Un , D=2, при U>Un , m0 =6000 см2/Вс, VS=8.5 *106 см/с. Выражение (2.15) было программно модифицировано для случая ВАХ с гистерезисом. График использованной ВАХ диода Ганна приведён на рисунке 2.2.

Вольт-амперная характеристика диода Ганна.

Рис. 2.2.

При решении системы учитывалась частотная зависимость СВЧ- нагрузки. По результатам решения системы (2.1-2.14) вычислялись мощности сигналов Pсвч , Pнч и величины продетектированных сигналов DUfg и DUkg  в СВЧ- и НЧ-цепях соответственно:

                             (2.16)

                                 (2.17)

                           (2.18)

                                     (2.19)

где I70 - постоянный ток через диод Ганна в отсутствии генерации.

Нагрузка с волноводной системой была представлена в виде линии, нагруженной на комплексную проводимость отражающей поверхности (Рис.2.3).

                                                                                    

Рис. 2.3. Представление нагрузки в виде нагруженной линии.

Комплексная проводимость нагрузки  была выражена через коэффициент отражения волны от объекта (нагрузки). Для этого была решена система уравнений:

                                  (2.20)

                                    (2.21)

где ПАД и ПАД - комплексные напряжение и ток падающей волны, ОТР и ОТР - комплексные напряжение и ток отражённой волны. Коэффициент отражения представляет собой отношение амплитуд отражённой и падающей волн

                                         (2.22)

В результате решения системы уравнений (2.20-2.21) было получено выражение для комплексной проводимости нагрузки

                              (2.23)

где Z0 - волновое сопротивление пустого волновода,

                                    (2.24)

где l - расстояние до объекта.

Для подстановки в систему (2.1-2.14) комплексная проводимость нагрузки (2.23) была представлена в виде действительной и мнимой компонент.

                     (2.25)

                     (2.26)

С учётом (2.25) и (2.26) параметры эквивалентной схемы СВЧ-нагрузки рассчитывались из соотношений:

                                 (2.27)

                                   (2.28)

                           (2.29)                             

где

При расчёте величины продетектированного сигнала не учитывался вклад гармонических составляющих СВЧ-сигнала, с частотами равными 4f0, 5f0 и т.д., мощность которых составляла менее 1% мощности выходного сигнала СВЧ-генератора. Здесь f0 - частота основной гармоники выходного сигнала. Результаты теоретического расчёта величин продетектированных сигналов DUfg и DUkg в СВЧ- и НЧ- цепях соответственно представлены на рисунке 2.4.

Теоретический расчёт показал, что изменение положения короткозамыкающего поршня в СВЧ-тракте наряду с изменением мощности СВЧ-колебаний приводит к изменению амплитуды колебаний в низкочастотном контуре, что позволяет регистрировать наряду с сигналом автодетектирования в цепи питания по постоянному току сигнал внешнего детектирования как на  частотах СВЧ-диапазона, так и в низкочастотном диапазоне. Как следует из результатов расчёта, на представленных зависимостях наблюдаются локальные максимумы и минимумы, которые  обусловлены наличием в спектре выходного сигнала СВЧ-генератора на диоде Ганна высших гармоник.

Математическое моделирование процессов в генераторе на диоде Ганна позволило установить, что существование областей значений входных сопротивлений СВЧ-нагрузки, в которых их изменение вызывает изменение продетектированных в СВЧ- и НЧ-цепях сигналов одинакового знака, и областей, в которых изменения продетектированных сигналов имеют противоположные знаки, обусловлено наличием значительной реактивной составляющей СВЧ-тока в полупроводниковой структуре диода Ганна. В то же время отметим, что изменение реактивных элементов НЧ-контура более, чем на два порядка приводит лишь к незначительному (не более 5%) смещению границ этих областей.

Теоретические зависимости величин продетектированных сигналов в    СВЧ DUfg (1) и НЧ DUkg (2) цепях.

Рис. 2.4.

3. Экспериментальные исследования эффекта автодинного детектирования в многоконтурном генераторе на диоде Ганна.

Использование эффекта автодинного детектирования в полупроводниковых СВЧ-генераторах позволяет создавать простые в эксплуатации малогабаритные измерители толщины и диэлектрической проницаемости [17,18]. Для их нахождения используют результаты измерений на нескольких частотах. Осуществление многопараметрового контроля упрощается, если удаётся проводить измерения в условиях, когда на результаты измерений определяющим образом влияет только один из искомых параметров. Такая ситуация, в частности реализуется, если  для измерения толщины и диэлектрической проницаемости диэлектриков в этом случае применяются измерители, работающие на различных частотных диапазонах, например СВЧ и НЧ. При проведении измерений на СВЧ результат зависит как от толщины, так и от диэлектрической проницаемости диэлектрика. Если измерения на НЧ проводить используя схему, в которой диэлектрик помещается в зазор между излучателем и металлическим основанием, то результат измерений будет определяться только толщиной диэлектрика и не будет зависеть от его диэлектрической проницаемости. Определив таким образом толщину диэлектрика, по её значению и показателям преобразователя на СВЧ можно определить диэлектрическую проницаемость.

Было проведено экспериментальное исследование зависимости величины продетектированного сигнала в автодинном генераторе на диоде Ганна, работающем в различных частотных диапазонах от положения СВЧ короткозамыкающего поршня. Использовался генератор волноводной конструкции с диодом типа АА703[1], помещённым в разрыв металлического стержневого держателя. К цепи питания диода Ганна через разделительный конденсатор параллельно диоду был подключен низкочастотный контур. Частота СВЧ-колебаний составляла ~10 ГГц, частота низкочастотных колебаний ~10 МГц. Для детектирования низкочастотных колебаний

Схема экспериментальной установки.

1

2

3

4

5

6

7

8

9

Рис. 3.1.

использовался диод типа КД503А[2]. Для контроля СВЧ-колебаний использовался измеритель мощности типа Я2М-66. Кроме того, в ходе экспериментальных исследований регистрировался постоянный ток, протекающий через диод Ганна, по падению напряжения на резисторе с сопротивлением порядка 1 Ом, включённом в цепь питания диода Ганна.

Схема экспериментальной установки приведена на рисунке 3.1. Она включает в себя источник питания СВЧ-выключателя 1 для раздельного воздействия сигналами СВЧ и НЧ, источник питания диода Ганна 2, схему обработки информации и индикации 3, детекторный диод 4, разделительный конденсатор 5, СВЧ-выключатель 6, диод Ганна 7, конденсатор низкочастотного колебательного контура 8 и катушку индуктивности 9, располагающейся на поверхности выходного фланца волновода.

В результате экспериментальных исследований было обнаружено, что в режиме многочастотной генерации изменение нагрузки в СВЧ-цепи (т.е. изменение положения короткозамыкающего поршня) приводит к изменению сигнала, продетектированному в НЧ-цепи, а изменение нагрузки в НЧ-цепи (т.е. изменение индуктивности или ёмкости) приводит к изменению сигнала в СВЧ-цепи. При этом изменения  продетектированных в этих цепях сигналов могут быть как одинакового, так и противоположного знаков. Как следует из результатов, приведённых на Pис. 3.2, зависимости величины продетектированных  в НЧ- и СВЧ-цепях сигналов DUнч и DIсвч от перемещения короткозамыкающего поршня периодичны и имеют локальные максимумы и минимумы. На этом же рисунке приведена зависимость мощности выходного сигнала РCВЧ СВЧ- генератора на диоде Ганна от перемещения короткозамыкающего поршня.

Зависимости величины продетектированных  в НЧ (1) и СВЧ (2) цепях сигналов и зависимость мощности выходного сигнала (3) от положения короткозамыкающего поршня.

Рис 3.2.

Заключение.

При выполнении дипломной работы были получены следующие результаты:

1. Проведен анализ современного состояния проблемы измерения параметров  материалов и структур с помощью эффекта автодинного детектирования.

2. Построена теоретическая модель многоконтурного автодинного генератора на диоде Ганна, разработана и описана эквивалентная схема.

3. На основе построенной модели составлена программа для расчета параметров многоконтурного генератора на диоде Ганна.

4. Проведено  компьютерное   моделирование   работы многоконтурного автодина на диоде Ганна.

5. Теоретически и экспериментально исследованы особенности проявления эффекта автодинного детектирования в многоконтурном генераторе на диоде Ганна с низкочастотным колебательным контуром в цепи питания. Обнаружено, что изменение нагрузки в СВЧ- и НЧ-цепях могут вызывать изменение продетектированных в этих цепях сигналов как одинакового, так и противоположного знаков.

Установлено, что наблюдавшиеся экспериментально локальные максимумы и минимумы на зависимостях продетектированного сигнала от изменения нагрузки в СВЧ-цепи обусловлены наличием в спектре выходного сигнала СВЧ-генератора на диоде Ганна высших гармоник.

Литература.

1. 

2. 

3. 

4. 

5. 

6. 

7. 

8. 

9.    1982. - 240 с.

10.

11.

12.

13.

14.

15.  1973.  V.12. №12.  P.1931.

16.

17.

18.

19.

20.

21.

22.

23.

24.

25.

26.

27.

Приложение. Текст программы для моделирования процессов в многоконтурном генераторе на диоде Ганна.

{$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;

Type     FL=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-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

         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 =- }

В заключении хочу выразить благодарность доценту кафедры физики твёрдого тела Саратовского госуниверситета Скрипалю Александру Владимировичу и аспиранту той же кафедры Бабаяну Андрею Владимировичу за оказанную помощь и внимательное отношение к выполнению дипломной работы.


[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 МГц.