4. Руководство пользователя

4.1 Интерфейс пользователя

На рисунке 3 показан внешний вид программы при запуске.

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

Рисунок 3. Внешний вид рабочего окна программы

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

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

Рисунок 4 – Вывод на экран случайной функции

После этого мы можем выбрать необходимый шаг квантования и нажать на кнопку «Дискретизировать по времени» и получим отображение отчетов (рисунок 5).

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

Рисунок 5 – Отображение отчетов, соответственно шагу квантования.

В результате, после нажатии на кнопку «Восстановить непрерывную функцию» получаем восстановленный сигнал (рисунок 6).

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

Рисунок 6 – Отображение восстановленного сигнала по отчетам.

Листинг программы

unit main;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, Series, StdCtrls, Spin, TeEngine, ExtCtrls, TeeProcs, Chart,

 ComCtrls, Menus, Buttons;

type

 TForm1 = class(TForm)

 CSpinEdit2: TSpinEdit;

 CSpinEdit1: TSpinEdit;

 Chart1: TChart;

 Series1: TFastLineSeries;

 Series2: TFastLineSeries;

 Series3: TBarSeries;

 Label2: TLabel;

 Label1: TLabel;

 MainMenu1: TMainMenu;

 Fgfg1: TMenuItem;

 dfd1: TMenuItem;

 sf1: TMenuItem;

 sdf1: TMenuItem;

 dsf1: TMenuItem;

 N1: TMenuItem;

 sdf2: TMenuItem;

 sd1: TMenuItem;

 sdf3: TMenuItem;

 SpeedButton1: TSpeedButton;

 SpeedButton2: TSpeedButton;

 SpeedButton3: TSpeedButton;

 procedure SpeedButton1Click(Sender: TObject);

 procedure SpeedButton2Click(Sender: TObject);

 procedure SpeedButton3Click(Sender: TObject);

 procedure sdf2Click(Sender: TObject);

 procedure sf1Click(Sender: TObject);

 procedure dsf1Click(Sender: TObject);

 procedure sd1Click(Sender: TObject);

 procedure sdf1Click(Sender: TObject);

 procedure sdf3Click(Sender: TObject);

 procedure FormCreate(Sender: TObject);

 end;

var

 Form1: TForm1;

 massiv:array[1..50] of real;

 j:integer;

implementation

{$R *.dfm}

{ TFormLR6 }

var

 count: Integer = 0;

 count2: Integer = 0;

 maxi: double = 0.0;

 maxy: double = -200.0;

 miny: double = 200.0;

procedure TForm1.SpeedButton1Click(Sender: TObject);

var

 i: double;

begin

 Series1.Clear();

 Series2.Clear();

 Series3.Clear();

 SpeedButton3.Enabled:=false;

 Sd1.Enabled:=false;

 SpeedButton3.Flat:=true;

 SpeedButton2.Enabled:=true;

 dsf1.Enabled:=true;

 count:=0;

 i:=0;

 while (i<=CSpinEdit1.Value) do

 begin

 Series1.AddXY(i,(random(5)+1)*0.05*cos(i+random(5)*0.01),'',clTeeColor);

 i:=i+0.5 ;

 Inc(count);

 end;

end;

procedure TForm1.SpeedButton2Click(Sender: TObject);

var

 x,k: Integer;

 z: double;

begin

 Series3.Clear();

 SpeedButton3.Enabled:=true;

 sd1.Enabled:=true;

 SpeedButton3.Flat:=false;

 x:=0;

 for k:=0 to count-1 do

 begin

 if (Series1.XValues.Value[k]=x) then

 begin

 z:=Series1.YValues.Value[k];

 massiv[k]:=z;

 Series3.AddXY(x,z,'',clTeeColor);

 if (abs(Series1.YValues.Value[k]) > maxi) then

 maxi:=abs(Series1.YValues.Value[k]);

 x:=x+CSpinEdit2.Value;

 end;

 end

end;

procedure TForm1.SpeedButton3Click(Sender: TObject);

var

 k,x: Integer;

 z: double;

begin

