Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

3385

.pdf
Скачиваний:
2
Добавлен:
15.11.2022
Размер:
4.73 Mб
Скачать

Рис.5.3. Основные режимы работы «виртуального» спектроанализатора

Универсальный электронный вольтметр

5.1.5 Краткое описание программы .

Программа написана на языке высокого уровня BORLAND C++ 4.5. Так как данная версия языка разработана для операционной системы WINDOWS, то комментарии по ходу листинга будут читаться только в случае если вы работаете в выше упомянутой системе. Теперь кратко о режиме работы программы и требованиях предъявляемых к аппаратуре используемой для демонстрации работы программы. Для правильной работы программа требует VGA-адаптер, т.к. вся графика в ней работает в режиме VGA 640x480. Вы сможете использовать все возможности данной разработки в том случае если к вашему компьютеру подключен манипулятор "МЫШЬ" или другой аналогичный ему по принципу действия манипулятор.

Математические модели

Математические модели используемые при разработке программы В программе использовались математические модели открытого и закрытого

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

средневыпрямленного напряжения; среднеквадратического напряжения:

Ниже приведена таблица 5.1 пересчѐта значений напряжения в зависимости от использования типа шкалы и детектора.

 

 

 

 

Таблица 5.1

Преобразователь

 

Шкала

 

 

(тип детектора)

 

 

 

 

 

 

 

 

 

 

 

амплитудная

среднеквадратичная

средневыпрямленная

Пиковый

 

Uпик

Uпик /(1,41*Ка)

Uпик /(1,41*1,11*Ку)

Средаеквадратический

 

Uск*1,41*Ка

Uск

Uск /(1,11* Кф)

Средневыпрямленный

Uсв*1,11*1,41*Ку

Uск*1,11*Кф

Uсв

Где используются обозначения: Ка = Uпик / Uск; Кф = Uпик / Uпик; Ку =

Каф = Uпик / Uсв

Uпик=Um+Uo. Uo - постоянная составляющая тестового сиг-

нала, Um-амплитуда сигнала.

 

 

Физические модели детекторов

Наряду с математическими моделями детекторов в программе « Модель электронного вольтметра » рассматриваются физические модели реальных преобразователей: преобразователя пиковых (амплитудных) значений напряжения и преобразователя средневыпрямленных значений напряжения.

Преобразователи пиковых значений напряжения представляют собой диодные детекторы, работающие в режиме больших сигналов. Принципиальные схемы пиковых детекторов представлены на рис. 5.4.

Рис 5.4 Схемы пиковых детекторов с открытым и закрытым вхдом В физической модели детектора используются следующие параметры схемы:

сопротивление диода при прямом включении Rnp = 50 Ом,

сопротивление диода при обратном включении Кобр - бесконечное,

сопротивление резистора фильтра Кф = 1 МОм,

емкость конденсатора фильтра Сф = 1 мкФ.

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

Выходной сигнал детектора напоминает процесс заряда / разряда емкости через различные по величине сопротивления.

При этом наибольшая точность преобразования наблюдается для импульсных последовательностей с небольшой скважностью ( q = 2..4 ). При больших значениях скважности погрешность преобразования значительно возрастает.

Преобразователи средневыпрямленных значений напряжения чаще всего представляют собой мостовые диодные схемы, работающие в режиме больших сигналов. Принципиальная схема детектора средневыпрямленных значений представлена на рис. 5.5.

Операцию у=| х | выполняет диодная мостовая схема, на выходе которой ставится фильтр нижних частот - интегрирующая цепочка. Усредняя реакцию данной цепи на входное воздействие заданного вида на периоде входного сиг-

нала после прекращения переходных процессов, можно оценить величину средневыпрямленного значения входного сигнала.

Рис. 5.5 Схема средневыпрямленного детектора

Средневыпрямленное значение сигнала Ul(t) определяется как

Выходной сигнал можно рассчитать методом интеграла Дюамеля:

где Uvx(t) - входной сигнал, Uvyx(t) - выходной сигнал, g(t) - импульсная характеристика фильтра.

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

сопротивление диода при прямом включении Rnp - 50 Ом,

сопротивление диода при обратном включении Ro6p - бесконечное,

сопротивление резистора фильтра Кф =10 кОм,

емкость конденсатора фильтра Сф = 20 мкФ.

5.1.6 Программная реализация вольтметра

Фрагмент программы представлен ниже, а на рис. 5.6. изображѐн эмулятор панели управления «виртуальным» вольтметром.

#include <graphics.h> #include <stdlib.h> #include <stdio.h> #include <conio.h> #include <dos.h> #include <string.h> #include <math.h>

