Смекни!
smekni.com

Система распознавания объектов в миллиметровом диапазоне радиоволн (стр. 19 из 23)

1. Наилучшими разделяющими свойствами классов МНЦ/подстилающая поверхность обладает группа комплексных параметров

параметры, связанные с коэффициентами анизотропии
, параметры
, параметры

2. Указанные четыре группы параметров коррелированы внутри группы (например

), поэтому целесообразно использовать только один из них.

3. В рабочий словарь признаков обнаружения целесообразно включить четыре параметра, например:

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

.

3. Программное обеспечение

3.1 Комплекса программных средств (КПС) и его условное обозначение

Полное наименование КПС – программное обеспечение системы распознавания радиолокационных сигналов в мм диапазоне волн. Условное обозначение – СР РЛС.

Заказчиком КПС «Программное обеспечение системы распознавания радиолокационных сигналов в мм диапазоне волн» является ТулГУ, кафедра АИУС.

Назначение КПСраспознавания радиолокационных сигналов в мм диапазоне волн.

Цели создания КПСРазработать программный комплекс (ПК) для селекции объектов, с помощью радиолокационных сигналов в мм диапазоне волн.

3.2 Характеристика объектов автоматизации

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

Схема и алгоритм обработки данных, формат выходных данных представляет собой многоузловую иерархическую систему с элементами самообучения и графически представлена на рисунках 3.1, 3.2, 3.3

Рис. 3.1. Приемное устройство входных сигналов

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

Рис. 3.2. Алгоритм распознавания и обнаружения целей.

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

Рис. 3.3. Классификация объектов (выходные данные)

Сведения об условиях эксплуатации КПС: данный КПС будет эксплуатироваться в идеальных условиях. Для работы не требуется специализированных навыков. Необходимо наличие программного обеспечения и ЭВМ.

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

Структура функционирования КПС: КПС стабильно функционирует, обеспечивает легкий доступ к информации, гибок и компактен, открыт для внесения изменений и дополнений.

Для удобства внесение изменений и улучшений приведен листинг программы:

unit Unit1;

interface

uses

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

StdCtrls, ExtCtrls, TeeProcs, TeEngine, Chart, Series, ComCtrls, TeeFunci;

type

TForm1 = class(TForm) {ОБЪЕКТЫ ОКНА}

Chart1: TChart;

Label1: TLabel;

Button1: TButton;

Button2: TButton;

ProgressBar1: TProgressBar;

Label2: TLabel;

CheckBox1: TCheckBox;

CheckBox2: TCheckBox;

CheckBox3: TCheckBox;

CheckBox4: TCheckBox;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label9: TLabel;

Label10: TLabel;

CheckBox5: TCheckBox;

Label11: TLabel;

Series1: TPointSeries;

Series2: TPointSeries;

Series3: TPointSeries;

Series4: TPointSeries;

Series5: TPointSeries;

Series6: TPointSeries;

Series7: TPointSeries;

Series8: TPointSeries;

Series9: TPointSeries;

Series10: TPointSeries;

Series11: TPointSeries;

Series12: TPointSeries;

Series13: TPointSeries;

Series14: TPointSeries;

Series15: TPointSeries;

Series16: TPointSeries;

Series17: TPointSeries;

Series18: TPointSeries;

Series19: TPointSeries;

Series20: TPointSeries;

Series21: TPointSeries;

Series22: TPointSeries;

Series23: TPointSeries;

Series24: TPointSeries;

Series25: TPointSeries;

Button3: TButton;

Series26: TPointSeries;

Series27: TPointSeries;

Series28: TPointSeries;

Series29: TPointSeries;

Series30: TPointSeries;

Label8: TLabel;

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

{Работа с Файлом Sign01.txt}

function DoFileDialog(Window: HWnd;

FilePath, DialogName, Caption: PChar): Boolean;

function DoFileOpen(Window: HWnd; FilePath: PChar): Boolean;

function DoFileSave(Window: HWnd; FilePath: PChar): Boolean;

var

Form1: TForm1;

ind:byte = 0;

implementation

type

TRec = Integer;

PSYV = ^TSYV;

TSYV = Longint;

THRec = THandle;

TCL = Integer;

TALC = Longint;

THKP = Word;

type

TDF = function(dirq: Integer; InP, OutP: Pointer; Max: Integer;

Context, Data : Longint): Integer;

const

BitPenup = $8000;

function FPenUp(X: LongInt): Boolean;

inline(

$58/ { POP AX }

$5A/ { POP DX }

$2D/$00/$80/ { SUB AX,8000H }

$1B/$C0/ { SBB AX,AX }

$40); { INC AX }

const

IDC_Pen = MakeIntResource(32631);

const

IDC_AltSelect = MakeIntResource(32501);

const

rc_WDefault = $FFFF;

rc_Ldefault = $FFFFFFFF;

rc_WDefaultFlags = $8000;

rc_LDefaultFlags = $80000000;

{ Макрос идентификации(входные потоки)}

const

syvhi_Special = 0;

syvhi_ANSI = 1;

syvhi_Gesture = 2;

syvhi_Kanji = 3;

syvhi_Shape = 4;

syvhi_UniCode = 5;

syvhi_VKey = 6;

function FIsSpecial(syv: TSYV): Boolean;

function FIsAnsi(syv: TSYV): Boolean;

function FIsGesture(syv: TSYV): Boolean;

function FIsKanji(syv: TSYV): Boolean;

function FIsShape(syv: TSYV): Boolean;

function FIsUniCode(syv: TSYV): Boolean;

function FIsVKey(syv: TSYV): Boolean;

{ Конвертеры кодировки файла }

function ChSyvToAnsi(syv: TSYV): Byte;

function SyvCharacterToSymbol(c: Char): TSYV;

function SyvKanjiToSymbol(c: Char): TSYV;

{ SYV значения }

const

syv_Null = $00000000;

syv_Unknown = $00000001;

syv_Empty = $00000003;

syv_BeginOr = $00000010;

syv_EndOr = $00000011;

syv_Or = $00000012;

syv_SoftNewLine = $00000020;

syv_SpaceNull = $00010000;

const

syv_KKConvert = $0002FFD4;

syv_Clear = $0002FFD5;

syv_ExtendSelect = $0002FFD8;

syv_Undo = $0002FFD9;

syv_Copy = $0002FFDA;

syv_Cut = $0002FFDB;

syv_Paste = $0002FFDC;

syv_ClearWord = $0002FFDD;

syv_User = $0002FFDE; { Восстановление исходника }

syv_Correct = $0002FFDF;

syv_Backspace = $00020008;

syv_Tab = $00020009;

syv_Return = $0002000D;

syv_Space = $00020020;

function FIsStdGesture(syv: TSYV): Boolean;

function FIsAnsiGesture(syv: TSYV): Boolean;

{ Приложения по подгрузки масок }

const

syv_AppGestureMask = $00020000;

syv_CircleUpA = $000224B6;

syv_CircleUpZ = $000224CF;

syv_CircleLoA = $000224D0;

syv_CircleLoZ = $000224E9;

function FIsLoAppGesture(syv: TSYV): Boolean;

function FIsUpAppGesture(syv: TSYV): Boolean;

function FIsAppGesture(syv: TSYV): Boolean;

function SyvAppGestureFromLoAnsi(Ansi: Char): TSYV;

function SyvAppGestureFromUpAnsi(Ansi: Char): TSYV;