chart1.Series[1].Clear;

 x:=0;

 for k:=0 to count-1 do

 begin

 if (Series1.XValues.Value[k]=x) then

 begin

 z:=Series1.YValues.Value[k];

 massiv[k]:=z;

 Series2.AddXY(x,z,'',clTeeColor);

 if (abs(Series1.YValues.Value[k]) > maxi) then

 maxi:=abs(Series1.YValues.Value[k]);

 x:=x+CSpinEdit2.Value;

 end;

 end

end;

function fmod(x,y: Real): Real;

begin

 Result := x - (x / y) * y;

end;

procedure TForm1.sdf2Click(Sender: TObject);

begin

Close;

end;

procedure TForm1.sf1Click(Sender: TObject);

begin

 SpeedButton1.Click;

end;

procedure TForm1.dsf1Click(Sender: TObject);

begin

SpeedButton2.Click;

end;

procedure TForm1.sd1Click(Sender: TObject);

begin

SpeedButton3.Click;

end;

procedure TForm1.sdf1Click(Sender: TObject);

begin

Application.MessageBox('Тема: Квантование сигналов по времени','О программе',0);

end;

procedure TForm1.sdf3Click(Sender: TObject);

begin

Application.MessageBox('Выполнила студентка 3 курса группы 03-КТ-11, А. Л.','Об авторе',0);

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

dsf1.Enabled:=false;

Sd1.Enabled:=false;

SpeedButton2.Enabled:=false;

SpeedButton3.Enabled:=false;

end;

initialization

 Randomize();

end.

Заключение

В данной работе был реализован алгоритм квантования сигала по времени. Из проделанной работы можно сделать вывод, что при реальной передачи сигналов восстановленный сигнал, при большом (редком) шаге квантованья, сильно отличается от исходного. Следовательно, для того, чтобы сигнал передать как можно более точно необходимо часто передавать отчеты. Т.е чем меньше шаг квантования, тем больше соответствие восстановленного сигнала с исходным

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

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

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

А.В.Власенко, В.И.Ключко - Теория информации и сигналов. Учебное пособие / Краснодар: Изд-во КубГТУ, 2003.- 97 с.

Теория передачи сигналов: Учебник для вузов / А.Г.Зюко, Д.Д.Кловский,

Цифровая обработка сигналов: Учебник для вузов / А.Б. Сергиенко – СПб.: Питер, 2003. – 604 с.: ил.

Delphi 6.0. Практика программирования. Учебное пособие / Фаронов В.В. Издание 7-е, переработанное. – М.: «Нолидж», 2001. – 672с.:


Информация о работе «Квантование сигналов по времени»
Раздел: Информатика, программирование
Количество знаков с пробелами: 15480
Количество таблиц: 0
Количество изображений: 7

Похожие работы

Скачать
23730
0
8

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

Скачать
14316
5
3

... ИКМ сигнала на приемной станции; ПК пр – преобразователь кода – преобразует биполярный сигнал в однополярный; Пр СС – приемник синхросигналов – правильное декодирование и распределение сигналов по своим телефонным каналам и каналам передачи СУВ; УР – устройство разделения – разделяет кодовые группы ТЛФ каналов и СУВ; Пр СУВ – приемник групповых сигналов управления и взаимодействия – ...

Скачать
33163
2
7

... соответствует нулевому значению цветоразностного сигнала. При воспроизведении пурпурного цвета E'B-Y = 0.59, т. е.: CB=126·E'B-Y+128=202=11001010 При воспроизведении голубого цвета E'B-Y =0.3, т. е.: CB=126·E'B-Y+128=165.8=10100101 3. Графики изменения сигналов яркости и цветности во времени в строчном периоде для текстового изображения «градационный клин»   Рисунок 5. Графики ...

Скачать
75453
9
4

... нельзя проводить отбор отдельных компонентов ИС по допуска, как это имело место в схемах дискретных электорадиоэлементах в ЭВМ третьего поколения. Разработка генератора на цифровых микросхемах. Для проверки и настройки цифровых интегральных микросхемах транзисторно-транзисторной логики (ТТЛ) требуются генераторы прямоугольных импульсов. Ниже описывается генератор импульсов, выполненный всего на ...

0 комментариев


Наверх