char* string[]={"изменение типа входа прибора", "ввод параметров сигнала и вольтметра", "инструкция по работе в программе", "выход в систему" };

int previos_bot=1,prev_y=189; double old_val=0,tempt,VAL1;

float t1=5e-3,t2=7e-3,t3=10e-3,t4=16e-3,t5=20e-3,t6=28e-3,T=30e-3; float U0=14,U1=40,U2=-40;

char potof[10][5]={"5","7","10","16","20","28","14","40","-40","30"}; int maxx, maxy,open=1,pressed_bottom=6,bottom_of_limit=14,chan=0; // double Usk=0,Usv=0,

double rat_t=1,rat_u=1,Um=0,VAL;

enum name{amplitud, srednekvadr, srednevprem}; name shcala=0;

name detector=0;

int y1,y2; //т_ѐюЄр ъэюяъш

int prvs_num=1, number_of_bottom=1;

int x1[]={10,90, 170,250,10,52,94,136,279,430,467,504,541,578};

int x2[]={80,160,240,320,50,92,134,176,312,465,502,539,576,613};//x1 and x2 for bottoms

enum boolean {false, true }; int X,Y;//,Status;

unsigned int ButtonsNum=0 ;

boolean MouseAlreadyShowed=false ; boolean math=1;

Рис. 5.6. Диалоговая панель универсального «виртуального» вольтметра.

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

-установка и наблюдение формы тестового сигнала;

-выбор типа моделей преобразователей водного сигнала (детекторов – физическая и математическая):

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

В представленном примере вольтметр с квадратичной шкалой и квадратичным детектором и с открытым входом зафиксирует 24,5185 В., а вольтметр с амплитудными детектором и градуировкой шкалы - 54 В при подаче тестового сигнала с изображѐнной осциллограммой и параметрами, задаваемыми в окнах внизу с правой стороны. Результат заданного режима работы зафиксирован

впоказаниях стрелочного индикатора.

5.2.Аппаратные виртуальные средства измерений

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

5.2.1.Виртуальная модель цифрового осциллографа

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

Данный программный продукт представляет собой попытку решить эту проблему. Программа "модель цифрового осциллографа" (далее МЦО) -

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

ли прибора. Программа "МЦО" реализована на

базе языка Borland Pascal

7.0 с использованием объектно-ориентированного

программирования, позво-

ляющего легко вносить дополнения и изменения в исходную программу, и графических средств отображения информации и предназначена для ПЭВМ типа IBM AT286 и выше. Она может использоваться преподавателями высших учебных заведений радиотехнических специальностей в качестве дополнения к существующему программному обеспечению или в качестве отдельной программы.

Ниже приводится краткое описание МЦО, включающее фрагменты программы, поясняющие некоторые режимы работы и порядок действий при использовании программы. Внешний вид панели МЦО, созданной при помощи графического редактора "Paintbrush", показан на рис. 5.7. Для большей наглядности управление программой осуществляется посредством манипулятора "мышь".

ОПИСАНИЕ ПРОГРАММЫ

Требования к ЭВМ.

Для того, чтобы использовать МЦО, Вам необходимы:

1.IBM PC, AT (или совместимая машина), работающая в операционной системе DOS

3.0или выше.

2.Один дисковод для гибких дисков, желательно иметь жесткий диск.

3.Манипулятор "мышь".

4.Видеокарта и монитор поддерживающие видеорежим VGA.

Порядок действий при использовании программы. Программа МЦО состоит из четырех файлов:

OSC.EXE - собственно программа

PANEL.BMP - панель МЦО

EGAVGA.BGI - видеодрайвер

GMOUSE.COM - драйвер "мыши".

Перед запуском программы скопируйте эти файлы на жесткий диск. Если драйвер мыши еще не запущен, то запустите его (файл GMOUSE.COM). Для начала работы с МЦО" необходимо запустить файл OSC.EXE. После запуска программы выбирается вид сигнала, закон модуляции, разрядность АЦП и т.д. Для использования маркеров подведите курсор "мыши" к маркеру и нажмите левую кнопку "мыши", при этом маркер окрасится в красный цвет, затем "мышью" укажите место, на которое Вы хотите переместить маркер и повторно нажмите кнопку мыши.

Описание режимов работы программы

Установка параметров сигнала

Для упрощения программы в МЦО рассматриваются не с реальные сигналы, а их модели.В программе используется 2 типа сигналов: синусоидальные и последовательность прямоугольных импульсов. В качестве параметров сигнала задается их амплитуда, частота, закон модуляции и т.д. Сигнал синусоидального вида задается по формуле:

U(t)=Uo*sin(2*pi*f*t),

(5.1)

где Uo - амплитуда сигнала, f - его частота. Сигнал в виде последовательности прямоугольных импульсов задается рядом последовательно повторяющихся положительных и отрицательных отсчетов, для которых задается частота, скважность, амплитуда и вид модуляции.

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

U(t)=Uo*(1+K*cos 2*pi*fm*t),

(5,2)

где К - коэффициент модуляции, fm - частота модуляции.

 

При частотной модуляции амплитуда сигнала остается

неизменной, ме-

няется его угловая частота:

 

U(t)=Uo*cos(2*pi*f*t+m*sin(2*pi*fm*t)),

(5.3)

где m=wd/(2*pi*fm) - индекс модуляции, wd - девиация частоты, fm - частота модуляции. Приведенная ниже часть программы демонстрирует методику создания используемых моделей сигнала.

Procedure Modulate(SF,MF:Real;Var Value:Real);

Begin {задается закон модуляции}

Case MT Of

AM:Value:=Value*(1+(ModCoeff/100)*Cos(2*Pi*MF));

{амплитудная}

FM:Value:=SigAmp*Cos(SF*2*Pi+(ModCoeff)*Cos(MF*2*Pi));

{частотная}

End;

End;

Function TSinFunc.GetValue(Var Arg:Real):Real; Begin

GetValue:=Sin(2*Pi*Arg); {задается синусоидальный} {сигнал}

End;

Function TRecFunc.GetValue(Var Arg:Real):Real; Begin

If Arg<(10/SigSq)

{задается последовательность} {импульсов прямоугольной формы}

Then GetValue:=1 Else GetValue:=-1;

If Arg>1 Then Arg:=Arg-1; End;

Function TNoSignal.GetValue(Var Arg:Real):Real;

Begin {на входе модели ЦО} {отсутствует сигнал}

GetValue:=0;

End;

Растяжение (сжатие) сигнала по амплитуде и частоте.

Растяжение (сжатие) сигнала по амплитуде производится относительно нулевых значений амплитуды сигнала как на фиксированные значения (в 10,100 раз), с помощью кнопок (х10, х100), так и на некоторые дискретные значения из этого диапазона (в 1-100 раз при режиме х1, 10-1000 раз при режиме х10, 100-10000 раз при режиме х100). Растяжение (сжатие) сигнала по времени производится относительно левого края экрана МЦО. Данные режимы реализуются путем умножения амплитуды и частоты сигнала на соответствующие коэффициенты растяжения по амплитуде и частоте. При этом часть осциллограммы сигнала,

выходящей за пределы экрана МЦО (300х200 точек), будет как и в реальном осциллографе невидима.

Procedure

TYDivider.MouseCall(X,Y:Word);

Begin

 

{Растяжение сигнала по амплитуде}

Inherited

MouseCall(X,Y);

Case BtnState Of

{установка фиксированного}

1:YMul:=1;

{коэффициента растяжения}

2:YMul:=10;

{в 1, 10 или 100 раз}

4:YMul:=100;

 

End;

 

 

With DigiDisp

 

Do

 

 

Begin

 

 

VD:=Round(YMul/(Resistor.Res/100));

 

 

{ выбор произвольного }

Value:=VD;

{ коэффициента растяжения}

End;

 

{ сигнала }

DigiDisp.Draw;

 

Notify[idDisplay]:=True;

End;

 

 

Procedure TYDivider.CSChange; {определяется коэффициент}

Begin

{растяжения в зависимости }

VD:=Round(YMul/(Resistor.Res/100));

{от значения заданного}

DigiDisp.Value:=VD;

{резистором}

DigiDisp.Draw;

 

Notify[idDisplay]:=True;

 

End;

 

Реализация АЦП

Модель АЦП позволяет менять количество уровней квантования от

2 до 2^32. В связи с использованием моделей сигналов в виде математических функций, модель АЦП очень сильно упрощена. Так как ЭВМ позволяет представить функцию в виде последовательности цифровых значений (с точностью до 39 знака после запятой) с большой скоростью, то задача свелась к созданию шумов квантования. В общем виде модель АЦП

действует по формуле: Ak=INT(As*D)/D,

(5.4)

где A - амплитуда сигнала, Ak - амплитуда сигнала с учетом шумов квантования, D - разрядность АЦП, уменьшенная на 1, INT - функция, берущая целое значение от аргумента.

Измерение амплитудных и временных параметров сигнала

(режим дельта-измерений)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]